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

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 (1049) hide show
  1. package/lib/commonjs/components/Attachment/Attachment.js +12 -12
  2. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  3. package/lib/commonjs/components/Attachment/AttachmentActions.js +4 -4
  4. package/lib/commonjs/components/Attachment/AttachmentActions.js.map +1 -1
  5. package/lib/commonjs/components/Attachment/Card.js +15 -15
  6. package/lib/commonjs/components/Attachment/Card.js.map +1 -1
  7. package/lib/commonjs/components/Attachment/FileAttachment.js +8 -8
  8. package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
  9. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +4 -4
  10. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js.map +1 -1
  11. package/lib/commonjs/components/Attachment/FileIcon.js.map +1 -1
  12. package/lib/commonjs/components/Attachment/Gallery.js +97 -106
  13. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  14. package/lib/commonjs/components/Attachment/Giphy.js +112 -148
  15. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  16. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js +46 -0
  17. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
  18. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
  19. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
  20. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
  21. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
  22. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
  23. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
  24. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
  25. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
  26. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
  27. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
  28. package/lib/commonjs/components/Attachment/utils/buildGallery/types.js +4 -0
  29. package/lib/commonjs/components/Attachment/utils/buildGallery/types.js.map +1 -0
  30. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js +14 -0
  31. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -0
  32. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
  33. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
  34. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +9 -8
  35. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  36. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +2 -2
  37. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  38. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +16 -16
  39. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  40. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +7 -7
  41. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  42. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +4 -4
  43. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
  44. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +11 -11
  45. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  46. package/lib/commonjs/components/Avatar/Avatar.js +13 -7
  47. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  48. package/lib/commonjs/components/Avatar/GroupAvatar.js +10 -4
  49. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  50. package/lib/commonjs/components/Channel/Channel.js +64 -64
  51. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  52. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  53. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  54. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  55. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  56. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  57. package/lib/commonjs/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  58. package/lib/commonjs/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
  59. package/lib/commonjs/components/ChannelList/ChannelList.js +6 -6
  60. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  61. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +4 -4
  62. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  63. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +6 -7
  64. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  65. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +2 -2
  66. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  67. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +17 -17
  68. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  69. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  70. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  71. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  72. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  73. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  74. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  75. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  76. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  77. package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +1 -1
  78. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  79. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  80. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
  81. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  82. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  83. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  84. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js +2 -2
  85. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  86. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +83 -70
  87. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  88. package/lib/commonjs/components/ChannelList/utils.js +1 -1
  89. package/lib/commonjs/components/ChannelList/utils.js.map +1 -1
  90. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +2 -2
  91. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  92. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +4 -4
  93. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  94. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +4 -4
  95. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  96. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +48 -20
  97. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  98. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
  99. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
  100. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
  101. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  102. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  103. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  104. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  105. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  106. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  107. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  108. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  109. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  110. package/lib/commonjs/components/Chat/Chat.js +4 -4
  111. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  112. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  113. package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
  114. package/lib/commonjs/components/Chat/hooks/useMutedUsers.js.map +1 -1
  115. package/lib/commonjs/components/ImageGallery/ImageGallery.js +89 -56
  116. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  117. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +2 -2
  118. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  119. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +12 -12
  120. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  121. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +28 -11
  122. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  123. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +7 -7
  124. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  125. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +5 -5
  126. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  127. package/lib/commonjs/components/Indicators/LoadingIndicator.js +9 -9
  128. package/lib/commonjs/components/Indicators/LoadingIndicator.js.map +1 -1
  129. package/lib/commonjs/components/Message/Message.js +19 -15
  130. package/lib/commonjs/components/Message/Message.js.map +1 -1
  131. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +6 -6
  132. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  133. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +19 -19
  134. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  135. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +5 -5
  136. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  137. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +20 -16
  138. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  139. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +6 -6
  140. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  141. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +10 -10
  142. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  143. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +5 -5
  144. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  145. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +6 -6
  146. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  147. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +15 -13
  148. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  149. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +3 -3
  150. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  151. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +51 -51
  152. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +1 -1
  153. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js +89 -0
  154. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
  155. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
  156. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
  157. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +151 -81
  158. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  159. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js +240 -0
  160. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js.map +1 -0
  161. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  162. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js +16 -3
  163. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  164. package/lib/commonjs/components/Message/hooks/useMessageActions.js +18 -14
  165. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
  166. package/lib/commonjs/components/Message/utils/messageActions.js.map +1 -1
  167. package/lib/commonjs/components/Message/utils/removeReservedFields.js.map +1 -1
  168. package/lib/commonjs/components/MessageInput/AttachButton.js +3 -3
  169. package/lib/commonjs/components/MessageInput/AttachButton.js.map +1 -1
  170. package/lib/commonjs/components/MessageInput/CommandsButton.js +3 -3
  171. package/lib/commonjs/components/MessageInput/CommandsButton.js.map +1 -1
  172. package/lib/commonjs/components/MessageInput/CooldownTimer.js +2 -2
  173. package/lib/commonjs/components/MessageInput/CooldownTimer.js.map +1 -1
  174. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +13 -13
  175. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  176. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +7 -7
  177. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
  178. package/lib/commonjs/components/MessageInput/InputButtons.js +9 -9
  179. package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
  180. package/lib/commonjs/components/MessageInput/MessageInput.js +40 -40
  181. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  182. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +3 -3
  183. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js.map +1 -1
  184. package/lib/commonjs/components/MessageInput/SendButton.js +5 -5
  185. package/lib/commonjs/components/MessageInput/SendButton.js.map +1 -1
  186. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +2 -2
  187. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
  188. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +10 -10
  189. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  190. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -1
  191. package/lib/commonjs/components/MessageInput/hooks/useCountdown.js.map +1 -1
  192. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +4 -4
  193. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  194. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +4 -4
  195. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  196. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +4 -4
  197. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
  198. package/lib/commonjs/components/MessageList/MessageList.js +28 -28
  199. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  200. package/lib/commonjs/components/MessageList/MessageSystem.js +6 -6
  201. package/lib/commonjs/components/MessageList/MessageSystem.js.map +1 -1
  202. package/lib/commonjs/components/MessageList/TypingIndicator.js +5 -5
  203. package/lib/commonjs/components/MessageList/TypingIndicator.js.map +1 -1
  204. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js +2 -2
  205. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  206. package/lib/commonjs/components/MessageList/hooks/useMessageList.js +7 -7
  207. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  208. package/lib/commonjs/components/MessageList/hooks/useTypingString.js +2 -2
  209. package/lib/commonjs/components/MessageList/hooks/useTypingString.js.map +1 -1
  210. package/lib/commonjs/components/MessageList/utils/filterTypingUsers.js.map +1 -1
  211. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js.map +1 -1
  212. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
  213. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js +3 -1
  214. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  215. package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +1 -1
  216. package/lib/commonjs/components/MessageOverlay/MessageActionList.js +5 -5
  217. package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -1
  218. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +8 -8
  219. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  220. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +41 -34
  221. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  222. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +1 -1
  223. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js.map +1 -1
  224. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +16 -16
  225. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  226. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +31 -34
  227. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
  228. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
  229. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
  230. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -1
  231. package/lib/commonjs/components/Reply/Reply.js +25 -19
  232. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  233. package/lib/commonjs/components/Thread/Thread.js +6 -6
  234. package/lib/commonjs/components/Thread/Thread.js.map +1 -1
  235. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +12 -12
  236. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  237. package/lib/commonjs/components/docs/data.js +45 -45
  238. package/lib/commonjs/components/docs/data.js.map +1 -1
  239. package/lib/commonjs/components/index.js +26 -0
  240. package/lib/commonjs/components/index.js.map +1 -1
  241. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +2 -2
  242. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  243. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +2 -2
  244. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  245. package/lib/commonjs/contexts/channelContext/ChannelContext.js +2 -2
  246. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  247. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +2 -2
  248. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  249. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +3 -3
  250. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  251. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
  252. package/lib/commonjs/contexts/chatContext/ChatContext.js +2 -2
  253. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  254. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
  255. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  256. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +2 -2
  257. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  258. package/lib/commonjs/contexts/messageContext/MessageContext.js +2 -2
  259. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  260. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +18 -14
  261. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  262. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  263. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js +10 -3
  264. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  265. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +5 -19
  266. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  267. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
  268. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
  269. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
  270. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
  271. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +2 -2
  272. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  273. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -1
  274. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  275. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +33 -31
  276. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  277. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
  278. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
  279. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  280. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +2 -2
  281. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  282. package/lib/commonjs/contexts/themeContext/ThemeContext.js +2 -2
  283. package/lib/commonjs/contexts/themeContext/ThemeContext.js.map +1 -1
  284. package/lib/commonjs/contexts/themeContext/utils/theme.js +20 -11
  285. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  286. package/lib/commonjs/contexts/threadContext/ThreadContext.js +2 -2
  287. package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
  288. package/lib/commonjs/contexts/translationContext/TranslationContext.js +3 -3
  289. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  290. package/lib/commonjs/contexts/typingContext/TypingContext.js +2 -2
  291. package/lib/commonjs/contexts/typingContext/TypingContext.js.map +1 -1
  292. package/lib/commonjs/contexts/utils/getDisplayName.js.map +1 -1
  293. package/lib/commonjs/emoji-data/index.js +2 -2
  294. package/lib/commonjs/emoji-data/index.js.map +1 -1
  295. package/lib/commonjs/hooks/useStreami18n.js.map +1 -1
  296. package/lib/commonjs/icons/UserAdmin.js +62 -0
  297. package/lib/commonjs/icons/UserAdmin.js.map +1 -0
  298. package/lib/commonjs/icons/index.js +0 -26
  299. package/lib/commonjs/icons/index.js.map +1 -1
  300. package/lib/commonjs/icons/utils/base.js +1 -1
  301. package/lib/commonjs/index.js +6 -6
  302. package/lib/commonjs/mock-builders/api/error.js +1 -1
  303. package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
  304. package/lib/commonjs/mock-builders/generator/attachment.js +1 -3
  305. package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
  306. package/lib/commonjs/mock-builders/generator/channel.js +101 -51
  307. package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
  308. package/lib/commonjs/mock-builders/generator/user.js +32 -33
  309. package/lib/commonjs/mock-builders/generator/user.js.map +1 -1
  310. package/lib/commonjs/mock-builders/mock.js +1 -1
  311. package/lib/commonjs/native.js +1 -1
  312. package/lib/commonjs/native.js.map +1 -1
  313. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js +7 -7
  314. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js.map +1 -1
  315. package/lib/commonjs/styleguideComponents/JsDoc.js +4 -4
  316. package/lib/commonjs/styleguideComponents/JsDoc.js.map +1 -1
  317. package/lib/commonjs/styleguideComponents/PathlineRenderer.js +7 -7
  318. package/lib/commonjs/styleguideComponents/PathlineRenderer.js.map +1 -1
  319. package/lib/commonjs/styleguideComponents/PropsRenderer.js +25 -25
  320. package/lib/commonjs/styleguideComponents/PropsRenderer.js.map +1 -1
  321. package/lib/commonjs/styleguideComponents/Wrapper.js +1 -1
  322. package/lib/commonjs/styleguideComponents/Wrapper.js.map +1 -1
  323. package/lib/commonjs/utils/Streami18n.js.map +1 -1
  324. package/lib/commonjs/utils/getResizedImageUrl.js +26 -0
  325. package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -0
  326. package/lib/commonjs/utils/getUrlOfImageAttachment.js +9 -0
  327. package/lib/commonjs/utils/getUrlOfImageAttachment.js.map +1 -0
  328. package/lib/commonjs/utils/utils.js +9 -3
  329. package/lib/commonjs/utils/utils.js.map +1 -1
  330. package/lib/commonjs/version.json +1 -1
  331. package/lib/module/components/Attachment/Attachment.js +12 -12
  332. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  333. package/lib/module/components/Attachment/AttachmentActions.js +4 -4
  334. package/lib/module/components/Attachment/AttachmentActions.js.map +1 -1
  335. package/lib/module/components/Attachment/Card.js +15 -15
  336. package/lib/module/components/Attachment/Card.js.map +1 -1
  337. package/lib/module/components/Attachment/FileAttachment.js +8 -8
  338. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  339. package/lib/module/components/Attachment/FileAttachmentGroup.js +4 -4
  340. package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
  341. package/lib/module/components/Attachment/FileIcon.js.map +1 -1
  342. package/lib/module/components/Attachment/Gallery.js +97 -106
  343. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  344. package/lib/module/components/Attachment/Giphy.js +112 -148
  345. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  346. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js +46 -0
  347. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
  348. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
  349. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
  350. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
  351. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
  352. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
  353. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
  354. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
  355. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
  356. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
  357. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
  358. package/lib/module/components/Attachment/utils/buildGallery/types.js +4 -0
  359. package/lib/module/components/Attachment/utils/buildGallery/types.js.map +1 -0
  360. package/lib/module/components/Attachment/utils/getAspectRatio.js +14 -0
  361. package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -0
  362. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
  363. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
  364. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +9 -8
  365. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  366. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +2 -2
  367. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  368. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +16 -16
  369. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  370. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +7 -7
  371. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  372. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +4 -4
  373. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
  374. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +11 -11
  375. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  376. package/lib/module/components/Avatar/Avatar.js +13 -7
  377. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  378. package/lib/module/components/Avatar/GroupAvatar.js +10 -4
  379. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  380. package/lib/module/components/Channel/Channel.js +64 -64
  381. package/lib/module/components/Channel/Channel.js.map +1 -1
  382. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  383. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  384. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  385. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  386. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  387. package/lib/module/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  388. package/lib/module/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
  389. package/lib/module/components/ChannelList/ChannelList.js +6 -6
  390. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  391. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +4 -4
  392. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  393. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +6 -7
  394. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  395. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +2 -2
  396. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  397. package/lib/module/components/ChannelList/ChannelListMessenger.js +17 -17
  398. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  399. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  400. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  401. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  402. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  403. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  404. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  405. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  406. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  407. package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +1 -1
  408. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  409. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  410. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
  411. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  412. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  413. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  414. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js +2 -2
  415. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  416. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +83 -70
  417. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  418. package/lib/module/components/ChannelList/utils.js +1 -1
  419. package/lib/module/components/ChannelList/utils.js.map +1 -1
  420. package/lib/module/components/ChannelPreview/ChannelAvatar.js +2 -2
  421. package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  422. package/lib/module/components/ChannelPreview/ChannelPreview.js +4 -4
  423. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  424. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +4 -4
  425. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  426. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +48 -20
  427. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  428. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
  429. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
  430. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
  431. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  432. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  433. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  434. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  435. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  436. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  437. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  438. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  439. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  440. package/lib/module/components/Chat/Chat.js +4 -4
  441. package/lib/module/components/Chat/Chat.js.map +1 -1
  442. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  443. package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
  444. package/lib/module/components/Chat/hooks/useMutedUsers.js.map +1 -1
  445. package/lib/module/components/ImageGallery/ImageGallery.js +89 -56
  446. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  447. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +2 -2
  448. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  449. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +12 -12
  450. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  451. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +28 -11
  452. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  453. package/lib/module/components/ImageGallery/components/ImageGrid.js +7 -7
  454. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  455. package/lib/module/components/ImageGallery/components/ImageGridHandle.js +5 -5
  456. package/lib/module/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  457. package/lib/module/components/Indicators/LoadingIndicator.js +9 -9
  458. package/lib/module/components/Indicators/LoadingIndicator.js.map +1 -1
  459. package/lib/module/components/Message/Message.js +19 -15
  460. package/lib/module/components/Message/Message.js.map +1 -1
  461. package/lib/module/components/Message/MessageSimple/MessageAvatar.js +6 -6
  462. package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  463. package/lib/module/components/Message/MessageSimple/MessageContent.js +19 -19
  464. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  465. package/lib/module/components/Message/MessageSimple/MessageDeleted.js +5 -5
  466. package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  467. package/lib/module/components/Message/MessageSimple/MessageFooter.js +20 -16
  468. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  469. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +6 -6
  470. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  471. package/lib/module/components/Message/MessageSimple/MessageReplies.js +10 -10
  472. package/lib/module/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  473. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +5 -5
  474. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  475. package/lib/module/components/Message/MessageSimple/MessageSimple.js +6 -6
  476. package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  477. package/lib/module/components/Message/MessageSimple/MessageStatus.js +15 -13
  478. package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  479. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +3 -3
  480. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  481. package/lib/module/components/Message/MessageSimple/ReactionList.js +51 -51
  482. package/lib/module/components/Message/MessageSimple/ReactionList.js.map +1 -1
  483. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js +89 -0
  484. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
  485. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
  486. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
  487. package/lib/module/components/Message/MessageSimple/utils/renderText.js +151 -81
  488. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  489. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js +240 -0
  490. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js.map +1 -0
  491. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  492. package/lib/module/components/Message/hooks/useMessageActionHandlers.js +16 -3
  493. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  494. package/lib/module/components/Message/hooks/useMessageActions.js +18 -14
  495. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
  496. package/lib/module/components/Message/utils/messageActions.js.map +1 -1
  497. package/lib/module/components/Message/utils/removeReservedFields.js.map +1 -1
  498. package/lib/module/components/MessageInput/AttachButton.js +3 -3
  499. package/lib/module/components/MessageInput/AttachButton.js.map +1 -1
  500. package/lib/module/components/MessageInput/CommandsButton.js +3 -3
  501. package/lib/module/components/MessageInput/CommandsButton.js.map +1 -1
  502. package/lib/module/components/MessageInput/CooldownTimer.js +2 -2
  503. package/lib/module/components/MessageInput/CooldownTimer.js.map +1 -1
  504. package/lib/module/components/MessageInput/FileUploadPreview.js +13 -13
  505. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  506. package/lib/module/components/MessageInput/ImageUploadPreview.js +7 -7
  507. package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
  508. package/lib/module/components/MessageInput/InputButtons.js +9 -9
  509. package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
  510. package/lib/module/components/MessageInput/MessageInput.js +40 -40
  511. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  512. package/lib/module/components/MessageInput/MoreOptionsButton.js +3 -3
  513. package/lib/module/components/MessageInput/MoreOptionsButton.js.map +1 -1
  514. package/lib/module/components/MessageInput/SendButton.js +5 -5
  515. package/lib/module/components/MessageInput/SendButton.js.map +1 -1
  516. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +2 -2
  517. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
  518. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +10 -10
  519. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  520. package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -1
  521. package/lib/module/components/MessageInput/hooks/useCountdown.js.map +1 -1
  522. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +4 -4
  523. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  524. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +4 -4
  525. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  526. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +4 -4
  527. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
  528. package/lib/module/components/MessageList/MessageList.js +28 -28
  529. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  530. package/lib/module/components/MessageList/MessageSystem.js +6 -6
  531. package/lib/module/components/MessageList/MessageSystem.js.map +1 -1
  532. package/lib/module/components/MessageList/TypingIndicator.js +5 -5
  533. package/lib/module/components/MessageList/TypingIndicator.js.map +1 -1
  534. package/lib/module/components/MessageList/TypingIndicatorContainer.js +2 -2
  535. package/lib/module/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  536. package/lib/module/components/MessageList/hooks/useMessageList.js +7 -7
  537. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  538. package/lib/module/components/MessageList/hooks/useTypingString.js +2 -2
  539. package/lib/module/components/MessageList/hooks/useTypingString.js.map +1 -1
  540. package/lib/module/components/MessageList/utils/filterTypingUsers.js.map +1 -1
  541. package/lib/module/components/MessageList/utils/getDateSeparators.js.map +1 -1
  542. package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
  543. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js +3 -1
  544. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  545. package/lib/module/components/MessageList/utils/getReadStates.js.map +1 -1
  546. package/lib/module/components/MessageOverlay/MessageActionList.js +5 -5
  547. package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -1
  548. package/lib/module/components/MessageOverlay/MessageActionListItem.js +8 -8
  549. package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  550. package/lib/module/components/MessageOverlay/MessageOverlay.js +41 -34
  551. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  552. package/lib/module/components/MessageOverlay/OverlayBackdrop.js +1 -1
  553. package/lib/module/components/MessageOverlay/OverlayBackdrop.js.map +1 -1
  554. package/lib/module/components/MessageOverlay/OverlayReactionList.js +16 -16
  555. package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  556. package/lib/module/components/MessageOverlay/OverlayReactions.js +31 -34
  557. package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
  558. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
  559. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
  560. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -1
  561. package/lib/module/components/Reply/Reply.js +25 -19
  562. package/lib/module/components/Reply/Reply.js.map +1 -1
  563. package/lib/module/components/Thread/Thread.js +6 -6
  564. package/lib/module/components/Thread/Thread.js.map +1 -1
  565. package/lib/module/components/Thread/components/ThreadFooterComponent.js +12 -12
  566. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  567. package/lib/module/components/docs/data.js +45 -45
  568. package/lib/module/components/docs/data.js.map +1 -1
  569. package/lib/module/components/index.js +26 -0
  570. package/lib/module/components/index.js.map +1 -1
  571. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +2 -2
  572. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  573. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +2 -2
  574. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  575. package/lib/module/contexts/channelContext/ChannelContext.js +2 -2
  576. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  577. package/lib/module/contexts/channelsContext/ChannelsContext.js +2 -2
  578. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  579. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +3 -3
  580. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  581. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
  582. package/lib/module/contexts/chatContext/ChatContext.js +2 -2
  583. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  584. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
  585. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  586. package/lib/module/contexts/keyboardContext/KeyboardContext.js +2 -2
  587. package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  588. package/lib/module/contexts/messageContext/MessageContext.js +2 -2
  589. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  590. package/lib/module/contexts/messageInputContext/MessageInputContext.js +18 -14
  591. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  592. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  593. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js +10 -3
  594. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  595. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +5 -19
  596. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  597. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
  598. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
  599. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
  600. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
  601. package/lib/module/contexts/messagesContext/MessagesContext.js +2 -2
  602. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  603. package/lib/module/contexts/overlayContext/OverlayContext.js +1 -1
  604. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  605. package/lib/module/contexts/overlayContext/OverlayProvider.js +33 -31
  606. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  607. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
  608. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
  609. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  610. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +2 -2
  611. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  612. package/lib/module/contexts/themeContext/ThemeContext.js +2 -2
  613. package/lib/module/contexts/themeContext/ThemeContext.js.map +1 -1
  614. package/lib/module/contexts/themeContext/utils/theme.js +20 -11
  615. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  616. package/lib/module/contexts/threadContext/ThreadContext.js +2 -2
  617. package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
  618. package/lib/module/contexts/translationContext/TranslationContext.js +3 -3
  619. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  620. package/lib/module/contexts/typingContext/TypingContext.js +2 -2
  621. package/lib/module/contexts/typingContext/TypingContext.js.map +1 -1
  622. package/lib/module/contexts/utils/getDisplayName.js.map +1 -1
  623. package/lib/module/emoji-data/index.js +2 -2
  624. package/lib/module/emoji-data/index.js.map +1 -1
  625. package/lib/module/hooks/useStreami18n.js.map +1 -1
  626. package/lib/module/icons/UserAdmin.js +62 -0
  627. package/lib/module/icons/UserAdmin.js.map +1 -0
  628. package/lib/module/icons/index.js +0 -26
  629. package/lib/module/icons/index.js.map +1 -1
  630. package/lib/module/icons/utils/base.js +1 -1
  631. package/lib/module/index.js +6 -6
  632. package/lib/module/mock-builders/api/error.js +1 -1
  633. package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
  634. package/lib/module/mock-builders/generator/attachment.js +1 -3
  635. package/lib/module/mock-builders/generator/attachment.js.map +1 -1
  636. package/lib/module/mock-builders/generator/channel.js +101 -51
  637. package/lib/module/mock-builders/generator/channel.js.map +1 -1
  638. package/lib/module/mock-builders/generator/user.js +32 -33
  639. package/lib/module/mock-builders/generator/user.js.map +1 -1
  640. package/lib/module/mock-builders/mock.js +1 -1
  641. package/lib/module/native.js +1 -1
  642. package/lib/module/native.js.map +1 -1
  643. package/lib/module/styleguideComponents/ArgumentsRenderer.js +7 -7
  644. package/lib/module/styleguideComponents/ArgumentsRenderer.js.map +1 -1
  645. package/lib/module/styleguideComponents/JsDoc.js +4 -4
  646. package/lib/module/styleguideComponents/JsDoc.js.map +1 -1
  647. package/lib/module/styleguideComponents/PathlineRenderer.js +7 -7
  648. package/lib/module/styleguideComponents/PathlineRenderer.js.map +1 -1
  649. package/lib/module/styleguideComponents/PropsRenderer.js +25 -25
  650. package/lib/module/styleguideComponents/PropsRenderer.js.map +1 -1
  651. package/lib/module/styleguideComponents/Wrapper.js +1 -1
  652. package/lib/module/styleguideComponents/Wrapper.js.map +1 -1
  653. package/lib/module/utils/Streami18n.js.map +1 -1
  654. package/lib/module/utils/getResizedImageUrl.js +26 -0
  655. package/lib/module/utils/getResizedImageUrl.js.map +1 -0
  656. package/lib/module/utils/getUrlOfImageAttachment.js +9 -0
  657. package/lib/module/utils/getUrlOfImageAttachment.js.map +1 -0
  658. package/lib/module/utils/utils.js +9 -3
  659. package/lib/module/utils/utils.js.map +1 -1
  660. package/lib/module/version.json +1 -1
  661. package/lib/typescript/components/Attachment/Attachment.d.ts +6 -6
  662. package/lib/typescript/components/Attachment/AttachmentActions.d.ts +5 -5
  663. package/lib/typescript/components/Attachment/Card.d.ts +5 -5
  664. package/lib/typescript/components/Attachment/FileAttachment.d.ts +6 -6
  665. package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts +4 -4
  666. package/lib/typescript/components/Attachment/Gallery.d.ts +6 -9
  667. package/lib/typescript/components/Attachment/Giphy.d.ts +7 -7
  668. package/lib/typescript/components/Attachment/utils/buildGallery/buildGallery.d.ts +23 -0
  669. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.d.ts +7 -0
  670. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.d.ts +7 -0
  671. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.d.ts +7 -0
  672. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnail.d.ts +10 -0
  673. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnailGrid.d.ts +137 -0
  674. package/lib/typescript/components/Attachment/utils/buildGallery/types.d.ts +23 -0
  675. package/lib/typescript/components/Attachment/utils/getAspectRatio.d.ts +9 -0
  676. package/lib/typescript/components/Attachment/utils/getGalleryImageBorderRadius.d.ts +22 -0
  677. package/lib/typescript/components/AutoCompleteInput/AutoCompleteInput.d.ts +4 -4
  678. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.d.ts +3 -2
  679. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionHeader.d.ts +4 -4
  680. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionItem.d.ts +5 -5
  681. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts +10 -11
  682. package/lib/typescript/components/Avatar/Avatar.d.ts +1 -1
  683. package/lib/typescript/components/Channel/Channel.d.ts +10 -10
  684. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +2 -2
  685. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +3 -3
  686. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +3 -3
  687. package/lib/typescript/components/Channel/hooks/useCreateOwnCapabilitiesContext.d.ts +4 -4
  688. package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts +3 -3
  689. package/lib/typescript/components/Channel/hooks/useCreateThreadContext.d.ts +2 -2
  690. package/lib/typescript/components/Channel/hooks/useCreateTypingContext.d.ts +2 -2
  691. package/lib/typescript/components/ChannelList/ChannelList.d.ts +15 -15
  692. package/lib/typescript/components/ChannelList/ChannelListMessenger.d.ts +4 -4
  693. package/lib/typescript/components/ChannelList/hooks/listeners/useAddedToChannelNotification.d.ts +5 -5
  694. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelDeleted.d.ts +5 -5
  695. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelHidden.d.ts +5 -5
  696. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelTruncated.d.ts +5 -5
  697. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelUpdated.d.ts +5 -5
  698. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelVisible.d.ts +5 -5
  699. package/lib/typescript/components/ChannelList/hooks/listeners/useConnectionRecovered.d.ts +2 -2
  700. package/lib/typescript/components/ChannelList/hooks/listeners/useNewMessage.d.ts +4 -4
  701. package/lib/typescript/components/ChannelList/hooks/listeners/useNewMessageNotification.d.ts +5 -5
  702. package/lib/typescript/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.d.ts +5 -5
  703. package/lib/typescript/components/ChannelList/hooks/listeners/useUserPresence.d.ts +4 -4
  704. package/lib/typescript/components/ChannelList/hooks/useCreateChannelsContext.d.ts +2 -2
  705. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +11 -9
  706. package/lib/typescript/components/ChannelList/utils.d.ts +7 -7
  707. package/lib/typescript/components/ChannelPreview/ChannelAvatar.d.ts +3 -3
  708. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +7 -7
  709. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessage.d.ts +4 -5
  710. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts +6 -6
  711. package/lib/typescript/components/ChannelPreview/ChannelPreviewMutedStatus.d.ts +9 -0
  712. package/lib/typescript/components/ChannelPreview/ChannelPreviewStatus.d.ts +3 -3
  713. package/lib/typescript/components/ChannelPreview/ChannelPreviewTitle.d.ts +3 -3
  714. package/lib/typescript/components/ChannelPreview/ChannelPreviewUnreadCount.d.ts +3 -3
  715. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.d.ts +3 -3
  716. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayName.d.ts +4 -4
  717. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.d.ts +2 -2
  718. package/lib/typescript/components/ChannelPreview/hooks/useLatestMessagePreview.d.ts +5 -5
  719. package/lib/typescript/components/Chat/Chat.d.ts +3 -3
  720. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +2 -2
  721. package/lib/typescript/components/Chat/hooks/useIsOnline.d.ts +2 -2
  722. package/lib/typescript/components/Chat/hooks/useMutedUsers.d.ts +2 -2
  723. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +12 -10
  724. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryImage.d.ts +1 -1
  725. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +10 -10
  726. package/lib/typescript/components/ImageGallery/components/ImageGalleryHeader.d.ts +10 -10
  727. package/lib/typescript/components/ImageGallery/components/ImageGrid.d.ts +10 -10
  728. package/lib/typescript/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.d.ts +1 -0
  729. package/lib/typescript/components/Message/Message.d.ts +12 -12
  730. package/lib/typescript/components/Message/MessageSimple/MessageAvatar.d.ts +5 -5
  731. package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts +4 -4
  732. package/lib/typescript/components/Message/MessageSimple/MessageDeleted.d.ts +6 -6
  733. package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts +8 -8
  734. package/lib/typescript/components/Message/MessageSimple/MessagePinnedHeader.d.ts +4 -4
  735. package/lib/typescript/components/Message/MessageSimple/MessageReplies.d.ts +4 -4
  736. package/lib/typescript/components/Message/MessageSimple/MessageRepliesAvatars.d.ts +3 -3
  737. package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts +4 -4
  738. package/lib/typescript/components/Message/MessageSimple/MessageStatus.d.ts +4 -4
  739. package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts +6 -6
  740. package/lib/typescript/components/Message/MessageSimple/ReactionList.d.ts +4 -4
  741. package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.d.ts +7 -0
  742. package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.test.d.ts +1 -0
  743. package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +20 -6
  744. package/lib/typescript/components/Message/MessageSimple/utils/renderText.test.d.ts +1 -0
  745. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +2 -2
  746. package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +2 -2
  747. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +5 -5
  748. package/lib/typescript/components/Message/utils/messageActions.d.ts +7 -7
  749. package/lib/typescript/components/Message/utils/removeReservedFields.d.ts +2 -2
  750. package/lib/typescript/components/MessageInput/AttachButton.d.ts +5 -5
  751. package/lib/typescript/components/MessageInput/CommandsButton.d.ts +5 -5
  752. package/lib/typescript/components/MessageInput/FileUploadPreview.d.ts +4 -4
  753. package/lib/typescript/components/MessageInput/ImageUploadPreview.d.ts +4 -4
  754. package/lib/typescript/components/MessageInput/InputButtons.d.ts +5 -5
  755. package/lib/typescript/components/MessageInput/MessageInput.d.ts +4 -4
  756. package/lib/typescript/components/MessageInput/MoreOptionsButton.d.ts +5 -5
  757. package/lib/typescript/components/MessageInput/SendButton.d.ts +4 -4
  758. package/lib/typescript/components/MessageInput/ShowThreadMessageInChannelButton.d.ts +2 -2
  759. package/lib/typescript/components/MessageInput/hooks/useCooldown.d.ts +2 -2
  760. package/lib/typescript/components/MessageList/InlineLoadingMoreIndicator.d.ts +2 -2
  761. package/lib/typescript/components/MessageList/InlineLoadingMoreRecentIndicator.d.ts +2 -2
  762. package/lib/typescript/components/MessageList/InlineLoadingMoreThreadIndicator.d.ts +2 -2
  763. package/lib/typescript/components/MessageList/MessageList.d.ts +7 -7
  764. package/lib/typescript/components/MessageList/MessageSystem.d.ts +5 -5
  765. package/lib/typescript/components/MessageList/TypingIndicator.d.ts +2 -2
  766. package/lib/typescript/components/MessageList/TypingIndicatorContainer.d.ts +4 -4
  767. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +5 -5
  768. package/lib/typescript/components/MessageList/hooks/useTypingString.d.ts +2 -2
  769. package/lib/typescript/components/MessageList/utils/filterTypingUsers.d.ts +3 -3
  770. package/lib/typescript/components/MessageList/utils/getDateSeparators.d.ts +4 -4
  771. package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts +5 -5
  772. package/lib/typescript/components/MessageList/utils/getLastReceivedMessage.d.ts +2 -2
  773. package/lib/typescript/components/MessageList/utils/getReadStates.d.ts +8 -5
  774. package/lib/typescript/components/MessageOverlay/MessageActionList.d.ts +4 -4
  775. package/lib/typescript/components/MessageOverlay/MessageActionListItem.d.ts +4 -3
  776. package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts +4 -4
  777. package/lib/typescript/components/MessageOverlay/OverlayReactionList.d.ts +6 -6
  778. package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts +3 -1
  779. package/lib/typescript/components/MessageOverlay/OverlayReactionsAvatar.d.ts +7 -0
  780. package/lib/typescript/components/MessageOverlay/hooks/useMessageActionAnimation.d.ts +1 -1
  781. package/lib/typescript/components/Reply/Reply.d.ts +5 -5
  782. package/lib/typescript/components/Thread/Thread.d.ts +8 -8
  783. package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts +2 -2
  784. package/lib/typescript/components/index.d.ts +2 -0
  785. package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts +2 -2
  786. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +12 -12
  787. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +30 -22
  788. package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts +19 -19
  789. package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts +17 -17
  790. package/lib/typescript/contexts/chatContext/ChatContext.d.ts +11 -11
  791. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts +8 -8
  792. package/lib/typescript/contexts/keyboardContext/KeyboardContext.d.ts +2 -2
  793. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +12 -12
  794. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +39 -37
  795. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +3 -3
  796. package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts +3 -3
  797. package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +27 -25
  798. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.d.ts +12 -0
  799. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.test.d.ts +1 -0
  800. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +67 -67
  801. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +8 -8
  802. package/lib/typescript/contexts/overlayContext/OverlayProvider.d.ts +2 -2
  803. package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +8 -8
  804. package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts +21 -21
  805. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +17 -8
  806. package/lib/typescript/contexts/threadContext/ThreadContext.d.ts +10 -10
  807. package/lib/typescript/contexts/translationContext/TranslationContext.d.ts +2 -2
  808. package/lib/typescript/contexts/typingContext/TypingContext.d.ts +8 -8
  809. package/lib/typescript/hooks/useStreami18n.d.ts +1 -1
  810. package/lib/typescript/icons/{Left.d.ts → UserAdmin.d.ts} +1 -1
  811. package/lib/typescript/icons/index.d.ts +0 -2
  812. package/lib/typescript/types/types.d.ts +16 -13
  813. package/lib/typescript/utils/Streami18n.d.ts +6 -6
  814. package/lib/typescript/utils/getResizedImageUrl.d.ts +19 -0
  815. package/lib/typescript/utils/getUrlOfImageAttachment.d.ts +7 -0
  816. package/lib/typescript/utils/utils.d.ts +27 -22
  817. package/package.json +9 -13
  818. package/src/components/Attachment/Attachment.tsx +18 -59
  819. package/src/components/Attachment/AttachmentActions.tsx +17 -57
  820. package/src/components/Attachment/Card.tsx +17 -51
  821. package/src/components/Attachment/FileAttachment.tsx +16 -51
  822. package/src/components/Attachment/FileAttachmentGroup.tsx +16 -57
  823. package/src/components/Attachment/FileIcon.tsx +2 -2
  824. package/src/components/Attachment/Gallery.tsx +177 -242
  825. package/src/components/Attachment/Giphy.tsx +84 -128
  826. package/src/components/Attachment/__tests__/Attachment.test.js +11 -10
  827. package/src/components/Attachment/__tests__/Gallery.test.js +233 -0
  828. package/src/components/Attachment/__tests__/buildGallery.test.js +131 -0
  829. package/src/components/Attachment/utils/buildGallery/buildGallery.ts +77 -0
  830. package/src/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.ts +91 -0
  831. package/src/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.ts +99 -0
  832. package/src/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.ts +66 -0
  833. package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +48 -0
  834. package/src/components/Attachment/utils/buildGallery/buildThumbnailGrid.ts +188 -0
  835. package/src/components/Attachment/utils/buildGallery/types.ts +27 -0
  836. package/src/components/Attachment/utils/getAspectRatio.ts +21 -0
  837. package/src/components/Attachment/utils/getGalleryImageBorderRadius.ts +71 -0
  838. package/src/components/AttachmentPicker/AttachmentPicker.tsx +4 -2
  839. package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +23 -62
  840. package/src/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.tsx +6 -4
  841. package/src/components/AutoCompleteInput/AutoCompleteSuggestionHeader.tsx +13 -20
  842. package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx +20 -25
  843. package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +25 -29
  844. package/src/components/AutoCompleteInput/__tests__/AutoCompleteInput.test.js +6 -8
  845. package/src/components/Avatar/Avatar.tsx +8 -11
  846. package/src/components/Avatar/GroupAvatar.tsx +7 -2
  847. package/src/components/Avatar/__tests__/Avatar.test.js +2 -2
  848. package/src/components/Channel/Channel.tsx +237 -313
  849. package/src/components/Channel/__tests__/Channel.test.js +10 -10
  850. package/src/components/Channel/__tests__/ownCapabilities.test.js +8 -8
  851. package/src/components/Channel/hooks/useCreateChannelContext.ts +4 -19
  852. package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +52 -68
  853. package/src/components/Channel/hooks/useCreateMessagesContext.ts +4 -19
  854. package/src/components/Channel/hooks/useCreateOwnCapabilitiesContext.ts +5 -19
  855. package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +16 -32
  856. package/src/components/Channel/hooks/useCreateThreadContext.ts +4 -19
  857. package/src/components/Channel/hooks/useCreateTypingContext.ts +4 -19
  858. package/src/components/ChannelList/ChannelList.tsx +36 -58
  859. package/src/components/ChannelList/ChannelListFooterLoadingIndicator.tsx +1 -2
  860. package/src/components/ChannelList/ChannelListHeaderErrorIndicator.tsx +3 -7
  861. package/src/components/ChannelList/ChannelListHeaderNetworkDownIndicator.tsx +2 -2
  862. package/src/components/ChannelList/ChannelListMessenger.tsx +22 -74
  863. package/src/components/ChannelList/__tests__/ChannelList.test.js +73 -13
  864. package/src/components/ChannelList/__tests__/ChannelListMessenger.test.js +11 -12
  865. package/src/components/ChannelList/hooks/listeners/useAddedToChannelNotification.ts +17 -39
  866. package/src/components/ChannelList/hooks/listeners/useChannelDeleted.ts +15 -37
  867. package/src/components/ChannelList/hooks/listeners/useChannelHidden.ts +15 -37
  868. package/src/components/ChannelList/hooks/listeners/useChannelTruncated.ts +17 -39
  869. package/src/components/ChannelList/hooks/listeners/useChannelUpdated.ts +15 -37
  870. package/src/components/ChannelList/hooks/listeners/useChannelVisible.ts +17 -39
  871. package/src/components/ChannelList/hooks/listeners/useConnectionRecovered.ts +3 -18
  872. package/src/components/ChannelList/hooks/listeners/useNewMessage.ts +13 -36
  873. package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +17 -39
  874. package/src/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.ts +15 -37
  875. package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +11 -33
  876. package/src/components/ChannelList/hooks/useCreateChannelsContext.ts +5 -21
  877. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +89 -77
  878. package/src/components/ChannelList/utils.ts +9 -42
  879. package/src/components/ChannelPreview/ChannelAvatar.tsx +6 -29
  880. package/src/components/ChannelPreview/ChannelPreview.tsx +21 -54
  881. package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +13 -23
  882. package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +35 -55
  883. package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx +50 -0
  884. package/src/components/ChannelPreview/ChannelPreviewStatus.tsx +10 -30
  885. package/src/components/ChannelPreview/ChannelPreviewTitle.tsx +7 -28
  886. package/src/components/ChannelPreview/ChannelPreviewUnreadCount.tsx +7 -27
  887. package/src/components/ChannelPreview/__tests__/ChannelPreview.test.js +8 -9
  888. package/src/components/ChannelPreview/__tests__/ChannelPreviewMessenger.test.js +8 -9
  889. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.ts +9 -30
  890. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +8 -30
  891. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.ts +9 -30
  892. package/src/components/ChannelPreview/hooks/useLatestMessagePreview.ts +29 -80
  893. package/src/components/Chat/Chat.tsx +17 -45
  894. package/src/components/Chat/__tests__/Chat.test.js +5 -5
  895. package/src/components/Chat/hooks/useCreateChatContext.ts +4 -19
  896. package/src/components/Chat/hooks/useIsOnline.ts +8 -22
  897. package/src/components/Chat/hooks/useMutedUsers.ts +5 -20
  898. package/src/components/ImageGallery/ImageGallery.tsx +109 -86
  899. package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +1 -2
  900. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +20 -15
  901. package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +42 -21
  902. package/src/components/ImageGallery/components/ImageGrid.tsx +47 -33
  903. package/src/components/ImageGallery/components/ImageGridHandle.tsx +1 -0
  904. package/src/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.tsx +31 -0
  905. package/src/components/Indicators/LoadingIndicator.tsx +1 -2
  906. package/src/components/Message/Message.tsx +59 -112
  907. package/src/components/Message/MessageSimple/MessageAvatar.tsx +14 -56
  908. package/src/components/Message/MessageSimple/MessageContent.tsx +20 -64
  909. package/src/components/Message/MessageSimple/MessageDeleted.tsx +19 -61
  910. package/src/components/Message/MessageSimple/MessageFooter.tsx +28 -71
  911. package/src/components/Message/MessageSimple/MessagePinnedHeader.tsx +15 -56
  912. package/src/components/Message/MessageSimple/MessageReplies.tsx +15 -56
  913. package/src/components/Message/MessageSimple/MessageRepliesAvatars.tsx +7 -29
  914. package/src/components/Message/MessageSimple/MessageSimple.tsx +16 -57
  915. package/src/components/Message/MessageSimple/MessageStatus.tsx +21 -58
  916. package/src/components/Message/MessageSimple/MessageTextContainer.tsx +19 -66
  917. package/src/components/Message/MessageSimple/ReactionList.tsx +47 -88
  918. package/src/components/Message/MessageSimple/__tests__/Message.test.js +9 -9
  919. package/src/components/Message/MessageSimple/__tests__/MessageAvatar.test.js +2 -2
  920. package/src/components/Message/MessageSimple/__tests__/MessageContent.test.js +9 -26
  921. package/src/components/Message/MessageSimple/__tests__/MessagePinnedHeader.test.js +2 -2
  922. package/src/components/Message/MessageSimple/__tests__/MessageReplies.test.js +2 -2
  923. package/src/components/Message/MessageSimple/__tests__/MessageStatus.test.js +4 -5
  924. package/src/components/Message/MessageSimple/__tests__/MessageTextContainer.test.js +2 -2
  925. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageAvatar.test.js.snap +1 -1
  926. package/src/components/Message/MessageSimple/utils/parseLinks.test.ts +100 -0
  927. package/src/components/Message/MessageSimple/utils/parseLinks.ts +95 -0
  928. package/src/components/Message/MessageSimple/utils/renderText.test.tsx +70 -0
  929. package/src/components/Message/MessageSimple/utils/renderText.tsx +97 -94
  930. package/src/components/Message/hooks/useCreateMessageContext.ts +5 -21
  931. package/src/components/Message/hooks/useMessageActionHandlers.ts +21 -27
  932. package/src/components/Message/hooks/useMessageActions.tsx +21 -31
  933. package/src/components/Message/utils/messageActions.ts +9 -36
  934. package/src/components/Message/utils/removeReservedFields.ts +3 -18
  935. package/src/components/MessageInput/AttachButton.tsx +14 -56
  936. package/src/components/MessageInput/CommandsButton.tsx +16 -58
  937. package/src/components/MessageInput/CooldownTimer.tsx +1 -0
  938. package/src/components/MessageInput/FileUploadPreview.tsx +16 -58
  939. package/src/components/MessageInput/ImageUploadPreview.tsx +13 -56
  940. package/src/components/MessageInput/InputButtons.tsx +14 -55
  941. package/src/components/MessageInput/MessageInput.tsx +30 -72
  942. package/src/components/MessageInput/MoreOptionsButton.tsx +14 -56
  943. package/src/components/MessageInput/SendButton.tsx +13 -54
  944. package/src/components/MessageInput/SendMessageDisallowedIndicator.tsx +1 -1
  945. package/src/components/MessageInput/ShowThreadMessageInChannelButton.tsx +5 -20
  946. package/src/components/MessageInput/__tests__/AttachButton.test.js +2 -2
  947. package/src/components/MessageInput/__tests__/FileUploadPreview.test.js +15 -17
  948. package/src/components/MessageInput/__tests__/ImageUploadPreview.test.js +3 -3
  949. package/src/components/MessageInput/__tests__/MessageInput.test.js +8 -8
  950. package/src/components/MessageInput/__tests__/SendButton.test.js +2 -2
  951. package/src/components/MessageInput/__tests__/UploadProgressIndicator.test.js +2 -2
  952. package/src/components/MessageInput/__tests__/__snapshots__/FileUploadPreview.test.js.snap +1604 -4172
  953. package/src/components/MessageInput/__tests__/__snapshots__/MessageInput.test.js.snap +1 -643
  954. package/src/components/MessageInput/hooks/useCooldown.ts +7 -19
  955. package/src/components/MessageInput/hooks/useCountdown.ts +1 -0
  956. package/src/components/MessageList/InlineLoadingMoreIndicator.tsx +3 -18
  957. package/src/components/MessageList/InlineLoadingMoreRecentIndicator.tsx +3 -18
  958. package/src/components/MessageList/InlineLoadingMoreThreadIndicator.tsx +3 -18
  959. package/src/components/MessageList/MessageList.tsx +37 -79
  960. package/src/components/MessageList/MessageSystem.tsx +7 -28
  961. package/src/components/MessageList/TypingIndicator.tsx +4 -20
  962. package/src/components/MessageList/TypingIndicatorContainer.tsx +14 -47
  963. package/src/components/MessageList/__tests__/MessageList.test.js +17 -17
  964. package/src/components/MessageList/__tests__/MessageSystem.test.js +3 -3
  965. package/src/components/MessageList/__tests__/ScrollToBottomButton.test.js +3 -3
  966. package/src/components/MessageList/__tests__/TypingIndicator.test.js +5 -6
  967. package/src/components/MessageList/__tests__/__snapshots__/TypingIndicator.test.js.snap +1 -1
  968. package/src/components/MessageList/hooks/useMessageList.ts +24 -59
  969. package/src/components/MessageList/hooks/useTypingString.ts +6 -22
  970. package/src/components/MessageList/utils/filterTypingUsers.ts +7 -28
  971. package/src/components/MessageList/utils/getDateSeparators.ts +6 -27
  972. package/src/components/MessageList/utils/getGroupStyles.ts +7 -29
  973. package/src/components/MessageList/utils/getLastReceivedMessage.ts +9 -19
  974. package/src/components/MessageList/utils/getReadStates.ts +5 -20
  975. package/src/components/MessageOverlay/MessageActionList.tsx +17 -58
  976. package/src/components/MessageOverlay/MessageActionListItem.tsx +23 -10
  977. package/src/components/MessageOverlay/MessageOverlay.tsx +56 -95
  978. package/src/components/MessageOverlay/OverlayBackdrop.tsx +1 -0
  979. package/src/components/MessageOverlay/OverlayReactionList.tsx +23 -78
  980. package/src/components/MessageOverlay/OverlayReactions.tsx +12 -8
  981. package/src/components/MessageOverlay/OverlayReactionsAvatar.tsx +27 -0
  982. package/src/components/MessageOverlay/hooks/useMessageActionAnimation.tsx +1 -0
  983. package/src/components/Reply/Reply.tsx +44 -81
  984. package/src/components/Thread/Thread.tsx +24 -58
  985. package/src/components/Thread/__tests__/Thread.test.js +12 -14
  986. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +13 -13
  987. package/src/components/Thread/components/ThreadFooterComponent.tsx +12 -48
  988. package/src/components/docs/data.js +38 -37
  989. package/src/components/index.ts +2 -0
  990. package/src/contexts/activeChannelsRefContext/ActiveChannelsRefContext.tsx +1 -2
  991. package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +10 -9
  992. package/src/contexts/channelContext/ChannelContext.tsx +16 -50
  993. package/src/contexts/channelsContext/ChannelsContext.tsx +37 -63
  994. package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +38 -116
  995. package/src/contexts/channelsStateContext/useChannelState.ts +28 -60
  996. package/src/contexts/chatContext/ChatContext.tsx +15 -51
  997. package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +13 -56
  998. package/src/contexts/keyboardContext/KeyboardContext.tsx +13 -8
  999. package/src/contexts/messageContext/MessageContext.tsx +16 -50
  1000. package/src/contexts/messageInputContext/MessageInputContext.tsx +88 -134
  1001. package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +6 -23
  1002. package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +15 -34
  1003. package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +34 -90
  1004. package/src/contexts/messageOverlayContext/hooks/useResettableState.test.tsx +46 -0
  1005. package/src/contexts/messageOverlayContext/hooks/useResettableState.ts +22 -0
  1006. package/src/contexts/messagesContext/MessagesContext.tsx +73 -112
  1007. package/src/contexts/overlayContext/OverlayContext.tsx +28 -34
  1008. package/src/contexts/overlayContext/OverlayProvider.tsx +36 -46
  1009. package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +14 -55
  1010. package/src/contexts/suggestionsContext/SuggestionsContext.tsx +42 -42
  1011. package/src/contexts/suggestionsContext/__tests__/Suggestions.test.js +1 -0
  1012. package/src/contexts/themeContext/ThemeContext.tsx +1 -0
  1013. package/src/contexts/themeContext/utils/theme.ts +36 -19
  1014. package/src/contexts/threadContext/ThreadContext.tsx +14 -48
  1015. package/src/contexts/translationContext/TranslationContext.tsx +14 -9
  1016. package/src/contexts/typingContext/TypingContext.tsx +12 -46
  1017. package/src/contexts/utils/getDisplayName.ts +1 -0
  1018. package/src/emoji-data/index.js +1 -1
  1019. package/src/hooks/useStreami18n.ts +1 -1
  1020. package/src/icons/UserAdmin.tsx +23 -0
  1021. package/src/icons/index.ts +0 -2
  1022. package/src/mock-builders/api/sendMessage.js +1 -0
  1023. package/src/mock-builders/generator/attachment.js +0 -2
  1024. package/src/mock-builders/generator/channel.js +101 -64
  1025. package/src/mock-builders/generator/user.js +33 -26
  1026. package/src/native.ts +1 -0
  1027. package/src/styleguideComponents/ArgumentsRenderer.tsx +2 -1
  1028. package/src/styleguideComponents/JsDoc.tsx +3 -1
  1029. package/src/styleguideComponents/PathlineRenderer.tsx +2 -1
  1030. package/src/styleguideComponents/PropsRenderer.tsx +7 -4
  1031. package/src/styleguideComponents/Wrapper.tsx +1 -0
  1032. package/src/types/types.ts +16 -18
  1033. package/src/utils/Streami18n.ts +6 -6
  1034. package/src/utils/__tests__/Streami18n.test.js +1 -2
  1035. package/src/utils/getResizedImageUrl.ts +43 -0
  1036. package/src/utils/getUrlOfImageAttachment.ts +10 -0
  1037. package/src/utils/utils.ts +72 -132
  1038. package/src/version.json +1 -1
  1039. package/lib/commonjs/icons/Left.js +0 -38
  1040. package/lib/commonjs/icons/Left.js.map +0 -1
  1041. package/lib/commonjs/icons/Right.js +0 -38
  1042. package/lib/commonjs/icons/Right.js.map +0 -1
  1043. package/lib/module/icons/Left.js +0 -38
  1044. package/lib/module/icons/Left.js.map +0 -1
  1045. package/lib/module/icons/Right.js +0 -38
  1046. package/lib/module/icons/Right.js.map +0 -1
  1047. package/lib/typescript/icons/Right.d.ts +0 -3
  1048. package/src/icons/Left.tsx +0 -12
  1049. package/src/icons/Right.tsx +0 -12
