stream-chat-react-native-core 3.10.2 → 4.0.0-beta.4

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 (1099) 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 +18 -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 -113
  10. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  11. package/lib/commonjs/components/Attachment/Giphy.js +112 -148
  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 +21 -45
  34. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  35. package/lib/commonjs/components/AutoCompleteInput/{CommandsItem.js → AutoCompleteSuggestionCommandIcon.js} +21 -94
  36. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -0
  37. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +145 -0
  38. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -0
  39. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +248 -0
  40. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -0
  41. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +223 -0
  42. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -0
  43. package/lib/commonjs/components/Avatar/Avatar.js +13 -7
  44. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  45. package/lib/commonjs/components/Avatar/GroupAvatar.js +10 -10
  46. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  47. package/lib/commonjs/components/Channel/Channel.js +332 -247
  48. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  49. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +5 -5
  50. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  51. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js +7 -5
  52. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  53. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +9 -31
  54. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  55. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +35 -0
  56. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -0
  57. package/lib/commonjs/components/ChannelList/ChannelList.js +6 -6
  58. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  59. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +5 -4
  60. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  61. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +6 -7
  62. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  63. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +4 -3
  64. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  65. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +17 -17
  66. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  67. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  68. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  69. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  70. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  71. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  72. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  73. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  74. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  75. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  76. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  77. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
  78. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  79. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  80. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  81. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js +2 -2
  82. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  83. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +89 -64
  84. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  85. package/lib/commonjs/components/ChannelList/utils.js +1 -1
  86. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +2 -2
  87. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  88. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +2 -2
  89. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  90. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  91. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +49 -20
  92. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  93. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
  94. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
  95. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
  96. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  97. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  98. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  99. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  100. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js +16 -7
  101. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  102. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  103. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  104. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js +2 -1
  105. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  106. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  107. package/lib/commonjs/components/Chat/hooks/useIsOnline.js +12 -5
  108. package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
  109. package/lib/commonjs/components/ImageGallery/ImageGallery.js +90 -58
  110. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  111. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +2 -2
  112. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  113. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +12 -12
  114. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  115. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +14 -16
  116. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  117. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +7 -7
  118. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  119. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +5 -5
  120. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  121. package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  122. package/lib/commonjs/components/Indicators/LoadingIndicator.js +9 -9
  123. package/lib/commonjs/components/Indicators/LoadingIndicator.js.map +1 -1
  124. package/lib/commonjs/components/Message/Message.js +151 -860
  125. package/lib/commonjs/components/Message/Message.js.map +1 -1
  126. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +6 -6
  127. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  128. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +39 -38
  129. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  130. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +8 -6
  131. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  132. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +33 -21
  133. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  134. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +122 -0
  135. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -0
  136. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +5 -1
  137. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  138. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +5 -5
  139. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  140. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +27 -13
  141. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  142. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +25 -24
  143. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  144. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +7 -3
  145. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  146. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +52 -80
  147. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +1 -1
  148. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js +89 -0
  149. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
  150. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
  151. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
  152. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +170 -73
  153. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  154. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js +240 -0
  155. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js.map +1 -0
  156. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +1 -5
  157. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  158. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js +307 -0
  159. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -0
  160. package/lib/commonjs/components/Message/hooks/useMessageActions.js +563 -0
  161. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -0
  162. package/lib/commonjs/components/Message/utils/messageActions.js +17 -15
  163. package/lib/commonjs/components/Message/utils/messageActions.js.map +1 -1
  164. package/lib/commonjs/components/Message/utils/removeReservedFields.js.map +1 -1
  165. package/lib/commonjs/components/MessageInput/AttachButton.js +3 -3
  166. package/lib/commonjs/components/MessageInput/AttachButton.js.map +1 -1
  167. package/lib/commonjs/components/MessageInput/CommandsButton.js +3 -3
  168. package/lib/commonjs/components/MessageInput/CommandsButton.js.map +1 -1
  169. package/lib/commonjs/components/MessageInput/CooldownTimer.js +78 -0
  170. package/lib/commonjs/components/MessageInput/CooldownTimer.js.map +1 -0
  171. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +4 -4
  172. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  173. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +9 -9
  174. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
  175. package/lib/commonjs/components/MessageInput/InputButtons.js +17 -22
  176. package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
  177. package/lib/commonjs/components/MessageInput/MessageInput.js +93 -65
  178. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  179. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +3 -3
  180. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js.map +1 -1
  181. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +71 -0
  182. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -0
  183. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +4 -3
  184. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  185. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js +63 -0
  186. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -0
  187. package/lib/commonjs/components/MessageInput/hooks/useCountdown.js +57 -0
  188. package/lib/commonjs/components/MessageInput/hooks/useCountdown.js.map +1 -0
  189. package/lib/commonjs/components/MessageList/DateHeader.js +2 -2
  190. package/lib/commonjs/components/MessageList/DateHeader.js.map +1 -1
  191. package/lib/commonjs/components/MessageList/InlineDateSeparator.js +2 -2
  192. package/lib/commonjs/components/MessageList/InlineDateSeparator.js.map +1 -1
  193. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  194. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  195. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  196. package/lib/commonjs/components/MessageList/MessageList.js +77 -44
  197. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  198. package/lib/commonjs/components/MessageList/MessageSystem.js.map +1 -1
  199. package/lib/commonjs/components/MessageList/TypingIndicator.js +5 -5
  200. package/lib/commonjs/components/MessageList/TypingIndicator.js.map +1 -1
  201. package/lib/commonjs/components/MessageList/hooks/useMessageList.js +23 -10
  202. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  203. package/lib/commonjs/components/MessageList/hooks/useTypingString.js +2 -2
  204. package/lib/commonjs/components/MessageList/hooks/useTypingString.js.map +1 -1
  205. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js +2 -1
  206. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js.map +1 -1
  207. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js +10 -5
  208. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
  209. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js +3 -1
  210. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  211. package/lib/{module/components/MessageOverlay/MessageActions.js → commonjs/components/MessageOverlay/MessageActionList.js} +33 -85
  212. package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -0
  213. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +131 -0
  214. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -0
  215. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +97 -78
  216. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  217. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +38 -0
  218. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js.map +1 -0
  219. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +12 -11
  220. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  221. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +31 -34
  222. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
  223. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
  224. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
  225. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js +37 -0
  226. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -0
  227. package/lib/commonjs/components/Reply/Reply.js +25 -19
  228. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  229. package/lib/commonjs/components/Thread/Thread.js +11 -2
  230. package/lib/commonjs/components/Thread/Thread.js.map +1 -1
  231. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +20 -12
  232. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  233. package/lib/commonjs/components/docs/ListProps.md +1 -1
  234. package/lib/commonjs/components/docs/data.js +1 -1
  235. package/lib/commonjs/components/index.js +133 -55
  236. package/lib/commonjs/components/index.js.map +1 -1
  237. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +68 -0
  238. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -0
  239. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +2 -2
  240. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  241. package/lib/commonjs/contexts/channelContext/ChannelContext.js +2 -2
  242. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  243. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +2 -2
  244. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  245. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +155 -0
  246. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -0
  247. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +144 -0
  248. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -0
  249. package/lib/commonjs/contexts/chatContext/ChatContext.js +2 -2
  250. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  251. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
  252. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  253. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +2 -2
  254. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  255. package/lib/commonjs/contexts/messageContext/MessageContext.js +2 -2
  256. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  257. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +122 -84
  258. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  259. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +9 -5
  260. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  261. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js +10 -3
  262. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  263. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +5 -19
  264. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  265. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
  266. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
  267. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
  268. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
  269. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +2 -2
  270. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  271. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -1
  272. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  273. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +55 -46
  274. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  275. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +61 -0
  276. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -0
  277. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
  278. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  279. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +20 -33
  280. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  281. package/lib/commonjs/contexts/themeContext/ThemeContext.js +2 -2
  282. package/lib/commonjs/contexts/themeContext/ThemeContext.js.map +1 -1
  283. package/lib/commonjs/contexts/themeContext/utils/theme.js +45 -20
  284. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  285. package/lib/commonjs/contexts/threadContext/ThreadContext.js +2 -2
  286. package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
  287. package/lib/commonjs/contexts/translationContext/TranslationContext.js +1 -1
  288. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  289. package/lib/commonjs/contexts/typingContext/TypingContext.js +2 -2
  290. package/lib/commonjs/contexts/typingContext/TypingContext.js.map +1 -1
  291. package/lib/commonjs/contexts/utils/getDisplayName.js.map +1 -1
  292. package/lib/commonjs/emoji-data/compiled.js +0 -315
  293. package/lib/commonjs/emoji-data/compiled.js.map +1 -1
  294. package/lib/commonjs/emoji-data/emojiNames.js +0 -105
  295. package/lib/commonjs/emoji-data/emojiNames.js.map +1 -1
  296. package/lib/commonjs/emoji-data/emojis.js +0 -175
  297. package/lib/commonjs/emoji-data/emojis.js.map +1 -1
  298. package/lib/commonjs/emoji-data/index.js +2 -2
  299. package/lib/commonjs/emoji-data/index.js.map +1 -1
  300. package/lib/commonjs/hooks/useStreami18n.js.map +1 -1
  301. package/lib/commonjs/i18n/en.json +9 -3
  302. package/lib/commonjs/i18n/fr.json +9 -3
  303. package/lib/commonjs/i18n/hi.json +9 -3
  304. package/lib/commonjs/i18n/it.json +9 -3
  305. package/lib/commonjs/i18n/ja.json +9 -0
  306. package/lib/commonjs/i18n/ko.json +9 -0
  307. package/lib/commonjs/i18n/nl.json +9 -3
  308. package/lib/commonjs/i18n/ru.json +9 -3
  309. package/lib/commonjs/i18n/tr.json +10 -4
  310. package/lib/commonjs/icons/Pin.js +42 -0
  311. package/lib/commonjs/icons/Pin.js.map +1 -0
  312. package/lib/commonjs/icons/PinHeader.js +38 -0
  313. package/lib/commonjs/icons/PinHeader.js.map +1 -0
  314. package/lib/commonjs/icons/Unpin.js +38 -0
  315. package/lib/commonjs/icons/Unpin.js.map +1 -0
  316. package/lib/commonjs/icons/index.js +39 -26
  317. package/lib/commonjs/icons/index.js.map +1 -1
  318. package/lib/commonjs/icons/utils/base.js +1 -1
  319. package/lib/commonjs/index.js +6 -6
  320. package/lib/commonjs/mock-builders/api/error.js +1 -1
  321. package/lib/commonjs/mock-builders/api/sendMessage.js +4 -1
  322. package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
  323. package/lib/commonjs/mock-builders/generator/attachment.js +1 -3
  324. package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
  325. package/lib/commonjs/mock-builders/generator/channel.js +101 -50
  326. package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
  327. package/lib/commonjs/mock-builders/generator/user.js +32 -33
  328. package/lib/commonjs/mock-builders/generator/user.js.map +1 -1
  329. package/lib/commonjs/mock-builders/mock.js +3 -3
  330. package/lib/commonjs/mock-builders/mock.js.map +1 -1
  331. package/lib/commonjs/native.js +1 -7
  332. package/lib/commonjs/native.js.map +1 -1
  333. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js +7 -7
  334. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js.map +1 -1
  335. package/lib/commonjs/styleguideComponents/JsDoc.js +4 -4
  336. package/lib/commonjs/styleguideComponents/JsDoc.js.map +1 -1
  337. package/lib/commonjs/styleguideComponents/PathlineRenderer.js +7 -7
  338. package/lib/commonjs/styleguideComponents/PathlineRenderer.js.map +1 -1
  339. package/lib/commonjs/styleguideComponents/PropsRenderer.js +25 -25
  340. package/lib/commonjs/styleguideComponents/PropsRenderer.js.map +1 -1
  341. package/lib/commonjs/styleguideComponents/Wrapper.js +1 -1
  342. package/lib/commonjs/styleguideComponents/Wrapper.js.map +1 -1
  343. package/lib/commonjs/utils/Streami18n.js.map +1 -1
  344. package/lib/commonjs/utils/date.js +13 -0
  345. package/lib/commonjs/utils/date.js.map +1 -0
  346. package/lib/commonjs/utils/getResizedImageUrl.js +26 -0
  347. package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -0
  348. package/lib/commonjs/utils/getUrlOfImageAttachment.js +9 -0
  349. package/lib/commonjs/utils/getUrlOfImageAttachment.js.map +1 -0
  350. package/lib/commonjs/utils/utils.js +17 -9
  351. package/lib/commonjs/utils/utils.js.map +1 -1
  352. package/lib/commonjs/version.json +1 -1
  353. package/lib/module/components/Attachment/Attachment.js +2 -2
  354. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  355. package/lib/module/components/Attachment/AttachmentActions.js.map +1 -1
  356. package/lib/module/components/Attachment/Card.js +18 -15
  357. package/lib/module/components/Attachment/Card.js.map +1 -1
  358. package/lib/module/components/Attachment/FileAttachment.js +8 -8
  359. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  360. package/lib/module/components/Attachment/FileIcon.js.map +1 -1
  361. package/lib/module/components/Attachment/Gallery.js +97 -113
  362. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  363. package/lib/module/components/Attachment/Giphy.js +112 -148
  364. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  365. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js +46 -0
  366. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
  367. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
  368. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
  369. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
  370. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
  371. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
  372. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
  373. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
  374. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
  375. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
  376. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
  377. package/lib/module/components/Attachment/utils/buildGallery/types.js +4 -0
  378. package/lib/module/components/Attachment/utils/buildGallery/types.js.map +1 -0
  379. package/lib/module/components/Attachment/utils/getAspectRatio.js +14 -0
  380. package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -0
  381. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
  382. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
  383. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +9 -8
  384. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  385. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +21 -45
  386. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  387. package/lib/module/components/AutoCompleteInput/{CommandsItem.js → AutoCompleteSuggestionCommandIcon.js} +21 -94
  388. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -0
  389. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +145 -0
  390. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -0
  391. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +248 -0
  392. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -0
  393. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +223 -0
  394. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -0
  395. package/lib/module/components/Avatar/Avatar.js +13 -7
  396. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  397. package/lib/module/components/Avatar/GroupAvatar.js +10 -10
  398. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  399. package/lib/module/components/Channel/Channel.js +332 -247
  400. package/lib/module/components/Channel/Channel.js.map +1 -1
  401. package/lib/module/components/Channel/hooks/useCreateChannelContext.js +5 -5
  402. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  403. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +7 -5
  404. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  405. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +9 -31
  406. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  407. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +35 -0
  408. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -0
  409. package/lib/module/components/ChannelList/ChannelList.js +6 -6
  410. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  411. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +5 -4
  412. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  413. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +6 -7
  414. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  415. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +4 -3
  416. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  417. package/lib/module/components/ChannelList/ChannelListMessenger.js +17 -17
  418. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  419. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  420. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  421. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  422. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  423. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  424. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  425. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  426. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  427. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  428. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  429. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
  430. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  431. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  432. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  433. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js +2 -2
  434. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  435. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +89 -64
  436. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  437. package/lib/module/components/ChannelList/utils.js +1 -1
  438. package/lib/module/components/ChannelPreview/ChannelAvatar.js +2 -2
  439. package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  440. package/lib/module/components/ChannelPreview/ChannelPreview.js +2 -2
  441. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  442. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  443. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +49 -20
  444. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  445. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
  446. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
  447. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
  448. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  449. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  450. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  451. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  452. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js +16 -7
  453. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  454. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  455. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  456. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js +2 -1
  457. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  458. package/lib/module/components/Chat/Chat.js.map +1 -1
  459. package/lib/module/components/Chat/hooks/useIsOnline.js +12 -5
  460. package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
  461. package/lib/module/components/ImageGallery/ImageGallery.js +90 -58
  462. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  463. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +2 -2
  464. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  465. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +12 -12
  466. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  467. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +14 -16
  468. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  469. package/lib/module/components/ImageGallery/components/ImageGrid.js +7 -7
  470. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  471. package/lib/module/components/ImageGallery/components/ImageGridHandle.js +5 -5
  472. package/lib/module/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  473. package/lib/module/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  474. package/lib/module/components/Indicators/LoadingIndicator.js +9 -9
  475. package/lib/module/components/Indicators/LoadingIndicator.js.map +1 -1
  476. package/lib/module/components/Message/Message.js +151 -860
  477. package/lib/module/components/Message/Message.js.map +1 -1
  478. package/lib/module/components/Message/MessageSimple/MessageAvatar.js +6 -6
  479. package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  480. package/lib/module/components/Message/MessageSimple/MessageContent.js +39 -38
  481. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  482. package/lib/module/components/Message/MessageSimple/MessageDeleted.js +8 -6
  483. package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  484. package/lib/module/components/Message/MessageSimple/MessageFooter.js +33 -21
  485. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  486. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +122 -0
  487. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -0
  488. package/lib/module/components/Message/MessageSimple/MessageReplies.js +5 -1
  489. package/lib/module/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  490. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +5 -5
  491. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  492. package/lib/module/components/Message/MessageSimple/MessageSimple.js +27 -13
  493. package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  494. package/lib/module/components/Message/MessageSimple/MessageStatus.js +25 -24
  495. package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  496. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +7 -3
  497. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  498. package/lib/module/components/Message/MessageSimple/ReactionList.js +52 -80
  499. package/lib/module/components/Message/MessageSimple/ReactionList.js.map +1 -1
  500. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js +89 -0
  501. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
  502. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
  503. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
  504. package/lib/module/components/Message/MessageSimple/utils/renderText.js +170 -73
  505. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  506. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js +240 -0
  507. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js.map +1 -0
  508. package/lib/module/components/Message/hooks/useCreateMessageContext.js +1 -5
  509. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  510. package/lib/module/components/Message/hooks/useMessageActionHandlers.js +307 -0
  511. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -0
  512. package/lib/module/components/Message/hooks/useMessageActions.js +563 -0
  513. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -0
  514. package/lib/module/components/Message/utils/messageActions.js +17 -15
  515. package/lib/module/components/Message/utils/messageActions.js.map +1 -1
  516. package/lib/module/components/Message/utils/removeReservedFields.js.map +1 -1
  517. package/lib/module/components/MessageInput/AttachButton.js +3 -3
  518. package/lib/module/components/MessageInput/AttachButton.js.map +1 -1
  519. package/lib/module/components/MessageInput/CommandsButton.js +3 -3
  520. package/lib/module/components/MessageInput/CommandsButton.js.map +1 -1
  521. package/lib/module/components/MessageInput/CooldownTimer.js +78 -0
  522. package/lib/module/components/MessageInput/CooldownTimer.js.map +1 -0
  523. package/lib/module/components/MessageInput/FileUploadPreview.js +4 -4
  524. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  525. package/lib/module/components/MessageInput/ImageUploadPreview.js +9 -9
  526. package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
  527. package/lib/module/components/MessageInput/InputButtons.js +17 -22
  528. package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
  529. package/lib/module/components/MessageInput/MessageInput.js +93 -65
  530. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  531. package/lib/module/components/MessageInput/MoreOptionsButton.js +3 -3
  532. package/lib/module/components/MessageInput/MoreOptionsButton.js.map +1 -1
  533. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +71 -0
  534. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -0
  535. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +4 -3
  536. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  537. package/lib/module/components/MessageInput/hooks/useCooldown.js +63 -0
  538. package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -0
  539. package/lib/module/components/MessageInput/hooks/useCountdown.js +57 -0
  540. package/lib/module/components/MessageInput/hooks/useCountdown.js.map +1 -0
  541. package/lib/module/components/MessageList/DateHeader.js +2 -2
  542. package/lib/module/components/MessageList/DateHeader.js.map +1 -1
  543. package/lib/module/components/MessageList/InlineDateSeparator.js +2 -2
  544. package/lib/module/components/MessageList/InlineDateSeparator.js.map +1 -1
  545. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  546. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  547. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  548. package/lib/module/components/MessageList/MessageList.js +77 -44
  549. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  550. package/lib/module/components/MessageList/MessageSystem.js.map +1 -1
  551. package/lib/module/components/MessageList/TypingIndicator.js +5 -5
  552. package/lib/module/components/MessageList/TypingIndicator.js.map +1 -1
  553. package/lib/module/components/MessageList/hooks/useMessageList.js +23 -10
  554. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  555. package/lib/module/components/MessageList/hooks/useTypingString.js +2 -2
  556. package/lib/module/components/MessageList/hooks/useTypingString.js.map +1 -1
  557. package/lib/module/components/MessageList/utils/getDateSeparators.js +2 -1
  558. package/lib/module/components/MessageList/utils/getDateSeparators.js.map +1 -1
  559. package/lib/module/components/MessageList/utils/getGroupStyles.js +10 -5
  560. package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
  561. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js +3 -1
  562. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  563. package/lib/{commonjs/components/MessageOverlay/MessageActions.js → module/components/MessageOverlay/MessageActionList.js} +33 -85
  564. package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -0
  565. package/lib/module/components/MessageOverlay/MessageActionListItem.js +131 -0
  566. package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -0
  567. package/lib/module/components/MessageOverlay/MessageOverlay.js +97 -78
  568. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  569. package/lib/module/components/MessageOverlay/OverlayBackdrop.js +38 -0
  570. package/lib/module/components/MessageOverlay/OverlayBackdrop.js.map +1 -0
  571. package/lib/module/components/MessageOverlay/OverlayReactionList.js +12 -11
  572. package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  573. package/lib/module/components/MessageOverlay/OverlayReactions.js +31 -34
  574. package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
  575. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
  576. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
  577. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js +37 -0
  578. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -0
  579. package/lib/module/components/Reply/Reply.js +25 -19
  580. package/lib/module/components/Reply/Reply.js.map +1 -1
  581. package/lib/module/components/Thread/Thread.js +11 -2
  582. package/lib/module/components/Thread/Thread.js.map +1 -1
  583. package/lib/module/components/Thread/components/ThreadFooterComponent.js +20 -12
  584. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  585. package/lib/module/components/docs/ListProps.md +1 -1
  586. package/lib/module/components/docs/data.js +1 -1
  587. package/lib/module/components/index.js +133 -55
  588. package/lib/module/components/index.js.map +1 -1
  589. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +68 -0
  590. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -0
  591. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +2 -2
  592. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  593. package/lib/module/contexts/channelContext/ChannelContext.js +2 -2
  594. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  595. package/lib/module/contexts/channelsContext/ChannelsContext.js +2 -2
  596. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  597. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +155 -0
  598. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -0
  599. package/lib/module/contexts/channelsStateContext/useChannelState.js +144 -0
  600. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -0
  601. package/lib/module/contexts/chatContext/ChatContext.js +2 -2
  602. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  603. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
  604. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  605. package/lib/module/contexts/keyboardContext/KeyboardContext.js +2 -2
  606. package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  607. package/lib/module/contexts/messageContext/MessageContext.js +2 -2
  608. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  609. package/lib/module/contexts/messageInputContext/MessageInputContext.js +122 -84
  610. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  611. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +9 -5
  612. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  613. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js +10 -3
  614. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  615. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +5 -19
  616. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  617. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
  618. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
  619. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
  620. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
  621. package/lib/module/contexts/messagesContext/MessagesContext.js +2 -2
  622. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  623. package/lib/module/contexts/overlayContext/OverlayContext.js +1 -1
  624. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  625. package/lib/module/contexts/overlayContext/OverlayProvider.js +55 -46
  626. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  627. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +61 -0
  628. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -0
  629. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
  630. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  631. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +20 -33
  632. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  633. package/lib/module/contexts/themeContext/ThemeContext.js +2 -2
  634. package/lib/module/contexts/themeContext/ThemeContext.js.map +1 -1
  635. package/lib/module/contexts/themeContext/utils/theme.js +45 -20
  636. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  637. package/lib/module/contexts/threadContext/ThreadContext.js +2 -2
  638. package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
  639. package/lib/module/contexts/translationContext/TranslationContext.js +1 -1
  640. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  641. package/lib/module/contexts/typingContext/TypingContext.js +2 -2
  642. package/lib/module/contexts/typingContext/TypingContext.js.map +1 -1
  643. package/lib/module/contexts/utils/getDisplayName.js.map +1 -1
  644. package/lib/module/emoji-data/compiled.js +0 -315
  645. package/lib/module/emoji-data/compiled.js.map +1 -1
  646. package/lib/module/emoji-data/emojiNames.js +0 -105
  647. package/lib/module/emoji-data/emojiNames.js.map +1 -1
  648. package/lib/module/emoji-data/emojis.js +0 -175
  649. package/lib/module/emoji-data/emojis.js.map +1 -1
  650. package/lib/module/emoji-data/index.js +2 -2
  651. package/lib/module/emoji-data/index.js.map +1 -1
  652. package/lib/module/hooks/useStreami18n.js.map +1 -1
  653. package/lib/module/i18n/en.json +9 -3
  654. package/lib/module/i18n/fr.json +9 -3
  655. package/lib/module/i18n/hi.json +9 -3
  656. package/lib/module/i18n/it.json +9 -3
  657. package/lib/module/i18n/ja.json +9 -0
  658. package/lib/module/i18n/ko.json +9 -0
  659. package/lib/module/i18n/nl.json +9 -3
  660. package/lib/module/i18n/ru.json +9 -3
  661. package/lib/module/i18n/tr.json +10 -4
  662. package/lib/module/icons/Pin.js +42 -0
  663. package/lib/module/icons/Pin.js.map +1 -0
  664. package/lib/module/icons/PinHeader.js +38 -0
  665. package/lib/module/icons/PinHeader.js.map +1 -0
  666. package/lib/module/icons/Unpin.js +38 -0
  667. package/lib/module/icons/Unpin.js.map +1 -0
  668. package/lib/module/icons/index.js +39 -26
  669. package/lib/module/icons/index.js.map +1 -1
  670. package/lib/module/icons/utils/base.js +1 -1
  671. package/lib/module/index.js +6 -6
  672. package/lib/module/mock-builders/api/error.js +1 -1
  673. package/lib/module/mock-builders/api/sendMessage.js +4 -1
  674. package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
  675. package/lib/module/mock-builders/generator/attachment.js +1 -3
  676. package/lib/module/mock-builders/generator/attachment.js.map +1 -1
  677. package/lib/module/mock-builders/generator/channel.js +101 -50
  678. package/lib/module/mock-builders/generator/channel.js.map +1 -1
  679. package/lib/module/mock-builders/generator/user.js +32 -33
  680. package/lib/module/mock-builders/generator/user.js.map +1 -1
  681. package/lib/module/mock-builders/mock.js +3 -3
  682. package/lib/module/mock-builders/mock.js.map +1 -1
  683. package/lib/module/native.js +1 -7
  684. package/lib/module/native.js.map +1 -1
  685. package/lib/module/styleguideComponents/ArgumentsRenderer.js +7 -7
  686. package/lib/module/styleguideComponents/ArgumentsRenderer.js.map +1 -1
  687. package/lib/module/styleguideComponents/JsDoc.js +4 -4
  688. package/lib/module/styleguideComponents/JsDoc.js.map +1 -1
  689. package/lib/module/styleguideComponents/PathlineRenderer.js +7 -7
  690. package/lib/module/styleguideComponents/PathlineRenderer.js.map +1 -1
  691. package/lib/module/styleguideComponents/PropsRenderer.js +25 -25
  692. package/lib/module/styleguideComponents/PropsRenderer.js.map +1 -1
  693. package/lib/module/styleguideComponents/Wrapper.js +1 -1
  694. package/lib/module/styleguideComponents/Wrapper.js.map +1 -1
  695. package/lib/module/utils/Streami18n.js.map +1 -1
  696. package/lib/module/utils/date.js +13 -0
  697. package/lib/module/utils/date.js.map +1 -0
  698. package/lib/module/utils/getResizedImageUrl.js +26 -0
  699. package/lib/module/utils/getResizedImageUrl.js.map +1 -0
  700. package/lib/module/utils/getUrlOfImageAttachment.js +9 -0
  701. package/lib/module/utils/getUrlOfImageAttachment.js.map +1 -0
  702. package/lib/module/utils/utils.js +17 -9
  703. package/lib/module/utils/utils.js.map +1 -1
  704. package/lib/module/version.json +1 -1
  705. package/lib/typescript/components/Attachment/Attachment.d.ts +1 -1
  706. package/lib/typescript/components/Attachment/AttachmentActions.d.ts +1 -1
  707. package/lib/typescript/components/Attachment/Card.d.ts +3 -1
  708. package/lib/typescript/components/Attachment/FileAttachment.d.ts +1 -1
  709. package/lib/typescript/components/Attachment/Gallery.d.ts +4 -6
  710. package/lib/typescript/components/Attachment/Giphy.d.ts +1 -1
  711. package/lib/typescript/components/Attachment/utils/buildGallery/buildGallery.d.ts +23 -0
  712. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.d.ts +7 -0
  713. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.d.ts +7 -0
  714. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.d.ts +7 -0
  715. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnail.d.ts +10 -0
  716. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnailGrid.d.ts +137 -0
  717. package/lib/typescript/components/Attachment/utils/buildGallery/types.d.ts +23 -0
  718. package/lib/typescript/components/Attachment/utils/getAspectRatio.d.ts +9 -0
  719. package/lib/typescript/components/Attachment/utils/getGalleryImageBorderRadius.d.ts +22 -0
  720. package/lib/typescript/components/AutoCompleteInput/AutoCompleteInput.d.ts +7 -1
  721. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.d.ts +4 -0
  722. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionHeader.d.ts +8 -0
  723. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionItem.d.ts +10 -0
  724. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts +21 -0
  725. package/lib/typescript/components/Channel/Channel.d.ts +13 -12
  726. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
  727. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +1 -68
  728. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -126
  729. package/lib/typescript/components/Channel/hooks/useCreateOwnCapabilitiesContext.d.ts +7 -0
  730. package/lib/typescript/components/ChannelList/ChannelList.d.ts +1 -1
  731. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +4 -2
  732. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +2 -2
  733. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts +2 -2
  734. package/lib/typescript/components/ChannelPreview/ChannelPreviewMutedStatus.d.ts +9 -0
  735. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.d.ts +12 -0
  736. package/lib/typescript/components/Chat/Chat.d.ts +1 -1
  737. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +4 -1
  738. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryImage.d.ts +1 -1
  739. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +1 -1
  740. package/lib/typescript/components/ImageGallery/components/ImageGalleryHeader.d.ts +1 -1
  741. package/lib/typescript/components/ImageGallery/components/ImageGrid.d.ts +1 -1
  742. package/lib/typescript/components/Indicators/LoadingErrorIndicator.d.ts +1 -1
  743. package/lib/typescript/components/Message/Message.d.ts +4 -3
  744. package/lib/typescript/components/Message/MessageSimple/MessageAvatar.d.ts +1 -1
  745. package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts +1 -1
  746. package/lib/typescript/components/Message/MessageSimple/MessageDeleted.d.ts +2 -2
  747. package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts +2 -2
  748. package/lib/typescript/components/Message/MessageSimple/MessagePinnedHeader.d.ts +8 -0
  749. package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts +1 -1
  750. package/lib/typescript/components/Message/MessageSimple/MessageStatus.d.ts +1 -1
  751. package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts +1 -0
  752. package/lib/typescript/components/Message/MessageSimple/ReactionList.d.ts +2 -1
  753. package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.d.ts +7 -0
  754. package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.test.d.ts +1 -0
  755. package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +18 -3
  756. package/lib/typescript/components/Message/MessageSimple/utils/renderText.test.d.ts +1 -0
  757. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +1 -1
  758. package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +15 -0
  759. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +26 -0
  760. package/lib/typescript/components/Message/utils/messageActions.d.ts +22 -21
  761. package/lib/typescript/components/Message/utils/removeReservedFields.d.ts +1 -1
  762. package/lib/typescript/components/MessageInput/AttachButton.d.ts +1 -1
  763. package/lib/typescript/components/MessageInput/CommandsButton.d.ts +1 -1
  764. package/lib/typescript/components/MessageInput/CooldownTimer.d.ts +10 -0
  765. package/lib/typescript/components/MessageInput/InputButtons.d.ts +1 -1
  766. package/lib/typescript/components/MessageInput/MessageInput.d.ts +1 -1
  767. package/lib/typescript/components/MessageInput/MoreOptionsButton.d.ts +1 -1
  768. package/lib/typescript/components/MessageInput/SendMessageDisallowedIndicator.d.ts +1 -0
  769. package/lib/typescript/components/MessageInput/hooks/useCooldown.d.ts +9 -0
  770. package/lib/typescript/components/MessageInput/hooks/useCountdown.d.ts +8 -0
  771. package/lib/typescript/components/MessageList/MessageList.d.ts +2 -1
  772. package/lib/typescript/components/MessageList/MessageSystem.d.ts +1 -1
  773. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +1 -0
  774. package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts +1 -1
  775. package/lib/typescript/components/MessageOverlay/MessageActionList.d.ts +12 -0
  776. package/lib/typescript/components/MessageOverlay/MessageActionListItem.d.ts +20 -0
  777. package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts +4 -4
  778. package/lib/typescript/components/MessageOverlay/OverlayBackdrop.d.ts +6 -0
  779. package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts +3 -1
  780. package/lib/typescript/components/MessageOverlay/OverlayReactionsAvatar.d.ts +7 -0
  781. package/lib/typescript/components/MessageOverlay/hooks/useMessageActionAnimation.d.ts +12 -0
  782. package/lib/typescript/components/Reply/Reply.d.ts +1 -1
  783. package/lib/typescript/components/Thread/Thread.d.ts +2 -2
  784. package/lib/typescript/components/index.d.ts +13 -7
  785. package/lib/typescript/contexts/activeChannelsRefContext/ActiveChannelsRefContext.d.ts +9 -0
  786. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +28 -30
  787. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +13 -5
  788. package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts +41 -0
  789. package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts +20 -0
  790. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +2 -6
  791. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +21 -10
  792. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +3 -3
  793. package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts +1 -1
  794. package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +12 -13
  795. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.d.ts +12 -0
  796. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.test.d.ts +1 -0
  797. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +23 -114
  798. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +14 -7
  799. package/lib/typescript/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.d.ts +25 -0
  800. package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts +14 -13
  801. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +41 -16
  802. package/lib/typescript/contexts/utils/getDisplayName.d.ts +2 -2
  803. package/lib/typescript/hooks/useStreami18n.d.ts +1 -1
  804. package/lib/typescript/i18n/en.json +9 -3
  805. package/lib/typescript/i18n/fr.json +9 -3
  806. package/lib/typescript/i18n/hi.json +9 -3
  807. package/lib/typescript/i18n/it.json +9 -3
  808. package/lib/typescript/i18n/ja.json +9 -0
  809. package/lib/typescript/i18n/ko.json +9 -0
  810. package/lib/typescript/i18n/nl.json +9 -3
  811. package/lib/typescript/i18n/ru.json +9 -3
  812. package/lib/typescript/i18n/tr.json +10 -4
  813. package/lib/typescript/icons/{Left.d.ts → Pin.d.ts} +1 -1
  814. package/lib/typescript/icons/PinHeader.d.ts +3 -0
  815. package/lib/typescript/icons/{Right.d.ts → Unpin.d.ts} +1 -1
  816. package/lib/typescript/icons/index.d.ts +3 -2
  817. package/lib/typescript/native.d.ts +1 -9
  818. package/lib/typescript/utils/Streami18n.d.ts +11 -8
  819. package/lib/typescript/utils/date.d.ts +2 -0
  820. package/lib/typescript/utils/getResizedImageUrl.d.ts +19 -0
  821. package/lib/typescript/utils/getUrlOfImageAttachment.d.ts +7 -0
  822. package/lib/typescript/utils/utils.d.ts +14 -11
  823. package/package.json +12 -14
  824. package/src/components/Attachment/Attachment.tsx +3 -3
  825. package/src/components/Attachment/AttachmentActions.tsx +2 -2
  826. package/src/components/Attachment/Card.tsx +8 -5
  827. package/src/components/Attachment/FileAttachment.tsx +3 -4
  828. package/src/components/Attachment/FileIcon.tsx +2 -2
  829. package/src/components/Attachment/Gallery.tsx +164 -193
  830. package/src/components/Attachment/Giphy.tsx +67 -70
  831. package/src/components/Attachment/__tests__/Attachment.test.js +22 -14
  832. package/src/components/Attachment/__tests__/Gallery.test.js +233 -0
  833. package/src/components/Attachment/__tests__/buildGallery.test.js +131 -0
  834. package/src/components/Attachment/utils/buildGallery/buildGallery.ts +75 -0
  835. package/src/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.ts +95 -0
  836. package/src/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.ts +99 -0
  837. package/src/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.ts +64 -0
  838. package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +46 -0
  839. package/src/components/Attachment/utils/buildGallery/buildThumbnailGrid.ts +186 -0
  840. package/src/components/Attachment/utils/buildGallery/types.ts +27 -0
  841. package/src/components/Attachment/utils/getAspectRatio.ts +21 -0
  842. package/src/components/Attachment/utils/getGalleryImageBorderRadius.ts +71 -0
  843. package/src/components/AttachmentPicker/AttachmentPicker.tsx +4 -2
  844. package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +43 -28
  845. package/src/components/AutoCompleteInput/{CommandsItem.tsx → AutoCompleteSuggestionCommandIcon.tsx} +3 -57
  846. package/src/components/AutoCompleteInput/AutoCompleteSuggestionHeader.tsx +109 -0
  847. package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx +156 -0
  848. package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +212 -0
  849. package/src/components/AutoCompleteInput/__tests__/AutoCompleteInput.test.js +6 -12
  850. package/src/components/Avatar/Avatar.tsx +7 -10
  851. package/src/components/Avatar/GroupAvatar.tsx +7 -21
  852. package/src/components/Avatar/__tests__/Avatar.test.js +2 -30
  853. package/src/components/Channel/Channel.tsx +288 -232
  854. package/src/components/Channel/__tests__/Channel.test.js +34 -29
  855. package/src/components/Channel/__tests__/ownCapabilities.test.js +376 -0
  856. package/src/components/Channel/hooks/useCreateChannelContext.ts +6 -6
  857. package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +4 -3
  858. package/src/components/Channel/hooks/useCreateMessagesContext.ts +9 -30
  859. package/src/components/Channel/hooks/useCreateOwnCapabilitiesContext.ts +54 -0
  860. package/src/components/ChannelList/ChannelList.tsx +8 -9
  861. package/src/components/ChannelList/ChannelListFooterLoadingIndicator.tsx +2 -3
  862. package/src/components/ChannelList/ChannelListHeaderErrorIndicator.tsx +3 -7
  863. package/src/components/ChannelList/ChannelListHeaderNetworkDownIndicator.tsx +5 -2
  864. package/src/components/ChannelList/ChannelListMessenger.tsx +3 -4
  865. package/src/components/ChannelList/__tests__/ChannelList.test.js +73 -13
  866. package/src/components/ChannelList/__tests__/ChannelListMessenger.test.js +11 -12
  867. package/src/components/ChannelList/hooks/listeners/useAddedToChannelNotification.ts +3 -3
  868. package/src/components/ChannelList/hooks/listeners/useChannelDeleted.ts +2 -2
  869. package/src/components/ChannelList/hooks/listeners/useChannelHidden.ts +2 -2
  870. package/src/components/ChannelList/hooks/listeners/useChannelTruncated.ts +2 -2
  871. package/src/components/ChannelList/hooks/listeners/useChannelUpdated.ts +2 -2
  872. package/src/components/ChannelList/hooks/listeners/useChannelVisible.ts +3 -3
  873. package/src/components/ChannelList/hooks/listeners/useNewMessage.ts +2 -3
  874. package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +4 -4
  875. package/src/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.ts +2 -2
  876. package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +2 -2
  877. package/src/components/ChannelList/hooks/useCreateChannelsContext.ts +1 -2
  878. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +86 -44
  879. package/src/components/ChannelPreview/ChannelAvatar.tsx +3 -5
  880. package/src/components/ChannelPreview/ChannelPreview.tsx +3 -3
  881. package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +2 -2
  882. package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +27 -11
  883. package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx +71 -0
  884. package/src/components/ChannelPreview/ChannelPreviewStatus.tsx +4 -3
  885. package/src/components/ChannelPreview/ChannelPreviewTitle.tsx +2 -2
  886. package/src/components/ChannelPreview/ChannelPreviewUnreadCount.tsx +2 -1
  887. package/src/components/ChannelPreview/__tests__/ChannelPreview.test.js +8 -9
  888. package/src/components/ChannelPreview/__tests__/ChannelPreviewMessenger.test.js +8 -9
  889. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.ts +8 -2
  890. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +3 -4
  891. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.ts +2 -2
  892. package/src/components/ChannelPreview/hooks/useLatestMessagePreview.ts +4 -3
  893. package/src/components/Chat/Chat.tsx +6 -6
  894. package/src/components/Chat/__tests__/Chat.test.js +10 -6
  895. package/src/components/Chat/hooks/useIsOnline.ts +12 -8
  896. package/src/components/ImageGallery/ImageGallery.tsx +83 -49
  897. package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +1 -2
  898. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +2 -5
  899. package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +5 -7
  900. package/src/components/ImageGallery/components/ImageGrid.tsx +4 -5
  901. package/src/components/ImageGallery/components/ImageGridHandle.tsx +1 -0
  902. package/src/components/Indicators/LoadingErrorIndicator.tsx +1 -1
  903. package/src/components/Indicators/LoadingIndicator.tsx +1 -2
  904. package/src/components/Message/Message.tsx +155 -594
  905. package/src/components/Message/MessageSimple/MessageAvatar.tsx +1 -2
  906. package/src/components/Message/MessageSimple/MessageContent.tsx +23 -25
  907. package/src/components/Message/MessageSimple/MessageDeleted.tsx +8 -6
  908. package/src/components/Message/MessageSimple/MessageFooter.tsx +45 -27
  909. package/src/components/Message/MessageSimple/MessagePinnedHeader.tsx +150 -0
  910. package/src/components/Message/MessageSimple/MessageReplies.tsx +5 -0
  911. package/src/components/Message/MessageSimple/MessageRepliesAvatars.tsx +2 -3
  912. package/src/components/Message/MessageSimple/MessageSimple.tsx +47 -26
  913. package/src/components/Message/MessageSimple/MessageStatus.tsx +19 -34
  914. package/src/components/Message/MessageSimple/MessageTextContainer.tsx +5 -0
  915. package/src/components/Message/MessageSimple/ReactionList.tsx +64 -77
  916. package/src/components/Message/MessageSimple/__tests__/Message.test.js +9 -10
  917. package/src/components/Message/MessageSimple/__tests__/MessageAvatar.test.js +2 -2
  918. package/src/components/Message/MessageSimple/__tests__/MessageContent.test.js +40 -47
  919. package/src/components/Message/MessageSimple/__tests__/MessagePinnedHeader.test.js +53 -0
  920. package/src/components/Message/MessageSimple/__tests__/MessageReplies.test.js +2 -2
  921. package/src/components/Message/MessageSimple/__tests__/MessageStatus.test.js +4 -5
  922. package/src/components/Message/MessageSimple/__tests__/MessageTextContainer.test.js +2 -2
  923. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageAvatar.test.js.snap +1 -1
  924. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessagePinnedHeader.test.js.snap +80 -0
  925. package/src/components/Message/MessageSimple/utils/parseLinks.test.ts +100 -0
  926. package/src/components/Message/MessageSimple/utils/parseLinks.ts +95 -0
  927. package/src/components/Message/MessageSimple/utils/renderText.test.tsx +70 -0
  928. package/src/components/Message/MessageSimple/utils/renderText.tsx +98 -58
  929. package/src/components/Message/hooks/useCreateMessageContext.ts +1 -7
  930. package/src/components/Message/hooks/useMessageActionHandlers.ts +172 -0
  931. package/src/components/Message/hooks/useMessageActions.tsx +386 -0
  932. package/src/components/Message/utils/messageActions.ts +64 -38
  933. package/src/components/Message/utils/removeReservedFields.ts +1 -1
  934. package/src/components/MessageInput/AttachButton.tsx +1 -2
  935. package/src/components/MessageInput/CommandsButton.tsx +1 -2
  936. package/src/components/MessageInput/CooldownTimer.tsx +67 -0
  937. package/src/components/MessageInput/FileUploadPreview.tsx +5 -5
  938. package/src/components/MessageInput/ImageUploadPreview.tsx +3 -4
  939. package/src/components/MessageInput/InputButtons.tsx +4 -10
  940. package/src/components/MessageInput/MessageInput.tsx +62 -35
  941. package/src/components/MessageInput/MoreOptionsButton.tsx +1 -2
  942. package/src/components/MessageInput/SendMessageDisallowedIndicator.tsx +47 -0
  943. package/src/components/MessageInput/ShowThreadMessageInChannelButton.tsx +2 -2
  944. package/src/components/MessageInput/__tests__/AttachButton.test.js +2 -2
  945. package/src/components/MessageInput/__tests__/FileUploadPreview.test.js +43 -45
  946. package/src/components/MessageInput/__tests__/ImageUploadPreview.test.js +15 -15
  947. package/src/components/MessageInput/__tests__/MessageInput.test.js +15 -23
  948. package/src/components/MessageInput/__tests__/SendButton.test.js +2 -2
  949. package/src/components/MessageInput/__tests__/UploadProgressIndicator.test.js +2 -2
  950. package/src/components/MessageInput/__tests__/__snapshots__/FileUploadPreview.test.js.snap +3593 -2889
  951. package/src/components/MessageInput/__tests__/__snapshots__/ImageUploadPreview.test.js.snap +1912 -1572
  952. package/src/components/MessageInput/__tests__/__snapshots__/MessageInput.test.js.snap +539 -296
  953. package/src/components/MessageInput/__tests__/__snapshots__/UploadProgressIndicator.test.js.snap +4 -4
  954. package/src/components/MessageInput/hooks/useCooldown.ts +62 -0
  955. package/src/components/MessageInput/hooks/useCountdown.ts +48 -0
  956. package/src/components/MessageList/DateHeader.tsx +2 -2
  957. package/src/components/MessageList/InlineDateSeparator.tsx +2 -2
  958. package/src/components/MessageList/MessageList.tsx +63 -39
  959. package/src/components/MessageList/MessageSystem.tsx +2 -2
  960. package/src/components/MessageList/TypingIndicator.tsx +1 -2
  961. package/src/components/MessageList/__tests__/MessageList.test.js +241 -116
  962. package/src/components/MessageList/__tests__/MessageSystem.test.js +3 -3
  963. package/src/components/MessageList/__tests__/ScrollToBottomButton.test.js +3 -3
  964. package/src/components/MessageList/__tests__/TypingIndicator.test.js +5 -6
  965. package/src/components/MessageList/__tests__/__snapshots__/TypingIndicator.test.js.snap +1 -1
  966. package/src/components/MessageList/hooks/useMessageList.ts +19 -9
  967. package/src/components/MessageList/hooks/useTypingString.ts +1 -2
  968. package/src/components/MessageList/utils/getDateSeparators.ts +4 -3
  969. package/src/components/MessageList/utils/getGroupStyles.ts +14 -9
  970. package/src/components/MessageList/utils/getLastReceivedMessage.ts +6 -1
  971. package/src/components/MessageOverlay/{MessageActions.tsx → MessageActionList.tsx} +59 -91
  972. package/src/components/MessageOverlay/MessageActionListItem.tsx +113 -0
  973. package/src/components/MessageOverlay/MessageOverlay.tsx +258 -217
  974. package/src/components/MessageOverlay/OverlayBackdrop.tsx +18 -0
  975. package/src/components/MessageOverlay/OverlayReactionList.tsx +3 -5
  976. package/src/components/MessageOverlay/OverlayReactions.tsx +27 -8
  977. package/src/components/MessageOverlay/OverlayReactionsAvatar.tsx +27 -0
  978. package/src/components/MessageOverlay/hooks/useMessageActionAnimation.tsx +44 -0
  979. package/src/components/Reply/Reply.tsx +25 -15
  980. package/src/components/Thread/Thread.tsx +13 -6
  981. package/src/components/Thread/__tests__/Thread.test.js +38 -113
  982. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +1085 -1018
  983. package/src/components/Thread/components/ThreadFooterComponent.tsx +14 -3
  984. package/src/components/docs/ListProps.md +1 -1
  985. package/src/components/index.ts +13 -7
  986. package/src/contexts/activeChannelsRefContext/ActiveChannelsRefContext.tsx +32 -0
  987. package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +1 -2
  988. package/src/contexts/channelContext/ChannelContext.tsx +28 -32
  989. package/src/contexts/channelsContext/ChannelsContext.tsx +18 -7
  990. package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +286 -0
  991. package/src/contexts/channelsStateContext/useChannelState.ts +207 -0
  992. package/src/contexts/chatContext/ChatContext.tsx +1 -2
  993. package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +1 -2
  994. package/src/contexts/keyboardContext/KeyboardContext.tsx +1 -2
  995. package/src/contexts/messageContext/MessageContext.tsx +2 -10
  996. package/src/contexts/messageInputContext/MessageInputContext.tsx +77 -36
  997. package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +9 -7
  998. package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +15 -10
  999. package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +19 -28
  1000. package/src/contexts/messageOverlayContext/hooks/useResettableState.test.tsx +46 -0
  1001. package/src/contexts/messageOverlayContext/hooks/useResettableState.ts +22 -0
  1002. package/src/contexts/messagesContext/MessagesContext.tsx +39 -140
  1003. package/src/contexts/overlayContext/OverlayContext.tsx +19 -11
  1004. package/src/contexts/overlayContext/OverlayProvider.tsx +48 -42
  1005. package/src/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.tsx +38 -0
  1006. package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +1 -2
  1007. package/src/contexts/suggestionsContext/SuggestionsContext.tsx +26 -46
  1008. package/src/contexts/suggestionsContext/__tests__/Suggestions.test.js +1 -1
  1009. package/src/contexts/themeContext/ThemeContext.tsx +1 -0
  1010. package/src/contexts/themeContext/utils/theme.ts +84 -35
  1011. package/src/contexts/threadContext/ThreadContext.tsx +1 -2
  1012. package/src/contexts/translationContext/TranslationContext.tsx +3 -3
  1013. package/src/contexts/typingContext/TypingContext.tsx +1 -2
  1014. package/src/contexts/utils/getDisplayName.ts +3 -1
  1015. package/src/emoji-data/compiled.ts +1830 -9609
  1016. package/src/emoji-data/emojiNames.ts +0 -140
  1017. package/src/emoji-data/emojis.ts +0 -210
  1018. package/src/emoji-data/index.js +1 -1
  1019. package/src/hooks/useStreami18n.ts +1 -1
  1020. package/src/i18n/en.json +9 -3
  1021. package/src/i18n/fr.json +9 -3
  1022. package/src/i18n/hi.json +9 -3
  1023. package/src/i18n/it.json +9 -3
  1024. package/src/i18n/ja.json +9 -0
  1025. package/src/i18n/ko.json +9 -0
  1026. package/src/i18n/nl.json +9 -3
  1027. package/src/i18n/ru.json +9 -3
  1028. package/src/i18n/tr.json +10 -4
  1029. package/src/icons/Pin.tsx +17 -0
  1030. package/src/icons/PinHeader.tsx +12 -0
  1031. package/src/icons/Unpin.tsx +12 -0
  1032. package/src/icons/index.ts +3 -2
  1033. package/src/mock-builders/api/sendMessage.js +3 -1
  1034. package/src/mock-builders/generator/attachment.js +0 -2
  1035. package/src/mock-builders/generator/channel.js +101 -46
  1036. package/src/mock-builders/generator/user.js +33 -26
  1037. package/src/mock-builders/mock.js +2 -2
  1038. package/src/native.ts +2 -13
  1039. package/src/styleguideComponents/ArgumentsRenderer.tsx +2 -1
  1040. package/src/styleguideComponents/JsDoc.tsx +3 -1
  1041. package/src/styleguideComponents/PathlineRenderer.tsx +2 -1
  1042. package/src/styleguideComponents/PropsRenderer.tsx +7 -4
  1043. package/src/styleguideComponents/Wrapper.tsx +1 -0
  1044. package/src/utils/Streami18n.ts +3 -3
  1045. package/src/utils/__tests__/Streami18n.test.js +1 -2
  1046. package/src/utils/date.ts +4 -0
  1047. package/src/utils/getResizedImageUrl.ts +43 -0
  1048. package/src/utils/getUrlOfImageAttachment.ts +10 -0
  1049. package/src/utils/utils.ts +23 -16
  1050. package/src/version.json +1 -1
  1051. package/lib/commonjs/components/AutoCompleteInput/CommandsHeader.js +0 -78
  1052. package/lib/commonjs/components/AutoCompleteInput/CommandsHeader.js.map +0 -1
  1053. package/lib/commonjs/components/AutoCompleteInput/CommandsItem.js.map +0 -1
  1054. package/lib/commonjs/components/AutoCompleteInput/EmojisHeader.js +0 -81
  1055. package/lib/commonjs/components/AutoCompleteInput/EmojisHeader.js.map +0 -1
  1056. package/lib/commonjs/components/AutoCompleteInput/EmojisItem.js +0 -75
  1057. package/lib/commonjs/components/AutoCompleteInput/EmojisItem.js.map +0 -1
  1058. package/lib/commonjs/components/AutoCompleteInput/MentionsItem.js +0 -125
  1059. package/lib/commonjs/components/AutoCompleteInput/MentionsItem.js.map +0 -1
  1060. package/lib/commonjs/components/AutoCompleteInput/SuggestionsList.js +0 -199
  1061. package/lib/commonjs/components/AutoCompleteInput/SuggestionsList.js.map +0 -1
  1062. package/lib/commonjs/components/MessageOverlay/MessageActions.js.map +0 -1
  1063. package/lib/commonjs/icons/Left.js +0 -38
  1064. package/lib/commonjs/icons/Left.js.map +0 -1
  1065. package/lib/commonjs/icons/Right.js +0 -38
  1066. package/lib/commonjs/icons/Right.js.map +0 -1
  1067. package/lib/module/components/AutoCompleteInput/CommandsHeader.js +0 -78
  1068. package/lib/module/components/AutoCompleteInput/CommandsHeader.js.map +0 -1
  1069. package/lib/module/components/AutoCompleteInput/CommandsItem.js.map +0 -1
  1070. package/lib/module/components/AutoCompleteInput/EmojisHeader.js +0 -81
  1071. package/lib/module/components/AutoCompleteInput/EmojisHeader.js.map +0 -1
  1072. package/lib/module/components/AutoCompleteInput/EmojisItem.js +0 -75
  1073. package/lib/module/components/AutoCompleteInput/EmojisItem.js.map +0 -1
  1074. package/lib/module/components/AutoCompleteInput/MentionsItem.js +0 -125
  1075. package/lib/module/components/AutoCompleteInput/MentionsItem.js.map +0 -1
  1076. package/lib/module/components/AutoCompleteInput/SuggestionsList.js +0 -199
  1077. package/lib/module/components/AutoCompleteInput/SuggestionsList.js.map +0 -1
  1078. package/lib/module/components/MessageOverlay/MessageActions.js.map +0 -1
  1079. package/lib/module/icons/Left.js +0 -38
  1080. package/lib/module/icons/Left.js.map +0 -1
  1081. package/lib/module/icons/Right.js +0 -38
  1082. package/lib/module/icons/Right.js.map +0 -1
  1083. package/lib/typescript/components/AutoCompleteInput/CommandsHeader.d.ts +0 -2
  1084. package/lib/typescript/components/AutoCompleteInput/CommandsItem.d.ts +0 -15
  1085. package/lib/typescript/components/AutoCompleteInput/EmojisHeader.d.ts +0 -5
  1086. package/lib/typescript/components/AutoCompleteInput/EmojisItem.d.ts +0 -12
  1087. package/lib/typescript/components/AutoCompleteInput/MentionsItem.d.ts +0 -16
  1088. package/lib/typescript/components/AutoCompleteInput/SuggestionsList.d.ts +0 -13
  1089. package/lib/typescript/components/MessageOverlay/MessageActions.d.ts +0 -11
  1090. package/src/components/AutoCompleteInput/CommandsHeader.tsx +0 -43
  1091. package/src/components/AutoCompleteInput/EmojisHeader.tsx +0 -45
  1092. package/src/components/AutoCompleteInput/EmojisItem.tsx +0 -52
  1093. package/src/components/AutoCompleteInput/MentionsItem.tsx +0 -74
  1094. package/src/components/AutoCompleteInput/SuggestionsList.tsx +0 -138
  1095. package/src/components/AutoCompleteInput/__tests__/CommandsItem.test.js +0 -26
  1096. package/src/components/AutoCompleteInput/__tests__/MentionsItem.test.js +0 -62
  1097. package/src/components/MessageList/__tests__/__snapshots__/MessageList.test.js.snap +0 -936
  1098. package/src/icons/Left.tsx +0 -12
  1099. package/src/icons/Right.tsx +0 -12
