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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (834) hide show
  1. package/lib/commonjs/components/Attachment/Attachment.js +2 -2
  2. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  3. package/lib/commonjs/components/Attachment/AttachmentActions.js.map +1 -1
  4. package/lib/commonjs/components/Attachment/Card.js +15 -15
  5. package/lib/commonjs/components/Attachment/Card.js.map +1 -1
  6. package/lib/commonjs/components/Attachment/FileAttachment.js +8 -8
  7. package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
  8. package/lib/commonjs/components/Attachment/FileIcon.js.map +1 -1
  9. package/lib/commonjs/components/Attachment/Gallery.js +97 -106
  10. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  11. package/lib/commonjs/components/Attachment/Giphy.js +27 -27
  12. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  13. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js +46 -0
  14. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
  15. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
  16. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
  17. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
  18. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
  19. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
  20. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
  21. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
  22. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
  23. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
  24. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
  25. package/lib/commonjs/components/Attachment/utils/buildGallery/types.js +4 -0
  26. package/lib/commonjs/components/Attachment/utils/buildGallery/types.js.map +1 -0
  27. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js +14 -0
  28. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -0
  29. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
  30. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
  31. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +9 -8
  32. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  33. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +2 -2
  34. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  35. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  36. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  37. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +16 -16
  38. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
  39. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +11 -11
  40. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  41. package/lib/commonjs/components/Avatar/Avatar.js +13 -7
  42. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  43. package/lib/commonjs/components/Avatar/GroupAvatar.js +10 -4
  44. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  45. package/lib/commonjs/components/Channel/Channel.js +64 -64
  46. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  47. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  48. package/lib/commonjs/components/ChannelList/ChannelList.js +6 -6
  49. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  50. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +4 -4
  51. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  52. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +6 -7
  53. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  54. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +2 -2
  55. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  56. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +17 -17
  57. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  58. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  59. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  60. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  61. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  62. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  63. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  64. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  65. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  66. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  67. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  68. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
  69. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  70. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  71. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  72. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js +2 -2
  73. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  74. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +83 -70
  75. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  76. package/lib/commonjs/components/ChannelList/utils.js +1 -1
  77. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +2 -2
  78. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  79. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +2 -2
  80. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  81. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  82. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +48 -20
  83. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  84. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
  85. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
  86. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
  87. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  88. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  89. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  90. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  91. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  92. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  93. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  94. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  95. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  96. package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
  97. package/lib/commonjs/components/ImageGallery/ImageGallery.js +89 -56
  98. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  99. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +2 -2
  100. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  101. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +12 -12
  102. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  103. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +10 -10
  104. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  105. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +7 -7
  106. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  107. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +5 -5
  108. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  109. package/lib/commonjs/components/Indicators/LoadingIndicator.js +9 -9
  110. package/lib/commonjs/components/Indicators/LoadingIndicator.js.map +1 -1
  111. package/lib/commonjs/components/Message/Message.js +13 -9
  112. package/lib/commonjs/components/Message/Message.js.map +1 -1
  113. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +6 -6
  114. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  115. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +19 -19
  116. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  117. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +5 -5
  118. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  119. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +11 -11
  120. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  121. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +2 -2
  122. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  123. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +5 -5
  124. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  125. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +9 -7
  126. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  127. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js +89 -0
  128. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
  129. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
  130. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
  131. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +14 -25
  132. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  133. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  134. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js +16 -3
  135. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  136. package/lib/commonjs/components/Message/hooks/useMessageActions.js +18 -14
  137. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
  138. package/lib/commonjs/components/Message/utils/messageActions.js.map +1 -1
  139. package/lib/commonjs/components/Message/utils/removeReservedFields.js.map +1 -1
  140. package/lib/commonjs/components/MessageInput/AttachButton.js +3 -3
  141. package/lib/commonjs/components/MessageInput/AttachButton.js.map +1 -1
  142. package/lib/commonjs/components/MessageInput/CommandsButton.js +3 -3
  143. package/lib/commonjs/components/MessageInput/CommandsButton.js.map +1 -1
  144. package/lib/commonjs/components/MessageInput/CooldownTimer.js +2 -2
  145. package/lib/commonjs/components/MessageInput/CooldownTimer.js.map +1 -1
  146. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +2 -2
  147. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  148. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +7 -7
  149. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
  150. package/lib/commonjs/components/MessageInput/InputButtons.js +3 -3
  151. package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
  152. package/lib/commonjs/components/MessageInput/MessageInput.js +40 -40
  153. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  154. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +3 -3
  155. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js.map +1 -1
  156. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +2 -2
  157. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
  158. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +3 -3
  159. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  160. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -1
  161. package/lib/commonjs/components/MessageInput/hooks/useCountdown.js.map +1 -1
  162. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  163. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  164. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  165. package/lib/commonjs/components/MessageList/MessageList.js +2 -2
  166. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  167. package/lib/commonjs/components/MessageList/MessageSystem.js.map +1 -1
  168. package/lib/commonjs/components/MessageList/TypingIndicator.js +5 -5
  169. package/lib/commonjs/components/MessageList/TypingIndicator.js.map +1 -1
  170. package/lib/commonjs/components/MessageList/hooks/useMessageList.js +7 -7
  171. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  172. package/lib/commonjs/components/MessageList/hooks/useTypingString.js +2 -2
  173. package/lib/commonjs/components/MessageList/hooks/useTypingString.js.map +1 -1
  174. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
  175. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js +3 -1
  176. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  177. package/lib/commonjs/components/MessageOverlay/MessageActionList.js +2 -2
  178. package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -1
  179. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +7 -7
  180. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  181. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +38 -32
  182. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  183. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +1 -1
  184. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js.map +1 -1
  185. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +11 -11
  186. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  187. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +31 -34
  188. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
  189. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
  190. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
  191. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -1
  192. package/lib/commonjs/components/Reply/Reply.js +25 -19
  193. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  194. package/lib/commonjs/components/Thread/Thread.js +6 -6
  195. package/lib/commonjs/components/Thread/Thread.js.map +1 -1
  196. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +12 -12
  197. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  198. package/lib/commonjs/components/docs/data.js +1 -1
  199. package/lib/commonjs/components/index.js +26 -0
  200. package/lib/commonjs/components/index.js.map +1 -1
  201. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +2 -2
  202. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  203. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +2 -2
  204. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  205. package/lib/commonjs/contexts/channelContext/ChannelContext.js +2 -2
  206. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  207. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +2 -2
  208. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  209. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +3 -3
  210. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  211. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
  212. package/lib/commonjs/contexts/chatContext/ChatContext.js +2 -2
  213. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  214. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
  215. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  216. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +2 -2
  217. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  218. package/lib/commonjs/contexts/messageContext/MessageContext.js +2 -2
  219. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  220. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +18 -14
  221. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  222. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  223. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js +10 -3
  224. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  225. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +5 -19
  226. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  227. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
  228. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
  229. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
  230. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
  231. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  232. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -1
  233. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  234. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +33 -31
  235. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  236. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
  237. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
  238. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  239. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +3 -3
  240. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  241. package/lib/commonjs/contexts/themeContext/ThemeContext.js +2 -2
  242. package/lib/commonjs/contexts/themeContext/ThemeContext.js.map +1 -1
  243. package/lib/commonjs/contexts/themeContext/utils/theme.js +13 -5
  244. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  245. package/lib/commonjs/contexts/threadContext/ThreadContext.js +2 -2
  246. package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
  247. package/lib/commonjs/contexts/translationContext/TranslationContext.js +1 -1
  248. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  249. package/lib/commonjs/contexts/typingContext/TypingContext.js +2 -2
  250. package/lib/commonjs/contexts/typingContext/TypingContext.js.map +1 -1
  251. package/lib/commonjs/contexts/utils/getDisplayName.js.map +1 -1
  252. package/lib/commonjs/emoji-data/index.js +2 -2
  253. package/lib/commonjs/emoji-data/index.js.map +1 -1
  254. package/lib/commonjs/hooks/useStreami18n.js.map +1 -1
  255. package/lib/commonjs/icons/utils/base.js +1 -1
  256. package/lib/commonjs/index.js +6 -6
  257. package/lib/commonjs/mock-builders/api/error.js +1 -1
  258. package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
  259. package/lib/commonjs/mock-builders/generator/attachment.js +1 -3
  260. package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
  261. package/lib/commonjs/mock-builders/generator/channel.js +101 -51
  262. package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
  263. package/lib/commonjs/mock-builders/generator/user.js +32 -33
  264. package/lib/commonjs/mock-builders/generator/user.js.map +1 -1
  265. package/lib/commonjs/mock-builders/mock.js +1 -1
  266. package/lib/commonjs/native.js +1 -1
  267. package/lib/commonjs/native.js.map +1 -1
  268. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js +7 -7
  269. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js.map +1 -1
  270. package/lib/commonjs/styleguideComponents/JsDoc.js +4 -4
  271. package/lib/commonjs/styleguideComponents/JsDoc.js.map +1 -1
  272. package/lib/commonjs/styleguideComponents/PathlineRenderer.js +7 -7
  273. package/lib/commonjs/styleguideComponents/PathlineRenderer.js.map +1 -1
  274. package/lib/commonjs/styleguideComponents/PropsRenderer.js +25 -25
  275. package/lib/commonjs/styleguideComponents/PropsRenderer.js.map +1 -1
  276. package/lib/commonjs/styleguideComponents/Wrapper.js +1 -1
  277. package/lib/commonjs/styleguideComponents/Wrapper.js.map +1 -1
  278. package/lib/commonjs/utils/Streami18n.js.map +1 -1
  279. package/lib/commonjs/utils/getResizedImageUrl.js +26 -0
  280. package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -0
  281. package/lib/commonjs/utils/getUrlOfImageAttachment.js +9 -0
  282. package/lib/commonjs/utils/getUrlOfImageAttachment.js.map +1 -0
  283. package/lib/commonjs/utils/utils.js +9 -3
  284. package/lib/commonjs/utils/utils.js.map +1 -1
  285. package/lib/commonjs/version.json +1 -1
  286. package/lib/module/components/Attachment/Attachment.js +2 -2
  287. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  288. package/lib/module/components/Attachment/AttachmentActions.js.map +1 -1
  289. package/lib/module/components/Attachment/Card.js +15 -15
  290. package/lib/module/components/Attachment/Card.js.map +1 -1
  291. package/lib/module/components/Attachment/FileAttachment.js +8 -8
  292. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  293. package/lib/module/components/Attachment/FileIcon.js.map +1 -1
  294. package/lib/module/components/Attachment/Gallery.js +97 -106
  295. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  296. package/lib/module/components/Attachment/Giphy.js +27 -27
  297. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  298. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js +46 -0
  299. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
  300. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
  301. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
  302. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
  303. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
  304. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
  305. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
  306. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
  307. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
  308. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
  309. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
  310. package/lib/module/components/Attachment/utils/buildGallery/types.js +4 -0
  311. package/lib/module/components/Attachment/utils/buildGallery/types.js.map +1 -0
  312. package/lib/module/components/Attachment/utils/getAspectRatio.js +14 -0
  313. package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -0
  314. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
  315. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
  316. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +9 -8
  317. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  318. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +2 -2
  319. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  320. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  321. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  322. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +16 -16
  323. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
  324. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +11 -11
  325. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  326. package/lib/module/components/Avatar/Avatar.js +13 -7
  327. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  328. package/lib/module/components/Avatar/GroupAvatar.js +10 -4
  329. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  330. package/lib/module/components/Channel/Channel.js +64 -64
  331. package/lib/module/components/Channel/Channel.js.map +1 -1
  332. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  333. package/lib/module/components/ChannelList/ChannelList.js +6 -6
  334. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  335. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +4 -4
  336. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  337. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +6 -7
  338. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  339. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +2 -2
  340. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  341. package/lib/module/components/ChannelList/ChannelListMessenger.js +17 -17
  342. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  343. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  344. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  345. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  346. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  347. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  348. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  349. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  350. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  351. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  352. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  353. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
  354. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  355. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  356. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  357. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js +2 -2
  358. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  359. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +83 -70
  360. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  361. package/lib/module/components/ChannelList/utils.js +1 -1
  362. package/lib/module/components/ChannelPreview/ChannelAvatar.js +2 -2
  363. package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  364. package/lib/module/components/ChannelPreview/ChannelPreview.js +2 -2
  365. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  366. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  367. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +48 -20
  368. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  369. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
  370. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
  371. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
  372. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  373. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  374. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  375. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  376. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  377. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  378. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  379. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  380. package/lib/module/components/Chat/Chat.js.map +1 -1
  381. package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
  382. package/lib/module/components/ImageGallery/ImageGallery.js +89 -56
  383. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  384. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +2 -2
  385. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  386. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +12 -12
  387. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  388. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +10 -10
  389. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  390. package/lib/module/components/ImageGallery/components/ImageGrid.js +7 -7
  391. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  392. package/lib/module/components/ImageGallery/components/ImageGridHandle.js +5 -5
  393. package/lib/module/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  394. package/lib/module/components/Indicators/LoadingIndicator.js +9 -9
  395. package/lib/module/components/Indicators/LoadingIndicator.js.map +1 -1
  396. package/lib/module/components/Message/Message.js +13 -9
  397. package/lib/module/components/Message/Message.js.map +1 -1
  398. package/lib/module/components/Message/MessageSimple/MessageAvatar.js +6 -6
  399. package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  400. package/lib/module/components/Message/MessageSimple/MessageContent.js +19 -19
  401. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  402. package/lib/module/components/Message/MessageSimple/MessageDeleted.js +5 -5
  403. package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  404. package/lib/module/components/Message/MessageSimple/MessageFooter.js +11 -11
  405. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  406. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +2 -2
  407. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  408. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +5 -5
  409. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  410. package/lib/module/components/Message/MessageSimple/MessageStatus.js +9 -7
  411. package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  412. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js +89 -0
  413. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
  414. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
  415. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
  416. package/lib/module/components/Message/MessageSimple/utils/renderText.js +14 -25
  417. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  418. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  419. package/lib/module/components/Message/hooks/useMessageActionHandlers.js +16 -3
  420. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  421. package/lib/module/components/Message/hooks/useMessageActions.js +18 -14
  422. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
  423. package/lib/module/components/Message/utils/messageActions.js.map +1 -1
  424. package/lib/module/components/Message/utils/removeReservedFields.js.map +1 -1
  425. package/lib/module/components/MessageInput/AttachButton.js +3 -3
  426. package/lib/module/components/MessageInput/AttachButton.js.map +1 -1
  427. package/lib/module/components/MessageInput/CommandsButton.js +3 -3
  428. package/lib/module/components/MessageInput/CommandsButton.js.map +1 -1
  429. package/lib/module/components/MessageInput/CooldownTimer.js +2 -2
  430. package/lib/module/components/MessageInput/CooldownTimer.js.map +1 -1
  431. package/lib/module/components/MessageInput/FileUploadPreview.js +2 -2
  432. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  433. package/lib/module/components/MessageInput/ImageUploadPreview.js +7 -7
  434. package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
  435. package/lib/module/components/MessageInput/InputButtons.js +3 -3
  436. package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
  437. package/lib/module/components/MessageInput/MessageInput.js +40 -40
  438. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  439. package/lib/module/components/MessageInput/MoreOptionsButton.js +3 -3
  440. package/lib/module/components/MessageInput/MoreOptionsButton.js.map +1 -1
  441. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +2 -2
  442. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
  443. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +3 -3
  444. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  445. package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -1
  446. package/lib/module/components/MessageInput/hooks/useCountdown.js.map +1 -1
  447. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  448. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  449. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  450. package/lib/module/components/MessageList/MessageList.js +2 -2
  451. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  452. package/lib/module/components/MessageList/MessageSystem.js.map +1 -1
  453. package/lib/module/components/MessageList/TypingIndicator.js +5 -5
  454. package/lib/module/components/MessageList/TypingIndicator.js.map +1 -1
  455. package/lib/module/components/MessageList/hooks/useMessageList.js +7 -7
  456. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  457. package/lib/module/components/MessageList/hooks/useTypingString.js +2 -2
  458. package/lib/module/components/MessageList/hooks/useTypingString.js.map +1 -1
  459. package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
  460. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js +3 -1
  461. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  462. package/lib/module/components/MessageOverlay/MessageActionList.js +2 -2
  463. package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -1
  464. package/lib/module/components/MessageOverlay/MessageActionListItem.js +7 -7
  465. package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  466. package/lib/module/components/MessageOverlay/MessageOverlay.js +38 -32
  467. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  468. package/lib/module/components/MessageOverlay/OverlayBackdrop.js +1 -1
  469. package/lib/module/components/MessageOverlay/OverlayBackdrop.js.map +1 -1
  470. package/lib/module/components/MessageOverlay/OverlayReactionList.js +11 -11
  471. package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  472. package/lib/module/components/MessageOverlay/OverlayReactions.js +31 -34
  473. package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
  474. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
  475. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
  476. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -1
  477. package/lib/module/components/Reply/Reply.js +25 -19
  478. package/lib/module/components/Reply/Reply.js.map +1 -1
  479. package/lib/module/components/Thread/Thread.js +6 -6
  480. package/lib/module/components/Thread/Thread.js.map +1 -1
  481. package/lib/module/components/Thread/components/ThreadFooterComponent.js +12 -12
  482. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  483. package/lib/module/components/docs/data.js +1 -1
  484. package/lib/module/components/index.js +26 -0
  485. package/lib/module/components/index.js.map +1 -1
  486. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +2 -2
  487. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  488. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +2 -2
  489. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  490. package/lib/module/contexts/channelContext/ChannelContext.js +2 -2
  491. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  492. package/lib/module/contexts/channelsContext/ChannelsContext.js +2 -2
  493. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  494. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +3 -3
  495. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  496. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
  497. package/lib/module/contexts/chatContext/ChatContext.js +2 -2
  498. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  499. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
  500. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  501. package/lib/module/contexts/keyboardContext/KeyboardContext.js +2 -2
  502. package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  503. package/lib/module/contexts/messageContext/MessageContext.js +2 -2
  504. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  505. package/lib/module/contexts/messageInputContext/MessageInputContext.js +18 -14
  506. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  507. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  508. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js +10 -3
  509. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  510. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +5 -19
  511. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  512. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
  513. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
  514. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
  515. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
  516. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  517. package/lib/module/contexts/overlayContext/OverlayContext.js +1 -1
  518. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  519. package/lib/module/contexts/overlayContext/OverlayProvider.js +33 -31
  520. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  521. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
  522. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
  523. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  524. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +3 -3
  525. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  526. package/lib/module/contexts/themeContext/ThemeContext.js +2 -2
  527. package/lib/module/contexts/themeContext/ThemeContext.js.map +1 -1
  528. package/lib/module/contexts/themeContext/utils/theme.js +13 -5
  529. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  530. package/lib/module/contexts/threadContext/ThreadContext.js +2 -2
  531. package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
  532. package/lib/module/contexts/translationContext/TranslationContext.js +1 -1
  533. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  534. package/lib/module/contexts/typingContext/TypingContext.js +2 -2
  535. package/lib/module/contexts/typingContext/TypingContext.js.map +1 -1
  536. package/lib/module/contexts/utils/getDisplayName.js.map +1 -1
  537. package/lib/module/emoji-data/index.js +2 -2
  538. package/lib/module/emoji-data/index.js.map +1 -1
  539. package/lib/module/hooks/useStreami18n.js.map +1 -1
  540. package/lib/module/icons/utils/base.js +1 -1
  541. package/lib/module/index.js +6 -6
  542. package/lib/module/mock-builders/api/error.js +1 -1
  543. package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
  544. package/lib/module/mock-builders/generator/attachment.js +1 -3
  545. package/lib/module/mock-builders/generator/attachment.js.map +1 -1
  546. package/lib/module/mock-builders/generator/channel.js +101 -51
  547. package/lib/module/mock-builders/generator/channel.js.map +1 -1
  548. package/lib/module/mock-builders/generator/user.js +32 -33
  549. package/lib/module/mock-builders/generator/user.js.map +1 -1
  550. package/lib/module/mock-builders/mock.js +1 -1
  551. package/lib/module/native.js +1 -1
  552. package/lib/module/native.js.map +1 -1
  553. package/lib/module/styleguideComponents/ArgumentsRenderer.js +7 -7
  554. package/lib/module/styleguideComponents/ArgumentsRenderer.js.map +1 -1
  555. package/lib/module/styleguideComponents/JsDoc.js +4 -4
  556. package/lib/module/styleguideComponents/JsDoc.js.map +1 -1
  557. package/lib/module/styleguideComponents/PathlineRenderer.js +7 -7
  558. package/lib/module/styleguideComponents/PathlineRenderer.js.map +1 -1
  559. package/lib/module/styleguideComponents/PropsRenderer.js +25 -25
  560. package/lib/module/styleguideComponents/PropsRenderer.js.map +1 -1
  561. package/lib/module/styleguideComponents/Wrapper.js +1 -1
  562. package/lib/module/styleguideComponents/Wrapper.js.map +1 -1
  563. package/lib/module/utils/Streami18n.js.map +1 -1
  564. package/lib/module/utils/getResizedImageUrl.js +26 -0
  565. package/lib/module/utils/getResizedImageUrl.js.map +1 -0
  566. package/lib/module/utils/getUrlOfImageAttachment.js +9 -0
  567. package/lib/module/utils/getUrlOfImageAttachment.js.map +1 -0
  568. package/lib/module/utils/utils.js +9 -3
  569. package/lib/module/utils/utils.js.map +1 -1
  570. package/lib/module/version.json +1 -1
  571. package/lib/typescript/components/Attachment/Attachment.d.ts +1 -1
  572. package/lib/typescript/components/Attachment/AttachmentActions.d.ts +1 -1
  573. package/lib/typescript/components/Attachment/Card.d.ts +1 -1
  574. package/lib/typescript/components/Attachment/FileAttachment.d.ts +1 -1
  575. package/lib/typescript/components/Attachment/Gallery.d.ts +1 -4
  576. package/lib/typescript/components/Attachment/Giphy.d.ts +1 -1
  577. package/lib/typescript/components/Attachment/utils/buildGallery/buildGallery.d.ts +23 -0
  578. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.d.ts +7 -0
  579. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.d.ts +7 -0
  580. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.d.ts +7 -0
  581. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnail.d.ts +10 -0
  582. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnailGrid.d.ts +137 -0
  583. package/lib/typescript/components/Attachment/utils/buildGallery/types.d.ts +23 -0
  584. package/lib/typescript/components/Attachment/utils/getAspectRatio.d.ts +9 -0
  585. package/lib/typescript/components/Attachment/utils/getGalleryImageBorderRadius.d.ts +22 -0
  586. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionHeader.d.ts +1 -1
  587. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionItem.d.ts +1 -1
  588. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts +2 -3
  589. package/lib/typescript/components/Channel/Channel.d.ts +4 -4
  590. package/lib/typescript/components/Channel/hooks/useCreateOwnCapabilitiesContext.d.ts +1 -1
  591. package/lib/typescript/components/ChannelList/ChannelList.d.ts +1 -1
  592. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +4 -2
  593. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +2 -2
  594. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts +2 -2
  595. package/lib/typescript/components/ChannelPreview/ChannelPreviewMutedStatus.d.ts +9 -0
  596. package/lib/typescript/components/Chat/Chat.d.ts +1 -1
  597. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +3 -1
  598. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryImage.d.ts +1 -1
  599. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +1 -1
  600. package/lib/typescript/components/ImageGallery/components/ImageGalleryHeader.d.ts +1 -1
  601. package/lib/typescript/components/ImageGallery/components/ImageGrid.d.ts +1 -1
  602. package/lib/typescript/components/Message/Message.d.ts +1 -1
  603. package/lib/typescript/components/Message/MessageSimple/MessageAvatar.d.ts +1 -1
  604. package/lib/typescript/components/Message/MessageSimple/MessageDeleted.d.ts +2 -2
  605. package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts +2 -2
  606. package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.d.ts +7 -0
  607. package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.test.d.ts +1 -0
  608. package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +2 -2
  609. package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +1 -1
  610. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +3 -3
  611. package/lib/typescript/components/Message/utils/messageActions.d.ts +2 -2
  612. package/lib/typescript/components/Message/utils/removeReservedFields.d.ts +1 -1
  613. package/lib/typescript/components/MessageInput/AttachButton.d.ts +1 -1
  614. package/lib/typescript/components/MessageInput/CommandsButton.d.ts +1 -1
  615. package/lib/typescript/components/MessageInput/MoreOptionsButton.d.ts +1 -1
  616. package/lib/typescript/components/MessageList/MessageSystem.d.ts +1 -1
  617. package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts +1 -1
  618. package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts +1 -1
  619. package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts +3 -1
  620. package/lib/typescript/components/MessageOverlay/OverlayReactionsAvatar.d.ts +7 -0
  621. package/lib/typescript/components/Reply/Reply.d.ts +1 -1
  622. package/lib/typescript/components/Thread/Thread.d.ts +2 -2
  623. package/lib/typescript/components/index.d.ts +2 -0
  624. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +13 -5
  625. package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts +1 -1
  626. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +1 -1
  627. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +6 -4
  628. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +2 -2
  629. package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts +1 -1
  630. package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +6 -4
  631. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.d.ts +12 -0
  632. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.test.d.ts +1 -0
  633. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +10 -10
  634. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +5 -5
  635. package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts +2 -2
  636. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +11 -3
  637. package/lib/typescript/hooks/useStreami18n.d.ts +1 -1
  638. package/lib/typescript/utils/Streami18n.d.ts +2 -2
  639. package/lib/typescript/utils/getResizedImageUrl.d.ts +19 -0
  640. package/lib/typescript/utils/getUrlOfImageAttachment.d.ts +7 -0
  641. package/lib/typescript/utils/utils.d.ts +6 -1
  642. package/package.json +9 -13
  643. package/src/components/Attachment/Attachment.tsx +3 -3
  644. package/src/components/Attachment/AttachmentActions.tsx +2 -2
  645. package/src/components/Attachment/Card.tsx +3 -4
  646. package/src/components/Attachment/FileAttachment.tsx +3 -4
  647. package/src/components/Attachment/FileIcon.tsx +2 -2
  648. package/src/components/Attachment/Gallery.tsx +160 -184
  649. package/src/components/Attachment/Giphy.tsx +3 -4
  650. package/src/components/Attachment/__tests__/Attachment.test.js +11 -10
  651. package/src/components/Attachment/__tests__/Gallery.test.js +233 -0
  652. package/src/components/Attachment/__tests__/buildGallery.test.js +131 -0
  653. package/src/components/Attachment/utils/buildGallery/buildGallery.ts +75 -0
  654. package/src/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.ts +95 -0
  655. package/src/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.ts +99 -0
  656. package/src/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.ts +64 -0
  657. package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +46 -0
  658. package/src/components/Attachment/utils/buildGallery/buildThumbnailGrid.ts +186 -0
  659. package/src/components/Attachment/utils/buildGallery/types.ts +27 -0
  660. package/src/components/Attachment/utils/getAspectRatio.ts +21 -0
  661. package/src/components/Attachment/utils/getGalleryImageBorderRadius.ts +71 -0
  662. package/src/components/AttachmentPicker/AttachmentPicker.tsx +4 -2
  663. package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +4 -3
  664. package/src/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.tsx +1 -1
  665. package/src/components/AutoCompleteInput/AutoCompleteSuggestionHeader.tsx +2 -2
  666. package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx +7 -5
  667. package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +5 -6
  668. package/src/components/AutoCompleteInput/__tests__/AutoCompleteInput.test.js +6 -8
  669. package/src/components/Avatar/Avatar.tsx +7 -10
  670. package/src/components/Avatar/GroupAvatar.tsx +7 -2
  671. package/src/components/Avatar/__tests__/Avatar.test.js +2 -2
  672. package/src/components/Channel/Channel.tsx +75 -68
  673. package/src/components/Channel/__tests__/Channel.test.js +10 -10
  674. package/src/components/Channel/__tests__/ownCapabilities.test.js +8 -8
  675. package/src/components/Channel/hooks/useCreateOwnCapabilitiesContext.ts +2 -1
  676. package/src/components/ChannelList/ChannelList.tsx +8 -9
  677. package/src/components/ChannelList/ChannelListFooterLoadingIndicator.tsx +1 -2
  678. package/src/components/ChannelList/ChannelListHeaderErrorIndicator.tsx +3 -7
  679. package/src/components/ChannelList/ChannelListHeaderNetworkDownIndicator.tsx +2 -2
  680. package/src/components/ChannelList/ChannelListMessenger.tsx +3 -4
  681. package/src/components/ChannelList/__tests__/ChannelList.test.js +73 -13
  682. package/src/components/ChannelList/__tests__/ChannelListMessenger.test.js +11 -12
  683. package/src/components/ChannelList/hooks/listeners/useAddedToChannelNotification.ts +3 -3
  684. package/src/components/ChannelList/hooks/listeners/useChannelDeleted.ts +2 -2
  685. package/src/components/ChannelList/hooks/listeners/useChannelHidden.ts +2 -2
  686. package/src/components/ChannelList/hooks/listeners/useChannelTruncated.ts +2 -2
  687. package/src/components/ChannelList/hooks/listeners/useChannelUpdated.ts +2 -2
  688. package/src/components/ChannelList/hooks/listeners/useChannelVisible.ts +3 -3
  689. package/src/components/ChannelList/hooks/listeners/useNewMessage.ts +2 -3
  690. package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +4 -4
  691. package/src/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.ts +2 -2
  692. package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +2 -2
  693. package/src/components/ChannelList/hooks/useCreateChannelsContext.ts +1 -2
  694. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +78 -48
  695. package/src/components/ChannelPreview/ChannelAvatar.tsx +3 -5
  696. package/src/components/ChannelPreview/ChannelPreview.tsx +3 -3
  697. package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +2 -2
  698. package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +23 -10
  699. package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx +71 -0
  700. package/src/components/ChannelPreview/ChannelPreviewStatus.tsx +4 -3
  701. package/src/components/ChannelPreview/ChannelPreviewTitle.tsx +2 -2
  702. package/src/components/ChannelPreview/ChannelPreviewUnreadCount.tsx +2 -1
  703. package/src/components/ChannelPreview/__tests__/ChannelPreview.test.js +8 -9
  704. package/src/components/ChannelPreview/__tests__/ChannelPreviewMessenger.test.js +8 -9
  705. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.ts +2 -2
  706. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +3 -4
  707. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.ts +2 -2
  708. package/src/components/ChannelPreview/hooks/useLatestMessagePreview.ts +2 -2
  709. package/src/components/Chat/Chat.tsx +6 -6
  710. package/src/components/Chat/__tests__/Chat.test.js +5 -5
  711. package/src/components/Chat/hooks/useIsOnline.ts +4 -3
  712. package/src/components/ImageGallery/ImageGallery.tsx +82 -49
  713. package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +1 -2
  714. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +2 -5
  715. package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +1 -2
  716. package/src/components/ImageGallery/components/ImageGrid.tsx +4 -5
  717. package/src/components/ImageGallery/components/ImageGridHandle.tsx +1 -0
  718. package/src/components/Indicators/LoadingIndicator.tsx +1 -2
  719. package/src/components/Message/Message.tsx +20 -20
  720. package/src/components/Message/MessageSimple/MessageAvatar.tsx +1 -2
  721. package/src/components/Message/MessageSimple/MessageContent.tsx +2 -3
  722. package/src/components/Message/MessageSimple/MessageDeleted.tsx +3 -4
  723. package/src/components/Message/MessageSimple/MessageFooter.tsx +6 -7
  724. package/src/components/Message/MessageSimple/MessagePinnedHeader.tsx +2 -2
  725. package/src/components/Message/MessageSimple/MessageRepliesAvatars.tsx +2 -3
  726. package/src/components/Message/MessageSimple/MessageStatus.tsx +9 -5
  727. package/src/components/Message/MessageSimple/__tests__/Message.test.js +9 -9
  728. package/src/components/Message/MessageSimple/__tests__/MessageAvatar.test.js +2 -2
  729. package/src/components/Message/MessageSimple/__tests__/MessageContent.test.js +9 -26
  730. package/src/components/Message/MessageSimple/__tests__/MessagePinnedHeader.test.js +2 -2
  731. package/src/components/Message/MessageSimple/__tests__/MessageReplies.test.js +2 -2
  732. package/src/components/Message/MessageSimple/__tests__/MessageStatus.test.js +4 -5
  733. package/src/components/Message/MessageSimple/__tests__/MessageTextContainer.test.js +2 -2
  734. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageAvatar.test.js.snap +1 -1
  735. package/src/components/Message/MessageSimple/utils/parseLinks.test.ts +100 -0
  736. package/src/components/Message/MessageSimple/utils/parseLinks.ts +95 -0
  737. package/src/components/Message/MessageSimple/utils/renderText.tsx +11 -23
  738. package/src/components/Message/hooks/useCreateMessageContext.ts +1 -2
  739. package/src/components/Message/hooks/useMessageActionHandlers.ts +13 -4
  740. package/src/components/Message/hooks/useMessageActions.tsx +14 -9
  741. package/src/components/Message/utils/messageActions.ts +2 -2
  742. package/src/components/Message/utils/removeReservedFields.ts +1 -1
  743. package/src/components/MessageInput/AttachButton.tsx +1 -2
  744. package/src/components/MessageInput/CommandsButton.tsx +1 -2
  745. package/src/components/MessageInput/CooldownTimer.tsx +1 -0
  746. package/src/components/MessageInput/FileUploadPreview.tsx +3 -3
  747. package/src/components/MessageInput/ImageUploadPreview.tsx +1 -2
  748. package/src/components/MessageInput/InputButtons.tsx +1 -1
  749. package/src/components/MessageInput/MessageInput.tsx +5 -6
  750. package/src/components/MessageInput/MoreOptionsButton.tsx +1 -2
  751. package/src/components/MessageInput/SendMessageDisallowedIndicator.tsx +1 -1
  752. package/src/components/MessageInput/ShowThreadMessageInChannelButton.tsx +1 -1
  753. package/src/components/MessageInput/__tests__/AttachButton.test.js +2 -2
  754. package/src/components/MessageInput/__tests__/FileUploadPreview.test.js +15 -17
  755. package/src/components/MessageInput/__tests__/ImageUploadPreview.test.js +3 -3
  756. package/src/components/MessageInput/__tests__/MessageInput.test.js +8 -8
  757. package/src/components/MessageInput/__tests__/SendButton.test.js +2 -2
  758. package/src/components/MessageInput/__tests__/UploadProgressIndicator.test.js +2 -2
  759. package/src/components/MessageInput/__tests__/__snapshots__/FileUploadPreview.test.js.snap +1604 -4172
  760. package/src/components/MessageInput/__tests__/__snapshots__/MessageInput.test.js.snap +1 -643
  761. package/src/components/MessageInput/hooks/useCooldown.ts +2 -0
  762. package/src/components/MessageInput/hooks/useCountdown.ts +1 -0
  763. package/src/components/MessageList/MessageList.tsx +3 -3
  764. package/src/components/MessageList/MessageSystem.tsx +2 -2
  765. package/src/components/MessageList/TypingIndicator.tsx +1 -2
  766. package/src/components/MessageList/__tests__/MessageList.test.js +17 -17
  767. package/src/components/MessageList/__tests__/MessageSystem.test.js +3 -3
  768. package/src/components/MessageList/__tests__/ScrollToBottomButton.test.js +3 -3
  769. package/src/components/MessageList/__tests__/TypingIndicator.test.js +5 -6
  770. package/src/components/MessageList/__tests__/__snapshots__/TypingIndicator.test.js.snap +1 -1
  771. package/src/components/MessageList/hooks/useMessageList.ts +5 -7
  772. package/src/components/MessageList/hooks/useTypingString.ts +1 -2
  773. package/src/components/MessageList/utils/getGroupStyles.ts +1 -2
  774. package/src/components/MessageList/utils/getLastReceivedMessage.ts +6 -1
  775. package/src/components/MessageOverlay/MessageActionList.tsx +3 -3
  776. package/src/components/MessageOverlay/MessageActionListItem.tsx +3 -1
  777. package/src/components/MessageOverlay/MessageOverlay.tsx +20 -16
  778. package/src/components/MessageOverlay/OverlayBackdrop.tsx +1 -0
  779. package/src/components/MessageOverlay/OverlayReactionList.tsx +2 -4
  780. package/src/components/MessageOverlay/OverlayReactions.tsx +27 -8
  781. package/src/components/MessageOverlay/OverlayReactionsAvatar.tsx +27 -0
  782. package/src/components/MessageOverlay/hooks/useMessageActionAnimation.tsx +1 -0
  783. package/src/components/Reply/Reply.tsx +25 -15
  784. package/src/components/Thread/Thread.tsx +5 -6
  785. package/src/components/Thread/__tests__/Thread.test.js +12 -14
  786. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +13 -13
  787. package/src/components/Thread/components/ThreadFooterComponent.tsx +1 -2
  788. package/src/components/index.ts +2 -0
  789. package/src/contexts/activeChannelsRefContext/ActiveChannelsRefContext.tsx +1 -2
  790. package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +1 -2
  791. package/src/contexts/channelContext/ChannelContext.tsx +1 -2
  792. package/src/contexts/channelsContext/ChannelsContext.tsx +18 -7
  793. package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +7 -8
  794. package/src/contexts/channelsStateContext/useChannelState.ts +1 -0
  795. package/src/contexts/chatContext/ChatContext.tsx +1 -2
  796. package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +1 -2
  797. package/src/contexts/keyboardContext/KeyboardContext.tsx +1 -2
  798. package/src/contexts/messageContext/MessageContext.tsx +1 -2
  799. package/src/contexts/messageInputContext/MessageInputContext.tsx +27 -24
  800. package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +2 -4
  801. package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +15 -10
  802. package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +10 -19
  803. package/src/contexts/messageOverlayContext/hooks/useResettableState.test.tsx +46 -0
  804. package/src/contexts/messageOverlayContext/hooks/useResettableState.ts +22 -0
  805. package/src/contexts/messagesContext/MessagesContext.tsx +13 -13
  806. package/src/contexts/overlayContext/OverlayContext.tsx +10 -8
  807. package/src/contexts/overlayContext/OverlayProvider.tsx +30 -25
  808. package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +1 -2
  809. package/src/contexts/suggestionsContext/SuggestionsContext.tsx +4 -3
  810. package/src/contexts/suggestionsContext/__tests__/Suggestions.test.js +1 -0
  811. package/src/contexts/themeContext/ThemeContext.tsx +1 -0
  812. package/src/contexts/themeContext/utils/theme.ts +23 -8
  813. package/src/contexts/threadContext/ThreadContext.tsx +1 -2
  814. package/src/contexts/translationContext/TranslationContext.tsx +2 -2
  815. package/src/contexts/typingContext/TypingContext.tsx +1 -2
  816. package/src/contexts/utils/getDisplayName.ts +1 -0
  817. package/src/emoji-data/index.js +1 -1
  818. package/src/hooks/useStreami18n.ts +1 -1
  819. package/src/mock-builders/api/sendMessage.js +1 -0
  820. package/src/mock-builders/generator/attachment.js +0 -2
  821. package/src/mock-builders/generator/channel.js +101 -64
  822. package/src/mock-builders/generator/user.js +33 -26
  823. package/src/native.ts +1 -0
  824. package/src/styleguideComponents/ArgumentsRenderer.tsx +2 -1
  825. package/src/styleguideComponents/JsDoc.tsx +3 -1
  826. package/src/styleguideComponents/PathlineRenderer.tsx +2 -1
  827. package/src/styleguideComponents/PropsRenderer.tsx +7 -4
  828. package/src/styleguideComponents/Wrapper.tsx +1 -0
  829. package/src/utils/Streami18n.ts +3 -3
  830. package/src/utils/__tests__/Streami18n.test.js +1 -2
  831. package/src/utils/getResizedImageUrl.ts +43 -0
  832. package/src/utils/getUrlOfImageAttachment.ts +10 -0
  833. package/src/utils/utils.ts +9 -4
  834. package/src/version.json +1 -1