@@ -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: 132,
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: 145,
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: 146,
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: 150,
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: 151,
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: 152,
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: 153,
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: 154,
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: 157,
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: 158,
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: 159,
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: 207,
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 { DefaultStreamChatGenerics } 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 StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChannelPreviewProps<StreamChatGenerics>, 'channel'> &\n Pick<\n ChannelsContextValue<StreamChatGenerics>,\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<StreamChatGenerics>;\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 StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewMessengerPropsWithContext<StreamChatGenerics>,\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 StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<\n Omit<\n ChannelPreviewMessengerPropsWithContext<StreamChatGenerics>,\n 'channel' | 'latestMessagePreview'\n >\n> &\n Pick<\n ChannelPreviewMessengerPropsWithContext<StreamChatGenerics>,\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 StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewMessengerProps<StreamChatGenerics>,\n) => {\n const {\n maxUnreadCount,\n onSelect,\n PreviewAvatar,\n PreviewMessage,\n PreviewMutedStatus,\n PreviewStatus,\n PreviewTitle,\n PreviewUnreadCount,\n } = useChannelsContext<StreamChatGenerics>();\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: 43,
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;;;;;AAGA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,SAAS,EAAE;AACTC,IAAAA,WAAW,EAAE;AADJ;AADoB,CAAlB,CAAf;;AAeO,IAAMC,yBAAyB,GAAG,SAA5BA,yBAA4B,CAGvCC,KAHuC,EAIpC;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,CAxBM","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 { DefaultStreamChatGenerics } from '../../types/types';\n\nconst styles = StyleSheet.create({\n iconStyle: {\n marginRight: 8,\n },\n});\n\nexport type ChannelPreviewMutedStatusProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChannelPreviewProps<StreamChatGenerics>, 'channel'> & {\n muted: boolean;\n};\n\n/**\n * This UI component displays an avatar for a particular channel.\n */\nexport const ChannelPreviewMutedStatus = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewMutedStatusProps<StreamChatGenerics>,\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: 50,
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: 52,
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: 54,
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: 56,
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;;;;;AAIA,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;;AAmBO,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAGlCC,KAHkC,EAI/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,CA/BM","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 { DefaultStreamChatGenerics } 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 StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n ChannelPreviewMessengerPropsWithContext<StreamChatGenerics>,\n 'latestMessagePreview' | 'formatLatestMessageDate'\n> &\n Pick<ChannelPreviewProps<StreamChatGenerics>, 'channel'>;\n\nexport const ChannelPreviewStatus = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewStatusProps<StreamChatGenerics>,\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"]}
@@ -37,7 +37,7 @@ var ChannelPreviewTitle = function ChannelPreviewTitle(props) {
37
37
  __self: _this,
38
38
  __source: {
39
39
  fileName: _jsxFileName,
40
- lineNumber: 55,
40
+ lineNumber: 34,
41
41
  columnNumber: 5
42
42
  }
43
43
  }, displayName);