@@ -91,13 +91,11 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
91
91
  _onPressIn = props.onPressIn,
92
92
  otherAttachments = props.otherAttachments,
93
93
  preventPress = props.preventPress,
94
- quotedRepliesEnabled = props.quotedRepliesEnabled,
95
94
  Reply = props.Reply,
96
95
  setMessageContentWidth = props.setMessageContentWidth,
97
96
  showMessageStatus = props.showMessageStatus,
98
97
  tDateTimeParser = props.tDateTimeParser,
99
- threadList = props.threadList,
100
- threadRepliesEnabled = props.threadRepliesEnabled;
98
+ threadList = props.threadList;
101
99
 
102
100
  var _useTheme = (0, _ThemeContext.useTheme)(),
103
101
  _useTheme$theme = _useTheme.theme,
@@ -107,6 +105,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
107
105
  grey_gainsboro = _useTheme$theme$color.grey_gainsboro,
108
106
  grey_whisper = _useTheme$theme$color.grey_whisper,
109
107
  transparent = _useTheme$theme$color.transparent,
108
+ white = _useTheme$theme$color.white,
110
109
  _useTheme$theme$messa = _useTheme$theme.messageSimple,
111
110
  _useTheme$theme$messa2 = _useTheme$theme$messa.content,
112
111
  _useTheme$theme$messa3 = _useTheme$theme$messa2.container,