@@ -11,8 +11,6 @@ var _react = _interopRequireDefault(require("react"));
11
11
 
12
12
  var _reactNative = require("react-native");
13
13
 
14
- var _useMessageList = require("../../MessageList/hooks/useMessageList");
15
-
16
14
  var _MessageContext = require("../../../contexts/messageContext/MessageContext");
17
15
 
18
16
  var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
@@ -23,6 +21,10 @@ var _CheckAll = require("../../../icons/CheckAll");
23
21
 
24
22
  var _Time = require("../../../icons/Time");
25
23
 
24
+ var _utils = require("../../../utils/utils");
25
+
26
+ var _useMessageList = require("../../MessageList/hooks/useMessageList");
27
+
26
28
  var _this = this,
27
29
  _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageStatus.tsx";
28
30
 
@@ -56,7 +58,7 @@ var MessageStatusWithContext = function MessageStatusWithContext(props) {
56
58
  statusContainer = _useTheme$theme$messa.statusContainer,
57
59
  timeIcon = _useTheme$theme$messa.timeIcon;
58
60
 
59
- if (message.status === 'sending') {
61
+ if (message.status === _utils.MessageStatusTypes.SENDING) {
60
62
  return _react["default"].createElement(_reactNative.View, {
61
63
  style: [styles.statusContainer, statusContainer],
62
64
  testID: "sending-container",
@@ -117,14 +119,14 @@ var MessageStatusWithContext = function MessageStatusWithContext(props) {
117
119
  })));
118
120
  }
119
121
 
120
- if (message.status === 'received' && message.type !== 'ephemeral' && !threadList) {
122
+ if (message.status === _utils.MessageStatusTypes.RECEIVED && message.type !== 'ephemeral' && !threadList) {
121
123
  return _react["default"].createElement(_reactNative.View, {
122
124
  style: [styles.statusContainer, statusContainer],
123
125
  testID: "delivered-container",
124
126
  __self: _this,
125
127
  __source: {
126
128
  fileName: _jsxFileName,
127
- lineNumber: 102,
129
+ lineNumber: 106,
128
130
  columnNumber: 7
129
131
  }
130
132
  }, _react["default"].createElement(_Check.Check, (0, _extends2["default"])({
@@ -133,7 +135,7 @@ var MessageStatusWithContext = function MessageStatusWithContext(props) {
133
135
  __self: _this,
134
136
  __source: {
135
137
  fileName: _jsxFileName,
136
- lineNumber: 103,
138
+ lineNumber: 107,
137
139
  columnNumber: 9
138
140
  }
139
141
  })));
@@ -168,7 +170,7 @@ var MessageStatus = function MessageStatus(props) {
168
170
  __self: _this,
169
171
  __source: {
170
172
  fileName: _jsxFileName,
171
- lineNumber: 167,
173
+ lineNumber: 171,
172
174
  columnNumber: 10
173
175
  }
174
176
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["MessageStatus.tsx"],"names":["styles","StyleSheet","create","readByCount","fontSize","fontWeight","paddingRight","statusContainer","alignItems","flexDirection","justifyContent","MessageStatusWithContext","props","message","threadList","theme","colors","accent_blue","grey_dark","messageSimple","status","checkAllIcon","checkIcon","timeIcon","readBy","color","type","areEqual","prevProps","nextProps","prevMessage","prevThreadList","nextMessage","nextThreadList","threadListEqual","messageEqual","MemoizedMessageStatus","React","memo","MessageStatus","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport { isMessageWithStylesReadByAndDateSeparator } from '../../MessageList/hooks/useMessageList';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport { Check } from '../../../icons/Check';\nimport { CheckAll } from '../../../icons/CheckAll';\nimport { Time } from '../../../icons/Time';\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 readByCount: {\n fontSize: 11,\n fontWeight: '700',\n paddingRight: 3,\n },\n statusContainer: {\n alignItems: 'flex-end',\n flexDirection: 'row',\n justifyContent: 'center',\n paddingRight: 3,\n },\n});\n\nexport type MessageStatusPropsWithContext<\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 DefaultUserType = DefaultUserType,\n> = Pick<MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'message' | 'threadList'>;\n\nconst MessageStatusWithContext = <\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 DefaultUserType = DefaultUserType,\n>(\n props: MessageStatusPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { message, threadList } = props;\n\n const {\n theme: {\n colors: { accent_blue, grey_dark },\n messageSimple: {\n status: { checkAllIcon, checkIcon, readByCount, statusContainer, timeIcon },\n },\n },\n } = useTheme();\n\n if (message.status === 'sending') {\n return (\n <View style={[styles.statusContainer, statusContainer]} testID='sending-container'>\n <Time {...timeIcon} />\n </View>\n );\n }\n\n if (isMessageWithStylesReadByAndDateSeparator(message) && !threadList) {\n return (\n <View style={[styles.statusContainer, statusContainer]}>\n {typeof message.readBy === 'number' ? (\n <Text\n style={[styles.readByCount, { color: accent_blue }, readByCount]}\n testID='read-by-container'\n >\n {message.readBy}\n </Text>\n ) : null}\n {typeof message.readBy === 'number' || message.readBy === true ? (\n <CheckAll pathFill={accent_blue} {...checkAllIcon} />\n ) : (\n <Check pathFill={grey_dark} {...checkIcon} />\n )}\n </View>\n );\n }\n\n if (message.status === 'received' && message.type !== 'ephemeral' && !threadList) {\n return (\n <View style={[styles.statusContainer, statusContainer]} testID='delivered-container'>\n <Check pathFill={grey_dark} {...checkIcon} />\n </View>\n );\n }\n\n return null;\n};\n\nconst areEqual = <\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 prevProps: MessageStatusPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: MessageStatusPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { message: prevMessage, threadList: prevThreadList } = prevProps;\n const { message: nextMessage, threadList: nextThreadList } = nextProps;\n\n const threadListEqual = prevThreadList === nextThreadList;\n if (!threadListEqual) return false;\n\n const messageEqual =\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n (isMessageWithStylesReadByAndDateSeparator(prevMessage) && prevMessage.readBy) ===\n (isMessageWithStylesReadByAndDateSeparator(nextMessage) && nextMessage.readBy);\n if (!messageEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageStatus = React.memo(\n MessageStatusWithContext,\n areEqual,\n) as typeof MessageStatusWithContext;\n\nexport type MessageStatusProps<\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 DefaultUserType = DefaultUserType,\n> = Partial<MessageStatusPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>>;\n\nexport const MessageStatus = <\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 DefaultUserType = DefaultUserType,\n>(\n props: MessageStatusProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { message, threadList } = useMessageContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return <MemoizedMessageStatus {...{ message, threadList }} {...props} />;\n};\n\nMessageStatus.displayName = 'MessageStatus{messageSimple{status}}';\n"]}
1
+ {"version":3,"sources":["MessageStatus.tsx"],"names":["styles","StyleSheet","create","readByCount","fontSize","fontWeight","paddingRight","statusContainer","alignItems","flexDirection","justifyContent","MessageStatusWithContext","props","message","threadList","theme","colors","accent_blue","grey_dark","messageSimple","status","checkAllIcon","checkIcon","timeIcon","MessageStatusTypes","SENDING","readBy","color","RECEIVED","type","areEqual","prevProps","nextProps","prevMessage","prevThreadList","nextMessage","nextThreadList","threadListEqual","messageEqual","MemoizedMessageStatus","React","memo","MessageStatus","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport { Check } from '../../../icons/Check';\nimport { CheckAll } from '../../../icons/CheckAll';\nimport { Time } from '../../../icons/Time';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../types/types';\nimport { MessageStatusTypes } from '../../../utils/utils';\n\nimport { isMessageWithStylesReadByAndDateSeparator } from '../../MessageList/hooks/useMessageList';\n\nconst styles = StyleSheet.create({\n readByCount: {\n fontSize: 11,\n fontWeight: '700',\n paddingRight: 3,\n },\n statusContainer: {\n alignItems: 'flex-end',\n flexDirection: 'row',\n justifyContent: 'center',\n paddingRight: 3,\n },\n});\n\nexport type MessageStatusPropsWithContext<\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 DefaultUserType = DefaultUserType,\n> = Pick<MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'message' | 'threadList'>;\n\nconst MessageStatusWithContext = <\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 DefaultUserType = DefaultUserType,\n>(\n props: MessageStatusPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { message, threadList } = props;\n\n const {\n theme: {\n colors: { accent_blue, grey_dark },\n messageSimple: {\n status: { checkAllIcon, checkIcon, readByCount, statusContainer, timeIcon },\n },\n },\n } = useTheme();\n\n if (message.status === MessageStatusTypes.SENDING) {\n return (\n <View style={[styles.statusContainer, statusContainer]} testID='sending-container'>\n <Time {...timeIcon} />\n </View>\n );\n }\n\n if (isMessageWithStylesReadByAndDateSeparator(message) && !threadList) {\n return (\n <View style={[styles.statusContainer, statusContainer]}>\n {typeof message.readBy === 'number' ? (\n <Text\n style={[styles.readByCount, { color: accent_blue }, readByCount]}\n testID='read-by-container'\n >\n {message.readBy}\n </Text>\n ) : null}\n {typeof message.readBy === 'number' || message.readBy === true ? (\n <CheckAll pathFill={accent_blue} {...checkAllIcon} />\n ) : (\n <Check pathFill={grey_dark} {...checkIcon} />\n )}\n </View>\n );\n }\n\n if (\n message.status === MessageStatusTypes.RECEIVED &&\n message.type !== 'ephemeral' &&\n !threadList\n ) {\n return (\n <View style={[styles.statusContainer, statusContainer]} testID='delivered-container'>\n <Check pathFill={grey_dark} {...checkIcon} />\n </View>\n );\n }\n\n return null;\n};\n\nconst areEqual = <\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 prevProps: MessageStatusPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: MessageStatusPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { message: prevMessage, threadList: prevThreadList } = prevProps;\n const { message: nextMessage, threadList: nextThreadList } = nextProps;\n\n const threadListEqual = prevThreadList === nextThreadList;\n if (!threadListEqual) return false;\n\n const messageEqual =\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n (isMessageWithStylesReadByAndDateSeparator(prevMessage) && prevMessage.readBy) ===\n (isMessageWithStylesReadByAndDateSeparator(nextMessage) && nextMessage.readBy);\n if (!messageEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageStatus = React.memo(\n MessageStatusWithContext,\n areEqual,\n) as typeof MessageStatusWithContext;\n\nexport type MessageStatusProps<\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 DefaultUserType = DefaultUserType,\n> = Partial<MessageStatusPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>>;\n\nexport const MessageStatus = <\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 DefaultUserType = DefaultUserType,\n>(\n props: MessageStatusProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { message, threadList } = useMessageContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return <MemoizedMessageStatus {...{ message, threadList }} {...props} />;\n};\n\nMessageStatus.displayName = 'MessageStatus{messageSimple{status}}';\n"]}
@@ -0,0 +1,89 @@
1
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parseLinksFromText = void 0;
7
+
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+
10
+ var emailUserName = '[\\w+\\.~$_-]+';
11
+ var schema = "(\\w{2,15}:\\/\\/)";
12
+ var domain = "((?:\\w+\\.\\w+)+(?:[^:\\/\\s]+))";
13
+ var port = "(:[0-9]{1,5})";
14
+ var path = "((?:\\/)?[^?#\\s]+)";
15
+ var queryString = "(\\?[^#\\s]+)";
16
+ var fragment = "(#[\\w_-]+)";
17
+ var emailPattern = "(mailto:)?((?:" + emailUserName + ")@(?:" + domain + "))";
18
+ var schemePrefixedLinkPattern = schema + "(\\S+)";
19
+ var fqdnLinkPattern = schema + "?" + domain + port + "?" + path + "?" + queryString + "?" + fragment + "?";
20
+
21
+ var removeMarkdownLinksFromText = function removeMarkdownLinksFromText(input) {
22
+ return input.replace(/\[[\w\s]+\]\(.*\)/g, '');
23
+ };
24
+
25
+ var parseLinksFromText = function parseLinksFromText(input) {
26
+ var matches;
27
+ var inputWithoutMarkdownLinks = removeMarkdownLinksFromText(input);
28
+ var results = [];
29
+ var emailRegExp = new RegExp(emailPattern, 'gi');
30
+
31
+ while ((matches = emailRegExp.exec(input)) !== null) {
32
+ var _matches = matches,
33
+ _matches2 = (0, _slicedToArray2["default"])(_matches, 3),
34
+ raw = _matches2[0],
35
+ _matches2$ = _matches2[1],
36
+ scheme = _matches2$ === void 0 ? 'mailto:' : _matches2$,
37
+ displayValue = _matches2[2];
38
+
39
+ results.push({
40
+ encoded: encodeURI(displayValue),
41
+ raw: raw,
42
+ scheme: scheme
43
+ });
44
+ }
45
+
46
+ var linkRegex = new RegExp(fqdnLinkPattern + "|" + schemePrefixedLinkPattern, 'gi');
47
+
48
+ while ((matches = linkRegex.exec(inputWithoutMarkdownLinks)) !== null) {
49
+ var _matches3 = matches,
50
+ _matches4 = (0, _slicedToArray2["default"])(_matches3, 9),
51
+ _raw = _matches4[0],
52
+ _matches4$ = _matches4[1],
53
+ fqdnScheme = _matches4$ === void 0 ? '' : _matches4$,
54
+ _matches4$2 = _matches4[2],
55
+ fqdnDomainName = _matches4$2 === void 0 ? '' : _matches4$2,
56
+ _matches4$3 = _matches4[3],
57
+ fqdnPort = _matches4$3 === void 0 ? '' : _matches4$3,
58
+ _matches4$4 = _matches4[4],
59
+ fqdnPath = _matches4$4 === void 0 ? '' : _matches4$4,
60
+ _matches4$5 = _matches4[5],
61
+ fqdnQueryStraing = _matches4$5 === void 0 ? '' : _matches4$5,
62
+ _matches4$6 = _matches4[6],
63
+ fqdnFragment = _matches4$6 === void 0 ? '' : _matches4$6,
64
+ _matches4$7 = _matches4[7],
65
+ schemePrefixedScheme = _matches4$7 === void 0 ? '' : _matches4$7,
66
+ _matches4$8 = _matches4[8],
67
+ schemePrefixedPath = _matches4$8 === void 0 ? '' : _matches4$8;
68
+
69
+ if (schemePrefixedScheme !== '') {
70
+ results.push({
71
+ encoded: encodeURI(schemePrefixedPath),
72
+ raw: _raw,
73
+ scheme: schemePrefixedScheme
74
+ });
75
+ continue;
76
+ }
77
+
78
+ results.push({
79
+ encoded: encodeURI([fqdnDomainName, fqdnPort, fqdnPath, fqdnQueryStraing, fqdnFragment].join('')),
80
+ raw: _raw,
81
+ scheme: fqdnScheme
82
+ });
83
+ }
84
+
85
+ return results;
86
+ };
87
+
88
+ exports.parseLinksFromText = parseLinksFromText;
89
+ //# sourceMappingURL=parseLinks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["parseLinks.ts"],"names":["emailUserName","schema","domain","port","path","queryString","fragment","emailPattern","schemePrefixedLinkPattern","fqdnLinkPattern","removeMarkdownLinksFromText","input","replace","parseLinksFromText","matches","inputWithoutMarkdownLinks","results","emailRegExp","RegExp","exec","raw","scheme","displayValue","push","encoded","encodeURI","linkRegex","fqdnScheme","fqdnDomainName","fqdnPort","fqdnPath","fqdnQueryStraing","fqdnFragment","schemePrefixedScheme","schemePrefixedPath","join"],"mappings":";;;;;;;;;AAQA,IAAMA,aAAa,GAAG,gBAAtB;AACA,IAAMC,MAAM,uBAAZ;AACA,IAAMC,MAAM,sCAAZ;AACA,IAAMC,IAAI,kBAAV;AACA,IAAMC,IAAI,wBAAV;AACA,IAAMC,WAAW,kBAAjB;AACA,IAAMC,QAAQ,gBAAd;AAKA,IAAMC,YAAY,sBAAoBP,aAApB,aAAyCE,MAAzC,OAAlB;AAKA,IAAMM,yBAAyB,GAAMP,MAAN,WAA/B;AAMA,IAAMQ,eAAe,GAAMR,MAAN,SAAgBC,MAAhB,GAAyBC,IAAzB,SAAiCC,IAAjC,SAAyCC,WAAzC,SAAwDC,QAAxD,MAArB;;AAYA,IAAMI,2BAA2B,GAAG,SAA9BA,2BAA8B,CAACC,KAAD;AAAA,SAAmBA,KAAK,CAACC,OAAN,CAAc,oBAAd,EAAoC,EAApC,CAAnB;AAAA,CAApC;;AAEO,IAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,CAACF,KAAD,EAA2B;AAC3D,MAAIG,OAAJ;AAEA,MAAMC,yBAAyB,GAAGL,2BAA2B,CAACC,KAAD,CAA7D;AAEA,MAAMK,OAAe,GAAG,EAAxB;AAEA,MAAMC,WAAW,GAAG,IAAIC,MAAJ,CAAWX,YAAX,EAAyB,IAAzB,CAApB;;AACA,SAAO,CAACO,OAAO,GAAGG,WAAW,CAACE,IAAZ,CAAiBR,KAAjB,CAAX,MAAwC,IAA/C,EAAqD;AACnD,mBAAgDG,OAAhD;AAAA;AAAA,QAAOM,GAAP;AAAA;AAAA,QAAYC,MAAZ,2BAAqB,SAArB;AAAA,QAAgCC,YAAhC;;AACAN,IAAAA,OAAO,CAACO,IAAR,CAAa;AAAEC,MAAAA,OAAO,EAAEC,SAAS,CAACH,YAAD,CAApB;AAAoCF,MAAAA,GAAG,EAAHA,GAApC;AAAyCC,MAAAA,MAAM,EAANA;AAAzC,KAAb;AACD;;AAMD,MAAMK,SAAS,GAAG,IAAIR,MAAJ,CAAcT,eAAd,SAAiCD,yBAAjC,EAA8D,IAA9D,CAAlB;;AACA,SAAO,CAACM,OAAO,GAAGY,SAAS,CAACP,IAAV,CAAeJ,yBAAf,CAAX,MAA0D,IAAjE,EAAuE;AACrE,oBAUID,OAVJ;AAAA;AAAA,QACEM,IADF;AAAA;AAAA,QAEEO,UAFF,2BAEe,EAFf;AAAA;AAAA,QAGEC,cAHF,4BAGmB,EAHnB;AAAA;AAAA,QAIEC,QAJF,4BAIa,EAJb;AAAA;AAAA,QAKEC,QALF,4BAKa,EALb;AAAA;AAAA,QAMEC,gBANF,4BAMqB,EANrB;AAAA;AAAA,QAOEC,YAPF,4BAOiB,EAPjB;AAAA;AAAA,QAQEC,oBARF,4BAQyB,EARzB;AAAA;AAAA,QASEC,kBATF,4BASuB,EATvB;;AAYA,QAAID,oBAAoB,KAAK,EAA7B,EAAiC;AAC/BjB,MAAAA,OAAO,CAACO,IAAR,CAAa;AACXC,QAAAA,OAAO,EAAEC,SAAS,CAACS,kBAAD,CADP;AAEXd,QAAAA,GAAG,EAAHA,IAFW;AAGXC,QAAAA,MAAM,EAAEY;AAHG,OAAb;AAKA;AACD;;AAEDjB,IAAAA,OAAO,CAACO,IAAR,CAAa;AACXC,MAAAA,OAAO,EAAEC,SAAS,CAChB,CAACG,cAAD,EAAiBC,QAAjB,EAA2BC,QAA3B,EAAqCC,gBAArC,EAAuDC,YAAvD,EAAqEG,IAArE,CAA0E,EAA1E,CADgB,CADP;AAIXf,MAAAA,GAAG,EAAHA,IAJW;AAKXC,MAAAA,MAAM,EAAEM;AALG,KAAb;AAOD;;AAED,SAAOX,OAAP;AACD,CAlDM","sourcesContent":["/**\n * 📣 Note: Do not use named capture groups, as\n * it is not yet available in Hermes.\n *\n * These helpers indend to make it easier to skim read\n * the patterns below, but note that some are optional,\n * specified in the patterns these are added to.\n * */\nconst emailUserName = '[\\\\w+\\\\.~$_-]+';\nconst schema = `(\\\\w{2,15}:\\\\/\\\\/)`;\nconst domain = `((?:\\\\w+\\\\.\\\\w+)+(?:[^:\\\\/\\\\s]+))`;\nconst port = `(:[0-9]{1,5})`;\nconst path = `((?:\\\\/)?[^?#\\\\s]+)`;\nconst queryString = `(\\\\?[^#\\\\s]+)`;\nconst fragment = `(#[\\\\w_-]+)`;\n\n/**\n * Match any email address, with and without `mailto:`\n */\nconst emailPattern = `(mailto:)?((?:${emailUserName})@(?:${domain}))`;\n\n/**\n * Match any string starting with something that seems like it's a schema.\n * */\nconst schemePrefixedLinkPattern = `${schema}(\\\\S+)`;\n\n/**\n * Match as much as possible of a fqdn, at least with a domain name formed as\n * something.tld\n */\nconst fqdnLinkPattern = `${schema}?${domain}${port}?${path}?${queryString}?${fragment}?`;\n\ninterface Link {\n encoded: string;\n raw: string;\n scheme: string;\n}\n\n/**\n * This is done separately because of the version of javascript run\n * for expo\n * */\nconst removeMarkdownLinksFromText = (input: string) => input.replace(/\\[[\\w\\s]+\\]\\(.*\\)/g, '');\n\nexport const parseLinksFromText = (input: string): Link[] => {\n let matches;\n\n const inputWithoutMarkdownLinks = removeMarkdownLinksFromText(input);\n\n const results: Link[] = [];\n\n const emailRegExp = new RegExp(emailPattern, 'gi');\n while ((matches = emailRegExp.exec(input)) !== null) {\n const [raw, scheme = 'mailto:', displayValue] = matches;\n results.push({ encoded: encodeURI(displayValue), raw, scheme });\n }\n\n /**\n * The two link patterns are checked with an \"or\" (`|`)\n * to avoid overlapping matches being duplicated in the output.\n * */\n const linkRegex = new RegExp(`${fqdnLinkPattern}|${schemePrefixedLinkPattern}`, 'gi');\n while ((matches = linkRegex.exec(inputWithoutMarkdownLinks)) !== null) {\n const [\n raw,\n fqdnScheme = '',\n fqdnDomainName = '',\n fqdnPort = '',\n fqdnPath = '',\n fqdnQueryStraing = '',\n fqdnFragment = '',\n schemePrefixedScheme = '',\n schemePrefixedPath = '',\n ] = matches;\n\n if (schemePrefixedScheme !== '') {\n results.push({\n encoded: encodeURI(schemePrefixedPath),\n raw,\n scheme: schemePrefixedScheme,\n });\n continue;\n }\n\n results.push({\n encoded: encodeURI(\n [fqdnDomainName, fqdnPort, fqdnPath, fqdnQueryStraing, fqdnFragment].join(''),\n ),\n raw,\n scheme: fqdnScheme,\n });\n }\n\n return results;\n};\n"]}
@@ -0,0 +1,46 @@
1
+ var _parseLinks = require("./parseLinks");
2
+
3
+ describe('parseLinksFromText', function () {
4
+ it.each([['www.getstream.io', 'www.getstream.io'], ['getstream.io', 'getstream.io'], ['scrn://team-chat', 'team-chat'], ['https://localhost', 'localhost'], ['https://localhost/with/path?and=query&multiple=params', 'localhost/with/path?and=query&multiple=params'], ['https://localhost/with/path?and=query#fragment', 'localhost/with/path?and=query#fragment'], ['reactnative.stream', 'reactnative.stream'], ['https://zh.wikipedia.org/wiki/挪威牛油危機', 'zh.wikipedia.org/wiki/%E6%8C%AA%E5%A8%81%E7%89%9B%E6%B2%B9%E5%8D%B1%E6%A9%9F'], ['https://getstream.io/chat/docs/react-native/?language=javascript', 'getstream.io/chat/docs/react-native/?language=javascript'], ['127.0.0.1/local_(development)_server', '127.0.0.1/local_(development)_server'], ['https://a.co:8999/ab.php?p=12', 'a.co:8999/ab.php?p=12']])('Returns the encoded value of %p as %p', function (link, expected) {
5
+ var result = (0, _parseLinks.parseLinksFromText)(link);
6
+ expect(result[0].encoded).toBe(expected);
7
+ });
8
+ it('parses fqdn', function () {
9
+ var input = "We have put the apim bol,\ntemporarily so :sj: we can later put the monitors on my grasp\non reality right now is\nhttps://www.contrived-example.com:8080/sub/page.php?p1=1\uD83C\uDDF3\uD83C\uDDF4&p2=2#fragment-identifier\n:)";
10
+ var result = (0, _parseLinks.parseLinksFromText)(input);
11
+ expect(result).toEqual([{
12
+ encoded: 'www.contrived-example.com:8080/sub/page.php?p1=1%F0%9F%87%B3%F0%9F%87%B4&p2=2#fragment-identifier',
13
+ raw: 'https://www.contrived-example.com:8080/sub/page.php?p1=1🇳🇴&p2=2#fragment-identifier',
14
+ scheme: 'https://'
15
+ }]);
16
+ });
17
+ it.each([['support+rn@getstream.io'], ['support.rn@getstream.io'], ['support-rn@getstream.io'], ['support_rn@getstream.io']])('Can parse the email address %p', function (email) {
18
+ var result = (0, _parseLinks.parseLinksFromText)(email);
19
+ expect(result[0].encoded).toBe(email);
20
+ expect(result[0].scheme).toBe('mailto:');
21
+ });
22
+ it("doesn't double the mailto prefix", function () {
23
+ var input = 'mailto:support@getstream.io';
24
+ var result = (0, _parseLinks.parseLinksFromText)(input);
25
+ expect(result[0]).toEqual({
26
+ encoded: 'support@getstream.io',
27
+ raw: input,
28
+ scheme: 'mailto:'
29
+ });
30
+ });
31
+ it('Does not falsely parse LINKs from text content', function () {
32
+ var input = "#This string exists to test that we don't produce false positives\n\nExisting links:\n[already a parsed link](https://getstream.io/blog/react-native-how-to-build-bidirectional-infinite-scroll/)\n[even a bogus one]( should not match )\n\n## These should, however, be parsed:\nwww.getstream.io\ngetstream.io\n";
33
+ var result = (0, _parseLinks.parseLinksFromText)(input);
34
+ expect(result).toHaveLength(2);
35
+ });
36
+ it('Encodes incomplete emoji unicode', function () {
37
+ var input = 'https://getstream.io/�';
38
+ var result = (0, _parseLinks.parseLinksFromText)(input);
39
+ expect(result[0]).toEqual({
40
+ encoded: 'getstream.io/%EF%BF%BD',
41
+ raw: 'https://getstream.io/�',
42
+ scheme: 'https://'
43
+ });
44
+ });
45
+ });
46
+ //# sourceMappingURL=parseLinks.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["parseLinks.test.ts"],"names":["describe","it","each","link","expected","result","expect","encoded","toBe","input","toEqual","raw","scheme","email","toHaveLength"],"mappings":"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","sourcesContent":["import { parseLinksFromText } from './parseLinks';\n\ndescribe('parseLinksFromText', () => {\n it.each([\n ['www.getstream.io', 'www.getstream.io'],\n ['getstream.io', 'getstream.io'],\n ['scrn://team-chat', 'team-chat'],\n ['https://localhost', 'localhost'],\n [\n 'https://localhost/with/path?and=query&multiple=params',\n 'localhost/with/path?and=query&multiple=params',\n ],\n ['https://localhost/with/path?and=query#fragment', 'localhost/with/path?and=query#fragment'],\n ['reactnative.stream', 'reactnative.stream'],\n [\n 'https://zh.wikipedia.org/wiki/挪威牛油危機',\n 'zh.wikipedia.org/wiki/%E6%8C%AA%E5%A8%81%E7%89%9B%E6%B2%B9%E5%8D%B1%E6%A9%9F',\n ],\n [\n 'https://getstream.io/chat/docs/react-native/?language=javascript',\n 'getstream.io/chat/docs/react-native/?language=javascript',\n ],\n ['127.0.0.1/local_(development)_server', '127.0.0.1/local_(development)_server'],\n ['https://a.co:8999/ab.php?p=12', 'a.co:8999/ab.php?p=12'],\n ])('Returns the encoded value of %p as %p', (link, expected) => {\n const result = parseLinksFromText(link);\n\n expect(result[0].encoded).toBe(expected);\n });\n\n it('parses fqdn', () => {\n const input = `We have put the apim bol,\ntemporarily so :sj: we can later put the monitors on my grasp\non reality right now is\nhttps://www.contrived-example.com:8080/sub/page.php?p1=1🇳🇴&p2=2#fragment-identifier\n:)`;\n\n const result = parseLinksFromText(input);\n\n expect(result).toEqual([\n {\n encoded:\n 'www.contrived-example.com:8080/sub/page.php?p1=1%F0%9F%87%B3%F0%9F%87%B4&p2=2#fragment-identifier',\n raw: 'https://www.contrived-example.com:8080/sub/page.php?p1=1🇳🇴&p2=2#fragment-identifier',\n scheme: 'https://',\n },\n ]);\n });\n\n it.each([\n ['support+rn@getstream.io'],\n ['support.rn@getstream.io'],\n ['support-rn@getstream.io'],\n ['support_rn@getstream.io'],\n ])('Can parse the email address %p', (email) => {\n const result = parseLinksFromText(email);\n\n expect(result[0].encoded).toBe(email);\n expect(result[0].scheme).toBe('mailto:');\n });\n\n it(\"doesn't double the mailto prefix\", () => {\n const input = 'mailto:support@getstream.io';\n\n const result = parseLinksFromText(input);\n\n expect(result[0]).toEqual({\n encoded: 'support@getstream.io',\n raw: input,\n scheme: 'mailto:',\n });\n });\n\n it('Does not falsely parse LINKs from text content', () => {\n const input = `#This string exists to test that we don't produce false positives\n\nExisting links:\n[already a parsed link](https://getstream.io/blog/react-native-how-to-build-bidirectional-infinite-scroll/)\n[even a bogus one]( should not match )\n\n## These should, however, be parsed:\nwww.getstream.io\ngetstream.io\n`;\n const result = parseLinksFromText(input);\n\n expect(result).toHaveLength(2);\n });\n\n it('Encodes incomplete emoji unicode', () => {\n const input = 'https://getstream.io/�';\n const result = parseLinksFromText(input);\n\n expect(result[0]).toEqual({\n encoded: 'getstream.io/%EF%BF%BD',\n raw: 'https://getstream.io/�',\n scheme: 'https://',\n });\n });\n});\n"]}
@@ -11,14 +11,14 @@ var _react = _interopRequireDefault(require("react"));
11
11
 
12
12
  var _reactNative = require("react-native");
13
13
 
14
- var _anchorme = _interopRequireDefault(require("anchorme"));
14
+ var _reactNativeMarkdownPackage = _interopRequireDefault(require("react-native-markdown-package"));
15
15
 
16
16
  var _truncate = _interopRequireDefault(require("lodash/truncate"));
17
17
 
18
- var _reactNativeMarkdownPackage = _interopRequireDefault(require("react-native-markdown-package"));
19
-
20
18
  var _simpleMarkdown = require("simple-markdown");
21
19
 
20
+ var _parseLinks = require("./parseLinks");
21
+
22
22
  var _this = this,
23
23
  _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/MessageSimple/utils/renderText.tsx";
24
24
 
@@ -70,17 +70,6 @@ var parse = function parse(capture, _parse, state) {
70
70
  };
71
71
  };
72
72
 
73
- var parseUrlsFromText = function parseUrlsFromText(text) {
74
- try {
75
- return (0, _anchorme["default"])(text, {
76
- list: true
77
- });
78
- } catch (e) {
79
- console.warn("failure at parseUrlsFromText: " + e);
80
- return [];
81
- }
82
- };
83
-
84
73
  var renderText = function renderText(params) {
85
74
  var colors = params.colors,
86
75
  markdownRules = params.markdownRules,
@@ -97,17 +86,17 @@ var renderText = function renderText(params) {
97
86
  text = message.text;
98
87
  if (!text) return null;
99
88
  var newText = text.trim();
100
- var urls = parseUrlsFromText(newText);
89
+ var urls = (0, _parseLinks.parseLinksFromText)(newText);
101
90
 
102
91
  for (var _iterator = _createForOfIteratorHelperLoose(urls), _step; !(_step = _iterator()).done;) {
103
92
  var _urlInfo = _step.value;
104
93
 
105
- var _displayLink = (0, _truncate["default"])(_urlInfo.encoded.replace(/^(www\.)/, ''), {
94
+ var _displayLink = (0, _truncate["default"])(_urlInfo.encoded, {
106
95
  length: 200,
107
96
  omission: '...'
108
97
  });
109
98
 
110
- var _markdown = "[" + _displayLink + "](" + _urlInfo.protocol + _urlInfo.encoded + ")";
99
+ var _markdown = "[" + _displayLink + "](" + _urlInfo.scheme + _urlInfo.encoded + ")";
111
100
 
112
101
  newText = newText.replace(_urlInfo.raw, _markdown);
113
102
  }
@@ -169,7 +158,7 @@ var renderText = function renderText(params) {
169
158
  __self: _this,
170
159
  __source: {
171
160
  fileName: _jsxFileName,
172
- lineNumber: 207,
161
+ lineNumber: 195,
173
162
  columnNumber: 7
174
163
  }
175
164
  }, output(node.content, (0, _extends2["default"])({}, state, {
@@ -186,7 +175,7 @@ var renderText = function renderText(params) {
186
175
  __self: _this,
187
176
  __source: {
188
177
  fileName: _jsxFileName,
189
- lineNumber: 220,
178
+ lineNumber: 208,
190
179
  columnNumber: 5
191
180
  }
192
181
  }, output(node.content, state));
@@ -236,7 +225,7 @@ var renderText = function renderText(params) {
236
225
  __self: _this,
237
226
  __source: {
238
227
  fileName: _jsxFileName,
239
- lineNumber: 258,
228
+ lineNumber: 246,
240
229
  columnNumber: 7
241
230
  }
242
231
  }, Array.isArray(node.content) ? node.content[0].content || '' : output(node.content, state));
@@ -262,7 +251,7 @@ var renderText = function renderText(params) {
262
251
  __self: _this,
263
252
  __source: {
264
253
  fileName: _jsxFileName,
265
- lineNumber: 287,
254
+ lineNumber: 275,
266
255
  columnNumber: 11
267
256
  }
268
257
  }, _react["default"].createElement(_reactNative.Text, {
@@ -270,7 +259,7 @@ var renderText = function renderText(params) {
270
259
  __self: _this,
271
260
  __source: {
272
261
  fileName: _jsxFileName,
273
- lineNumber: 288,
262
+ lineNumber: 276,
274
263
  columnNumber: 13
275
264
  }
276
265
  }, node.ordered ? node.start + index + ". " : "\u2022"), _react["default"].createElement(_reactNative.Text, {
@@ -280,7 +269,7 @@ var renderText = function renderText(params) {
280
269
  __self: _this,
281
270
  __source: {
282
271
  fileName: _jsxFileName,
283
- lineNumber: 291,
272
+ lineNumber: 279,
284
273
  columnNumber: 13
285
274
  }
286
275
  }, content));
@@ -292,7 +281,7 @@ var renderText = function renderText(params) {
292
281
  __self: _this,
293
282
  __source: {
294
283
  fileName: _jsxFileName,
295
- lineNumber: 300,
284
+ lineNumber: 288,
296
285
  columnNumber: 9
297
286
  }
298
287
  }, items);
@@ -333,7 +322,7 @@ var renderText = function renderText(params) {
333
322
  __self: _this,
334
323
  __source: {
335
324
  fileName: _jsxFileName,
336
- lineNumber: 327,
325
+ lineNumber: 315,
337
326
  columnNumber: 5
338
327
  }
339
328
  }, newText);
@@ -1 +1 @@
1
- {"version":3,"sources":["renderText.tsx"],"names":["defaultMarkdownStyles","inlineCode","fontSize","padding","paddingHorizontal","list","marginBottom","marginTop","listItemNumber","fontWeight","listItemText","flex","listRow","flexDirection","mentions","paragraph","paragraphCenter","paragraphWithImage","parse","capture","state","content","parseUrlsFromText","text","e","console","warn","renderText","params","colors","markdownRules","markdownStyles","message","messageOverlay","messageTextNumberOfLines","onLinkParams","onLink","onLongPressParam","onLongPress","onlyEmojis","onPressParam","onPress","preventPress","mentioned_users","newText","trim","urls","urlInfo","displayLink","encoded","replace","length","omission","markdown","protocol","raw","styles","autolink","color","accent_blue","backgroundColor","white_smoke","borderColor","grey_gainsboro","accent_red","black","url","Linking","canOpenURL","then","canOpenUrl","openURL","react","node","output","event","defaultHandler","target","emitter","key","withinLink","paragraphText","mentionedUsers","Array","isArray","reduce","acc","cur","userName","name","id","regEx","RegExp","match","source","exec","mentionsReact","listLevels","sub","top","customListAtLevel","level","items","map","item","index","withinList","type","isTopLevelText","includes","ordered","start","isSublist","sublist","customRules","link","reflink","order","defaultRules","JSON","stringify","undefined"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { GestureResponderEvent, Linking, Text, View } from 'react-native';\nimport anchorme from 'anchorme';\nimport truncate from 'lodash/truncate';\n// @ts-expect-error\nimport Markdown from 'react-native-markdown-package';\nimport {\n DefaultRules,\n defaultRules,\n MatchFunction,\n ParseFunction,\n parseInline,\n ReactNodeOutput,\n SingleASTNode,\n} from 'simple-markdown';\n\nimport type { MessageType } from '../../../MessageList/hooks/useMessageList';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../../types/types';\nimport type { MessageContextValue } from '../../../../contexts/messageContext/MessageContext';\nimport type { Colors, MarkdownStyle } from '../../../../contexts/themeContext/utils/theme';\n\nconst defaultMarkdownStyles: MarkdownStyle = {\n inlineCode: {\n fontSize: 13,\n padding: 3,\n paddingHorizontal: 5,\n },\n list: {\n marginBottom: 8,\n marginTop: 8,\n },\n listItemNumber: {\n fontWeight: 'bold',\n },\n listItemText: {\n flex: 0,\n },\n listRow: {\n flexDirection: 'row',\n },\n mentions: {\n fontWeight: '700',\n },\n // unfortunately marginVertical doesn't override the defaults for these within the 3rd party lib\n paragraph: {\n marginBottom: 8,\n marginTop: 8,\n },\n paragraphCenter: {\n marginBottom: 8,\n marginTop: 8,\n },\n paragraphWithImage: {\n marginBottom: 8,\n marginTop: 8,\n },\n};\n\nconst parse: ParseFunction = (capture, parse, state) => ({\n content: parseInline(parse, capture[0], state),\n});\n\nconst parseUrlsFromText = (text: string) => {\n try {\n return anchorme(text, {\n list: true,\n });\n } catch (e) {\n console.warn(`failure at parseUrlsFromText: ${e}`);\n // In case of failures its not worth crashing the app,\n // and instead simply to have un-parsed urls in message text.\n return [];\n }\n};\n\nexport type MarkdownRules = Partial<DefaultRules>;\n\nexport type RenderTextParams<\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 Pick<MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'onLongPress' | 'onPress' | 'preventPress'>\n> & {\n colors: typeof Colors;\n message: MessageType<At, Ch, Co, Ev, Me, Re, Us>;\n markdownRules?: MarkdownRules;\n markdownStyles?: MarkdownStyle;\n messageOverlay?: boolean;\n messageTextNumberOfLines?: number;\n onLink?: (url: string) => Promise<void>;\n onlyEmojis?: boolean;\n};\n\nexport const renderText = <\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 params: RenderTextParams<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n colors,\n markdownRules,\n markdownStyles,\n message,\n messageOverlay,\n messageTextNumberOfLines,\n onLink: onLinkParams,\n onLongPress: onLongPressParam,\n onlyEmojis,\n onPress: onPressParam,\n preventPress,\n } = params;\n\n // take the @ mentions and turn them into markdown?\n // translate links\n const { mentioned_users, text } = message;\n\n if (!text) return null;\n\n let newText = text.trim();\n const urls = parseUrlsFromText(newText);\n\n for (const urlInfo of urls) {\n const displayLink = truncate(urlInfo.encoded.replace(/^(www\\.)/, ''), {\n length: 200,\n omission: '...',\n });\n const markdown = `[${displayLink}](${urlInfo.protocol}${urlInfo.encoded})`;\n newText = newText.replace(urlInfo.raw, markdown);\n }\n\n newText = newText.replace(/[<&\"'>]/g, '\\\\$&');\n\n const styles: MarkdownStyle = {\n ...defaultMarkdownStyles,\n ...markdownStyles,\n autolink: {\n ...defaultMarkdownStyles.autolink,\n color: colors.accent_blue,\n ...markdownStyles?.autolink,\n },\n inlineCode: {\n ...defaultMarkdownStyles.inlineCode,\n backgroundColor: colors.white_smoke,\n borderColor: colors.grey_gainsboro,\n color: colors.accent_red,\n ...markdownStyles?.inlineCode,\n },\n mentions: {\n ...defaultMarkdownStyles.mentions,\n color: colors.accent_blue,\n ...markdownStyles?.mentions,\n },\n text: {\n ...defaultMarkdownStyles.text,\n color: colors.black,\n ...markdownStyles?.text,\n },\n };\n\n const onLink = (url: string) =>\n onLinkParams\n ? onLinkParams(url)\n : Linking.canOpenURL(url).then((canOpenUrl) => canOpenUrl && Linking.openURL(url));\n\n const react: ReactNodeOutput = (node, output, { ...state }) => {\n const onPress = (event: GestureResponderEvent) => {\n if (!preventPress && onPressParam) {\n onPressParam({\n defaultHandler: () => onLink(node.target),\n emitter: 'textLink',\n event,\n });\n }\n };\n\n const onLongPress = (event: GestureResponderEvent) => {\n if (!preventPress && onLongPressParam) {\n onLongPressParam({\n emitter: 'textLink',\n event,\n });\n }\n };\n\n return (\n <Text\n key={state.key}\n onLongPress={onLongPress}\n onPress={onPress}\n style={styles.autolink}\n suppressHighlighting={true}\n >\n {output(node.content, { ...state, withinLink: true })}\n </Text>\n );\n };\n\n const paragraphText: ReactNodeOutput = (node, output, { ...state }) => (\n <Text key={state.key} numberOfLines={messageTextNumberOfLines} style={styles.paragraph}>\n {output(node.content, state)}\n </Text>\n );\n\n const mentionedUsers = Array.isArray(mentioned_users)\n ? 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\n const regEx = new RegExp(`^\\\\B(${mentionedUsers})`, 'g');\n const match: MatchFunction = (source) => regEx.exec(source);\n\n const mentionsReact: ReactNodeOutput = (node, output, { ...state }) => {\n const onPress = (event: GestureResponderEvent) => {\n if (!preventPress && onPressParam) {\n onPressParam({\n emitter: 'textMention',\n event,\n });\n }\n };\n\n const onLongPress = (event: GestureResponderEvent) => {\n if (!preventPress && onLongPressParam) {\n onLongPressParam({\n emitter: 'textMention',\n event,\n });\n }\n };\n\n return (\n <Text key={state.key} onLongPress={onLongPress} onPress={onPress} style={styles.mentions}>\n {Array.isArray(node.content) ? node.content[0].content || '' : output(node.content, state)}\n </Text>\n );\n };\n\n const listLevels = {\n sub: 'sub',\n top: 'top',\n };\n\n /**\n * For lists and sublists, the default behavior of the markdown library we use is\n * to always renumber any list, so all ordered lists start from 1.\n *\n * This custom rule overrides this behavior both for top level lists and sublists,\n * in order to start the numbering from the number of the first list item provided.\n * */\n const customListAtLevel =\n (level: keyof typeof listLevels): ReactNodeOutput =>\n (node, output, { ...state }) => {\n const items = node.items.map((item: Array<SingleASTNode>, index: number) => {\n const withinList = item.length > 1 && item[1].type === 'list';\n const content = output(item, { ...state, withinList });\n\n const isTopLevelText =\n ['text', 'paragraph', 'strong'].includes(item[0].type) && withinList === false;\n\n return (\n <View key={index} style={styles.listRow}>\n <Text style={styles.listItemNumber}>\n {node.ordered ? `${node.start + index}. ` : `\\u2022`}\n </Text>\n <Text style={[styles.listItemText, isTopLevelText && { marginBottom: 0 }]}>\n {content}\n </Text>\n </View>\n );\n });\n\n const isSublist = level === 'sub';\n return (\n <View key={state.key} style={[isSublist ? styles.list : styles.sublist]}>\n {items}\n </View>\n );\n };\n\n const customRules = {\n link: { react },\n list: { react: customListAtLevel('top') },\n // Truncate long text content in the message overlay\n paragraph: messageTextNumberOfLines ? { react: paragraphText } : {},\n // we have no react rendering support for reflinks\n reflink: { match: () => null },\n sublist: { react: customListAtLevel('sub') },\n ...(mentionedUsers\n ? {\n mentions: {\n match,\n order: defaultRules.text.order - 0.5,\n parse,\n react: mentionsReact,\n },\n }\n : {}),\n };\n\n return (\n <Markdown\n key={`${JSON.stringify(mentioned_users)}-${onlyEmojis}-${\n messageOverlay ? JSON.stringify(markdownStyles) : undefined\n }-${JSON.stringify(colors)}`}\n onLink={onLink}\n rules={{\n ...customRules,\n ...markdownRules,\n }}\n styles={styles}\n >\n {newText}\n </Markdown>\n );\n};\n"]}
1
+ {"version":3,"sources":["renderText.tsx"],"names":["defaultMarkdownStyles","inlineCode","fontSize","padding","paddingHorizontal","list","marginBottom","marginTop","listItemNumber","fontWeight","listItemText","flex","listRow","flexDirection","mentions","paragraph","paragraphCenter","paragraphWithImage","parse","capture","state","content","renderText","params","colors","markdownRules","markdownStyles","message","messageOverlay","messageTextNumberOfLines","onLinkParams","onLink","onLongPressParam","onLongPress","onlyEmojis","onPressParam","onPress","preventPress","mentioned_users","text","newText","trim","urls","urlInfo","displayLink","encoded","length","omission","markdown","scheme","replace","raw","styles","autolink","color","accent_blue","backgroundColor","white_smoke","borderColor","grey_gainsboro","accent_red","black","url","Linking","canOpenURL","then","canOpenUrl","openURL","react","node","output","event","defaultHandler","target","emitter","key","withinLink","paragraphText","mentionedUsers","Array","isArray","reduce","acc","cur","userName","name","id","regEx","RegExp","match","source","exec","mentionsReact","listLevels","sub","top","customListAtLevel","level","items","map","item","index","withinList","type","isTopLevelText","includes","ordered","start","isSublist","sublist","customRules","link","reflink","order","defaultRules","JSON","stringify","undefined"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { GestureResponderEvent, Linking, Text, View } from 'react-native';\n\n// @ts-expect-error\nimport Markdown from 'react-native-markdown-package';\n\nimport truncate from 'lodash/truncate';\nimport {\n DefaultRules,\n defaultRules,\n MatchFunction,\n ParseFunction,\n parseInline,\n ReactNodeOutput,\n SingleASTNode,\n} from 'simple-markdown';\n\nimport { parseLinksFromText } from './parseLinks';\n\nimport type { MessageContextValue } from '../../../../contexts/messageContext/MessageContext';\nimport type { Colors, MarkdownStyle } from '../../../../contexts/themeContext/utils/theme';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../../types/types';\nimport type { MessageType } from '../../../MessageList/hooks/useMessageList';\n\nconst defaultMarkdownStyles: MarkdownStyle = {\n inlineCode: {\n fontSize: 13,\n padding: 3,\n paddingHorizontal: 5,\n },\n list: {\n marginBottom: 8,\n marginTop: 8,\n },\n listItemNumber: {\n fontWeight: 'bold',\n },\n listItemText: {\n flex: 0,\n },\n listRow: {\n flexDirection: 'row',\n },\n mentions: {\n fontWeight: '700',\n },\n paragraph: {\n marginBottom: 8,\n marginTop: 8,\n },\n paragraphCenter: {\n marginBottom: 8,\n marginTop: 8,\n },\n paragraphWithImage: {\n marginBottom: 8,\n marginTop: 8,\n },\n};\n\nconst parse: ParseFunction = (capture, parse, state) => ({\n content: parseInline(parse, capture[0], state),\n});\n\nexport type MarkdownRules = Partial<DefaultRules>;\n\nexport type RenderTextParams<\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 Pick<MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'onLongPress' | 'onPress' | 'preventPress'>\n> & {\n colors: typeof Colors;\n message: MessageType<At, Ch, Co, Ev, Me, Re, Us>;\n markdownRules?: MarkdownRules;\n markdownStyles?: MarkdownStyle;\n messageOverlay?: boolean;\n messageTextNumberOfLines?: number;\n onLink?: (url: string) => Promise<void>;\n onlyEmojis?: boolean;\n};\n\nexport const renderText = <\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 params: RenderTextParams<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n colors,\n markdownRules,\n markdownStyles,\n message,\n messageOverlay,\n messageTextNumberOfLines,\n onLink: onLinkParams,\n onLongPress: onLongPressParam,\n onlyEmojis,\n onPress: onPressParam,\n preventPress,\n } = params;\n\n // take the @ mentions and turn them into markdown?\n // translate links\n const { mentioned_users, text } = message;\n\n if (!text) return null;\n\n let newText = text.trim();\n const urls = parseLinksFromText(newText);\n\n for (const urlInfo of urls) {\n const displayLink = truncate(urlInfo.encoded, {\n length: 200,\n omission: '...',\n });\n const markdown = `[${displayLink}](${urlInfo.scheme}${urlInfo.encoded})`;\n newText = newText.replace(urlInfo.raw, markdown);\n }\n\n newText = newText.replace(/[<&\"'>]/g, '\\\\$&');\n\n const styles: MarkdownStyle = {\n ...defaultMarkdownStyles,\n ...markdownStyles,\n autolink: {\n ...defaultMarkdownStyles.autolink,\n color: colors.accent_blue,\n ...markdownStyles?.autolink,\n },\n inlineCode: {\n ...defaultMarkdownStyles.inlineCode,\n backgroundColor: colors.white_smoke,\n borderColor: colors.grey_gainsboro,\n color: colors.accent_red,\n ...markdownStyles?.inlineCode,\n },\n mentions: {\n ...defaultMarkdownStyles.mentions,\n color: colors.accent_blue,\n ...markdownStyles?.mentions,\n },\n text: {\n ...defaultMarkdownStyles.text,\n color: colors.black,\n ...markdownStyles?.text,\n },\n };\n\n const onLink = (url: string) =>\n onLinkParams\n ? onLinkParams(url)\n : Linking.canOpenURL(url).then((canOpenUrl) => canOpenUrl && Linking.openURL(url));\n\n const react: ReactNodeOutput = (node, output, { ...state }) => {\n const onPress = (event: GestureResponderEvent) => {\n if (!preventPress && onPressParam) {\n onPressParam({\n defaultHandler: () => onLink(node.target),\n emitter: 'textLink',\n event,\n });\n }\n };\n\n const onLongPress = (event: GestureResponderEvent) => {\n if (!preventPress && onLongPressParam) {\n onLongPressParam({\n emitter: 'textLink',\n event,\n });\n }\n };\n\n return (\n <Text\n key={state.key}\n onLongPress={onLongPress}\n onPress={onPress}\n style={styles.autolink}\n suppressHighlighting={true}\n >\n {output(node.content, { ...state, withinLink: true })}\n </Text>\n );\n };\n\n const paragraphText: ReactNodeOutput = (node, output, { ...state }) => (\n <Text key={state.key} numberOfLines={messageTextNumberOfLines} style={styles.paragraph}>\n {output(node.content, state)}\n </Text>\n );\n\n const mentionedUsers = Array.isArray(mentioned_users)\n ? 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\n const regEx = new RegExp(`^\\\\B(${mentionedUsers})`, 'g');\n const match: MatchFunction = (source) => regEx.exec(source);\n\n const mentionsReact: ReactNodeOutput = (node, output, { ...state }) => {\n const onPress = (event: GestureResponderEvent) => {\n if (!preventPress && onPressParam) {\n onPressParam({\n emitter: 'textMention',\n event,\n });\n }\n };\n\n const onLongPress = (event: GestureResponderEvent) => {\n if (!preventPress && onLongPressParam) {\n onLongPressParam({\n emitter: 'textMention',\n event,\n });\n }\n };\n\n return (\n <Text key={state.key} onLongPress={onLongPress} onPress={onPress} style={styles.mentions}>\n {Array.isArray(node.content) ? node.content[0].content || '' : output(node.content, state)}\n </Text>\n );\n };\n\n const listLevels = {\n sub: 'sub',\n top: 'top',\n };\n\n /**\n * For lists and sublists, the default behavior of the markdown library we use is\n * to always renumber any list, so all ordered lists start from 1.\n *\n * This custom rule overrides this behavior both for top level lists and sublists,\n * in order to start the numbering from the number of the first list item provided.\n */\n const customListAtLevel =\n (level: keyof typeof listLevels): ReactNodeOutput =>\n (node, output, { ...state }) => {\n const items = node.items.map((item: Array<SingleASTNode>, index: number) => {\n const withinList = item.length > 1 && item[1].type === 'list';\n const content = output(item, { ...state, withinList });\n\n const isTopLevelText =\n ['text', 'paragraph', 'strong'].includes(item[0].type) && withinList === false;\n\n return (\n <View key={index} style={styles.listRow}>\n <Text style={styles.listItemNumber}>\n {node.ordered ? `${node.start + index}. ` : `\\u2022`}\n </Text>\n <Text style={[styles.listItemText, isTopLevelText && { marginBottom: 0 }]}>\n {content}\n </Text>\n </View>\n );\n });\n\n const isSublist = level === 'sub';\n return (\n <View key={state.key} style={[isSublist ? styles.list : styles.sublist]}>\n {items}\n </View>\n );\n };\n\n const customRules = {\n link: { react },\n list: { react: customListAtLevel('top') },\n // Truncate long text content in the message overlay\n paragraph: messageTextNumberOfLines ? { react: paragraphText } : {},\n // we have no react rendering support for reflinks\n reflink: { match: () => null },\n sublist: { react: customListAtLevel('sub') },\n ...(mentionedUsers\n ? {\n mentions: {\n match,\n order: defaultRules.text.order - 0.5,\n parse,\n react: mentionsReact,\n },\n }\n : {}),\n };\n\n return (\n <Markdown\n key={`${JSON.stringify(mentioned_users)}-${onlyEmojis}-${\n messageOverlay ? JSON.stringify(markdownStyles) : undefined\n }-${JSON.stringify(colors)}`}\n onLink={onLink}\n rules={{\n ...customRules,\n ...markdownRules,\n }}\n styles={styles}\n >\n {newText}\n </Markdown>\n );\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["useCreateMessageContext.ts"],"names":["useCreateMessageContext","actionsEnabled","alignment","channel","disabled","files","goToMessage","groupStyles","handleAction","handleDeleteMessage","handleEditMessage","handleQuotedReplyMessage","handleResendMessage","handleToggleBanUser","handleToggleMuteUser","handleToggleReaction","hasReactions","images","isMyMessage","lastGroupMessage","lastReceivedId","members","message","messageContentOrder","onLongPress","onlyEmojis","onOpenThread","onPress","onPressIn","otherAttachments","preventPress","reactions","showAvatar","showMessageOverlay","showMessageStatus","threadList","groupStylesLength","length","reactionsValue","map","own","type","join","latestReactions","latest_reactions","undefined","readBy","messageValue","updated_at","deleted_at","status","text","reply_count","membersValue","JSON","stringify","quotedMessageDeletedValue","quoted_message","messageContext"],"mappings":"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","sourcesContent":["import { useMemo } from 'react';\n\nimport { isMessageWithStylesReadByAndDateSeparator } from '../../MessageList/hooks/useMessageList';\n\nimport type { MessageContextValue } from '../../../contexts/messageContext/MessageContext';\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 useCreateMessageContext = <\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 actionsEnabled,\n alignment,\n channel,\n disabled,\n files,\n goToMessage,\n groupStyles,\n handleAction,\n handleDeleteMessage,\n handleEditMessage,\n handleQuotedReplyMessage,\n handleResendMessage,\n handleToggleBanUser,\n handleToggleMuteUser,\n handleToggleReaction,\n hasReactions,\n images,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n onLongPress,\n onlyEmojis,\n onOpenThread,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n reactions,\n showAvatar,\n showMessageOverlay,\n showMessageStatus,\n threadList,\n}: MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>) => {\n const groupStylesLength = groupStyles.length;\n const reactionsValue = reactions.map(({ own, type }) => `${own}${type}`).join();\n const latestReactions = message.latest_reactions ? message.latest_reactions : undefined;\n const readBy = isMessageWithStylesReadByAndDateSeparator(message) && message.readBy;\n const messageValue = `${latestReactions ? latestReactions.map(({ type }) => type).join() : ''}${\n message.updated_at\n }${message.deleted_at}${readBy}${message.status}${message.type}${message.text}${\n message.reply_count\n }`;\n const membersValue = JSON.stringify(members);\n\n const quotedMessageDeletedValue = message.quoted_message?.deleted_at;\n\n const messageContext: MessageContextValue<At, Ch, Co, Ev, Me, Re, Us> = useMemo(\n () => ({\n actionsEnabled,\n alignment,\n channel,\n disabled,\n files,\n goToMessage,\n groupStyles,\n handleAction,\n handleDeleteMessage,\n handleEditMessage,\n handleQuotedReplyMessage,\n handleResendMessage,\n handleToggleBanUser,\n handleToggleMuteUser,\n handleToggleReaction,\n hasReactions,\n images,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n onLongPress,\n onlyEmojis,\n onOpenThread,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n reactions,\n showAvatar,\n showMessageOverlay,\n showMessageStatus,\n threadList,\n }),\n [\n actionsEnabled,\n quotedMessageDeletedValue,\n alignment,\n disabled,\n goToMessage,\n groupStylesLength,\n hasReactions,\n lastGroupMessage,\n lastReceivedId,\n membersValue,\n messageValue,\n reactionsValue,\n showAvatar,\n showMessageStatus,\n threadList,\n ],\n );\n\n return messageContext;\n};\n"]}
1
+ {"version":3,"sources":["useCreateMessageContext.ts"],"names":["useCreateMessageContext","actionsEnabled","alignment","channel","disabled","files","goToMessage","groupStyles","handleAction","handleDeleteMessage","handleEditMessage","handleQuotedReplyMessage","handleResendMessage","handleToggleBanUser","handleToggleMuteUser","handleToggleReaction","hasReactions","images","isMyMessage","lastGroupMessage","lastReceivedId","members","message","messageContentOrder","onLongPress","onlyEmojis","onOpenThread","onPress","onPressIn","otherAttachments","preventPress","reactions","showAvatar","showMessageOverlay","showMessageStatus","threadList","groupStylesLength","length","reactionsValue","map","own","type","join","latestReactions","latest_reactions","undefined","readBy","messageValue","updated_at","deleted_at","status","text","reply_count","membersValue","JSON","stringify","quotedMessageDeletedValue","quoted_message","messageContext"],"mappings":"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","sourcesContent":["import { useMemo } from 'react';\n\nimport type { MessageContextValue } from '../../../contexts/messageContext/MessageContext';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../types/types';\nimport { isMessageWithStylesReadByAndDateSeparator } from '../../MessageList/hooks/useMessageList';\n\nexport const useCreateMessageContext = <\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 actionsEnabled,\n alignment,\n channel,\n disabled,\n files,\n goToMessage,\n groupStyles,\n handleAction,\n handleDeleteMessage,\n handleEditMessage,\n handleQuotedReplyMessage,\n handleResendMessage,\n handleToggleBanUser,\n handleToggleMuteUser,\n handleToggleReaction,\n hasReactions,\n images,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n onLongPress,\n onlyEmojis,\n onOpenThread,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n reactions,\n showAvatar,\n showMessageOverlay,\n showMessageStatus,\n threadList,\n}: MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>) => {\n const groupStylesLength = groupStyles.length;\n const reactionsValue = reactions.map(({ own, type }) => `${own}${type}`).join();\n const latestReactions = message.latest_reactions ? message.latest_reactions : undefined;\n const readBy = isMessageWithStylesReadByAndDateSeparator(message) && message.readBy;\n const messageValue = `${latestReactions ? latestReactions.map(({ type }) => type).join() : ''}${\n message.updated_at\n }${message.deleted_at}${readBy}${message.status}${message.type}${message.text}${\n message.reply_count\n }`;\n const membersValue = JSON.stringify(members);\n\n const quotedMessageDeletedValue = message.quoted_message?.deleted_at;\n\n const messageContext: MessageContextValue<At, Ch, Co, Ev, Me, Re, Us> = useMemo(\n () => ({\n actionsEnabled,\n alignment,\n channel,\n disabled,\n files,\n goToMessage,\n groupStyles,\n handleAction,\n handleDeleteMessage,\n handleEditMessage,\n handleQuotedReplyMessage,\n handleResendMessage,\n handleToggleBanUser,\n handleToggleMuteUser,\n handleToggleReaction,\n hasReactions,\n images,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n onLongPress,\n onlyEmojis,\n onOpenThread,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n reactions,\n showAvatar,\n showMessageOverlay,\n showMessageStatus,\n threadList,\n }),\n [\n actionsEnabled,\n quotedMessageDeletedValue,\n alignment,\n disabled,\n goToMessage,\n groupStylesLength,\n hasReactions,\n lastGroupMessage,\n lastReceivedId,\n membersValue,\n messageValue,\n reactionsValue,\n showAvatar,\n showMessageStatus,\n threadList,\n ],\n );\n\n return messageContext;\n};\n"]}
@@ -9,11 +9,14 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
9
9
 
10
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
11
 
12
+ var _utils = require("../../../utils/utils");
13
+
12
14
  var useMessageActionHandlers = function useMessageActionHandlers(_ref) {
13
15
  var channel = _ref.channel,
14
16
  client = _ref.client,
15
17
  enforceUniqueReaction = _ref.enforceUniqueReaction,
16
18
  message = _ref.message,
19
+ removeMessage = _ref.removeMessage,
17
20
  retrySendMessage = _ref.retrySendMessage,
18
21
  setEditingState = _ref.setEditingState,
19
22
  setQuotedMessageState = _ref.setQuotedMessageState,
@@ -41,14 +44,24 @@ var useMessageActionHandlers = function useMessageActionHandlers(_ref) {
41
44
  while (1) {
42
45
  switch (_context.prev = _context.next) {
43
46
  case 0:
44
- _context.next = 2;
47
+ if (!(message.status === _utils.MessageStatusTypes.FAILED)) {
48
+ _context.next = 4;
49
+ break;
50
+ }
51
+
52
+ removeMessage(message);
53
+ _context.next = 8;
54
+ break;
55
+
56
+ case 4:
57
+ _context.next = 6;
45
58
  return client.deleteMessage(message.id);
46
59
 
47
- case 2:
60
+ case 6:
48
61
  data = _context.sent;
49
62
  updateMessage(data.message);
50
63
 
51
- case 4:
64
+ case 8:
52
65
  case "end":
53
66
  return _context.stop();
54
67
  }