@@ -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;;;;;AAIA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,KAAK,EAAE;AAAEC,IAAAA,QAAQ,EAAE,EAAZ;AAAgBC,IAAAA,UAAU,EAAE;AAA5B;AADwB,CAAlB,CAAf;;AAUO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAGjCC,KAHiC,EAI9B;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,CAlBM","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 { DefaultStreamChatGenerics } from '../../types/types';\n\nconst styles = StyleSheet.create({\n title: { fontSize: 14, fontWeight: '700' },\n});\n\nexport type ChannelPreviewTitleProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChannelPreviewProps<StreamChatGenerics>, 'channel'> & {\n displayName: string;\n};\n\nexport const ChannelPreviewTitle = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewTitleProps<StreamChatGenerics>,\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: 47,
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: 49,
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;;;;;AAIA,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;;AAuBO,IAAMC,yBAAyB,GAAG,SAA5BA,yBAA4B,CAGvCC,KAHuC,EAIpC;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,CAtBM","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 { DefaultStreamChatGenerics } 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 StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChannelPreviewProps<StreamChatGenerics>, 'channel'> & {\n maxUnreadCount: number;\n unread?: number;\n};\n\nexport const ChannelPreviewUnreadCount = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewUnreadCountProps<StreamChatGenerics>,\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 { DefaultStreamChatGenerics } from '../../../types/types';\n\nexport const getChannelPreviewDisplayAvatar = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n client: StreamChat<StreamChatGenerics>,\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 StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n) => {\n const { client } = useChatContext<StreamChatGenerics>();\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 { DefaultStreamChatGenerics } from '../../../types/types';\nimport { vw } from '../../../utils/utils';\n\nconst maxCharacterLengthDefault = (vw(100) - 16) / 6;\n\nexport const getChannelPreviewDisplayName = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n channelName,\n currentUserId,\n maxCharacterLength,\n members,\n}: {\n maxCharacterLength: number;\n channelName?: string;\n currentUserId?: string;\n members?: Channel<StreamChatGenerics>['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 StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel?: Channel<StreamChatGenerics>,\n characterLength?: number,\n) => {\n const { client } = useChatContext<StreamChatGenerics>();\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;;AAIA,IAAMA,gCAAgC,GAAG,SAAnCA,gCAAmC,CAGvCC,OAHuC,EAIvCC,MAJuC,EAKpC;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,CAjBD;;AAyBO,IAAMC,gCAAgC,GAAG,SAAnCA,gCAAmC,CAG9Cf,OAH8C,EAI3C;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,CApBM","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { Channel, StreamChat } from 'stream-chat';\n\nimport { useChatContext } from '../../../contexts/chatContext/ChatContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\nconst getChannelPreviewDisplayPresence = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n client: StreamChat<StreamChatGenerics>,\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 StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n) => {\n const { client } = useChatContext<StreamChatGenerics>();\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 +1 @@
1
- {"version":3,"sources":["useLatestMessagePreview.ts"],"names":["getLatestMessageDisplayText","channel","client","message","t","bold","text","isMessageTypeDeleted","type","currentUserId","userID","messageOwnerId","user","id","members","Object","keys","state","owner","length","name","username","ownerText","boldOwner","includes","shortenedText","substring","replace","mentionedUsers","Array","isArray","mentioned_users","reduce","acc","cur","userName","regEx","RegExp","split","index","test","push","command","attachments","getLatestMessageDisplayDate","tDateTimeParser","parserOutput","created_at","isSame","Date","format","getLatestMessageReadStatus","readEvents","readList","read","messageUpdatedAt","updated_at","undefined","values","some","last_read","getLatestMessagePreview","params","lastMessage","messages","messageObject","previews","status","useLatestMessagePreview","forceUpdate","channelConfigExists","getConfig","channelLastMessageString","setReadEvents","latestMessagePreview","setLatestMessagePreview","readStatus","read_events"],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { useChatContext } from '../../../contexts/chatContext/ChatContext';\nimport {\n isDayOrMoment,\n TDateTimeParser,\n useTranslationContext,\n} from '../../../contexts/translationContext/TranslationContext';\n\nimport type { Channel, ChannelState, MessageResponse, StreamChat } from 'stream-chat';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../types/types';\n\ntype LatestMessage<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> =\n | ReturnType<ChannelState<At, Ch, Co, Ev, Me, Re, Us>['formatMessage']>\n | MessageResponse<At, Ch, Co, Me, Re, Us>;\n\nexport type LatestMessagePreview<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = {\n created_at: string | number | Date;\n messageObject: LatestMessage<At, Ch, Co, Ev, Me, Re, Us> | undefined;\n previews: {\n bold: boolean;\n text: string;\n }[];\n status: number;\n};\n\nconst getLatestMessageDisplayText = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n channel: Channel<At, Ch, Co, Ev, Me, Re, Us>,\n client: StreamChat<At, Ch, Co, Ev, Me, Re, Us>,\n message: LatestMessage<At, Ch, Co, Ev, Me, Re, Us> | undefined,\n t: (key: string) => string,\n) => {\n if (!message) return [{ bold: false, text: t('Nothing yet...') }];\n const isMessageTypeDeleted = message.type === 'deleted';\n if (isMessageTypeDeleted) return [{ bold: false, text: t('Message deleted') }];\n const currentUserId = client.userID;\n const messageOwnerId = message.user?.id;\n const members = Object.keys(channel.state.members);\n const owner =\n messageOwnerId === currentUserId\n ? t('You')\n : members.length > 2\n ? message.user?.name || message.user?.username || message.user?.id || ''\n : '';\n const ownerText = owner ? `${owner === t('You') ? '' : '@'}${owner}: ` : '';\n const boldOwner = ownerText.includes('@');\n if (message.text) {\n // rough guess optimization to limit string preview to max 100 characters\n const shortenedText = message.text.substring(0, 100).replace(/\\n/g, ' ');\n const mentionedUsers = Array.isArray(message.mentioned_users)\n ? message.mentioned_users.reduce((acc, cur) => {\n const userName = cur.name || cur.id || '';\n if (userName) {\n acc += `${acc.length ? '|' : ''}@${userName}`;\n }\n return acc;\n }, '')\n : '';\n const regEx = new RegExp(`^(${mentionedUsers})`);\n return [\n { bold: boldOwner, text: ownerText },\n ...shortenedText.split('').reduce(\n (acc, cur, index) => {\n if (cur === '@' && mentionedUsers && regEx.test(shortenedText.substring(index))) {\n acc.push({ bold: true, text: cur });\n } else if (mentionedUsers && regEx.test(acc[acc.length - 1].text)) {\n acc.push({ bold: false, text: cur });\n } else {\n acc[acc.length - 1].text += cur;\n }\n return acc;\n },\n [{ bold: false, text: '' }],\n ),\n ];\n }\n if (message.command) {\n return [\n { bold: boldOwner, text: ownerText },\n { bold: false, text: `/${message.command}` },\n ];\n }\n if (message.attachments?.length) {\n return [\n { bold: boldOwner, text: ownerText },\n { bold: false, text: t('🏙 Attachment...') },\n ];\n }\n return [\n { bold: boldOwner, text: ownerText },\n { bold: false, text: t('Empty message...') },\n ];\n};\n\nconst getLatestMessageDisplayDate = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n message: LatestMessage<At, Ch, Co, Ev, Me, Re, Us> | undefined,\n tDateTimeParser: TDateTimeParser,\n) => {\n const parserOutput = tDateTimeParser(message?.created_at);\n if (isDayOrMoment(parserOutput)) {\n if (parserOutput.isSame(new Date(), 'day')) {\n return parserOutput.format('LT');\n }\n return parserOutput.format('L');\n }\n return parserOutput;\n};\n\n/**\n * set up enum\n * 0 = latest message is not current user's message\n * 1 = nobody has read latest message which is the current user's message\n * 2 = someone has read latest message which is the current user's message\n */\nconst getLatestMessageReadStatus = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n channel: Channel<At, Ch, Co, Ev, Me, Re, Us>,\n client: StreamChat<At, Ch, Co, Ev, Me, Re, Us>,\n message: LatestMessage<At, Ch, Co, Ev, Me, Re, Us> | undefined,\n readEvents: boolean,\n) => {\n const currentUserId = client.userID;\n if (!message || currentUserId !== message.user?.id || readEvents === false) return 0;\n\n const readList = channel.state.read;\n if (currentUserId) {\n delete readList[currentUserId];\n }\n\n const messageUpdatedAt = message.updated_at\n ? typeof message.updated_at === 'string'\n ? new Date(message.updated_at)\n : message.updated_at\n : undefined;\n\n return Object.values(readList).some(\n ({ last_read }) => messageUpdatedAt && messageUpdatedAt < last_read,\n )\n ? 2\n : 1;\n};\n\nconst getLatestMessagePreview = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(params: {\n channel: Channel<At, Ch, Co, Ev, Me, Re, Us>;\n client: StreamChat<At, Ch, Co, Ev, Me, Re, Us>;\n readEvents: boolean;\n t: (key: string) => string;\n tDateTimeParser: TDateTimeParser;\n lastMessage?:\n | ReturnType<ChannelState<At, Ch, Co, Ev, Me, Re, Us>['formatMessage']>\n | MessageResponse<At, Ch, Co, Me, Re, Us>;\n}) => {\n const { channel, client, lastMessage, readEvents, t, tDateTimeParser } = params;\n\n const messages = channel.state.messages;\n\n if (!messages.length && !lastMessage) {\n return {\n created_at: '',\n messageObject: undefined,\n previews: [\n {\n bold: false,\n text: t('Nothing yet...'),\n },\n ],\n status: 0,\n };\n }\n const message = lastMessage || messages.length ? messages[messages.length - 1] : undefined;\n\n return {\n created_at: getLatestMessageDisplayDate(message, tDateTimeParser),\n messageObject: message,\n previews: getLatestMessageDisplayText(channel, client, message, t),\n status: getLatestMessageReadStatus(channel, client, message, readEvents),\n };\n};\n\n/**\n * Hook to set the display preview for latest message on channel.\n *\n * @param {*} channel Channel object\n *\n * @returns {object} latest message preview e.g.. { text: 'this was last message ...', created_at: '11/12/2020', messageObject: { originalMessageObject } }\n */\nexport const useLatestMessagePreview = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n channel: Channel<At, Ch, Co, Ev, Me, Re, Us>,\n forceUpdate: number,\n lastMessage?:\n | ReturnType<ChannelState<At, Ch, Co, Ev, Me, Re, Us>['formatMessage']>\n | MessageResponse<At, Ch, Co, Me, Re, Us>,\n) => {\n const { client } = useChatContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { t, tDateTimeParser } = useTranslationContext();\n\n const channelConfigExists = typeof channel?.getConfig === 'function';\n\n const messages = channel.state.messages;\n const message = messages.length ? messages[messages.length - 1] : undefined;\n\n const channelLastMessageString = `${lastMessage?.id || message?.id}${\n lastMessage?.updated_at || message?.updated_at\n }`;\n\n const [readEvents, setReadEvents] = useState(true);\n const [latestMessagePreview, setLatestMessagePreview] = useState<\n LatestMessagePreview<At, Ch, Co, Ev, Me, Re, Us>\n >({\n created_at: '',\n messageObject: undefined,\n previews: [\n {\n bold: false,\n text: '',\n },\n ],\n status: 0,\n });\n\n const readStatus = getLatestMessageReadStatus(\n channel,\n client,\n lastMessage || message,\n readEvents,\n );\n\n useEffect(() => {\n if (channelConfigExists) {\n const read_events = channel.getConfig()?.read_events;\n if (typeof read_events === 'boolean') {\n setReadEvents(read_events);\n }\n }\n }, [channelConfigExists]);\n\n useEffect(\n () =>\n setLatestMessagePreview(\n getLatestMessagePreview({\n channel,\n client,\n lastMessage,\n readEvents,\n t,\n tDateTimeParser,\n }),\n ),\n [channelLastMessageString, forceUpdate, readEvents, readStatus],\n );\n\n return latestMessagePreview;\n};\n"]}
1
+ {"version":3,"sources":["useLatestMessagePreview.ts"],"names":["getLatestMessageDisplayText","channel","client","message","t","bold","text","isMessageTypeDeleted","type","currentUserId","userID","messageOwnerId","user","id","members","Object","keys","state","owner","length","name","username","ownerText","boldOwner","includes","shortenedText","substring","replace","mentionedUsers","Array","isArray","mentioned_users","reduce","acc","cur","userName","regEx","RegExp","split","index","test","push","command","attachments","getLatestMessageDisplayDate","tDateTimeParser","parserOutput","created_at","isSame","Date","format","getLatestMessageReadStatus","readEvents","readList","read","messageUpdatedAt","updated_at","undefined","values","some","last_read","getLatestMessagePreview","params","lastMessage","messages","messageObject","previews","status","useLatestMessagePreview","forceUpdate","channelConfigExists","getConfig","channelLastMessageString","setReadEvents","latestMessagePreview","setLatestMessagePreview","readStatus","read_events"],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { Channel, ChannelState, MessageResponse, StreamChat } from 'stream-chat';\n\nimport { useChatContext } from '../../../contexts/chatContext/ChatContext';\nimport {\n isDayOrMoment,\n TDateTimeParser,\n useTranslationContext,\n} from '../../../contexts/translationContext/TranslationContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\ntype LatestMessage<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> =\n | ReturnType<ChannelState<StreamChatGenerics>['formatMessage']>\n | MessageResponse<StreamChatGenerics>;\n\nexport type LatestMessagePreview<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n created_at: string | number | Date;\n messageObject: LatestMessage<StreamChatGenerics> | undefined;\n previews: {\n bold: boolean;\n text: string;\n }[];\n status: number;\n};\n\nconst getLatestMessageDisplayText = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n client: StreamChat<StreamChatGenerics>,\n message: LatestMessage<StreamChatGenerics> | undefined,\n t: (key: string) => string,\n) => {\n if (!message) return [{ bold: false, text: t('Nothing yet...') }];\n const isMessageTypeDeleted = message.type === 'deleted';\n if (isMessageTypeDeleted) return [{ bold: false, text: t('Message deleted') }];\n const currentUserId = client.userID;\n const messageOwnerId = message.user?.id;\n const members = Object.keys(channel.state.members);\n const owner =\n messageOwnerId === currentUserId\n ? t('You')\n : members.length > 2\n ? message.user?.name || message.user?.username || message.user?.id || ''\n : '';\n const ownerText = owner ? `${owner === t('You') ? '' : '@'}${owner}: ` : '';\n const boldOwner = ownerText.includes('@');\n if (message.text) {\n // rough guess optimization to limit string preview to max 100 characters\n const shortenedText = message.text.substring(0, 100).replace(/\\n/g, ' ');\n const mentionedUsers = Array.isArray(message.mentioned_users)\n ? message.mentioned_users.reduce((acc, cur) => {\n const userName = cur.name || cur.id || '';\n if (userName) {\n acc += `${acc.length ? '|' : ''}@${userName}`;\n }\n return acc;\n }, '')\n : '';\n const regEx = new RegExp(`^(${mentionedUsers})`);\n return [\n { bold: boldOwner, text: ownerText },\n ...shortenedText.split('').reduce(\n (acc, cur, index) => {\n if (cur === '@' && mentionedUsers && regEx.test(shortenedText.substring(index))) {\n acc.push({ bold: true, text: cur });\n } else if (mentionedUsers && regEx.test(acc[acc.length - 1].text)) {\n acc.push({ bold: false, text: cur });\n } else {\n acc[acc.length - 1].text += cur;\n }\n return acc;\n },\n [{ bold: false, text: '' }],\n ),\n ];\n }\n if (message.command) {\n return [\n { bold: boldOwner, text: ownerText },\n { bold: false, text: `/${message.command}` },\n ];\n }\n if (message.attachments?.length) {\n return [\n { bold: boldOwner, text: ownerText },\n { bold: false, text: t('🏙 Attachment...') },\n ];\n }\n return [\n { bold: boldOwner, text: ownerText },\n { bold: false, text: t('Empty message...') },\n ];\n};\n\nconst getLatestMessageDisplayDate = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n message: LatestMessage<StreamChatGenerics> | undefined,\n tDateTimeParser: TDateTimeParser,\n) => {\n const parserOutput = tDateTimeParser(message?.created_at);\n if (isDayOrMoment(parserOutput)) {\n if (parserOutput.isSame(new Date(), 'day')) {\n return parserOutput.format('LT');\n }\n return parserOutput.format('L');\n }\n return parserOutput;\n};\n\n/**\n * set up enum\n * 0 = latest message is not current user's message\n * 1 = nobody has read latest message which is the current user's message\n * 2 = someone has read latest message which is the current user's message\n */\nconst getLatestMessageReadStatus = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n client: StreamChat<StreamChatGenerics>,\n message: LatestMessage<StreamChatGenerics> | undefined,\n readEvents: boolean,\n) => {\n const currentUserId = client.userID;\n if (!message || currentUserId !== message.user?.id || readEvents === false) return 0;\n\n const readList = channel.state.read;\n if (currentUserId) {\n delete readList[currentUserId];\n }\n\n const messageUpdatedAt = message.updated_at\n ? typeof message.updated_at === 'string'\n ? new Date(message.updated_at)\n : message.updated_at\n : undefined;\n\n return Object.values(readList).some(\n ({ last_read }) => messageUpdatedAt && messageUpdatedAt < last_read,\n )\n ? 2\n : 1;\n};\n\nconst getLatestMessagePreview = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(params: {\n channel: Channel<StreamChatGenerics>;\n client: StreamChat<StreamChatGenerics>;\n readEvents: boolean;\n t: (key: string) => string;\n tDateTimeParser: TDateTimeParser;\n lastMessage?:\n | ReturnType<ChannelState<StreamChatGenerics>['formatMessage']>\n | MessageResponse<StreamChatGenerics>;\n}) => {\n const { channel, client, lastMessage, readEvents, t, tDateTimeParser } = params;\n\n const messages = channel.state.messages;\n\n if (!messages.length && !lastMessage) {\n return {\n created_at: '',\n messageObject: undefined,\n previews: [\n {\n bold: false,\n text: t('Nothing yet...'),\n },\n ],\n status: 0,\n };\n }\n const message = lastMessage || messages.length ? messages[messages.length - 1] : undefined;\n\n return {\n created_at: getLatestMessageDisplayDate(message, tDateTimeParser),\n messageObject: message,\n previews: getLatestMessageDisplayText(channel, client, message, t),\n status: getLatestMessageReadStatus(channel, client, message, readEvents),\n };\n};\n\n/**\n * Hook to set the display preview for latest message on channel.\n *\n * @param {*} channel Channel object\n *\n * @returns {object} latest message preview e.g.. { text: 'this was last message ...', created_at: '11/12/2020', messageObject: { originalMessageObject } }\n */\nexport const useLatestMessagePreview = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n forceUpdate: number,\n lastMessage?:\n | ReturnType<ChannelState<StreamChatGenerics>['formatMessage']>\n | MessageResponse<StreamChatGenerics>,\n) => {\n const { client } = useChatContext<StreamChatGenerics>();\n const { t, tDateTimeParser } = useTranslationContext();\n\n const channelConfigExists = typeof channel?.getConfig === 'function';\n\n const messages = channel.state.messages;\n const message = messages.length ? messages[messages.length - 1] : undefined;\n\n const channelLastMessageString = `${lastMessage?.id || message?.id}${\n lastMessage?.updated_at || message?.updated_at\n }`;\n\n const [readEvents, setReadEvents] = useState(true);\n const [latestMessagePreview, setLatestMessagePreview] = useState<\n LatestMessagePreview<StreamChatGenerics>\n >({\n created_at: '',\n messageObject: undefined,\n previews: [\n {\n bold: false,\n text: '',\n },\n ],\n status: 0,\n });\n\n const readStatus = getLatestMessageReadStatus(\n channel,\n client,\n lastMessage || message,\n readEvents,\n );\n\n useEffect(() => {\n if (channelConfigExists) {\n const read_events = channel.getConfig()?.read_events;\n if (typeof read_events === 'boolean') {\n setReadEvents(read_events);\n }\n }\n }, [channelConfigExists]);\n\n useEffect(\n () =>\n setLatestMessagePreview(\n getLatestMessagePreview({\n channel,\n client,\n lastMessage,\n readEvents,\n t,\n tDateTimeParser,\n }),\n ),\n [channelLastMessageString, forceUpdate, readEvents, readStatus],\n );\n\n return latestMessagePreview;\n};\n"]}