@@ -145,12 +144,13 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
145
144
  setMessageContentWidth(width);
146
145
  };
147
146
 
148
- var error = message.type === 'error' || message.status === 'failed';
147
+ var error = message.type === 'error' || message.status === _utils.MessageStatusTypes.FAILED;
149
148
  var groupStyle = alignment + "_" + (groupStyles == null ? void 0 : (_groupStyles$ = groupStyles[0]) == null ? void 0 : _groupStyles$.toLowerCase == null ? void 0 : _groupStyles$.toLowerCase());
150
149
  var hasThreadReplies = !!(message != null && message.reply_count);
151
150
  var noBorder = onlyEmojis && !message.quoted_message || !!otherAttachments.length;
151
+ var isMessageTypeDeleted = message.type === 'deleted';
152
152
 
153
- if (message.deleted_at) {
153
+ if (isMessageTypeDeleted) {
154
154
  return _react["default"].createElement(MessageDeleted, {
155
155
  formattedDate: getDateText(formatDate),
156
156
  groupStyle: groupStyle,
@@ -159,13 +159,13 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
159
159
  __self: _this,
160
160
  __source: {
161
161
  fileName: _jsxFileName,
162
- lineNumber: 218,
162
+ lineNumber: 215,
163
163
  columnNumber: 7
164
164
  }
165
165
  });
166
166
  }
167
167
 
168
- var backgroundColor = onlyEmojis && !message.quoted_message ? transparent : otherAttachments.length ? otherAttachments[0].type === 'giphy' ? !message.quoted_message ? transparent : grey_gainsboro : blue_alice : alignment === 'left' || error ? transparent : grey_gainsboro;
168
+ var backgroundColor = onlyEmojis && !message.quoted_message ? transparent : otherAttachments.length ? otherAttachments[0].type === 'giphy' ? !message.quoted_message ? transparent : grey_gainsboro : blue_alice : alignment === 'left' || error ? white : grey_gainsboro;
169
169
  var repliesCurveColor = isMyMessage && !error ? backgroundColor : grey_whisper;
170
170
  return _react["default"].createElement(_reactNative.TouchableOpacity, (0, _extends2["default"])({
171
171
  activeOpacity: 0.7,
@@ -193,7 +193,8 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
193
193
  event: event
194
194
  });
195
195
  }
196
- }
196
+ },
197
+ testID: "message-content"
197
198
  }, additionalTouchableProps, {
198
199
  style: [alignment === 'left' ? styles.leftAlignItems : styles.rightAlignItems, {
199
200
  paddingTop: hasReactions ? reactionSize / 2 + radius : 2
@@ -201,13 +202,13 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
201
202
  __self: _this,
202
203
  __source: {
203
204
  fileName: _jsxFileName,
204
- lineNumber: 243,
205
+ lineNumber: 240,
205
206
  columnNumber: 5
206
207
  }
207
208
  }), MessageHeader && _react["default"].createElement(MessageHeader, {
208
209
  alignment: alignment,
209
210
  formattedDate: getDateText(formatDate),
210
- isDeleted: !!message.deleted_at,
211
+ isDeleted: !!isMessageTypeDeleted,
211
212
  lastGroupMessage: lastGroupMessage,
212
213
  members: members,
213
214
  message: message,
@@ -217,7 +218,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
217
218
  __self: _this,
218
219
  __source: {
219
220
  fileName: _jsxFileName,
220
- lineNumber: 283,
221
+ lineNumber: 281,
221
222
  columnNumber: 9
222
223
  }
223
224
  }), _react["default"].createElement(_reactNative.View, {
@@ -226,10 +227,10 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
226
227
  __self: _this,
227
228
  __source: {
228
229
  fileName: _jsxFileName,
229
- lineNumber: 295,
230
+ lineNumber: 293,
230
231
  columnNumber: 7
231
232
  }
232
- }, hasThreadReplies && !threadList && threadRepliesEnabled && !noBorder && _react["default"].createElement(_reactNative.View, {
233
+ }, hasThreadReplies && !threadList && !noBorder && _react["default"].createElement(_reactNative.View, {
233
234
  style: [styles.replyBorder, {
234
235
  borderColor: repliesCurveColor,
235
236
  height: borderRadiusL,
@@ -239,7 +240,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
239
240
  __self: _this,
240
241
  __source: {
241
242
  fileName: _jsxFileName,
242
- lineNumber: 297,
243
+ lineNumber: 295,
243
244
  columnNumber: 11
244
245
  }
245
246
  }), _react["default"].createElement(_reactNative.View, {
@@ -255,19 +256,19 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
255
256
  __self: _this,
256
257
  __source: {
257
258
  fileName: _jsxFileName,
258
- lineNumber: 310,
259
+ lineNumber: 308,
259
260
  columnNumber: 9
260
261
  }
261
262
  }, messageContentOrder.map(function (messageContentType, messageContentOrderIndex) {
262
263
  switch (messageContentType) {
263
264
  case 'quoted_reply':
264
- return message.quoted_message && quotedRepliesEnabled && _react["default"].createElement(_reactNative.View, {
265
+ return message.quoted_message && _react["default"].createElement(_reactNative.View, {
265
266
  key: "quoted_reply_" + messageContentOrderIndex,
266
267
  style: [styles.replyContainer, replyContainer],
267
268
  __self: _this,
268
269
  __source: {
269
270
  fileName: _jsxFileName,
270
- lineNumber: 338,
271
+ lineNumber: 335,
271
272
  columnNumber: 21
272
273
  }
273
274
  }, _react["default"].createElement(Reply, {
@@ -279,7 +280,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
279
280
  __self: _this,
280
281
  __source: {
281
282
  fileName: _jsxFileName,
282
- lineNumber: 342,
283
+ lineNumber: 339,
283
284
  columnNumber: 23
284
285
  }
285
286
  }));
@@ -292,7 +293,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
292
293
  __self: _this,
293
294
  __source: {
294
295
  fileName: _jsxFileName,
295
- lineNumber: 348,
296
+ lineNumber: 345,
296
297
  columnNumber: 19
297
298
  }
298
299
  });
@@ -305,7 +306,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
305
306
  __self: _this,
306
307
  __source: {
307
308
  fileName: _jsxFileName,
308
- lineNumber: 352,
309
+ lineNumber: 349,
309
310
  columnNumber: 19
310
311
  }
311
312
  });
@@ -316,7 +317,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
316
317
  __self: _this,
317
318
  __source: {
318
319
  fileName: _jsxFileName,
319
- lineNumber: 358,
320
+ lineNumber: 355,
320
321
  columnNumber: 24
321
322
  }
322
323
  });
@@ -328,7 +329,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
328
329
  __self: _this,
329
330
  __source: {
330
331
  fileName: _jsxFileName,
331
- lineNumber: 362,
332
+ lineNumber: 359,
332
333
  columnNumber: 19
333
334
  }
334
335
  });
@@ -339,7 +340,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
339
340
  __self: _this,
340
341
  __source: {
341
342
  fileName: _jsxFileName,
342
- lineNumber: 370,
343
+ lineNumber: 367,
343
344
  columnNumber: 11
344
345
  }
345
346
  }, _react["default"].createElement(_reactNative.View, {
@@ -347,7 +348,7 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
347
348
  __self: _this,
348
349
  __source: {
349
350
  fileName: _jsxFileName,
350
- lineNumber: 371,
351
+ lineNumber: 368,
351
352
  columnNumber: 13
352
353
  }
353
354
  }, _react["default"].createElement(_icons.Error, (0, _extends2["default"])({
@@ -356,25 +357,25 @@ var MessageContentWithContext = function MessageContentWithContext(props) {
356
357
  __self: _this,
357
358
  __source: {
358
359
  fileName: _jsxFileName,
359
- lineNumber: 372,
360
+ lineNumber: 369,
360
361
  columnNumber: 15
361
362
  }
362
- }))))), threadRepliesEnabled && _react["default"].createElement(MessageReplies, {
363
+ }))))), _react["default"].createElement(MessageReplies, {
363
364
  noBorder: noBorder,
364
365
  repliesCurveColor: repliesCurveColor,
365
366
  __self: _this,
366
367
  __source: {
367
368
  fileName: _jsxFileName,
368
- lineNumber: 378,
369
- columnNumber: 9
369
+ lineNumber: 374,
370
+ columnNumber: 7
370
371
  }
371
372
  }), _react["default"].createElement(MessageFooter, {
372
373
  formattedDate: getDateText(formatDate),
373
- isDeleted: !!message.deleted_at,
374
+ isDeleted: !!isMessageTypeDeleted,
374
375
  __self: _this,
375
376
  __source: {
376
377
  fileName: _jsxFileName,
377
- lineNumber: 380,
378
+ lineNumber: 375,
378
379
  columnNumber: 7
379
380
  }
380
381
  }));
@@ -419,9 +420,13 @@ var areEqual = function areEqual(prevProps, nextProps) {
419
420
  if (!membersEqual) return false;
420
421
  var groupStylesEqual = prevGroupStyles.length === nextGroupStyles.length && (prevGroupStyles == null ? void 0 : prevGroupStyles[0]) === (nextGroupStyles == null ? void 0 : nextGroupStyles[0]);
421
422
  if (!groupStylesEqual) return false;
422
- var messageEqual = prevMessage.deleted_at === nextMessage.deleted_at && prevMessage.reply_count === nextMessage.reply_count && prevMessage.status === nextMessage.status && prevMessage.type === nextMessage.type && prevMessage.text === nextMessage.text;
423
+ var isPrevMessageTypeDeleted = prevMessage.type === 'deleted';
424
+ var isNextMessageTypeDeleted = nextMessage.type === 'deleted';
425
+ var messageEqual = isPrevMessageTypeDeleted === isNextMessageTypeDeleted && prevMessage.reply_count === nextMessage.reply_count && prevMessage.status === nextMessage.status && prevMessage.type === nextMessage.type && prevMessage.text === nextMessage.text && prevMessage.pinned === nextMessage.pinned;
423
426
  if (!messageEqual) return false;
424
- var quotedMessageEqual = ((_prevMessage$quoted_m = prevMessage.quoted_message) == null ? void 0 : _prevMessage$quoted_m.id) === ((_nextMessage$quoted_m = nextMessage.quoted_message) == null ? void 0 : _nextMessage$quoted_m.id) && ((_prevMessage$quoted_m2 = prevMessage.quoted_message) == null ? void 0 : _prevMessage$quoted_m2.deleted_at) === ((_nextMessage$quoted_m2 = nextMessage.quoted_message) == null ? void 0 : _nextMessage$quoted_m2.deleted_at);
427
+ var isPrevQuotedMessageTypeDeleted = ((_prevMessage$quoted_m = prevMessage.quoted_message) == null ? void 0 : _prevMessage$quoted_m.type) === 'deleted';
428
+ var isNextQuotedMessageTypeDeleted = ((_nextMessage$quoted_m = nextMessage.quoted_message) == null ? void 0 : _nextMessage$quoted_m.type) === 'deleted';
429
+ var quotedMessageEqual = ((_prevMessage$quoted_m2 = prevMessage.quoted_message) == null ? void 0 : _prevMessage$quoted_m2.id) === ((_nextMessage$quoted_m2 = nextMessage.quoted_message) == null ? void 0 : _nextMessage$quoted_m2.id) && isPrevQuotedMessageTypeDeleted === isNextQuotedMessageTypeDeleted;
425
430
  if (!quotedMessageEqual) return false;
426
431
  var prevAttachments = prevMessage.attachments;
427
432
  var nextAttachments = nextMessage.attachments;
@@ -482,9 +487,7 @@ var MessageContent = function MessageContent(props) {
482
487
  MessageHeader = _useMessagesContext.MessageHeader,
483
488
  MessageReplies = _useMessagesContext.MessageReplies,
484
489
  MessageStatus = _useMessagesContext.MessageStatus,
485
- quotedRepliesEnabled = _useMessagesContext.quotedRepliesEnabled,
486
- Reply = _useMessagesContext.Reply,
487
- threadRepliesEnabled = _useMessagesContext.threadRepliesEnabled;
490
+ Reply = _useMessagesContext.Reply;
488
491
 
489
492
  var _useTranslationContex = (0, _TranslationContext.useTranslationContext)(),
490
493
  t = _useTranslationContex.t,
@@ -518,13 +521,11 @@ var MessageContent = function MessageContent(props) {
518
521
  onPressIn: onPressIn,
519
522
  otherAttachments: otherAttachments,
520
523
  preventPress: preventPress,
521
- quotedRepliesEnabled: quotedRepliesEnabled,
522
524
  Reply: Reply,
523
525
  showMessageStatus: showMessageStatus,
524
526
  t: t,
525
527
  tDateTimeParser: tDateTimeParser,
526
- threadList: threadList,
527
- threadRepliesEnabled: threadRepliesEnabled
528
+ threadList: threadList
528
529
  }, props, {
529
530
  __self: _this,
530
531
  __source: {
@@ -1 +1 @@
1
- {"version":3,"sources":["MessageContent.tsx"],"names":["styles","StyleSheet","create","containerInner","borderTopLeftRadius","borderTopRightRadius","borderWidth","overflow","leftAlignContent","justifyContent","leftAlignItems","alignItems","replyBorder","borderLeftWidth","bottom","position","replyContainer","flexDirection","paddingHorizontal","paddingTop","rightAlignContent","rightAlignItems","MessageContentWithContext","props","additionalTouchableProps","alignment","Attachment","disabled","FileAttachmentGroup","formatDate","Gallery","groupStyles","hasReactions","isMyMessage","lastGroupMessage","members","message","messageContentOrder","MessageDeleted","MessageFooter","MessageHeader","MessageReplies","MessageStatus","onLongPress","onlyEmojis","onPress","onPressIn","otherAttachments","preventPress","quotedRepliesEnabled","Reply","setMessageContentWidth","showMessageStatus","tDateTimeParser","threadList","threadRepliesEnabled","theme","colors","accent_red","blue_alice","grey_gainsboro","grey_whisper","transparent","messageSimple","content","container","borderRadiusL","borderRadiusS","errorContainer","errorIcon","errorIconContainer","wrapper","reactionList","radius","reactionSize","getDateText","formatter","created_at","parserOutput","format","onLayout","width","nativeEvent","layout","error","type","status","groupStyle","toLowerCase","hasThreadReplies","reply_count","noBorder","quoted_message","length","deleted_at","backgroundColor","repliesCurveColor","event","emitter","borderColor","height","left","undefined","right","borderBottomLeftRadius","borderBottomRightRadius","map","messageContentType","messageContentOrderIndex","messageContainer","maxWidth","attachment","attachmentIndex","id","actions","absoluteFill","areEqual","prevProps","nextProps","prevGoToMessage","goToMessage","prevGroupStyles","prevHasReactions","prevLastGroupMessage","prevMembers","prevMessage","prevMessageContentOrder","prevOnlyEmojis","prevOtherAttachments","prevT","t","prevTDateTimeParser","nextGoToMessage","nextGroupStyles","nextHasReactions","nextLastGroupMessage","nextMembers","nextMessage","nextMessageContentOrder","nextOnlyEmojis","nextOtherAttachments","nextT","nextTDateTimeParser","hasReactionsEqual","lastGroupMessageEqual","goToMessageChangedAndMatters","quoted_message_id","onlyEmojisEqual","otherAttachmentsEqual","membersEqual","Object","keys","groupStylesEqual","messageEqual","text","quotedMessageEqual","prevAttachments","attachments","nextAttachments","attachmentsEqual","Array","isArray","every","index","image_url","og_scrape_url","thumb_url","latestReactionsEqual","latest_reactions","messageContentOrderEqual","tEqual","tDateTimeParserEqual","MemoizedMessageContent","React","memo","MessageContent","lastReceivedId","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, StyleSheet, TouchableOpacity, View } from 'react-native';\n\nimport { MessageTextContainer } from './MessageTextContainer';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport {\n isDayOrMoment,\n TDateTimeParserInput,\n TranslationContextValue,\n useTranslationContext,\n} from '../../../contexts/translationContext/TranslationContext';\n\nimport { Error } from '../../../icons';\nimport { vw } from '../../../utils/utils';\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 containerInner: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n borderWidth: 1,\n overflow: 'hidden',\n },\n leftAlignContent: {\n justifyContent: 'flex-start',\n },\n leftAlignItems: {\n alignItems: 'flex-start',\n },\n replyBorder: {\n borderLeftWidth: 1,\n bottom: 0,\n position: 'absolute',\n },\n replyContainer: {\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n rightAlignContent: {\n justifyContent: 'flex-end',\n },\n rightAlignItems: {\n alignItems: 'flex-end',\n },\n});\n\nexport type MessageContentPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<\n MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n | 'alignment'\n | 'disabled'\n | 'goToMessage'\n | 'groupStyles'\n | 'hasReactions'\n | 'isMyMessage'\n | 'lastGroupMessage'\n | 'members'\n | 'message'\n | 'messageContentOrder'\n | 'onLongPress'\n | 'onlyEmojis'\n | 'onPress'\n | 'onPressIn'\n | 'otherAttachments'\n | 'preventPress'\n | 'showMessageStatus'\n | 'threadList'\n> &\n Pick<\n MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n | 'additionalTouchableProps'\n | 'Attachment'\n | 'FileAttachmentGroup'\n | 'formatDate'\n | 'Gallery'\n | 'MessageFooter'\n | 'MessageHeader'\n | 'MessageDeleted'\n | 'MessageReplies'\n | 'MessageStatus'\n | 'onPressInMessage'\n | 'quotedRepliesEnabled'\n | 'Reply'\n | 'threadRepliesEnabled'\n > &\n Pick<TranslationContextValue, 't' | 'tDateTimeParser'> & {\n setMessageContentWidth: React.Dispatch<React.SetStateAction<number>>;\n };\n\n/**\n * Child of MessageSimple that displays a message's content\n */\nconst MessageContentWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: MessageContentPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n additionalTouchableProps,\n alignment,\n Attachment,\n disabled,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n groupStyles,\n hasReactions,\n isMyMessage,\n lastGroupMessage,\n members,\n message,\n messageContentOrder,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n onLongPress,\n onlyEmojis,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n quotedRepliesEnabled,\n Reply,\n setMessageContentWidth,\n showMessageStatus,\n tDateTimeParser,\n threadList,\n threadRepliesEnabled,\n } = props;\n\n const {\n theme: {\n colors: { accent_red, blue_alice, grey_gainsboro, grey_whisper, transparent },\n messageSimple: {\n content: {\n container: { borderRadiusL, borderRadiusS, ...container },\n containerInner,\n errorContainer,\n errorIcon,\n errorIconContainer,\n replyBorder,\n replyContainer,\n wrapper,\n },\n reactionList: { radius, reactionSize },\n },\n },\n } = useTheme();\n\n const getDateText = (formatter?: (date: TDateTimeParserInput) => string) => {\n if (!message.created_at) return '';\n\n if (formatter) {\n return formatter(message.created_at);\n }\n\n const parserOutput = tDateTimeParser(message.created_at);\n\n if (isDayOrMoment(parserOutput)) {\n return parserOutput.format('LT');\n }\n return message.created_at;\n };\n\n const onLayout: (event: LayoutChangeEvent) => void = ({\n nativeEvent: {\n layout: { width },\n },\n }) => {\n setMessageContentWidth(width);\n };\n\n const error = message.type === 'error' || message.status === 'failed';\n\n const groupStyle = `${alignment}_${groupStyles?.[0]?.toLowerCase?.()}`;\n\n const hasThreadReplies = !!message?.reply_count;\n\n const noBorder = (onlyEmojis && !message.quoted_message) || !!otherAttachments.length;\n\n if (message.deleted_at) {\n return (\n <MessageDeleted\n formattedDate={getDateText(formatDate)}\n groupStyle={groupStyle}\n noBorder={noBorder}\n onLayout={onLayout}\n />\n );\n }\n\n const backgroundColor =\n onlyEmojis && !message.quoted_message\n ? transparent\n : otherAttachments.length\n ? otherAttachments[0].type === 'giphy'\n ? !message.quoted_message\n ? transparent\n : grey_gainsboro\n : blue_alice\n : alignment === 'left' || error\n ? transparent\n : grey_gainsboro;\n\n const repliesCurveColor = isMyMessage && !error ? backgroundColor : grey_whisper;\n\n return (\n <TouchableOpacity\n activeOpacity={0.7}\n disabled={disabled || preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'messageContent',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n emitter: 'messageContent',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n emitter: 'messageContent',\n event,\n });\n }\n }}\n {...additionalTouchableProps}\n /**\n * Border radii are useful for the case of error message types only.\n * Otherwise background is transparent, so border radius is not really visible.\n */\n style={[\n alignment === 'left' ? styles.leftAlignItems : styles.rightAlignItems,\n { paddingTop: hasReactions ? reactionSize / 2 + radius : 2 },\n error ? errorContainer : {},\n container,\n ]}\n >\n {MessageHeader && (\n <MessageHeader\n alignment={alignment}\n formattedDate={getDateText(formatDate)}\n isDeleted={!!message.deleted_at}\n lastGroupMessage={lastGroupMessage}\n members={members}\n message={message}\n MessageStatus={MessageStatus}\n otherAttachments={otherAttachments}\n showMessageStatus={showMessageStatus}\n />\n )}\n <View onLayout={onLayout} style={wrapper}>\n {hasThreadReplies && !threadList && threadRepliesEnabled && !noBorder && (\n <View\n style={[\n styles.replyBorder,\n {\n borderColor: repliesCurveColor,\n height: borderRadiusL,\n left: alignment === 'left' ? 0 : undefined,\n right: alignment === 'right' ? 0 : undefined,\n },\n replyBorder,\n ]}\n />\n )}\n <View\n style={[\n styles.containerInner,\n {\n backgroundColor,\n borderBottomLeftRadius:\n (groupStyle === 'left_bottom' || groupStyle === 'left_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderBottomRightRadius:\n (groupStyle === 'right_bottom' || groupStyle === 'right_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderColor: isMyMessage && !error ? backgroundColor : grey_whisper,\n },\n noBorder ? { borderWidth: 0 } : {},\n containerInner,\n ]}\n testID='message-content-wrapper'\n >\n {messageContentOrder.map((messageContentType, messageContentOrderIndex) => {\n switch (messageContentType) {\n case 'quoted_reply':\n return (\n message.quoted_message &&\n quotedRepliesEnabled && (\n <View\n key={`quoted_reply_${messageContentOrderIndex}`}\n style={[styles.replyContainer, replyContainer]}\n >\n <Reply styles={{ messageContainer: { maxWidth: vw(60) } }} />\n </View>\n )\n );\n case 'attachments':\n return otherAttachments.map((attachment, attachmentIndex) => (\n <Attachment attachment={attachment} key={`${message.id}-${attachmentIndex}`} />\n ));\n case 'files':\n return (\n <FileAttachmentGroup\n key={`file_attachment_group_${messageContentOrderIndex}`}\n messageId={message.id}\n />\n );\n case 'gallery':\n return <Gallery key={`gallery_${messageContentOrderIndex}`} />;\n case 'text':\n default:\n return otherAttachments.length && otherAttachments[0].actions ? null : (\n <MessageTextContainer<At, Ch, Co, Ev, Me, Re, Us>\n key={`message_text_container_${messageContentOrderIndex}`}\n />\n );\n }\n })}\n </View>\n {error && (\n <View style={StyleSheet.absoluteFill} testID='message-error'>\n <View style={errorIconContainer}>\n <Error pathFill={accent_red} {...errorIcon} />\n </View>\n </View>\n )}\n </View>\n {threadRepliesEnabled && (\n <MessageReplies noBorder={noBorder} repliesCurveColor={repliesCurveColor} />\n )}\n <MessageFooter formattedDate={getDateText(formatDate)} isDeleted={!!message.deleted_at} />\n </TouchableOpacity>\n );\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: MessageContentPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: MessageContentPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n goToMessage: prevGoToMessage,\n groupStyles: prevGroupStyles,\n hasReactions: prevHasReactions,\n lastGroupMessage: prevLastGroupMessage,\n members: prevMembers,\n message: prevMessage,\n messageContentOrder: prevMessageContentOrder,\n onlyEmojis: prevOnlyEmojis,\n otherAttachments: prevOtherAttachments,\n t: prevT,\n tDateTimeParser: prevTDateTimeParser,\n } = prevProps;\n const {\n goToMessage: nextGoToMessage,\n groupStyles: nextGroupStyles,\n hasReactions: nextHasReactions,\n lastGroupMessage: nextLastGroupMessage,\n members: nextMembers,\n message: nextMessage,\n messageContentOrder: nextMessageContentOrder,\n onlyEmojis: nextOnlyEmojis,\n otherAttachments: nextOtherAttachments,\n t: nextT,\n tDateTimeParser: nextTDateTimeParser,\n } = nextProps;\n\n const hasReactionsEqual = prevHasReactions === nextHasReactions;\n if (!hasReactionsEqual) return false;\n\n const lastGroupMessageEqual = prevLastGroupMessage === nextLastGroupMessage;\n if (!lastGroupMessageEqual) return false;\n\n const goToMessageChangedAndMatters =\n nextMessage.quoted_message_id && prevGoToMessage !== nextGoToMessage;\n\n if (goToMessageChangedAndMatters) return false;\n\n const onlyEmojisEqual = prevOnlyEmojis === nextOnlyEmojis;\n if (!onlyEmojisEqual) return false;\n\n const otherAttachmentsEqual =\n prevOtherAttachments.length === nextOtherAttachments.length &&\n prevOtherAttachments?.[0]?.actions?.length === nextOtherAttachments?.[0]?.actions?.length;\n if (!otherAttachmentsEqual) return false;\n\n const membersEqual = Object.keys(prevMembers).length === Object.keys(nextMembers).length;\n if (!membersEqual) return false;\n\n const groupStylesEqual =\n prevGroupStyles.length === nextGroupStyles.length &&\n prevGroupStyles?.[0] === nextGroupStyles?.[0];\n if (!groupStylesEqual) return false;\n\n const messageEqual =\n prevMessage.deleted_at === nextMessage.deleted_at &&\n prevMessage.reply_count === nextMessage.reply_count &&\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n prevMessage.text === nextMessage.text;\n\n if (!messageEqual) return false;\n\n const quotedMessageEqual =\n prevMessage.quoted_message?.id === nextMessage.quoted_message?.id &&\n prevMessage.quoted_message?.deleted_at === nextMessage.quoted_message?.deleted_at;\n\n if (!quotedMessageEqual) return false;\n\n const prevAttachments = prevMessage.attachments;\n const nextAttachments = nextMessage.attachments;\n const attachmentsEqual =\n Array.isArray(prevAttachments) && Array.isArray(nextAttachments)\n ? prevAttachments.length === nextAttachments.length &&\n prevAttachments.every(\n (attachment, index) =>\n attachment.image_url === nextAttachments[index].image_url &&\n attachment.og_scrape_url === nextAttachments[index].og_scrape_url &&\n attachment.thumb_url === nextAttachments[index].thumb_url,\n )\n : prevAttachments === nextAttachments;\n if (!attachmentsEqual) return false;\n\n const latestReactionsEqual =\n Array.isArray(prevMessage.latest_reactions) && Array.isArray(nextMessage.latest_reactions)\n ? prevMessage.latest_reactions.length === nextMessage.latest_reactions.length &&\n prevMessage.latest_reactions.every(\n ({ type }, index) => type === nextMessage.latest_reactions?.[index].type,\n )\n : prevMessage.latest_reactions === nextMessage.latest_reactions;\n if (!latestReactionsEqual) return false;\n\n const messageContentOrderEqual =\n prevMessageContentOrder.length === nextMessageContentOrder.length &&\n prevMessageContentOrder.every(\n (messageContentType, index) => messageContentType === nextMessageContentOrder[index],\n );\n if (!messageContentOrderEqual) return false;\n\n const tEqual = prevT === nextT;\n if (!tEqual) return false;\n\n const tDateTimeParserEqual = prevTDateTimeParser === nextTDateTimeParser;\n if (!tDateTimeParserEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageContent = React.memo(\n MessageContentWithContext,\n areEqual,\n) as typeof MessageContentWithContext;\n\nexport type MessageContentProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<\n Omit<MessageContentPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>, 'setMessageContentWidth'>\n> &\n Pick<MessageContentPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>, 'setMessageContentWidth'>;\n\n/**\n * Child of MessageSimple that displays a message's content\n */\nexport const MessageContent = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: MessageContentProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n alignment,\n disabled,\n goToMessage,\n groupStyles,\n hasReactions,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n onLongPress,\n onlyEmojis,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n showMessageStatus,\n threadList,\n } = useMessageContext<At, Ch, Co, Ev, Me, Re, Us>();\n const {\n additionalTouchableProps,\n Attachment,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n quotedRepliesEnabled,\n Reply,\n threadRepliesEnabled,\n } = useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { t, tDateTimeParser } = useTranslationContext();\n\n return (\n <MemoizedMessageContent<At, Ch, Co, Ev, Me, Re, Us>\n {...{\n additionalTouchableProps,\n alignment,\n Attachment,\n disabled,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n goToMessage,\n groupStyles,\n hasReactions,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n onLongPress,\n onlyEmojis,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n quotedRepliesEnabled,\n Reply,\n showMessageStatus,\n t,\n tDateTimeParser,\n threadList,\n threadRepliesEnabled,\n }}\n {...props}\n />\n );\n};\n\nMessageContent.displayName = 'MessageContent{messageSimple{content}}';\n"]}
1
+ {"version":3,"sources":["MessageContent.tsx"],"names":["styles","StyleSheet","create","containerInner","borderTopLeftRadius","borderTopRightRadius","borderWidth","overflow","leftAlignContent","justifyContent","leftAlignItems","alignItems","replyBorder","borderLeftWidth","bottom","position","replyContainer","flexDirection","paddingHorizontal","paddingTop","rightAlignContent","rightAlignItems","MessageContentWithContext","props","additionalTouchableProps","alignment","Attachment","disabled","FileAttachmentGroup","formatDate","Gallery","groupStyles","hasReactions","isMyMessage","lastGroupMessage","members","message","messageContentOrder","MessageDeleted","MessageFooter","MessageHeader","MessageReplies","MessageStatus","onLongPress","onlyEmojis","onPress","onPressIn","otherAttachments","preventPress","Reply","setMessageContentWidth","showMessageStatus","tDateTimeParser","threadList","theme","colors","accent_red","blue_alice","grey_gainsboro","grey_whisper","transparent","white","messageSimple","content","container","borderRadiusL","borderRadiusS","errorContainer","errorIcon","errorIconContainer","wrapper","reactionList","radius","reactionSize","getDateText","formatter","created_at","parserOutput","format","onLayout","width","nativeEvent","layout","error","type","status","MessageStatusTypes","FAILED","groupStyle","toLowerCase","hasThreadReplies","reply_count","noBorder","quoted_message","length","isMessageTypeDeleted","backgroundColor","repliesCurveColor","event","emitter","borderColor","height","left","undefined","right","borderBottomLeftRadius","borderBottomRightRadius","map","messageContentType","messageContentOrderIndex","messageContainer","maxWidth","attachment","attachmentIndex","id","actions","absoluteFill","areEqual","prevProps","nextProps","prevGoToMessage","goToMessage","prevGroupStyles","prevHasReactions","prevLastGroupMessage","prevMembers","prevMessage","prevMessageContentOrder","prevOnlyEmojis","prevOtherAttachments","prevT","t","prevTDateTimeParser","nextGoToMessage","nextGroupStyles","nextHasReactions","nextLastGroupMessage","nextMembers","nextMessage","nextMessageContentOrder","nextOnlyEmojis","nextOtherAttachments","nextT","nextTDateTimeParser","hasReactionsEqual","lastGroupMessageEqual","goToMessageChangedAndMatters","quoted_message_id","onlyEmojisEqual","otherAttachmentsEqual","membersEqual","Object","keys","groupStylesEqual","isPrevMessageTypeDeleted","isNextMessageTypeDeleted","messageEqual","text","pinned","isPrevQuotedMessageTypeDeleted","isNextQuotedMessageTypeDeleted","quotedMessageEqual","prevAttachments","attachments","nextAttachments","attachmentsEqual","Array","isArray","every","index","image_url","og_scrape_url","thumb_url","latestReactionsEqual","latest_reactions","messageContentOrderEqual","tEqual","tDateTimeParserEqual","MemoizedMessageContent","React","memo","MessageContent","lastReceivedId","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, StyleSheet, TouchableOpacity, View } from 'react-native';\n\nimport { MessageTextContainer } from './MessageTextContainer';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport {\n isDayOrMoment,\n TDateTimeParserInput,\n TranslationContextValue,\n useTranslationContext,\n} from '../../../contexts/translationContext/TranslationContext';\n\nimport { Error } from '../../../icons';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../types/types';\nimport { MessageStatusTypes, vw } from '../../../utils/utils';\n\nconst styles = StyleSheet.create({\n containerInner: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n borderWidth: 1,\n overflow: 'hidden',\n },\n leftAlignContent: {\n justifyContent: 'flex-start',\n },\n leftAlignItems: {\n alignItems: 'flex-start',\n },\n replyBorder: {\n borderLeftWidth: 1,\n bottom: 0,\n position: 'absolute',\n },\n replyContainer: {\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n rightAlignContent: {\n justifyContent: 'flex-end',\n },\n rightAlignItems: {\n alignItems: 'flex-end',\n },\n});\n\nexport type MessageContentPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<\n MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n | 'alignment'\n | 'disabled'\n | 'goToMessage'\n | 'groupStyles'\n | 'hasReactions'\n | 'isMyMessage'\n | 'lastGroupMessage'\n | 'members'\n | 'message'\n | 'messageContentOrder'\n | 'onLongPress'\n | 'onlyEmojis'\n | 'onPress'\n | 'onPressIn'\n | 'otherAttachments'\n | 'preventPress'\n | 'showMessageStatus'\n | 'threadList'\n> &\n Pick<\n MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n | 'additionalTouchableProps'\n | 'Attachment'\n | 'FileAttachmentGroup'\n | 'formatDate'\n | 'Gallery'\n | 'MessageFooter'\n | 'MessageHeader'\n | 'MessageDeleted'\n | 'MessageReplies'\n | 'MessageStatus'\n | 'onPressInMessage'\n | 'Reply'\n > &\n Pick<TranslationContextValue, 't' | 'tDateTimeParser'> & {\n setMessageContentWidth: React.Dispatch<React.SetStateAction<number>>;\n };\n\n/**\n * Child of MessageSimple that displays a message's content\n */\nconst MessageContentWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: MessageContentPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n additionalTouchableProps,\n alignment,\n Attachment,\n disabled,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n groupStyles,\n hasReactions,\n isMyMessage,\n lastGroupMessage,\n members,\n message,\n messageContentOrder,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n onLongPress,\n onlyEmojis,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n Reply,\n setMessageContentWidth,\n showMessageStatus,\n tDateTimeParser,\n threadList,\n } = props;\n\n const {\n theme: {\n colors: { accent_red, blue_alice, grey_gainsboro, grey_whisper, transparent, white },\n messageSimple: {\n content: {\n container: { borderRadiusL, borderRadiusS, ...container },\n containerInner,\n errorContainer,\n errorIcon,\n errorIconContainer,\n replyBorder,\n replyContainer,\n wrapper,\n },\n reactionList: { radius, reactionSize },\n },\n },\n } = useTheme();\n\n const getDateText = (formatter?: (date: TDateTimeParserInput) => string) => {\n if (!message.created_at) return '';\n\n if (formatter) {\n return formatter(message.created_at);\n }\n\n const parserOutput = tDateTimeParser(message.created_at);\n\n if (isDayOrMoment(parserOutput)) {\n return parserOutput.format('LT');\n }\n return message.created_at;\n };\n\n const onLayout: (event: LayoutChangeEvent) => void = ({\n nativeEvent: {\n layout: { width },\n },\n }) => {\n setMessageContentWidth(width);\n };\n\n const error = message.type === 'error' || message.status === MessageStatusTypes.FAILED;\n\n const groupStyle = `${alignment}_${groupStyles?.[0]?.toLowerCase?.()}`;\n\n const hasThreadReplies = !!message?.reply_count;\n\n const noBorder = (onlyEmojis && !message.quoted_message) || !!otherAttachments.length;\n\n const isMessageTypeDeleted = message.type === 'deleted';\n\n if (isMessageTypeDeleted) {\n return (\n <MessageDeleted\n formattedDate={getDateText(formatDate)}\n groupStyle={groupStyle}\n noBorder={noBorder}\n onLayout={onLayout}\n />\n );\n }\n\n const backgroundColor =\n onlyEmojis && !message.quoted_message\n ? transparent\n : otherAttachments.length\n ? otherAttachments[0].type === 'giphy'\n ? !message.quoted_message\n ? transparent\n : grey_gainsboro\n : blue_alice\n : alignment === 'left' || error\n ? white\n : grey_gainsboro;\n\n const repliesCurveColor = isMyMessage && !error ? backgroundColor : grey_whisper;\n\n return (\n <TouchableOpacity\n activeOpacity={0.7}\n disabled={disabled || preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'messageContent',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n emitter: 'messageContent',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n emitter: 'messageContent',\n event,\n });\n }\n }}\n testID='message-content'\n {...additionalTouchableProps}\n /**\n * Border radii are useful for the case of error message types only.\n * Otherwise background is transparent, so border radius is not really visible.\n */\n style={[\n alignment === 'left' ? styles.leftAlignItems : styles.rightAlignItems,\n { paddingTop: hasReactions ? reactionSize / 2 + radius : 2 },\n error ? errorContainer : {},\n container,\n ]}\n >\n {MessageHeader && (\n <MessageHeader\n alignment={alignment}\n formattedDate={getDateText(formatDate)}\n isDeleted={!!isMessageTypeDeleted}\n lastGroupMessage={lastGroupMessage}\n members={members}\n message={message}\n MessageStatus={MessageStatus}\n otherAttachments={otherAttachments}\n showMessageStatus={showMessageStatus}\n />\n )}\n <View onLayout={onLayout} style={wrapper}>\n {hasThreadReplies && !threadList && !noBorder && (\n <View\n style={[\n styles.replyBorder,\n {\n borderColor: repliesCurveColor,\n height: borderRadiusL,\n left: alignment === 'left' ? 0 : undefined,\n right: alignment === 'right' ? 0 : undefined,\n },\n replyBorder,\n ]}\n />\n )}\n <View\n style={[\n styles.containerInner,\n {\n backgroundColor,\n borderBottomLeftRadius:\n (groupStyle === 'left_bottom' || groupStyle === 'left_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderBottomRightRadius:\n (groupStyle === 'right_bottom' || groupStyle === 'right_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderColor: isMyMessage && !error ? backgroundColor : grey_whisper,\n },\n noBorder ? { borderWidth: 0 } : {},\n containerInner,\n ]}\n testID='message-content-wrapper'\n >\n {messageContentOrder.map((messageContentType, messageContentOrderIndex) => {\n switch (messageContentType) {\n case 'quoted_reply':\n return (\n message.quoted_message && (\n <View\n key={`quoted_reply_${messageContentOrderIndex}`}\n style={[styles.replyContainer, replyContainer]}\n >\n <Reply styles={{ messageContainer: { maxWidth: vw(60) } }} />\n </View>\n )\n );\n case 'attachments':\n return otherAttachments.map((attachment, attachmentIndex) => (\n <Attachment attachment={attachment} key={`${message.id}-${attachmentIndex}`} />\n ));\n case 'files':\n return (\n <FileAttachmentGroup\n key={`file_attachment_group_${messageContentOrderIndex}`}\n messageId={message.id}\n />\n );\n case 'gallery':\n return <Gallery key={`gallery_${messageContentOrderIndex}`} />;\n case 'text':\n default:\n return otherAttachments.length && otherAttachments[0].actions ? null : (\n <MessageTextContainer<At, Ch, Co, Ev, Me, Re, Us>\n key={`message_text_container_${messageContentOrderIndex}`}\n />\n );\n }\n })}\n </View>\n {error && (\n <View style={StyleSheet.absoluteFill} testID='message-error'>\n <View style={errorIconContainer}>\n <Error pathFill={accent_red} {...errorIcon} />\n </View>\n </View>\n )}\n </View>\n <MessageReplies noBorder={noBorder} repliesCurveColor={repliesCurveColor} />\n <MessageFooter formattedDate={getDateText(formatDate)} isDeleted={!!isMessageTypeDeleted} />\n </TouchableOpacity>\n );\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: MessageContentPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: MessageContentPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n goToMessage: prevGoToMessage,\n groupStyles: prevGroupStyles,\n hasReactions: prevHasReactions,\n lastGroupMessage: prevLastGroupMessage,\n members: prevMembers,\n message: prevMessage,\n messageContentOrder: prevMessageContentOrder,\n onlyEmojis: prevOnlyEmojis,\n otherAttachments: prevOtherAttachments,\n t: prevT,\n tDateTimeParser: prevTDateTimeParser,\n } = prevProps;\n const {\n goToMessage: nextGoToMessage,\n groupStyles: nextGroupStyles,\n hasReactions: nextHasReactions,\n lastGroupMessage: nextLastGroupMessage,\n members: nextMembers,\n message: nextMessage,\n messageContentOrder: nextMessageContentOrder,\n onlyEmojis: nextOnlyEmojis,\n otherAttachments: nextOtherAttachments,\n t: nextT,\n tDateTimeParser: nextTDateTimeParser,\n } = nextProps;\n\n const hasReactionsEqual = prevHasReactions === nextHasReactions;\n if (!hasReactionsEqual) return false;\n\n const lastGroupMessageEqual = prevLastGroupMessage === nextLastGroupMessage;\n if (!lastGroupMessageEqual) return false;\n\n const goToMessageChangedAndMatters =\n nextMessage.quoted_message_id && prevGoToMessage !== nextGoToMessage;\n\n if (goToMessageChangedAndMatters) return false;\n\n const onlyEmojisEqual = prevOnlyEmojis === nextOnlyEmojis;\n if (!onlyEmojisEqual) return false;\n\n const otherAttachmentsEqual =\n prevOtherAttachments.length === nextOtherAttachments.length &&\n prevOtherAttachments?.[0]?.actions?.length === nextOtherAttachments?.[0]?.actions?.length;\n if (!otherAttachmentsEqual) return false;\n\n const membersEqual = Object.keys(prevMembers).length === Object.keys(nextMembers).length;\n if (!membersEqual) return false;\n\n const groupStylesEqual =\n prevGroupStyles.length === nextGroupStyles.length &&\n prevGroupStyles?.[0] === nextGroupStyles?.[0];\n if (!groupStylesEqual) return false;\n\n const isPrevMessageTypeDeleted = prevMessage.type === 'deleted';\n const isNextMessageTypeDeleted = nextMessage.type === 'deleted';\n\n const messageEqual =\n isPrevMessageTypeDeleted === isNextMessageTypeDeleted &&\n prevMessage.reply_count === nextMessage.reply_count &&\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n prevMessage.text === nextMessage.text &&\n prevMessage.pinned === nextMessage.pinned;\n\n if (!messageEqual) return false;\n\n const isPrevQuotedMessageTypeDeleted = prevMessage.quoted_message?.type === 'deleted';\n const isNextQuotedMessageTypeDeleted = nextMessage.quoted_message?.type === 'deleted';\n\n const quotedMessageEqual =\n prevMessage.quoted_message?.id === nextMessage.quoted_message?.id &&\n isPrevQuotedMessageTypeDeleted === isNextQuotedMessageTypeDeleted;\n\n if (!quotedMessageEqual) return false;\n\n const prevAttachments = prevMessage.attachments;\n const nextAttachments = nextMessage.attachments;\n const attachmentsEqual =\n Array.isArray(prevAttachments) && Array.isArray(nextAttachments)\n ? prevAttachments.length === nextAttachments.length &&\n prevAttachments.every(\n (attachment, index) =>\n attachment.image_url === nextAttachments[index].image_url &&\n attachment.og_scrape_url === nextAttachments[index].og_scrape_url &&\n attachment.thumb_url === nextAttachments[index].thumb_url,\n )\n : prevAttachments === nextAttachments;\n if (!attachmentsEqual) return false;\n\n const latestReactionsEqual =\n Array.isArray(prevMessage.latest_reactions) && Array.isArray(nextMessage.latest_reactions)\n ? prevMessage.latest_reactions.length === nextMessage.latest_reactions.length &&\n prevMessage.latest_reactions.every(\n ({ type }, index) => type === nextMessage.latest_reactions?.[index].type,\n )\n : prevMessage.latest_reactions === nextMessage.latest_reactions;\n if (!latestReactionsEqual) return false;\n\n const messageContentOrderEqual =\n prevMessageContentOrder.length === nextMessageContentOrder.length &&\n prevMessageContentOrder.every(\n (messageContentType, index) => messageContentType === nextMessageContentOrder[index],\n );\n if (!messageContentOrderEqual) return false;\n\n const tEqual = prevT === nextT;\n if (!tEqual) return false;\n\n const tDateTimeParserEqual = prevTDateTimeParser === nextTDateTimeParser;\n if (!tDateTimeParserEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageContent = React.memo(\n MessageContentWithContext,\n areEqual,\n) as typeof MessageContentWithContext;\n\nexport type MessageContentProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<\n Omit<MessageContentPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>, 'setMessageContentWidth'>\n> &\n Pick<MessageContentPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>, 'setMessageContentWidth'>;\n\n/**\n * Child of MessageSimple that displays a message's content\n */\nexport const MessageContent = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: MessageContentProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n alignment,\n disabled,\n goToMessage,\n groupStyles,\n hasReactions,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n onLongPress,\n onlyEmojis,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n showMessageStatus,\n threadList,\n } = useMessageContext<At, Ch, Co, Ev, Me, Re, Us>();\n const {\n additionalTouchableProps,\n Attachment,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n Reply,\n } = useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { t, tDateTimeParser } = useTranslationContext();\n\n return (\n <MemoizedMessageContent<At, Ch, Co, Ev, Me, Re, Us>\n {...{\n additionalTouchableProps,\n alignment,\n Attachment,\n disabled,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n goToMessage,\n groupStyles,\n hasReactions,\n isMyMessage,\n lastGroupMessage,\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n onLongPress,\n onlyEmojis,\n onPress,\n onPressIn,\n otherAttachments,\n preventPress,\n Reply,\n showMessageStatus,\n t,\n tDateTimeParser,\n threadList,\n }}\n {...props}\n />\n );\n};\n\nMessageContent.displayName = 'MessageContent{messageSimple{content}}';\n"]}
@@ -70,7 +70,7 @@ var MessageDeletedWithContext = function MessageDeletedWithContext(props) {
70
70
  __self: _this,
71
71
  __source: {
72
72
  fileName: _jsxFileName,
73
- lineNumber: 101,
73
+ lineNumber: 100,
74
74
  columnNumber: 5
75
75
  }
76
76
  }, _react["default"].createElement(_reactNative.View, {
@@ -86,7 +86,7 @@ var MessageDeletedWithContext = function MessageDeletedWithContext(props) {
86
86
  __self: _this,
87
87
  __source: {
88
88
  fileName: _jsxFileName,
89
- lineNumber: 108,
89
+ lineNumber: 107,
90
90
  columnNumber: 7
91
91
  }
92
92
  }, _react["default"].createElement(_MessageTextContainer.MessageTextContainer, {
@@ -101,7 +101,7 @@ var MessageDeletedWithContext = function MessageDeletedWithContext(props) {
101
101
  __self: _this,
102
102
  __source: {
103
103
  fileName: _jsxFileName,
104
- lineNumber: 128,
104
+ lineNumber: 127,
105
105
  columnNumber: 9
106
106
  }
107
107
  })), _react["default"].createElement(MessageFooter, {
@@ -110,7 +110,7 @@ var MessageDeletedWithContext = function MessageDeletedWithContext(props) {
110
110
  __self: _this,
111
111
  __source: {
112
112
  fileName: _jsxFileName,
113
- lineNumber: 133,
113
+ lineNumber: 132,
114
114
  columnNumber: 7
115
115
  }
116
116
  }));
@@ -125,7 +125,9 @@ var areEqual = function areEqual(prevProps, nextProps) {
125
125
  nextMessage = nextProps.message;
126
126
  var alignmentEqual = prevAlignment === nextAlignment;
127
127
  if (!alignmentEqual) return false;
128
- var messageEqual = prevMessage.deleted_at === nextMessage.deleted_at && prevMessage.reply_count === nextMessage.reply_count && prevMessage.status === nextMessage.status && prevMessage.type === nextMessage.type && prevMessage.text === nextMessage.text;
128
+ var isPrevMessageTypeDeleted = prevMessage.type === 'deleted';
129
+ var isNextMessageTypeDeleted = nextMessage.type === 'deleted';
130
+ var messageEqual = isPrevMessageTypeDeleted === isNextMessageTypeDeleted && prevMessage.reply_count === nextMessage.reply_count && prevMessage.status === nextMessage.status && prevMessage.type === nextMessage.type && prevMessage.text === nextMessage.text && prevMessage.pinned === nextMessage.pinned;
129
131
  if (!messageEqual) return false;
130
132
  var formattedDateEqual = prevFormattedDate === nextFormattedDate;
131
133
  if (!formattedDateEqual) return false;
@@ -154,7 +156,7 @@ var MessageDeleted = function MessageDeleted(props) {
154
156
  __self: _this,
155
157
  __source: {
156
158
  fileName: _jsxFileName,
157
- lineNumber: 215,
159
+ lineNumber: 217,
158
160
  columnNumber: 5
159
161
  }
160
162
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["MessageDeleted.tsx"],"names":["styles","StyleSheet","create","containerInner","borderTopLeftRadius","borderTopRightRadius","borderWidth","overflow","leftAlignItems","alignItems","rightAlignItems","MessageDeletedWithContext","props","alignment","formattedDate","groupStyle","message","MessageFooter","noBorder","onLayout","t","theme","colors","grey","grey_whisper","messageSimple","content","container","borderRadiusL","borderRadiusS","deletedContainer","deletedContainerInner","deletedText","backgroundColor","borderBottomLeftRadius","borderBottomRightRadius","borderColor","em","color","text","areEqual","prevProps","nextProps","prevAlignment","prevFormattedDate","prevMessage","nextAlignment","nextFormattedDate","nextMessage","alignmentEqual","messageEqual","deleted_at","reply_count","status","type","formattedDateEqual","MemoizedMessageDeleted","React","memo","MessageDeleted","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, StyleSheet, View } from 'react-native';\nimport merge from 'lodash/merge';\n\nimport { MessageTextContainer } from './MessageTextContainer';\n\nimport {\n Alignment,\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport {\n TranslationContextValue,\n useTranslationContext,\n} from '../../../contexts/translationContext/TranslationContext';\n\nimport type { MessageFooterProps } from './MessageFooter';\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';\n\nconst styles = StyleSheet.create({\n containerInner: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n borderWidth: 1,\n overflow: 'hidden',\n },\n leftAlignItems: {\n alignItems: 'flex-start',\n },\n rightAlignItems: {\n alignItems: 'flex-end',\n },\n});\n\ntype MessageDeletedComponentProps = {\n formattedDate: string | Date;\n groupStyle: string;\n noBorder: boolean;\n onLayout: (event: LayoutChangeEvent) => void;\n};\n\ntype MessageDeletedPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'alignment' | 'message'> &\n Pick<MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'MessageFooter'> &\n Pick<TranslationContextValue, 't'> &\n MessageDeletedComponentProps;\n\nconst MessageDeletedWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: MessageDeletedPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { alignment, formattedDate, groupStyle, message, MessageFooter, noBorder, onLayout, t } =\n props;\n\n const {\n theme: {\n colors: { grey, grey_whisper },\n messageSimple: {\n content: {\n container: { borderRadiusL, borderRadiusS },\n deletedContainer,\n deletedContainerInner,\n deletedText,\n },\n },\n },\n } = useTheme();\n\n return (\n <View\n onLayout={onLayout}\n style={[\n alignment === 'left' ? styles.leftAlignItems : styles.rightAlignItems,\n deletedContainer,\n ]}\n >\n <View\n style={[\n styles.containerInner,\n {\n backgroundColor: grey_whisper,\n borderBottomLeftRadius:\n groupStyle === 'left_bottom' || groupStyle === 'left_single'\n ? borderRadiusS\n : borderRadiusL,\n borderBottomRightRadius:\n groupStyle === 'right_bottom' || groupStyle === 'right_single'\n ? borderRadiusS\n : borderRadiusL,\n borderColor: grey_whisper,\n },\n noBorder ? { borderWidth: 0 } : {},\n deletedContainerInner,\n ]}\n testID='message-content-wrapper'\n >\n <MessageTextContainer<At, Ch, Co, Ev, Me, Re, Us>\n markdownStyles={merge({ em: { color: grey } }, deletedText)}\n message={{ ...message, text: `_${t('Message deleted')}_` }}\n />\n </View>\n <MessageFooter formattedDate={formattedDate} isDeleted />\n </View>\n );\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: MessageDeletedPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: MessageDeletedPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n alignment: prevAlignment,\n formattedDate: prevFormattedDate,\n message: prevMessage,\n } = prevProps;\n const {\n alignment: nextAlignment,\n formattedDate: nextFormattedDate,\n message: nextMessage,\n } = nextProps;\n\n const alignmentEqual = prevAlignment === nextAlignment;\n if (!alignmentEqual) return false;\n\n const messageEqual =\n prevMessage.deleted_at === nextMessage.deleted_at &&\n prevMessage.reply_count === nextMessage.reply_count &&\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n prevMessage.text === nextMessage.text;\n if (!messageEqual) return false;\n\n const formattedDateEqual = prevFormattedDate === nextFormattedDate;\n if (!formattedDateEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageDeleted = React.memo(\n MessageDeletedWithContext,\n areEqual,\n) as typeof MessageDeletedWithContext;\n\nexport type MessageDeletedProps<\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> = MessageDeletedComponentProps & {\n alignment?: Alignment;\n message?: MessageType<At, Ch, Co, Ev, Me, Re, Us>;\n MessageFooter?: React.ComponentType<MessageFooterProps<At, Ch, Co, Ev, Me, Re, Us>>;\n};\n\nexport const MessageDeleted = <\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: MessageDeletedProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { alignment, message } = useMessageContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n const { MessageFooter } = useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n const { t } = useTranslationContext();\n\n return (\n <MemoizedMessageDeleted\n {...{\n alignment,\n message,\n MessageFooter,\n t,\n }}\n {...props}\n />\n );\n};\n\nMessageDeleted.displayName = 'MessageDeleted{messageSimple{content}}';\n"]}
1
+ {"version":3,"sources":["MessageDeleted.tsx"],"names":["styles","StyleSheet","create","containerInner","borderTopLeftRadius","borderTopRightRadius","borderWidth","overflow","leftAlignItems","alignItems","rightAlignItems","MessageDeletedWithContext","props","alignment","formattedDate","groupStyle","message","MessageFooter","noBorder","onLayout","t","theme","colors","grey","grey_whisper","messageSimple","content","container","borderRadiusL","borderRadiusS","deletedContainer","deletedContainerInner","deletedText","backgroundColor","borderBottomLeftRadius","borderBottomRightRadius","borderColor","em","color","text","areEqual","prevProps","nextProps","prevAlignment","prevFormattedDate","prevMessage","nextAlignment","nextFormattedDate","nextMessage","alignmentEqual","isPrevMessageTypeDeleted","type","isNextMessageTypeDeleted","messageEqual","reply_count","status","pinned","formattedDateEqual","MemoizedMessageDeleted","React","memo","MessageDeleted","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, StyleSheet, View } from 'react-native';\n\nimport merge from 'lodash/merge';\n\nimport type { MessageFooterProps } from './MessageFooter';\nimport { MessageTextContainer } from './MessageTextContainer';\n\nimport {\n Alignment,\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport {\n TranslationContextValue,\n useTranslationContext,\n} from '../../../contexts/translationContext/TranslationContext';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../types/types';\nimport type { MessageType } from '../../MessageList/hooks/useMessageList';\n\nconst styles = StyleSheet.create({\n containerInner: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n borderWidth: 1,\n overflow: 'hidden',\n },\n leftAlignItems: {\n alignItems: 'flex-start',\n },\n rightAlignItems: {\n alignItems: 'flex-end',\n },\n});\n\ntype MessageDeletedComponentProps = {\n formattedDate: string | Date;\n groupStyle: string;\n noBorder: boolean;\n onLayout: (event: LayoutChangeEvent) => void;\n};\n\ntype MessageDeletedPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'alignment' | 'message'> &\n Pick<MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'MessageFooter'> &\n Pick<TranslationContextValue, 't'> &\n MessageDeletedComponentProps;\n\nconst MessageDeletedWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: MessageDeletedPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { alignment, formattedDate, groupStyle, message, MessageFooter, noBorder, onLayout, t } =\n props;\n\n const {\n theme: {\n colors: { grey, grey_whisper },\n messageSimple: {\n content: {\n container: { borderRadiusL, borderRadiusS },\n deletedContainer,\n deletedContainerInner,\n deletedText,\n },\n },\n },\n } = useTheme();\n\n return (\n <View\n onLayout={onLayout}\n style={[\n alignment === 'left' ? styles.leftAlignItems : styles.rightAlignItems,\n deletedContainer,\n ]}\n >\n <View\n style={[\n styles.containerInner,\n {\n backgroundColor: grey_whisper,\n borderBottomLeftRadius:\n groupStyle === 'left_bottom' || groupStyle === 'left_single'\n ? borderRadiusS\n : borderRadiusL,\n borderBottomRightRadius:\n groupStyle === 'right_bottom' || groupStyle === 'right_single'\n ? borderRadiusS\n : borderRadiusL,\n borderColor: grey_whisper,\n },\n noBorder ? { borderWidth: 0 } : {},\n deletedContainerInner,\n ]}\n testID='message-content-wrapper'\n >\n <MessageTextContainer<At, Ch, Co, Ev, Me, Re, Us>\n markdownStyles={merge({ em: { color: grey } }, deletedText)}\n message={{ ...message, text: `_${t('Message deleted')}_` }}\n />\n </View>\n <MessageFooter formattedDate={formattedDate} isDeleted />\n </View>\n );\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: MessageDeletedPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: MessageDeletedPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n alignment: prevAlignment,\n formattedDate: prevFormattedDate,\n message: prevMessage,\n } = prevProps;\n const {\n alignment: nextAlignment,\n formattedDate: nextFormattedDate,\n message: nextMessage,\n } = nextProps;\n\n const alignmentEqual = prevAlignment === nextAlignment;\n if (!alignmentEqual) return false;\n const isPrevMessageTypeDeleted = prevMessage.type === 'deleted';\n const isNextMessageTypeDeleted = nextMessage.type === 'deleted';\n\n const messageEqual =\n isPrevMessageTypeDeleted === isNextMessageTypeDeleted &&\n prevMessage.reply_count === nextMessage.reply_count &&\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n prevMessage.text === nextMessage.text &&\n prevMessage.pinned === nextMessage.pinned;\n if (!messageEqual) return false;\n\n const formattedDateEqual = prevFormattedDate === nextFormattedDate;\n if (!formattedDateEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageDeleted = React.memo(\n MessageDeletedWithContext,\n areEqual,\n) as typeof MessageDeletedWithContext;\n\nexport type MessageDeletedProps<\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> = MessageDeletedComponentProps & {\n alignment?: Alignment;\n message?: MessageType<At, Ch, Co, Ev, Me, Re, Us>;\n MessageFooter?: React.ComponentType<MessageFooterProps<At, Ch, Co, Ev, Me, Re, Us>>;\n};\n\nexport const MessageDeleted = <\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: MessageDeletedProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { alignment, message } = useMessageContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n const { MessageFooter } = useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n const { t } = useTranslationContext();\n\n return (\n <MemoizedMessageDeleted\n {...{\n alignment,\n message,\n MessageFooter,\n t,\n }}\n {...props}\n />\n );\n};\n\nMessageDeleted.displayName = 'MessageDeleted{messageSimple{content}}';\n"]}