stream-chat-react-native-core 5.15.0 → 5.15.1-beta.2

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 (706) hide show
  1. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  2. package/lib/commonjs/components/Attachment/AttachmentActions.js.map +1 -1
  3. package/lib/commonjs/components/Attachment/AudioAttachment.js.map +1 -1
  4. package/lib/commonjs/components/Attachment/Card.js.map +1 -1
  5. package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
  6. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js.map +1 -1
  7. package/lib/commonjs/components/Attachment/FileIcon.js.map +1 -1
  8. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  9. package/lib/commonjs/components/Attachment/GalleryImage.js.map +1 -1
  10. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  11. package/lib/commonjs/components/Attachment/ImageLoadingFailedIndicator.js.map +1 -1
  12. package/lib/commonjs/components/Attachment/ImageLoadingIndicator.js.map +1 -1
  13. package/lib/commonjs/components/Attachment/ImageReloadIndicator.js.map +1 -1
  14. package/lib/commonjs/components/Attachment/VideoThumbnail.js.map +1 -1
  15. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -1
  16. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -1
  17. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -1
  18. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -1
  19. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -1
  20. package/lib/commonjs/components/Attachment/utils/openUrlSafely.js.map +1 -1
  21. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  22. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js.map +1 -1
  23. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerError.js.map +1 -1
  24. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerErrorImage.js.map +1 -1
  25. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js +14 -16
  26. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
  27. package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
  28. package/lib/commonjs/components/AttachmentPicker/components/CameraSelectorIcon.js.map +1 -1
  29. package/lib/commonjs/components/AttachmentPicker/components/FileSelectorIcon.js.map +1 -1
  30. package/lib/commonjs/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js.map +1 -1
  31. package/lib/commonjs/components/AttachmentPicker/components/ImageSelectorIcon.js.map +1 -1
  32. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  33. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  34. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  35. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
  36. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  37. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  38. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  39. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  40. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  41. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  42. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  43. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  44. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  45. package/lib/commonjs/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  46. package/lib/commonjs/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
  47. package/lib/commonjs/components/Channel/hooks/useTargetedMessage.js.map +1 -1
  48. package/lib/commonjs/components/ChannelList/ChannelList.js +4 -2
  49. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  50. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  51. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  52. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  53. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
  54. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  55. package/lib/commonjs/components/ChannelList/Skeleton.js.map +1 -1
  56. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  57. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  58. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  59. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  60. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  61. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  62. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  63. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  64. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  65. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  66. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js +2 -0
  67. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  68. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  69. package/lib/commonjs/components/ChannelList/utils.js.map +1 -1
  70. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  71. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  72. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  73. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +2 -4
  74. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  75. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +4 -5
  76. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
  77. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  78. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  79. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  80. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  81. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  82. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  83. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  84. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  85. package/lib/commonjs/components/Chat/hooks/useAppSettings.js.map +1 -1
  86. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  87. package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
  88. package/lib/commonjs/components/Chat/hooks/useMutedUsers.js.map +1 -1
  89. package/lib/commonjs/components/Chat/hooks/useSyncDatabase.js.map +1 -1
  90. package/lib/commonjs/components/ImageBackground.js.map +1 -1
  91. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  92. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  93. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
  94. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  95. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  96. package/lib/commonjs/components/ImageGallery/components/ImageGalleryOverlay.js.map +1 -1
  97. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -1
  98. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  99. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  100. package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
  101. package/lib/commonjs/components/Indicators/EmptyStateIndicator.js.map +1 -1
  102. package/lib/commonjs/components/Indicators/LoadingDot.js.map +1 -1
  103. package/lib/commonjs/components/Indicators/LoadingDots.js.map +1 -1
  104. package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  105. package/lib/commonjs/components/Indicators/LoadingIndicator.js.map +1 -1
  106. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
  107. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js.map +1 -1
  108. package/lib/commonjs/components/Message/Message.js.map +1 -1
  109. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  110. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  111. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  112. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  113. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  114. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  115. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  116. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  117. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  118. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  119. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +1 -1
  120. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -1
  121. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  122. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js.map +1 -1
  123. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  124. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  125. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
  126. package/lib/commonjs/components/MessageInput/AttachButton.js.map +1 -1
  127. package/lib/commonjs/components/MessageInput/CommandsButton.js.map +1 -1
  128. package/lib/commonjs/components/MessageInput/CooldownTimer.js.map +1 -1
  129. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  130. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
  131. package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
  132. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  133. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js.map +1 -1
  134. package/lib/commonjs/components/MessageInput/SendButton.js.map +1 -1
  135. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
  136. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  137. package/lib/commonjs/components/MessageInput/UploadProgressIndicator.js.map +1 -1
  138. package/lib/commonjs/components/MessageInput/components/InputEditingStateHeader.js.map +1 -1
  139. package/lib/commonjs/components/MessageInput/components/InputGiphySearch.js.map +1 -1
  140. package/lib/commonjs/components/MessageInput/components/InputReplyStateHeader.js.map +1 -1
  141. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -1
  142. package/lib/commonjs/components/MessageList/DateHeader.js.map +1 -1
  143. package/lib/commonjs/components/MessageList/InlineDateSeparator.js.map +1 -1
  144. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  145. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  146. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
  147. package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js.map +1 -1
  148. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  149. package/lib/commonjs/components/MessageList/MessageSystem.js.map +1 -1
  150. package/lib/commonjs/components/MessageList/NetworkDownIndicator.js.map +1 -1
  151. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js.map +1 -1
  152. package/lib/commonjs/components/MessageList/TypingIndicator.js.map +1 -1
  153. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  154. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  155. package/lib/commonjs/components/MessageList/hooks/useTypingString.js.map +1 -1
  156. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js.map +1 -1
  157. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
  158. package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +1 -1
  159. package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -1
  160. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  161. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  162. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js.map +1 -1
  163. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  164. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
  165. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -1
  166. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -1
  167. package/lib/commonjs/components/ProgressControl/ProgressControl.js.map +1 -1
  168. package/lib/commonjs/components/RTLComponents/WritingDirectionAwareText.js.map +1 -1
  169. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  170. package/lib/commonjs/components/Spinner/Spinner.js.map +1 -1
  171. package/lib/commonjs/components/Thread/Thread.js.map +1 -1
  172. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  173. package/lib/commonjs/components/docs/data.js.map +1 -1
  174. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  175. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  176. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  177. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +2 -2
  178. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  179. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  180. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
  181. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  182. package/lib/commonjs/contexts/debugContext/DebugContext.js.map +1 -1
  183. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  184. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  185. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  186. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  187. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  188. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  189. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  190. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -1
  191. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -1
  192. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  193. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  194. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  195. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -1
  196. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  197. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  198. package/lib/commonjs/contexts/themeContext/ThemeContext.js.map +1 -1
  199. package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
  200. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  201. package/lib/commonjs/contexts/typingContext/TypingContext.js.map +1 -1
  202. package/lib/commonjs/emoji-data/compile.js.map +1 -1
  203. package/lib/commonjs/emoji-data/index.js.map +1 -1
  204. package/lib/commonjs/hooks/useAppStateListener.js.map +1 -1
  205. package/lib/commonjs/hooks/useIsMountedRef.js.map +1 -1
  206. package/lib/commonjs/hooks/useLoadingImage.js.map +1 -1
  207. package/lib/commonjs/hooks/useStreami18n.js.map +1 -1
  208. package/lib/commonjs/hooks/useTranslatedMessage.js.map +1 -1
  209. package/lib/commonjs/icons/ArrowRight.js.map +1 -1
  210. package/lib/commonjs/icons/AtMentions.js.map +1 -1
  211. package/lib/commonjs/icons/Attach.js.map +1 -1
  212. package/lib/commonjs/icons/Audio.js.map +1 -1
  213. package/lib/commonjs/icons/CSV.js.map +1 -1
  214. package/lib/commonjs/icons/Camera.js.map +1 -1
  215. package/lib/commonjs/icons/Check.js.map +1 -1
  216. package/lib/commonjs/icons/CheckAll.js.map +1 -1
  217. package/lib/commonjs/icons/CheckSend.js.map +1 -1
  218. package/lib/commonjs/icons/CircleClose.js.map +1 -1
  219. package/lib/commonjs/icons/CirclePlus.js.map +1 -1
  220. package/lib/commonjs/icons/CircleRight.js.map +1 -1
  221. package/lib/commonjs/icons/Close.js.map +1 -1
  222. package/lib/commonjs/icons/Copy.js.map +1 -1
  223. package/lib/commonjs/icons/CurveLineLeftUp.js.map +1 -1
  224. package/lib/commonjs/icons/DOC.js.map +1 -1
  225. package/lib/commonjs/icons/DOCX.js.map +1 -1
  226. package/lib/commonjs/icons/Delete.js.map +1 -1
  227. package/lib/commonjs/icons/Down.js.map +1 -1
  228. package/lib/commonjs/icons/DownloadArrow.js.map +1 -1
  229. package/lib/commonjs/icons/DownloadCloud.js.map +1 -1
  230. package/lib/commonjs/icons/Edit.js.map +1 -1
  231. package/lib/commonjs/icons/Error.js.map +1 -1
  232. package/lib/commonjs/icons/Eye.js.map +1 -1
  233. package/lib/commonjs/icons/Flag.js.map +1 -1
  234. package/lib/commonjs/icons/Folder.js.map +1 -1
  235. package/lib/commonjs/icons/GenericFile.js.map +1 -1
  236. package/lib/commonjs/icons/GiphyIcon.js.map +1 -1
  237. package/lib/commonjs/icons/Grid.js.map +1 -1
  238. package/lib/commonjs/icons/Group.js.map +1 -1
  239. package/lib/commonjs/icons/HTML.js.map +1 -1
  240. package/lib/commonjs/icons/Imgur.js.map +1 -1
  241. package/lib/commonjs/icons/LOLReaction.js.map +1 -1
  242. package/lib/commonjs/icons/Lightning.js.map +1 -1
  243. package/lib/commonjs/icons/Link.js.map +1 -1
  244. package/lib/commonjs/icons/Loading.js.map +1 -1
  245. package/lib/commonjs/icons/Logo.js.map +1 -1
  246. package/lib/commonjs/icons/LoveReaction.js.map +1 -1
  247. package/lib/commonjs/icons/MD.js.map +1 -1
  248. package/lib/commonjs/icons/MailOpen.js.map +1 -1
  249. package/lib/commonjs/icons/MenuPointHorizontal.js.map +1 -1
  250. package/lib/commonjs/icons/MenuPointVertical.js.map +1 -1
  251. package/lib/commonjs/icons/MessageFlag.js.map +1 -1
  252. package/lib/commonjs/icons/MessageIcon.js.map +1 -1
  253. package/lib/commonjs/icons/Mute.js.map +1 -1
  254. package/lib/commonjs/icons/Notification.js.map +1 -1
  255. package/lib/commonjs/icons/ODT.js.map +1 -1
  256. package/lib/commonjs/icons/PDF.js.map +1 -1
  257. package/lib/commonjs/icons/PPT.js.map +1 -1
  258. package/lib/commonjs/icons/PPTX.js.map +1 -1
  259. package/lib/commonjs/icons/Pause.js.map +1 -1
  260. package/lib/commonjs/icons/Picture.js.map +1 -1
  261. package/lib/commonjs/icons/Pin.js.map +1 -1
  262. package/lib/commonjs/icons/PinHeader.js.map +1 -1
  263. package/lib/commonjs/icons/Play.js.map +1 -1
  264. package/lib/commonjs/icons/RAR.js.map +1 -1
  265. package/lib/commonjs/icons/RTF.js.map +1 -1
  266. package/lib/commonjs/icons/Recorder.js.map +1 -1
  267. package/lib/commonjs/icons/Refresh.js.map +1 -1
  268. package/lib/commonjs/icons/SEVEN_Z.js.map +1 -1
  269. package/lib/commonjs/icons/Search.js.map +1 -1
  270. package/lib/commonjs/icons/SendRight.js.map +1 -1
  271. package/lib/commonjs/icons/SendUp.js.map +1 -1
  272. package/lib/commonjs/icons/Share.js.map +1 -1
  273. package/lib/commonjs/icons/ShareRightArrow.js.map +1 -1
  274. package/lib/commonjs/icons/Smile.js.map +1 -1
  275. package/lib/commonjs/icons/Sound.js.map +1 -1
  276. package/lib/commonjs/icons/TAR.js.map +1 -1
  277. package/lib/commonjs/icons/TXT.js.map +1 -1
  278. package/lib/commonjs/icons/ThreadReply.js.map +1 -1
  279. package/lib/commonjs/icons/ThumbsDownReaction.js.map +1 -1
  280. package/lib/commonjs/icons/ThumbsUpReaction.js.map +1 -1
  281. package/lib/commonjs/icons/Time.js.map +1 -1
  282. package/lib/commonjs/icons/Unknown.js.map +1 -1
  283. package/lib/commonjs/icons/Unpin.js.map +1 -1
  284. package/lib/commonjs/icons/User.js.map +1 -1
  285. package/lib/commonjs/icons/UserAdd.js.map +1 -1
  286. package/lib/commonjs/icons/UserAdmin.js.map +1 -1
  287. package/lib/commonjs/icons/UserDelete.js.map +1 -1
  288. package/lib/commonjs/icons/UserMinus.js.map +1 -1
  289. package/lib/commonjs/icons/Video.js.map +1 -1
  290. package/lib/commonjs/icons/Warning.js.map +1 -1
  291. package/lib/commonjs/icons/WutReaction.js.map +1 -1
  292. package/lib/commonjs/icons/XLS.js.map +1 -1
  293. package/lib/commonjs/icons/XLSX.js.map +1 -1
  294. package/lib/commonjs/icons/ZIP.js.map +1 -1
  295. package/lib/commonjs/icons/utils/base.js.map +1 -1
  296. package/lib/commonjs/init.js.map +1 -1
  297. package/lib/commonjs/mock-builders/DB/mock.js.map +1 -1
  298. package/lib/commonjs/mock-builders/api/deleteMessage.js.map +1 -1
  299. package/lib/commonjs/mock-builders/api/deleteReaction.js.map +1 -1
  300. package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
  301. package/lib/commonjs/mock-builders/api/sendReaction.js.map +1 -1
  302. package/lib/commonjs/mock-builders/api/useMockedApis.js.map +1 -1
  303. package/lib/commonjs/mock-builders/event/messageRead.js.map +1 -1
  304. package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
  305. package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
  306. package/lib/commonjs/mock-builders/generator/member.js.map +1 -1
  307. package/lib/commonjs/mock-builders/generator/message.js.map +1 -1
  308. package/lib/commonjs/mock-builders/generator/reaction.js.map +1 -1
  309. package/lib/commonjs/mock-builders/generator/user.js.map +1 -1
  310. package/lib/commonjs/mock-builders/mock.js.map +1 -1
  311. package/lib/commonjs/native.js.map +1 -1
  312. package/lib/commonjs/store/QuickSqliteClient.js.map +1 -1
  313. package/lib/commonjs/store/apis/deleteReactions.js.map +1 -1
  314. package/lib/commonjs/store/apis/getAllChannelIds.js.map +1 -1
  315. package/lib/commonjs/store/apis/getAppSettings.js.map +1 -1
  316. package/lib/commonjs/store/apis/getChannelMessages.js.map +1 -1
  317. package/lib/commonjs/store/apis/getLastSyncedAt.js.map +1 -1
  318. package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -1
  319. package/lib/commonjs/store/apis/queries/selectChannels.js.map +1 -1
  320. package/lib/commonjs/store/apis/queries/selectMembersForChannels.js.map +1 -1
  321. package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js.map +1 -1
  322. package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js.map +1 -1
  323. package/lib/commonjs/store/apis/queries/selectReadsForChannels.js.map +1 -1
  324. package/lib/commonjs/store/apis/updateMessage.js.map +1 -1
  325. package/lib/commonjs/store/apis/updateReaction.js.map +1 -1
  326. package/lib/commonjs/store/apis/upsertChannels.js.map +1 -1
  327. package/lib/commonjs/store/apis/upsertMembers.js.map +1 -1
  328. package/lib/commonjs/store/apis/upsertReads.js.map +1 -1
  329. package/lib/commonjs/store/apis/utils/convertFilterSortToQuery.js.map +1 -1
  330. package/lib/commonjs/store/mappers/mapDateTimeToStorable.js.map +1 -1
  331. package/lib/commonjs/store/mappers/mapTaskToStorable.js.map +1 -1
  332. package/lib/commonjs/store/sqlite-utils/appendOrderByClause.js.map +1 -1
  333. package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js.map +1 -1
  334. package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
  335. package/lib/commonjs/test-utils/BetterSqlite.js.map +1 -1
  336. package/lib/commonjs/types/types.js.map +1 -1
  337. package/lib/commonjs/utils/DBSyncManager.js.map +1 -1
  338. package/lib/commonjs/utils/Streami18n.js.map +1 -1
  339. package/lib/commonjs/utils/addReactionToLocalState.js.map +1 -1
  340. package/lib/commonjs/utils/date.js.map +1 -1
  341. package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -1
  342. package/lib/commonjs/utils/patchMessageTextCommand.js.map +1 -1
  343. package/lib/commonjs/utils/removeReactionFromLocalState.js.map +1 -1
  344. package/lib/commonjs/utils/utils.js.map +1 -1
  345. package/lib/commonjs/version.json +1 -1
  346. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  347. package/lib/module/components/Attachment/AttachmentActions.js.map +1 -1
  348. package/lib/module/components/Attachment/AudioAttachment.js.map +1 -1
  349. package/lib/module/components/Attachment/Card.js.map +1 -1
  350. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  351. package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
  352. package/lib/module/components/Attachment/FileIcon.js.map +1 -1
  353. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  354. package/lib/module/components/Attachment/GalleryImage.js.map +1 -1
  355. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  356. package/lib/module/components/Attachment/ImageLoadingFailedIndicator.js.map +1 -1
  357. package/lib/module/components/Attachment/ImageLoadingIndicator.js.map +1 -1
  358. package/lib/module/components/Attachment/ImageReloadIndicator.js.map +1 -1
  359. package/lib/module/components/Attachment/VideoThumbnail.js.map +1 -1
  360. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -1
  361. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -1
  362. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -1
  363. package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -1
  364. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -1
  365. package/lib/module/components/Attachment/utils/openUrlSafely.js.map +1 -1
  366. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  367. package/lib/module/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js.map +1 -1
  368. package/lib/module/components/AttachmentPicker/components/AttachmentPickerError.js.map +1 -1
  369. package/lib/module/components/AttachmentPicker/components/AttachmentPickerErrorImage.js.map +1 -1
  370. package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js +14 -16
  371. package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
  372. package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
  373. package/lib/module/components/AttachmentPicker/components/CameraSelectorIcon.js.map +1 -1
  374. package/lib/module/components/AttachmentPicker/components/FileSelectorIcon.js.map +1 -1
  375. package/lib/module/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js.map +1 -1
  376. package/lib/module/components/AttachmentPicker/components/ImageSelectorIcon.js.map +1 -1
  377. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  378. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  379. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  380. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
  381. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  382. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  383. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  384. package/lib/module/components/Channel/Channel.js.map +1 -1
  385. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  386. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  387. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  388. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  389. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  390. package/lib/module/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  391. package/lib/module/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
  392. package/lib/module/components/Channel/hooks/useTargetedMessage.js.map +1 -1
  393. package/lib/module/components/ChannelList/ChannelList.js +4 -2
  394. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  395. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  396. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  397. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  398. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
  399. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  400. package/lib/module/components/ChannelList/Skeleton.js.map +1 -1
  401. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  402. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  403. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  404. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  405. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  406. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  407. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  408. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  409. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  410. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  411. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js +2 -0
  412. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  413. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  414. package/lib/module/components/ChannelList/utils.js.map +1 -1
  415. package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  416. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  417. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  418. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +2 -4
  419. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  420. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +4 -5
  421. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
  422. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  423. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  424. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  425. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  426. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  427. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  428. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  429. package/lib/module/components/Chat/Chat.js.map +1 -1
  430. package/lib/module/components/Chat/hooks/useAppSettings.js.map +1 -1
  431. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  432. package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
  433. package/lib/module/components/Chat/hooks/useMutedUsers.js.map +1 -1
  434. package/lib/module/components/Chat/hooks/useSyncDatabase.js.map +1 -1
  435. package/lib/module/components/ImageBackground.js.map +1 -1
  436. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  437. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  438. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
  439. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  440. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  441. package/lib/module/components/ImageGallery/components/ImageGalleryOverlay.js.map +1 -1
  442. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -1
  443. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  444. package/lib/module/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  445. package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
  446. package/lib/module/components/Indicators/EmptyStateIndicator.js.map +1 -1
  447. package/lib/module/components/Indicators/LoadingDot.js.map +1 -1
  448. package/lib/module/components/Indicators/LoadingDots.js.map +1 -1
  449. package/lib/module/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  450. package/lib/module/components/Indicators/LoadingIndicator.js.map +1 -1
  451. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
  452. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js.map +1 -1
  453. package/lib/module/components/Message/Message.js.map +1 -1
  454. package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  455. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  456. package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  457. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  458. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  459. package/lib/module/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  460. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  461. package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  462. package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  463. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  464. package/lib/module/components/Message/MessageSimple/ReactionList.js.map +1 -1
  465. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -1
  466. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  467. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js.map +1 -1
  468. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  469. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  470. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
  471. package/lib/module/components/MessageInput/AttachButton.js.map +1 -1
  472. package/lib/module/components/MessageInput/CommandsButton.js.map +1 -1
  473. package/lib/module/components/MessageInput/CooldownTimer.js.map +1 -1
  474. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  475. package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
  476. package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
  477. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  478. package/lib/module/components/MessageInput/MoreOptionsButton.js.map +1 -1
  479. package/lib/module/components/MessageInput/SendButton.js.map +1 -1
  480. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
  481. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  482. package/lib/module/components/MessageInput/UploadProgressIndicator.js.map +1 -1
  483. package/lib/module/components/MessageInput/components/InputEditingStateHeader.js.map +1 -1
  484. package/lib/module/components/MessageInput/components/InputGiphySearch.js.map +1 -1
  485. package/lib/module/components/MessageInput/components/InputReplyStateHeader.js.map +1 -1
  486. package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -1
  487. package/lib/module/components/MessageList/DateHeader.js.map +1 -1
  488. package/lib/module/components/MessageList/InlineDateSeparator.js.map +1 -1
  489. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  490. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  491. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
  492. package/lib/module/components/MessageList/InlineUnreadIndicator.js.map +1 -1
  493. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  494. package/lib/module/components/MessageList/MessageSystem.js.map +1 -1
  495. package/lib/module/components/MessageList/NetworkDownIndicator.js.map +1 -1
  496. package/lib/module/components/MessageList/ScrollToBottomButton.js.map +1 -1
  497. package/lib/module/components/MessageList/TypingIndicator.js.map +1 -1
  498. package/lib/module/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  499. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  500. package/lib/module/components/MessageList/hooks/useTypingString.js.map +1 -1
  501. package/lib/module/components/MessageList/utils/getDateSeparators.js.map +1 -1
  502. package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
  503. package/lib/module/components/MessageList/utils/getReadStates.js.map +1 -1
  504. package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -1
  505. package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  506. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  507. package/lib/module/components/MessageOverlay/OverlayBackdrop.js.map +1 -1
  508. package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  509. package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
  510. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -1
  511. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -1
  512. package/lib/module/components/ProgressControl/ProgressControl.js.map +1 -1
  513. package/lib/module/components/RTLComponents/WritingDirectionAwareText.js.map +1 -1
  514. package/lib/module/components/Reply/Reply.js.map +1 -1
  515. package/lib/module/components/Spinner/Spinner.js.map +1 -1
  516. package/lib/module/components/Thread/Thread.js.map +1 -1
  517. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  518. package/lib/module/components/docs/data.js.map +1 -1
  519. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  520. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  521. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  522. package/lib/module/contexts/channelsContext/ChannelsContext.js +2 -2
  523. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  524. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  525. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
  526. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  527. package/lib/module/contexts/debugContext/DebugContext.js.map +1 -1
  528. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  529. package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  530. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  531. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  532. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  533. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  534. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  535. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -1
  536. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -1
  537. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  538. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  539. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  540. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -1
  541. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  542. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  543. package/lib/module/contexts/themeContext/ThemeContext.js.map +1 -1
  544. package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
  545. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  546. package/lib/module/contexts/typingContext/TypingContext.js.map +1 -1
  547. package/lib/module/emoji-data/compile.js.map +1 -1
  548. package/lib/module/emoji-data/index.js.map +1 -1
  549. package/lib/module/hooks/useAppStateListener.js.map +1 -1
  550. package/lib/module/hooks/useIsMountedRef.js.map +1 -1
  551. package/lib/module/hooks/useLoadingImage.js.map +1 -1
  552. package/lib/module/hooks/useStreami18n.js.map +1 -1
  553. package/lib/module/hooks/useTranslatedMessage.js.map +1 -1
  554. package/lib/module/icons/ArrowRight.js.map +1 -1
  555. package/lib/module/icons/AtMentions.js.map +1 -1
  556. package/lib/module/icons/Attach.js.map +1 -1
  557. package/lib/module/icons/Audio.js.map +1 -1
  558. package/lib/module/icons/CSV.js.map +1 -1
  559. package/lib/module/icons/Camera.js.map +1 -1
  560. package/lib/module/icons/Check.js.map +1 -1
  561. package/lib/module/icons/CheckAll.js.map +1 -1
  562. package/lib/module/icons/CheckSend.js.map +1 -1
  563. package/lib/module/icons/CircleClose.js.map +1 -1
  564. package/lib/module/icons/CirclePlus.js.map +1 -1
  565. package/lib/module/icons/CircleRight.js.map +1 -1
  566. package/lib/module/icons/Close.js.map +1 -1
  567. package/lib/module/icons/Copy.js.map +1 -1
  568. package/lib/module/icons/CurveLineLeftUp.js.map +1 -1
  569. package/lib/module/icons/DOC.js.map +1 -1
  570. package/lib/module/icons/DOCX.js.map +1 -1
  571. package/lib/module/icons/Delete.js.map +1 -1
  572. package/lib/module/icons/Down.js.map +1 -1
  573. package/lib/module/icons/DownloadArrow.js.map +1 -1
  574. package/lib/module/icons/DownloadCloud.js.map +1 -1
  575. package/lib/module/icons/Edit.js.map +1 -1
  576. package/lib/module/icons/Error.js.map +1 -1
  577. package/lib/module/icons/Eye.js.map +1 -1
  578. package/lib/module/icons/Flag.js.map +1 -1
  579. package/lib/module/icons/Folder.js.map +1 -1
  580. package/lib/module/icons/GenericFile.js.map +1 -1
  581. package/lib/module/icons/GiphyIcon.js.map +1 -1
  582. package/lib/module/icons/Grid.js.map +1 -1
  583. package/lib/module/icons/Group.js.map +1 -1
  584. package/lib/module/icons/HTML.js.map +1 -1
  585. package/lib/module/icons/Imgur.js.map +1 -1
  586. package/lib/module/icons/LOLReaction.js.map +1 -1
  587. package/lib/module/icons/Lightning.js.map +1 -1
  588. package/lib/module/icons/Link.js.map +1 -1
  589. package/lib/module/icons/Loading.js.map +1 -1
  590. package/lib/module/icons/Logo.js.map +1 -1
  591. package/lib/module/icons/LoveReaction.js.map +1 -1
  592. package/lib/module/icons/MD.js.map +1 -1
  593. package/lib/module/icons/MailOpen.js.map +1 -1
  594. package/lib/module/icons/MenuPointHorizontal.js.map +1 -1
  595. package/lib/module/icons/MenuPointVertical.js.map +1 -1
  596. package/lib/module/icons/MessageFlag.js.map +1 -1
  597. package/lib/module/icons/MessageIcon.js.map +1 -1
  598. package/lib/module/icons/Mute.js.map +1 -1
  599. package/lib/module/icons/Notification.js.map +1 -1
  600. package/lib/module/icons/ODT.js.map +1 -1
  601. package/lib/module/icons/PDF.js.map +1 -1
  602. package/lib/module/icons/PPT.js.map +1 -1
  603. package/lib/module/icons/PPTX.js.map +1 -1
  604. package/lib/module/icons/Pause.js.map +1 -1
  605. package/lib/module/icons/Picture.js.map +1 -1
  606. package/lib/module/icons/Pin.js.map +1 -1
  607. package/lib/module/icons/PinHeader.js.map +1 -1
  608. package/lib/module/icons/Play.js.map +1 -1
  609. package/lib/module/icons/RAR.js.map +1 -1
  610. package/lib/module/icons/RTF.js.map +1 -1
  611. package/lib/module/icons/Recorder.js.map +1 -1
  612. package/lib/module/icons/Refresh.js.map +1 -1
  613. package/lib/module/icons/SEVEN_Z.js.map +1 -1
  614. package/lib/module/icons/Search.js.map +1 -1
  615. package/lib/module/icons/SendRight.js.map +1 -1
  616. package/lib/module/icons/SendUp.js.map +1 -1
  617. package/lib/module/icons/Share.js.map +1 -1
  618. package/lib/module/icons/ShareRightArrow.js.map +1 -1
  619. package/lib/module/icons/Smile.js.map +1 -1
  620. package/lib/module/icons/Sound.js.map +1 -1
  621. package/lib/module/icons/TAR.js.map +1 -1
  622. package/lib/module/icons/TXT.js.map +1 -1
  623. package/lib/module/icons/ThreadReply.js.map +1 -1
  624. package/lib/module/icons/ThumbsDownReaction.js.map +1 -1
  625. package/lib/module/icons/ThumbsUpReaction.js.map +1 -1
  626. package/lib/module/icons/Time.js.map +1 -1
  627. package/lib/module/icons/Unknown.js.map +1 -1
  628. package/lib/module/icons/Unpin.js.map +1 -1
  629. package/lib/module/icons/User.js.map +1 -1
  630. package/lib/module/icons/UserAdd.js.map +1 -1
  631. package/lib/module/icons/UserAdmin.js.map +1 -1
  632. package/lib/module/icons/UserDelete.js.map +1 -1
  633. package/lib/module/icons/UserMinus.js.map +1 -1
  634. package/lib/module/icons/Video.js.map +1 -1
  635. package/lib/module/icons/Warning.js.map +1 -1
  636. package/lib/module/icons/WutReaction.js.map +1 -1
  637. package/lib/module/icons/XLS.js.map +1 -1
  638. package/lib/module/icons/XLSX.js.map +1 -1
  639. package/lib/module/icons/ZIP.js.map +1 -1
  640. package/lib/module/icons/utils/base.js.map +1 -1
  641. package/lib/module/init.js.map +1 -1
  642. package/lib/module/mock-builders/DB/mock.js.map +1 -1
  643. package/lib/module/mock-builders/api/deleteMessage.js.map +1 -1
  644. package/lib/module/mock-builders/api/deleteReaction.js.map +1 -1
  645. package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
  646. package/lib/module/mock-builders/api/sendReaction.js.map +1 -1
  647. package/lib/module/mock-builders/api/useMockedApis.js.map +1 -1
  648. package/lib/module/mock-builders/event/messageRead.js.map +1 -1
  649. package/lib/module/mock-builders/generator/attachment.js.map +1 -1
  650. package/lib/module/mock-builders/generator/channel.js.map +1 -1
  651. package/lib/module/mock-builders/generator/member.js.map +1 -1
  652. package/lib/module/mock-builders/generator/message.js.map +1 -1
  653. package/lib/module/mock-builders/generator/reaction.js.map +1 -1
  654. package/lib/module/mock-builders/generator/user.js.map +1 -1
  655. package/lib/module/mock-builders/mock.js.map +1 -1
  656. package/lib/module/native.js.map +1 -1
  657. package/lib/module/store/QuickSqliteClient.js.map +1 -1
  658. package/lib/module/store/apis/deleteReactions.js.map +1 -1
  659. package/lib/module/store/apis/getAllChannelIds.js.map +1 -1
  660. package/lib/module/store/apis/getAppSettings.js.map +1 -1
  661. package/lib/module/store/apis/getChannelMessages.js.map +1 -1
  662. package/lib/module/store/apis/getLastSyncedAt.js.map +1 -1
  663. package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -1
  664. package/lib/module/store/apis/queries/selectChannels.js.map +1 -1
  665. package/lib/module/store/apis/queries/selectMembersForChannels.js.map +1 -1
  666. package/lib/module/store/apis/queries/selectMessagesForChannels.js.map +1 -1
  667. package/lib/module/store/apis/queries/selectReactionsForMessages.js.map +1 -1
  668. package/lib/module/store/apis/queries/selectReadsForChannels.js.map +1 -1
  669. package/lib/module/store/apis/updateMessage.js.map +1 -1
  670. package/lib/module/store/apis/updateReaction.js.map +1 -1
  671. package/lib/module/store/apis/upsertChannels.js.map +1 -1
  672. package/lib/module/store/apis/upsertMembers.js.map +1 -1
  673. package/lib/module/store/apis/upsertReads.js.map +1 -1
  674. package/lib/module/store/apis/utils/convertFilterSortToQuery.js.map +1 -1
  675. package/lib/module/store/mappers/mapDateTimeToStorable.js.map +1 -1
  676. package/lib/module/store/mappers/mapTaskToStorable.js.map +1 -1
  677. package/lib/module/store/sqlite-utils/appendOrderByClause.js.map +1 -1
  678. package/lib/module/store/sqlite-utils/appendWhereCluase.js.map +1 -1
  679. package/lib/module/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
  680. package/lib/module/test-utils/BetterSqlite.js.map +1 -1
  681. package/lib/module/types/types.js.map +1 -1
  682. package/lib/module/utils/DBSyncManager.js.map +1 -1
  683. package/lib/module/utils/Streami18n.js.map +1 -1
  684. package/lib/module/utils/addReactionToLocalState.js.map +1 -1
  685. package/lib/module/utils/date.js.map +1 -1
  686. package/lib/module/utils/getResizedImageUrl.js.map +1 -1
  687. package/lib/module/utils/patchMessageTextCommand.js.map +1 -1
  688. package/lib/module/utils/removeReactionFromLocalState.js.map +1 -1
  689. package/lib/module/utils/utils.js.map +1 -1
  690. package/lib/module/version.json +1 -1
  691. package/lib/typescript/components/ChannelList/ChannelList.d.ts +1 -1
  692. package/lib/typescript/components/ChannelList/hooks/useCreateChannelsContext.d.ts +1 -1
  693. package/lib/typescript/components/ChannelPreview/ChannelPreviewMutedStatus.d.ts +1 -6
  694. package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +1 -1
  695. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +1 -1
  696. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +1 -2
  697. package/lib/typescript/types/types.d.ts +1 -2
  698. package/package.json +1 -1
  699. package/src/components/AttachmentPicker/components/AttachmentPickerItem.tsx +1 -3
  700. package/src/components/ChannelList/ChannelList.tsx +3 -0
  701. package/src/components/ChannelList/hooks/useCreateChannelsContext.ts +2 -0
  702. package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +1 -1
  703. package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx +3 -18
  704. package/src/contexts/channelsContext/ChannelsContext.tsx +1 -3
  705. package/src/types/types.ts +1 -2
  706. package/src/version.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_useCreateMessageContext","_useMessageActionHandlers","_useMessageActions2","_messageActions","_ChannelContext","_ChatContext","_KeyboardContext","_MessageContext","_MessageOverlayContext","_MessagesContext","_OverlayContext","_OwnCapabilitiesContext","_ThemeContext","_ThreadContext","_TranslationContext","_native","_utils","_useMessageList","_this","_jsxFileName","MessageWithContext","props","_message$user","isMessageTypeDeleted","message","type","sendReaction","channel","deleteMessageFromContext","deleteMessage","disabled","dismissKeyboard","dismissKeyboardOnMessageTouch","_props$enableLongPres","enableLongPress","enforceUniqueReaction","_props$forceAlignMess","forceAlignMessages","goToMessage","_props$groupStyles","groupStyles","handleBlock","handleCopy","handleDelete","handleEdit","handleFlag","handleMute","handlePinMessage","handleQuotedReply","handleReactionProp","handleReaction","handleRetry","handleThreadReply","chatContext","lastReceivedId","members","_props$messageActions","messageActions","messageActionsProp","defaultMessageActions","messageContentOrderProp","messageContentOrder","messagesContext","MessageSimple","onLongPressProp","onLongPress","onLongPressMessageProp","onLongPressMessage","onPressProp","onPress","onPressMessageProp","onPressMessage","onPressInProp","onPressIn","onPressInMessageProp","onPressInMessage","onThreadSelect","openThread","OverlayReactionList","preventPress","removeMessage","deleteReaction","retrySendMessage","selectReaction","setData","setEditingState","setOverlay","setQuotedMessageState","showAvatar","showMessageStatus","showUnreadUnderlay","style","supportedReactions","t","isTargetedMessage","_props$threadList","threadList","updateMessage","client","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","bg_gradient_start","targetedMessageBackground","_useTheme$theme$messa","messageSimple","targetedMessageContainer","targetedMessageUnderlay","actionsEnabled","status","MessageStatusTypes","RECEIVED","isMyMessage","userID","user","id","handleAction","_ref","_asyncToGenerator2","_regenerator","mark","_callee","name","value","data","wrap","_callee$","_context","prev","next","sendAction","_defineProperty2","sent","parent_id","stop","_x","_x2","apply","arguments","onPressQuotedMessage","quotedMessage","errorOrFailed","FAILED","error","length","undefined","Keyboard","dismiss","quoted_message","showMessageOverlay","alignment","attachments","Array","isArray","reduce","acc","cur","files","push","other","og_scrape_url","isVideoPackageAvailable","videos","image_url","asset_url","thumb_url","title_link","images","hasAttachmentActions","some","attachment","actions","filter","content","text","onlyEmojis","emojiRegex","test","onOpenThread","hasReactions","latest_reactions","clientId","reactions","_message$latest_react","reactionType","reactionsOfReactionType","reaction","hasOwnReaction","user_id","own","ownCapabilities","useOwnCapabilitiesContext","_useMessageActionHand","useMessageActionHandlers","handleDeleteMessage","handleEditMessage","handleQuotedReplyMessage","handleResendMessage","handleToggleBanUser","handleToggleMuteUser","handleTogglePinMessage","handleToggleReaction","_useMessageActions","useMessageActions","blockUser","copyMessage","editMessage","flagMessage","muteUser","pinMessage","quotedReply","retry","threadReply","unpinMessage","_useTranslationContex","useTranslationContext","userLanguage","_ref2","_callee2","messageReactions","isThreadMessage","dismissOverlay","_args2","_callee2$","_context2","Boolean","messageContext","_extends2","messageReactionTitle","otherAttachments","actionHandlers","resendMessage","toggleBanUser","toggleMuteUser","toggleReaction","payload","defaultHandler","emitter","event","triggerHaptic","useCreateMessageContext","lastGroupMessage","onPressArgs","additionalInfo","handleOnPress","onPressInArgs","handleOnpressIn","createElement","View","pinned","backgroundColor","testID","__self","__source","fileName","lineNumber","columnNumber","MessageProvider","areEqual","prevProps","nextProps","_prevMessage$quoted_m","_nextMessage$quoted_m","_prevMessage$quoted_m2","_nextMessage$quoted_m2","_prevMessage$user","_nextMessage$user","prevMutedUsers","mutedUsers","prevGoToMessage","prevGroupStyles","isAttachmentEqual","prevIsTargetedMessage","prevLastReceivedId","prevMembers","prevMessage","prevShowUnreadUnderlay","prevT","nextMutedUsers","nextGoToMessage","nextGroupStyles","nextIsTargetedMessage","nextLastReceivedId","nextMembers","nextMessage","nextShowUnreadUnderlay","nextT","membersEqual","Object","keys","repliesEqual","reply_count","lastReceivedIdChangedAndMatters","goToMessageChangedAndMatters","quoted_message_id","groupStylesEqual","isPrevMessageTypeDeleted","isNextMessageTypeDeleted","messageEqual","isMessageWithStylesReadByAndDateSeparator","readBy","updated_at","isPrevQuotedMessageTypeDeleted","isNextQuotedMessageTypeDeleted","quotedMessageEqual","messageUserBannedEqual","banned","prevMessageAttachments","nextMessageAttachments","attachmentsEqual","every","index","attachmentKeysEqual","latestReactionsEqual","_ref3","_nextMessage$latest_r","mutedUserSame","mutedUser","_prevMessage$user2","target","_nextMessage$user2","showUnreadUnderlayEqual","tEqual","targetedMessageEqual","MemoizedMessage","React","memo","Message","_useChannelContext","useChannelContext","useChatContext","_useKeyboardContext","useKeyboardContext","_useMessageOverlayCon","useMessageOverlayContext","useMessagesContext","_useOverlayContext","useOverlayContext","_useThreadContext","useThreadContext","_useTranslationContex2","exports"],"sources":["Message.tsx"],"sourcesContent":["import React from 'react';\nimport { GestureResponderEvent, Keyboard, StyleProp, View, ViewStyle } from 'react-native';\n\nimport type { Attachment, UserResponse } from 'stream-chat';\n\nimport { useCreateMessageContext } from './hooks/useCreateMessageContext';\nimport { useMessageActionHandlers } from './hooks/useMessageActionHandlers';\nimport { useMessageActions } from './hooks/useMessageActions';\nimport { messageActions as defaultMessageActions } from './utils/messageActions';\n\nimport {\n ChannelContextValue,\n useChannelContext,\n} from '../../contexts/channelContext/ChannelContext';\nimport { ChatContextValue, useChatContext } from '../../contexts/chatContext/ChatContext';\nimport {\n KeyboardContextValue,\n useKeyboardContext,\n} from '../../contexts/keyboardContext/KeyboardContext';\nimport {\n MessageContextValue,\n MessageProvider,\n Reactions,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessageOverlayContextValue,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { useOwnCapabilitiesContext } from '../../contexts/ownCapabilitiesContext/OwnCapabilitiesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { ThreadContextValue, useThreadContext } from '../../contexts/threadContext/ThreadContext';\nimport {\n TranslationContextValue,\n useTranslationContext,\n} from '../../contexts/translationContext/TranslationContext';\n\nimport { isVideoPackageAvailable, triggerHaptic } from '../../native';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { emojiRegex, MessageStatusTypes } from '../../utils/utils';\n\nimport {\n isMessageWithStylesReadByAndDateSeparator,\n MessageType,\n} from '../MessageList/hooks/useMessageList';\nimport type { MessageActionListItemProps } from '../MessageOverlay/MessageActionListItem';\n\nexport type TouchableEmitter =\n | 'fileAttachment'\n | 'gallery'\n | 'giphy'\n | 'message'\n | 'messageContent'\n | 'messageReplies'\n | 'reactionList';\n\nexport type TextMentionTouchableHandlerPayload<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n emitter: 'textMention';\n additionalInfo?: { user?: UserResponse<StreamChatGenerics> };\n};\n\nexport type UrlTouchableHandlerPayload = {\n emitter: 'textLink' | 'card';\n additionalInfo?: { url?: string };\n};\n\nexport type FileAttachmentTouchableHandlerPayload<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n emitter: 'fileAttachment';\n additionalInfo?: { attachment?: Attachment<StreamChatGenerics> };\n};\n\nexport type TouchableHandlerPayload = {\n defaultHandler?: () => void;\n event?: GestureResponderEvent;\n} & (\n | {\n emitter?: Exclude<TouchableEmitter, 'textMention' | 'textLink' | 'card' | 'fileAttachment'>;\n }\n | TextMentionTouchableHandlerPayload\n | UrlTouchableHandlerPayload\n | FileAttachmentTouchableHandlerPayload\n);\n\nexport type MessageTouchableHandlerPayload<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = TouchableHandlerPayload & {\n actionHandlers?: MessageActionHandlers;\n additionalInfo?: Record<string, unknown>;\n message?: MessageType<StreamChatGenerics>;\n};\n\nexport type MessageActionHandlers = {\n deleteMessage: () => Promise<void>;\n editMessage: () => void;\n pinMessage: () => Promise<void>;\n quotedReply: () => void;\n resendMessage: () => Promise<void>;\n showMessageOverlay: () => void;\n toggleBanUser: () => Promise<void>;\n toggleMuteUser: () => Promise<void>;\n toggleReaction: (reactionType: string) => Promise<void>;\n};\n\nexport type MessagePropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n ChannelContextValue<StreamChatGenerics>,\n 'channel' | 'disabled' | 'enforceUniqueReaction' | 'members'\n> &\n Pick<KeyboardContextValue, 'dismissKeyboard'> &\n Partial<Omit<MessageContextValue<StreamChatGenerics>, 'groupStyles' | 'message'>> &\n Pick<MessageContextValue<StreamChatGenerics>, 'groupStyles' | 'message'> &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'sendReaction'\n | 'deleteMessage'\n | 'dismissKeyboardOnMessageTouch'\n | 'forceAlignMessages'\n | 'handleBlock'\n | 'handleCopy'\n | 'handleDelete'\n | 'handleEdit'\n | 'handleFlag'\n | 'handleMute'\n | 'handlePinMessage'\n | 'handleQuotedReply'\n | 'handleReaction'\n | 'handleRetry'\n | 'handleThreadReply'\n | 'isAttachmentEqual'\n | 'messageActions'\n | 'messageContentOrder'\n | 'MessageSimple'\n | 'onLongPressMessage'\n | 'onPressInMessage'\n | 'onPressMessage'\n | 'OverlayReactionList'\n | 'removeMessage'\n | 'deleteReaction'\n | 'retrySendMessage'\n | 'selectReaction'\n | 'setEditingState'\n | 'setQuotedMessageState'\n | 'supportedReactions'\n | 'updateMessage'\n > &\n Pick<MessageOverlayContextValue<StreamChatGenerics>, 'setData'> &\n Pick<OverlayContextValue, 'setOverlay'> &\n Pick<ThreadContextValue<StreamChatGenerics>, 'openThread'> &\n Pick<TranslationContextValue, 't'> & {\n chatContext: ChatContextValue<StreamChatGenerics>;\n messagesContext: MessagesContextValue<StreamChatGenerics>;\n /**\n * Whether or not users are able to long press messages.\n */\n enableLongPress?: boolean;\n goToMessage?: (messageId: string) => void;\n isTargetedMessage?: boolean;\n /**\n * Array of allowed actions or null on message, this can also be a function returning the array.\n * If all the actions need to be disabled an empty array should be provided as value of prop\n */\n /**\n * You can call methods available on the Message\n * component such as handleEdit, handleDelete, handleAction etc.\n *\n * Source - [Message](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/Message/Message.tsx)\n *\n * By default, we show the overlay with all the message actions on long press.\n *\n * @param message Message object which was long pressed\n * @param event Event object for onLongPress event\n **/\n onLongPress?: (payload: Partial<MessageTouchableHandlerPayload<StreamChatGenerics>>) => void;\n\n /**\n * You can call methods available on the Message\n * component such as handleEdit, handleDelete, handleAction etc.\n *\n * Source - [Message](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/Message/Message.tsx)\n *\n * By default, we will dismiss the keyboard on press.\n *\n * @param message Message object which was long pressed\n * @param event Event object for onLongPress event\n * */\n onPress?: (payload: Partial<MessageTouchableHandlerPayload<StreamChatGenerics>>) => void;\n onPressIn?: (payload: Partial<MessageTouchableHandlerPayload<StreamChatGenerics>>) => void;\n /**\n * Handler to open the thread on message. This is callback for touch event for replies button.\n *\n * @param message A message object to open the thread upon.\n */\n onThreadSelect?: (message: MessageType<StreamChatGenerics>) => void;\n showUnreadUnderlay?: boolean;\n style?: StyleProp<ViewStyle>;\n };\n\n/**\n * Since this component doesn't consume `messages` from `MessagesContext`,\n * we memoized and broke it up to prevent new messages from re-rendering\n * each individual Message component.\n */\nconst MessageWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessagePropsWithContext<StreamChatGenerics>,\n) => {\n const isMessageTypeDeleted = props.message.type === 'deleted';\n\n const {\n sendReaction,\n channel,\n deleteMessage: deleteMessageFromContext,\n disabled,\n dismissKeyboard,\n dismissKeyboardOnMessageTouch,\n enableLongPress = true,\n enforceUniqueReaction,\n forceAlignMessages = false,\n goToMessage,\n groupStyles = ['bottom'],\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction: handleReactionProp,\n handleRetry,\n handleThreadReply,\n chatContext,\n lastReceivedId,\n members,\n message,\n messageActions: messageActionsProp = defaultMessageActions,\n messageContentOrder: messageContentOrderProp,\n messagesContext,\n MessageSimple,\n onLongPress: onLongPressProp,\n onLongPressMessage: onLongPressMessageProp,\n onPress: onPressProp,\n onPressMessage: onPressMessageProp,\n onPressIn: onPressInProp,\n onPressInMessage: onPressInMessageProp,\n onThreadSelect,\n openThread,\n OverlayReactionList,\n preventPress,\n removeMessage,\n deleteReaction,\n retrySendMessage,\n selectReaction,\n setData,\n setEditingState,\n setOverlay,\n setQuotedMessageState,\n showAvatar,\n showMessageStatus,\n showUnreadUnderlay,\n style,\n supportedReactions,\n t,\n isTargetedMessage,\n threadList = false,\n updateMessage,\n } = props;\n const { client } = chatContext;\n const {\n theme: {\n colors: { bg_gradient_start, targetedMessageBackground },\n messageSimple: { targetedMessageContainer, targetedMessageUnderlay },\n },\n } = useTheme();\n\n const actionsEnabled =\n message.type === 'regular' && message.status === MessageStatusTypes.RECEIVED;\n\n const isMyMessage = client && message && client.userID === message.user?.id;\n\n const handleAction = async (name: string, value: string) => {\n if (message.id) {\n const data = await channel?.sendAction(message.id, { [name]: value });\n if (data?.message) {\n updateMessage(data.message);\n } else {\n removeMessage({\n id: message.id,\n parent_id: message.parent_id,\n });\n }\n }\n };\n\n const onPressQuotedMessage = (quotedMessage: MessageType<StreamChatGenerics>) => {\n if (!goToMessage) return;\n\n goToMessage(quotedMessage.id);\n };\n\n const errorOrFailed = message.type === 'error' || message.status === MessageStatusTypes.FAILED;\n\n const onPress = (error = errorOrFailed) => {\n if (dismissKeyboardOnMessageTouch) {\n Keyboard.dismiss();\n }\n const quotedMessage = message.quoted_message as MessageType<StreamChatGenerics>;\n if (error) {\n showMessageOverlay(false, true);\n } else if (quotedMessage) {\n onPressQuotedMessage(quotedMessage);\n }\n };\n\n const alignment =\n forceAlignMessages && (forceAlignMessages === 'left' || forceAlignMessages === 'right')\n ? forceAlignMessages\n : isMyMessage\n ? 'right'\n : 'left';\n\n /**\n * attachments contain files/images or other attachments\n *\n * if a URL attachment is present with a file/image then we\n * show just the text and markdown should make the link\n * clickable\n */\n const attachments =\n !isMessageTypeDeleted && Array.isArray(message.attachments)\n ? message.attachments.reduce(\n (acc, cur) => {\n if (cur.type === 'file') {\n acc.files.push(cur);\n acc.other = []; // remove other attachments if a file exists\n } else if (cur.type === 'video' && !cur.og_scrape_url && isVideoPackageAvailable()) {\n acc.videos.push({\n image_url: cur.asset_url,\n thumb_url: cur.thumb_url,\n type: 'video',\n });\n acc.other = [];\n } else if (cur.type === 'video' && !cur.og_scrape_url) {\n acc.files.push(cur);\n acc.other = []; // remove other attachments if a file exists\n } else if (cur.type === 'audio') {\n acc.files.push(cur);\n } else if (cur.type === 'image' && !cur.title_link && !cur.og_scrape_url) {\n /**\n * this next if is not combined with the above one for cases where we have\n * an image with no url links at all falling back to being an attachment\n */\n if (cur.image_url || cur.thumb_url) {\n acc.images.push(cur);\n acc.other = []; // remove other attachments if an image exists\n }\n // only add other attachments if there are no files/images\n } else if (!acc.files.length && !acc.images.length && !acc.videos.length) {\n acc.other.push(cur);\n }\n\n return acc;\n },\n {\n files: [] as Attachment<StreamChatGenerics>[],\n images: [] as Attachment<StreamChatGenerics>[],\n other: [] as Attachment<StreamChatGenerics>[],\n videos: [] as Attachment<StreamChatGenerics>[],\n },\n )\n : {\n files: [] as Attachment<StreamChatGenerics>[],\n images: [] as Attachment<StreamChatGenerics>[],\n other: [] as Attachment<StreamChatGenerics>[],\n videos: [] as Attachment<StreamChatGenerics>[],\n };\n /**\n * Check if any actions to prevent long press\n */\n const hasAttachmentActions =\n !isMessageTypeDeleted &&\n Array.isArray(message.attachments) &&\n message.attachments.some((attachment) => attachment.actions && attachment.actions.length);\n\n const messageContentOrder = messageContentOrderProp.filter((content) => {\n if (content === 'quoted_reply') {\n return !!message.quoted_message;\n }\n\n switch (content) {\n case 'attachments':\n return !!attachments.other.length;\n case 'files':\n return !!attachments.files.length;\n case 'gallery':\n return !!attachments.images.length || !!attachments.videos.length;\n case 'text':\n default:\n return !!message.text;\n }\n });\n\n const onlyEmojis =\n !attachments.files.length &&\n !attachments.images.length &&\n !attachments.other.length &&\n !!message.text &&\n emojiRegex.test(message.text);\n\n const onOpenThread = () => {\n if (onThreadSelect) {\n onThreadSelect(message);\n }\n if (openThread) {\n openThread(message);\n }\n };\n\n const hasReactions =\n !isMessageTypeDeleted && !!message.latest_reactions && message.latest_reactions.length > 0;\n\n const clientId = client.userID;\n\n const reactions = hasReactions\n ? supportedReactions.reduce((acc, cur) => {\n const reactionType = cur.type;\n const reactionsOfReactionType = message.latest_reactions?.filter(\n (reaction) => reaction.type === reactionType,\n );\n\n if (reactionsOfReactionType?.length) {\n const hasOwnReaction = reactionsOfReactionType.some(\n (reaction) => reaction.user_id === clientId,\n );\n acc.push({ own: hasOwnReaction, type: reactionType });\n }\n\n return acc;\n }, [] as Reactions)\n : [];\n\n const ownCapabilities = useOwnCapabilitiesContext();\n\n const {\n handleDeleteMessage,\n handleEditMessage,\n handleQuotedReplyMessage,\n handleResendMessage,\n handleToggleBanUser,\n handleToggleMuteUser,\n handleTogglePinMessage,\n handleToggleReaction,\n } = useMessageActionHandlers({\n channel,\n client,\n deleteMessage: deleteMessageFromContext,\n deleteReaction,\n enforceUniqueReaction,\n message,\n retrySendMessage,\n sendReaction,\n setEditingState,\n setQuotedMessageState,\n supportedReactions,\n });\n\n const {\n blockUser,\n copyMessage,\n deleteMessage,\n editMessage,\n flagMessage,\n handleReaction,\n muteUser,\n pinMessage,\n quotedReply,\n retry,\n threadReply,\n unpinMessage,\n } = useMessageActions({\n channel,\n client,\n deleteMessage: deleteMessageFromContext,\n deleteReaction,\n enforceUniqueReaction,\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction: handleReactionProp,\n handleRetry,\n handleThreadReply,\n message,\n onThreadSelect,\n openThread,\n removeMessage,\n retrySendMessage,\n selectReaction,\n sendReaction,\n setEditingState,\n setOverlay,\n setQuotedMessageState,\n supportedReactions,\n t,\n updateMessage,\n });\n\n const { userLanguage } = useTranslationContext();\n\n const showMessageOverlay = async (messageReactions = false, error = errorOrFailed) => {\n await dismissKeyboard();\n\n const isThreadMessage = threadList || !!message.parent_id;\n\n const dismissOverlay = () => setOverlay('none');\n\n const messageActions =\n typeof messageActionsProp !== 'function'\n ? messageActionsProp\n : messageActionsProp({\n blockUser,\n copyMessage,\n deleteMessage,\n dismissOverlay,\n editMessage,\n error,\n flagMessage,\n isMyMessage,\n isThreadMessage,\n message,\n messageReactions,\n muteUser,\n ownCapabilities,\n pinMessage,\n quotedReply,\n retry,\n threadReply,\n unpinMessage,\n });\n\n setData({\n alignment,\n chatContext,\n clientId: client.userID,\n files: attachments.files,\n groupStyles,\n handleReaction: ownCapabilities.sendReaction ? handleReaction : undefined,\n images: attachments.images,\n message,\n messageActions: messageActions?.filter(Boolean) as MessageActionListItemProps[] | undefined,\n messageContext: { ...messageContext, disabled: true, preventPress: true },\n messageReactionTitle: !error && messageReactions ? t('Message Reactions') : undefined,\n messagesContext: { ...messagesContext, messageContentOrder },\n onlyEmojis,\n otherAttachments: attachments.other,\n OverlayReactionList,\n ownCapabilities,\n supportedReactions,\n threadList,\n userLanguage,\n videos: attachments.videos,\n });\n\n setOverlay('message');\n };\n\n const actionHandlers: MessageActionHandlers = {\n deleteMessage: handleDeleteMessage,\n editMessage: handleEditMessage,\n pinMessage: handleTogglePinMessage,\n quotedReply: handleQuotedReplyMessage,\n resendMessage: handleResendMessage,\n showMessageOverlay,\n toggleBanUser: handleToggleBanUser,\n toggleMuteUser: handleToggleMuteUser,\n toggleReaction: handleToggleReaction,\n };\n\n const onLongPressMessage =\n disabled || hasAttachmentActions\n ? () => null\n : onLongPressMessageProp\n ? (payload?: TouchableHandlerPayload) =>\n onLongPressMessageProp({\n actionHandlers,\n defaultHandler: payload?.defaultHandler || showMessageOverlay,\n emitter: payload?.emitter || 'message',\n event: payload?.event,\n message,\n })\n : onLongPressProp\n ? (payload?: TouchableHandlerPayload) =>\n onLongPressProp({\n actionHandlers,\n defaultHandler: payload?.defaultHandler || showMessageOverlay,\n emitter: payload?.emitter || 'message',\n event: payload?.event,\n })\n : enableLongPress\n ? () => {\n triggerHaptic('impactMedium');\n showMessageOverlay(false);\n }\n : () => null;\n\n const messageContext = useCreateMessageContext({\n actionsEnabled,\n alignment,\n channel,\n disabled,\n files: attachments.files,\n goToMessage,\n groupStyles,\n handleAction,\n handleDeleteMessage,\n handleEditMessage,\n handleQuotedReplyMessage,\n handleResendMessage,\n handleToggleBanUser,\n handleToggleMuteUser,\n handleToggleReaction,\n hasReactions,\n images: attachments.images,\n isMyMessage,\n lastGroupMessage: groupStyles?.[0] === 'single' || groupStyles?.[0] === 'bottom',\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n onLongPress: onLongPressMessage,\n onlyEmojis,\n onOpenThread,\n onPress: (payload) => {\n const onPressArgs = {\n actionHandlers,\n additionalInfo: payload.additionalInfo,\n defaultHandler: payload.defaultHandler || onPress,\n emitter: payload.emitter || 'message',\n event: payload.event,\n message,\n };\n\n const handleOnPress = () => {\n if (onPressProp) return onPressProp(onPressArgs);\n if (onPressMessageProp) return onPressMessageProp(onPressArgs);\n if (payload.defaultHandler) return payload.defaultHandler();\n\n return onPress();\n };\n\n handleOnPress();\n },\n onPressIn:\n onPressInProp || onPressInMessageProp\n ? (payload) => {\n const onPressInArgs = {\n actionHandlers,\n defaultHandler: payload.defaultHandler,\n emitter: payload.emitter || 'message',\n event: payload.event,\n message,\n };\n const handleOnpressIn = () => {\n if (onPressInProp) return onPressInProp(onPressInArgs);\n if (onPressInMessageProp) return onPressInMessageProp(onPressInArgs);\n };\n handleOnpressIn();\n }\n : null,\n otherAttachments: attachments.other,\n preventPress,\n reactions,\n showAvatar,\n showMessageOverlay,\n showMessageStatus: typeof showMessageStatus === 'boolean' ? showMessageStatus : isMyMessage,\n threadList,\n videos: attachments.videos,\n });\n\n if (!(isMessageTypeDeleted || messageContentOrder.length)) return null;\n\n return (\n <View\n style={[\n message.pinned && {\n ...targetedMessageContainer,\n backgroundColor: targetedMessageBackground,\n },\n ]}\n testID='message-wrapper'\n >\n <View\n style={[\n style,\n {\n backgroundColor: showUnreadUnderlay ? bg_gradient_start : undefined,\n },\n ]}\n >\n <View\n style={[\n isTargetedMessage\n ? { backgroundColor: targetedMessageBackground, ...targetedMessageUnderlay }\n : {},\n ]}\n >\n <MessageProvider value={messageContext}>\n <MessageSimple />\n </MessageProvider>\n </View>\n </View>\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessagePropsWithContext<StreamChatGenerics>,\n nextProps: MessagePropsWithContext<StreamChatGenerics>,\n) => {\n const {\n chatContext: { mutedUsers: prevMutedUsers },\n goToMessage: prevGoToMessage,\n groupStyles: prevGroupStyles,\n isAttachmentEqual,\n isTargetedMessage: prevIsTargetedMessage,\n lastReceivedId: prevLastReceivedId,\n members: prevMembers,\n message: prevMessage,\n showUnreadUnderlay: prevShowUnreadUnderlay,\n t: prevT,\n } = prevProps;\n const {\n chatContext: { mutedUsers: nextMutedUsers },\n goToMessage: nextGoToMessage,\n groupStyles: nextGroupStyles,\n isTargetedMessage: nextIsTargetedMessage,\n lastReceivedId: nextLastReceivedId,\n members: nextMembers,\n message: nextMessage,\n showUnreadUnderlay: nextShowUnreadUnderlay,\n t: nextT,\n } = nextProps;\n\n const membersEqual = Object.keys(prevMembers).length === Object.keys(nextMembers).length;\n if (!membersEqual) return false;\n\n const repliesEqual = prevMessage.reply_count === nextMessage.reply_count;\n if (!repliesEqual) return false;\n\n const lastReceivedIdChangedAndMatters =\n prevLastReceivedId !== nextLastReceivedId &&\n (prevLastReceivedId === prevMessage.id ||\n prevLastReceivedId === nextMessage.id ||\n nextLastReceivedId === prevMessage.id ||\n nextLastReceivedId === nextMessage.id);\n\n if (lastReceivedIdChangedAndMatters) return false;\n\n const goToMessageChangedAndMatters =\n nextMessage.quoted_message_id && prevGoToMessage !== nextGoToMessage;\n\n if (goToMessageChangedAndMatters) return false;\n\n const groupStylesEqual =\n prevGroupStyles.length === nextGroupStyles.length && 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 (isMessageWithStylesReadByAndDateSeparator(prevMessage) && prevMessage.readBy) ===\n (isMessageWithStylesReadByAndDateSeparator(nextMessage) && nextMessage.readBy) &&\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n prevMessage.text === nextMessage.text &&\n prevMessage.pinned === nextMessage.pinned &&\n `${prevMessage?.updated_at}` === `${nextMessage?.updated_at}`;\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 messageUserBannedEqual = prevMessage.user?.banned === nextMessage.user?.banned;\n if (!messageUserBannedEqual) return false;\n\n const prevMessageAttachments = prevMessage.attachments;\n const nextMessageAttachments = nextMessage.attachments;\n const attachmentsEqual =\n (Array.isArray(prevMessageAttachments) &&\n Array.isArray(nextMessageAttachments) &&\n prevMessageAttachments.length === nextMessageAttachments.length &&\n prevMessageAttachments.every((attachment, index) => {\n const attachmentKeysEqual =\n attachment.type === 'image'\n ? attachment.image_url === nextMessageAttachments[index].image_url &&\n attachment.thumb_url === nextMessageAttachments[index].thumb_url\n : attachment.type === nextMessageAttachments[index].type;\n\n if (isAttachmentEqual)\n return (\n attachmentKeysEqual && !!isAttachmentEqual(attachment, nextMessageAttachments[index])\n );\n\n return attachmentKeysEqual;\n })) ||\n prevMessageAttachments === nextMessageAttachments;\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 mutedUserSame =\n prevMutedUsers.length === nextMutedUsers.length ||\n prevMutedUsers.some((mutedUser) => mutedUser.target.id === prevMessage.user?.id) ===\n nextMutedUsers.some((mutedUser) => mutedUser.target.id === nextMessage.user?.id);\n if (!mutedUserSame) return false;\n\n const showUnreadUnderlayEqual = prevShowUnreadUnderlay === nextShowUnreadUnderlay;\n if (!showUnreadUnderlayEqual) return false;\n\n const tEqual = prevT === nextT;\n if (!tEqual) return false;\n\n const targetedMessageEqual = prevIsTargetedMessage === nextIsTargetedMessage;\n if (!targetedMessageEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessage = React.memo(MessageWithContext, areEqual) as typeof MessageWithContext;\n\nexport type MessageProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessagePropsWithContext<StreamChatGenerics>, 'groupStyles' | 'message'>> &\n Pick<MessagePropsWithContext<StreamChatGenerics>, 'groupStyles' | 'message'>;\n\n/**\n * Message - A high level component which implements all the logic required for a message.\n * The actual rendering of the message is delegated via the \"Message\" property\n *\n * @example ./Message.md\n */\nexport const Message = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageProps<StreamChatGenerics>,\n) => {\n const { channel, disabled, enforceUniqueReaction, members } =\n useChannelContext<StreamChatGenerics>();\n const chatContext = useChatContext<StreamChatGenerics>();\n const { dismissKeyboard } = useKeyboardContext();\n const { setData } = useMessageOverlayContext<StreamChatGenerics>();\n const messagesContext = useMessagesContext<StreamChatGenerics>();\n const { setOverlay } = useOverlayContext();\n const { openThread } = useThreadContext<StreamChatGenerics>();\n const { t } = useTranslationContext();\n\n return (\n <MemoizedMessage<StreamChatGenerics>\n {...messagesContext}\n {...{\n channel,\n chatContext,\n disabled,\n dismissKeyboard,\n enforceUniqueReaction,\n members,\n messagesContext,\n openThread,\n setData,\n setOverlay,\n t,\n }}\n {...props}\n />\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_useCreateMessageContext","_useMessageActionHandlers","_useMessageActions2","_messageActions","_ChannelContext","_ChatContext","_KeyboardContext","_MessageContext","_MessageOverlayContext","_MessagesContext","_OverlayContext","_OwnCapabilitiesContext","_ThemeContext","_ThreadContext","_TranslationContext","_native","_utils","_useMessageList","_this","_jsxFileName","MessageWithContext","props","_message$user","isMessageTypeDeleted","message","type","sendReaction","channel","deleteMessageFromContext","deleteMessage","disabled","dismissKeyboard","dismissKeyboardOnMessageTouch","_props$enableLongPres","enableLongPress","enforceUniqueReaction","_props$forceAlignMess","forceAlignMessages","goToMessage","_props$groupStyles","groupStyles","handleBlock","handleCopy","handleDelete","handleEdit","handleFlag","handleMute","handlePinMessage","handleQuotedReply","handleReactionProp","handleReaction","handleRetry","handleThreadReply","chatContext","lastReceivedId","members","_props$messageActions","messageActions","messageActionsProp","defaultMessageActions","messageContentOrderProp","messageContentOrder","messagesContext","MessageSimple","onLongPressProp","onLongPress","onLongPressMessageProp","onLongPressMessage","onPressProp","onPress","onPressMessageProp","onPressMessage","onPressInProp","onPressIn","onPressInMessageProp","onPressInMessage","onThreadSelect","openThread","OverlayReactionList","preventPress","removeMessage","deleteReaction","retrySendMessage","selectReaction","setData","setEditingState","setOverlay","setQuotedMessageState","showAvatar","showMessageStatus","showUnreadUnderlay","style","supportedReactions","t","isTargetedMessage","_props$threadList","threadList","updateMessage","client","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","bg_gradient_start","targetedMessageBackground","_useTheme$theme$messa","messageSimple","targetedMessageContainer","targetedMessageUnderlay","actionsEnabled","status","MessageStatusTypes","RECEIVED","isMyMessage","userID","user","id","handleAction","_ref","_asyncToGenerator2","_regenerator","mark","_callee","name","value","data","wrap","_callee$","_context","prev","next","sendAction","_defineProperty2","sent","parent_id","stop","_x","_x2","apply","arguments","onPressQuotedMessage","quotedMessage","errorOrFailed","FAILED","error","length","undefined","Keyboard","dismiss","quoted_message","showMessageOverlay","alignment","attachments","Array","isArray","reduce","acc","cur","files","push","other","og_scrape_url","isVideoPackageAvailable","videos","image_url","asset_url","thumb_url","title_link","images","hasAttachmentActions","some","attachment","actions","filter","content","text","onlyEmojis","emojiRegex","test","onOpenThread","hasReactions","latest_reactions","clientId","reactions","_message$latest_react","reactionType","reactionsOfReactionType","reaction","hasOwnReaction","user_id","own","ownCapabilities","useOwnCapabilitiesContext","_useMessageActionHand","useMessageActionHandlers","handleDeleteMessage","handleEditMessage","handleQuotedReplyMessage","handleResendMessage","handleToggleBanUser","handleToggleMuteUser","handleTogglePinMessage","handleToggleReaction","_useMessageActions","useMessageActions","blockUser","copyMessage","editMessage","flagMessage","muteUser","pinMessage","quotedReply","retry","threadReply","unpinMessage","_useTranslationContex","useTranslationContext","userLanguage","_ref2","_callee2","messageReactions","isThreadMessage","dismissOverlay","_args2","_callee2$","_context2","Boolean","messageContext","_extends2","messageReactionTitle","otherAttachments","actionHandlers","resendMessage","toggleBanUser","toggleMuteUser","toggleReaction","payload","defaultHandler","emitter","event","triggerHaptic","useCreateMessageContext","lastGroupMessage","onPressArgs","additionalInfo","handleOnPress","onPressInArgs","handleOnpressIn","createElement","View","pinned","backgroundColor","testID","__self","__source","fileName","lineNumber","columnNumber","MessageProvider","areEqual","prevProps","nextProps","_prevMessage$quoted_m","_nextMessage$quoted_m","_prevMessage$quoted_m2","_nextMessage$quoted_m2","_prevMessage$user","_nextMessage$user","prevMutedUsers","mutedUsers","prevGoToMessage","prevGroupStyles","isAttachmentEqual","prevIsTargetedMessage","prevLastReceivedId","prevMembers","prevMessage","prevShowUnreadUnderlay","prevT","nextMutedUsers","nextGoToMessage","nextGroupStyles","nextIsTargetedMessage","nextLastReceivedId","nextMembers","nextMessage","nextShowUnreadUnderlay","nextT","membersEqual","Object","keys","repliesEqual","reply_count","lastReceivedIdChangedAndMatters","goToMessageChangedAndMatters","quoted_message_id","groupStylesEqual","isPrevMessageTypeDeleted","isNextMessageTypeDeleted","messageEqual","isMessageWithStylesReadByAndDateSeparator","readBy","updated_at","isPrevQuotedMessageTypeDeleted","isNextQuotedMessageTypeDeleted","quotedMessageEqual","messageUserBannedEqual","banned","prevMessageAttachments","nextMessageAttachments","attachmentsEqual","every","index","attachmentKeysEqual","latestReactionsEqual","_ref3","_nextMessage$latest_r","mutedUserSame","mutedUser","_prevMessage$user2","target","_nextMessage$user2","showUnreadUnderlayEqual","tEqual","targetedMessageEqual","MemoizedMessage","React","memo","Message","_useChannelContext","useChannelContext","useChatContext","_useKeyboardContext","useKeyboardContext","_useMessageOverlayCon","useMessageOverlayContext","useMessagesContext","_useOverlayContext","useOverlayContext","_useThreadContext","useThreadContext","_useTranslationContex2","exports"],"sources":["Message.tsx"],"sourcesContent":["import React from 'react';\nimport { GestureResponderEvent, Keyboard, StyleProp, View, ViewStyle } from 'react-native';\n\nimport type { Attachment, UserResponse } from 'stream-chat';\n\nimport { useCreateMessageContext } from './hooks/useCreateMessageContext';\nimport { useMessageActionHandlers } from './hooks/useMessageActionHandlers';\nimport { useMessageActions } from './hooks/useMessageActions';\nimport { messageActions as defaultMessageActions } from './utils/messageActions';\n\nimport {\n ChannelContextValue,\n useChannelContext,\n} from '../../contexts/channelContext/ChannelContext';\nimport { ChatContextValue, useChatContext } from '../../contexts/chatContext/ChatContext';\nimport {\n KeyboardContextValue,\n useKeyboardContext,\n} from '../../contexts/keyboardContext/KeyboardContext';\nimport {\n MessageContextValue,\n MessageProvider,\n Reactions,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessageOverlayContextValue,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { useOwnCapabilitiesContext } from '../../contexts/ownCapabilitiesContext/OwnCapabilitiesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { ThreadContextValue, useThreadContext } from '../../contexts/threadContext/ThreadContext';\nimport {\n TranslationContextValue,\n useTranslationContext,\n} from '../../contexts/translationContext/TranslationContext';\n\nimport { isVideoPackageAvailable, triggerHaptic } from '../../native';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { emojiRegex, MessageStatusTypes } from '../../utils/utils';\n\nimport {\n isMessageWithStylesReadByAndDateSeparator,\n MessageType,\n} from '../MessageList/hooks/useMessageList';\nimport type { MessageActionListItemProps } from '../MessageOverlay/MessageActionListItem';\n\nexport type TouchableEmitter =\n | 'fileAttachment'\n | 'gallery'\n | 'giphy'\n | 'message'\n | 'messageContent'\n | 'messageReplies'\n | 'reactionList';\n\nexport type TextMentionTouchableHandlerPayload<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n emitter: 'textMention';\n additionalInfo?: { user?: UserResponse<StreamChatGenerics> };\n};\n\nexport type UrlTouchableHandlerPayload = {\n emitter: 'textLink' | 'card';\n additionalInfo?: { url?: string };\n};\n\nexport type FileAttachmentTouchableHandlerPayload<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n emitter: 'fileAttachment';\n additionalInfo?: { attachment?: Attachment<StreamChatGenerics> };\n};\n\nexport type TouchableHandlerPayload = {\n defaultHandler?: () => void;\n event?: GestureResponderEvent;\n} & (\n | {\n emitter?: Exclude<TouchableEmitter, 'textMention' | 'textLink' | 'card' | 'fileAttachment'>;\n }\n | TextMentionTouchableHandlerPayload\n | UrlTouchableHandlerPayload\n | FileAttachmentTouchableHandlerPayload\n);\n\nexport type MessageTouchableHandlerPayload<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = TouchableHandlerPayload & {\n actionHandlers?: MessageActionHandlers;\n additionalInfo?: Record<string, unknown>;\n message?: MessageType<StreamChatGenerics>;\n};\n\nexport type MessageActionHandlers = {\n deleteMessage: () => Promise<void>;\n editMessage: () => void;\n pinMessage: () => Promise<void>;\n quotedReply: () => void;\n resendMessage: () => Promise<void>;\n showMessageOverlay: () => void;\n toggleBanUser: () => Promise<void>;\n toggleMuteUser: () => Promise<void>;\n toggleReaction: (reactionType: string) => Promise<void>;\n};\n\nexport type MessagePropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n ChannelContextValue<StreamChatGenerics>,\n 'channel' | 'disabled' | 'enforceUniqueReaction' | 'members'\n> &\n Pick<KeyboardContextValue, 'dismissKeyboard'> &\n Partial<Omit<MessageContextValue<StreamChatGenerics>, 'groupStyles' | 'message'>> &\n Pick<MessageContextValue<StreamChatGenerics>, 'groupStyles' | 'message'> &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'sendReaction'\n | 'deleteMessage'\n | 'dismissKeyboardOnMessageTouch'\n | 'forceAlignMessages'\n | 'handleBlock'\n | 'handleCopy'\n | 'handleDelete'\n | 'handleEdit'\n | 'handleFlag'\n | 'handleMute'\n | 'handlePinMessage'\n | 'handleQuotedReply'\n | 'handleReaction'\n | 'handleRetry'\n | 'handleThreadReply'\n | 'isAttachmentEqual'\n | 'messageActions'\n | 'messageContentOrder'\n | 'MessageSimple'\n | 'onLongPressMessage'\n | 'onPressInMessage'\n | 'onPressMessage'\n | 'OverlayReactionList'\n | 'removeMessage'\n | 'deleteReaction'\n | 'retrySendMessage'\n | 'selectReaction'\n | 'setEditingState'\n | 'setQuotedMessageState'\n | 'supportedReactions'\n | 'updateMessage'\n > &\n Pick<MessageOverlayContextValue<StreamChatGenerics>, 'setData'> &\n Pick<OverlayContextValue, 'setOverlay'> &\n Pick<ThreadContextValue<StreamChatGenerics>, 'openThread'> &\n Pick<TranslationContextValue, 't'> & {\n chatContext: ChatContextValue<StreamChatGenerics>;\n messagesContext: MessagesContextValue<StreamChatGenerics>;\n /**\n * Whether or not users are able to long press messages.\n */\n enableLongPress?: boolean;\n goToMessage?: (messageId: string) => void;\n isTargetedMessage?: boolean;\n /**\n * Array of allowed actions or null on message, this can also be a function returning the array.\n * If all the actions need to be disabled an empty array should be provided as value of prop\n */\n /**\n * You can call methods available on the Message\n * component such as handleEdit, handleDelete, handleAction etc.\n *\n * Source - [Message](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/Message/Message.tsx)\n *\n * By default, we show the overlay with all the message actions on long press.\n *\n * @param message Message object which was long pressed\n * @param event Event object for onLongPress event\n **/\n onLongPress?: (payload: Partial<MessageTouchableHandlerPayload<StreamChatGenerics>>) => void;\n\n /**\n * You can call methods available on the Message\n * component such as handleEdit, handleDelete, handleAction etc.\n *\n * Source - [Message](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/Message/Message.tsx)\n *\n * By default, we will dismiss the keyboard on press.\n *\n * @param message Message object which was long pressed\n * @param event Event object for onLongPress event\n * */\n onPress?: (payload: Partial<MessageTouchableHandlerPayload<StreamChatGenerics>>) => void;\n onPressIn?: (payload: Partial<MessageTouchableHandlerPayload<StreamChatGenerics>>) => void;\n /**\n * Handler to open the thread on message. This is callback for touch event for replies button.\n *\n * @param message A message object to open the thread upon.\n */\n onThreadSelect?: (message: MessageType<StreamChatGenerics>) => void;\n showUnreadUnderlay?: boolean;\n style?: StyleProp<ViewStyle>;\n };\n\n/**\n * Since this component doesn't consume `messages` from `MessagesContext`,\n * we memoized and broke it up to prevent new messages from re-rendering\n * each individual Message component.\n */\nconst MessageWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessagePropsWithContext<StreamChatGenerics>,\n) => {\n const isMessageTypeDeleted = props.message.type === 'deleted';\n\n const {\n sendReaction,\n channel,\n deleteMessage: deleteMessageFromContext,\n disabled,\n dismissKeyboard,\n dismissKeyboardOnMessageTouch,\n enableLongPress = true,\n enforceUniqueReaction,\n forceAlignMessages = false,\n goToMessage,\n groupStyles = ['bottom'],\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction: handleReactionProp,\n handleRetry,\n handleThreadReply,\n chatContext,\n lastReceivedId,\n members,\n message,\n messageActions: messageActionsProp = defaultMessageActions,\n messageContentOrder: messageContentOrderProp,\n messagesContext,\n MessageSimple,\n onLongPress: onLongPressProp,\n onLongPressMessage: onLongPressMessageProp,\n onPress: onPressProp,\n onPressMessage: onPressMessageProp,\n onPressIn: onPressInProp,\n onPressInMessage: onPressInMessageProp,\n onThreadSelect,\n openThread,\n OverlayReactionList,\n preventPress,\n removeMessage,\n deleteReaction,\n retrySendMessage,\n selectReaction,\n setData,\n setEditingState,\n setOverlay,\n setQuotedMessageState,\n showAvatar,\n showMessageStatus,\n showUnreadUnderlay,\n style,\n supportedReactions,\n t,\n isTargetedMessage,\n threadList = false,\n updateMessage,\n } = props;\n const { client } = chatContext;\n const {\n theme: {\n colors: { bg_gradient_start, targetedMessageBackground },\n messageSimple: { targetedMessageContainer, targetedMessageUnderlay },\n },\n } = useTheme();\n\n const actionsEnabled =\n message.type === 'regular' && message.status === MessageStatusTypes.RECEIVED;\n\n const isMyMessage = client && message && client.userID === message.user?.id;\n\n const handleAction = async (name: string, value: string) => {\n if (message.id) {\n const data = await channel?.sendAction(message.id, { [name]: value });\n if (data?.message) {\n updateMessage(data.message);\n } else {\n removeMessage({\n id: message.id,\n parent_id: message.parent_id,\n });\n }\n }\n };\n\n const onPressQuotedMessage = (quotedMessage: MessageType<StreamChatGenerics>) => {\n if (!goToMessage) return;\n\n goToMessage(quotedMessage.id);\n };\n\n const errorOrFailed = message.type === 'error' || message.status === MessageStatusTypes.FAILED;\n\n const onPress = (error = errorOrFailed) => {\n if (dismissKeyboardOnMessageTouch) {\n Keyboard.dismiss();\n }\n const quotedMessage = message.quoted_message as MessageType<StreamChatGenerics>;\n if (error) {\n showMessageOverlay(false, true);\n } else if (quotedMessage) {\n onPressQuotedMessage(quotedMessage);\n }\n };\n\n const alignment =\n forceAlignMessages && (forceAlignMessages === 'left' || forceAlignMessages === 'right')\n ? forceAlignMessages\n : isMyMessage\n ? 'right'\n : 'left';\n\n /**\n * attachments contain files/images or other attachments\n *\n * if a URL attachment is present with a file/image then we\n * show just the text and markdown should make the link\n * clickable\n */\n const attachments =\n !isMessageTypeDeleted && Array.isArray(message.attachments)\n ? message.attachments.reduce(\n (acc, cur) => {\n if (cur.type === 'file') {\n acc.files.push(cur);\n acc.other = []; // remove other attachments if a file exists\n } else if (cur.type === 'video' && !cur.og_scrape_url && isVideoPackageAvailable()) {\n acc.videos.push({\n image_url: cur.asset_url,\n thumb_url: cur.thumb_url,\n type: 'video',\n });\n acc.other = [];\n } else if (cur.type === 'video' && !cur.og_scrape_url) {\n acc.files.push(cur);\n acc.other = []; // remove other attachments if a file exists\n } else if (cur.type === 'audio') {\n acc.files.push(cur);\n } else if (cur.type === 'image' && !cur.title_link && !cur.og_scrape_url) {\n /**\n * this next if is not combined with the above one for cases where we have\n * an image with no url links at all falling back to being an attachment\n */\n if (cur.image_url || cur.thumb_url) {\n acc.images.push(cur);\n acc.other = []; // remove other attachments if an image exists\n }\n // only add other attachments if there are no files/images\n } else if (!acc.files.length && !acc.images.length && !acc.videos.length) {\n acc.other.push(cur);\n }\n\n return acc;\n },\n {\n files: [] as Attachment<StreamChatGenerics>[],\n images: [] as Attachment<StreamChatGenerics>[],\n other: [] as Attachment<StreamChatGenerics>[],\n videos: [] as Attachment<StreamChatGenerics>[],\n },\n )\n : {\n files: [] as Attachment<StreamChatGenerics>[],\n images: [] as Attachment<StreamChatGenerics>[],\n other: [] as Attachment<StreamChatGenerics>[],\n videos: [] as Attachment<StreamChatGenerics>[],\n };\n /**\n * Check if any actions to prevent long press\n */\n const hasAttachmentActions =\n !isMessageTypeDeleted &&\n Array.isArray(message.attachments) &&\n message.attachments.some((attachment) => attachment.actions && attachment.actions.length);\n\n const messageContentOrder = messageContentOrderProp.filter((content) => {\n if (content === 'quoted_reply') {\n return !!message.quoted_message;\n }\n\n switch (content) {\n case 'attachments':\n return !!attachments.other.length;\n case 'files':\n return !!attachments.files.length;\n case 'gallery':\n return !!attachments.images.length || !!attachments.videos.length;\n case 'text':\n default:\n return !!message.text;\n }\n });\n\n const onlyEmojis =\n !attachments.files.length &&\n !attachments.images.length &&\n !attachments.other.length &&\n !!message.text &&\n emojiRegex.test(message.text);\n\n const onOpenThread = () => {\n if (onThreadSelect) {\n onThreadSelect(message);\n }\n if (openThread) {\n openThread(message);\n }\n };\n\n const hasReactions =\n !isMessageTypeDeleted && !!message.latest_reactions && message.latest_reactions.length > 0;\n\n const clientId = client.userID;\n\n const reactions = hasReactions\n ? supportedReactions.reduce((acc, cur) => {\n const reactionType = cur.type;\n const reactionsOfReactionType = message.latest_reactions?.filter(\n (reaction) => reaction.type === reactionType,\n );\n\n if (reactionsOfReactionType?.length) {\n const hasOwnReaction = reactionsOfReactionType.some(\n (reaction) => reaction.user_id === clientId,\n );\n acc.push({ own: hasOwnReaction, type: reactionType });\n }\n\n return acc;\n }, [] as Reactions)\n : [];\n\n const ownCapabilities = useOwnCapabilitiesContext();\n\n const {\n handleDeleteMessage,\n handleEditMessage,\n handleQuotedReplyMessage,\n handleResendMessage,\n handleToggleBanUser,\n handleToggleMuteUser,\n handleTogglePinMessage,\n handleToggleReaction,\n } = useMessageActionHandlers({\n channel,\n client,\n deleteMessage: deleteMessageFromContext,\n deleteReaction,\n enforceUniqueReaction,\n message,\n retrySendMessage,\n sendReaction,\n setEditingState,\n setQuotedMessageState,\n supportedReactions,\n });\n\n const {\n blockUser,\n copyMessage,\n deleteMessage,\n editMessage,\n flagMessage,\n handleReaction,\n muteUser,\n pinMessage,\n quotedReply,\n retry,\n threadReply,\n unpinMessage,\n } = useMessageActions({\n channel,\n client,\n deleteMessage: deleteMessageFromContext,\n deleteReaction,\n enforceUniqueReaction,\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction: handleReactionProp,\n handleRetry,\n handleThreadReply,\n message,\n onThreadSelect,\n openThread,\n removeMessage,\n retrySendMessage,\n selectReaction,\n sendReaction,\n setEditingState,\n setOverlay,\n setQuotedMessageState,\n supportedReactions,\n t,\n updateMessage,\n });\n\n const { userLanguage } = useTranslationContext();\n\n const showMessageOverlay = async (messageReactions = false, error = errorOrFailed) => {\n await dismissKeyboard();\n\n const isThreadMessage = threadList || !!message.parent_id;\n\n const dismissOverlay = () => setOverlay('none');\n\n const messageActions =\n typeof messageActionsProp !== 'function'\n ? messageActionsProp\n : messageActionsProp({\n blockUser,\n copyMessage,\n deleteMessage,\n dismissOverlay,\n editMessage,\n error,\n flagMessage,\n isMyMessage,\n isThreadMessage,\n message,\n messageReactions,\n muteUser,\n ownCapabilities,\n pinMessage,\n quotedReply,\n retry,\n threadReply,\n unpinMessage,\n });\n\n setData({\n alignment,\n chatContext,\n clientId: client.userID,\n files: attachments.files,\n groupStyles,\n handleReaction: ownCapabilities.sendReaction ? handleReaction : undefined,\n images: attachments.images,\n message,\n messageActions: messageActions?.filter(Boolean) as MessageActionListItemProps[] | undefined,\n messageContext: { ...messageContext, disabled: true, preventPress: true },\n messageReactionTitle: !error && messageReactions ? t('Message Reactions') : undefined,\n messagesContext: { ...messagesContext, messageContentOrder },\n onlyEmojis,\n otherAttachments: attachments.other,\n OverlayReactionList,\n ownCapabilities,\n supportedReactions,\n threadList,\n userLanguage,\n videos: attachments.videos,\n });\n\n setOverlay('message');\n };\n\n const actionHandlers: MessageActionHandlers = {\n deleteMessage: handleDeleteMessage,\n editMessage: handleEditMessage,\n pinMessage: handleTogglePinMessage,\n quotedReply: handleQuotedReplyMessage,\n resendMessage: handleResendMessage,\n showMessageOverlay,\n toggleBanUser: handleToggleBanUser,\n toggleMuteUser: handleToggleMuteUser,\n toggleReaction: handleToggleReaction,\n };\n\n const onLongPressMessage =\n disabled || hasAttachmentActions\n ? () => null\n : onLongPressMessageProp\n ? (payload?: TouchableHandlerPayload) =>\n onLongPressMessageProp({\n actionHandlers,\n defaultHandler: payload?.defaultHandler || showMessageOverlay,\n emitter: payload?.emitter || 'message',\n event: payload?.event,\n message,\n })\n : onLongPressProp\n ? (payload?: TouchableHandlerPayload) =>\n onLongPressProp({\n actionHandlers,\n defaultHandler: payload?.defaultHandler || showMessageOverlay,\n emitter: payload?.emitter || 'message',\n event: payload?.event,\n })\n : enableLongPress\n ? () => {\n triggerHaptic('impactMedium');\n showMessageOverlay(false);\n }\n : () => null;\n\n const messageContext = useCreateMessageContext({\n actionsEnabled,\n alignment,\n channel,\n disabled,\n files: attachments.files,\n goToMessage,\n groupStyles,\n handleAction,\n handleDeleteMessage,\n handleEditMessage,\n handleQuotedReplyMessage,\n handleResendMessage,\n handleToggleBanUser,\n handleToggleMuteUser,\n handleToggleReaction,\n hasReactions,\n images: attachments.images,\n isMyMessage,\n lastGroupMessage: groupStyles?.[0] === 'single' || groupStyles?.[0] === 'bottom',\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n onLongPress: onLongPressMessage,\n onlyEmojis,\n onOpenThread,\n onPress: (payload) => {\n const onPressArgs = {\n actionHandlers,\n additionalInfo: payload.additionalInfo,\n defaultHandler: payload.defaultHandler || onPress,\n emitter: payload.emitter || 'message',\n event: payload.event,\n message,\n };\n\n const handleOnPress = () => {\n if (onPressProp) return onPressProp(onPressArgs);\n if (onPressMessageProp) return onPressMessageProp(onPressArgs);\n if (payload.defaultHandler) return payload.defaultHandler();\n\n return onPress();\n };\n\n handleOnPress();\n },\n onPressIn:\n onPressInProp || onPressInMessageProp\n ? (payload) => {\n const onPressInArgs = {\n actionHandlers,\n defaultHandler: payload.defaultHandler,\n emitter: payload.emitter || 'message',\n event: payload.event,\n message,\n };\n const handleOnpressIn = () => {\n if (onPressInProp) return onPressInProp(onPressInArgs);\n if (onPressInMessageProp) return onPressInMessageProp(onPressInArgs);\n };\n handleOnpressIn();\n }\n : null,\n otherAttachments: attachments.other,\n preventPress,\n reactions,\n showAvatar,\n showMessageOverlay,\n showMessageStatus: typeof showMessageStatus === 'boolean' ? showMessageStatus : isMyMessage,\n threadList,\n videos: attachments.videos,\n });\n\n if (!(isMessageTypeDeleted || messageContentOrder.length)) return null;\n\n return (\n <View\n style={[\n message.pinned && {\n ...targetedMessageContainer,\n backgroundColor: targetedMessageBackground,\n },\n ]}\n testID='message-wrapper'\n >\n <View\n style={[\n style,\n {\n backgroundColor: showUnreadUnderlay ? bg_gradient_start : undefined,\n },\n ]}\n >\n <View\n style={[\n isTargetedMessage\n ? { backgroundColor: targetedMessageBackground, ...targetedMessageUnderlay }\n : {},\n ]}\n >\n <MessageProvider value={messageContext}>\n <MessageSimple />\n </MessageProvider>\n </View>\n </View>\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessagePropsWithContext<StreamChatGenerics>,\n nextProps: MessagePropsWithContext<StreamChatGenerics>,\n) => {\n const {\n chatContext: { mutedUsers: prevMutedUsers },\n goToMessage: prevGoToMessage,\n groupStyles: prevGroupStyles,\n isAttachmentEqual,\n isTargetedMessage: prevIsTargetedMessage,\n lastReceivedId: prevLastReceivedId,\n members: prevMembers,\n message: prevMessage,\n showUnreadUnderlay: prevShowUnreadUnderlay,\n t: prevT,\n } = prevProps;\n const {\n chatContext: { mutedUsers: nextMutedUsers },\n goToMessage: nextGoToMessage,\n groupStyles: nextGroupStyles,\n isTargetedMessage: nextIsTargetedMessage,\n lastReceivedId: nextLastReceivedId,\n members: nextMembers,\n message: nextMessage,\n showUnreadUnderlay: nextShowUnreadUnderlay,\n t: nextT,\n } = nextProps;\n\n const membersEqual = Object.keys(prevMembers).length === Object.keys(nextMembers).length;\n if (!membersEqual) return false;\n\n const repliesEqual = prevMessage.reply_count === nextMessage.reply_count;\n if (!repliesEqual) return false;\n\n const lastReceivedIdChangedAndMatters =\n prevLastReceivedId !== nextLastReceivedId &&\n (prevLastReceivedId === prevMessage.id ||\n prevLastReceivedId === nextMessage.id ||\n nextLastReceivedId === prevMessage.id ||\n nextLastReceivedId === nextMessage.id);\n\n if (lastReceivedIdChangedAndMatters) return false;\n\n const goToMessageChangedAndMatters =\n nextMessage.quoted_message_id && prevGoToMessage !== nextGoToMessage;\n\n if (goToMessageChangedAndMatters) return false;\n\n const groupStylesEqual =\n prevGroupStyles.length === nextGroupStyles.length && 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 (isMessageWithStylesReadByAndDateSeparator(prevMessage) && prevMessage.readBy) ===\n (isMessageWithStylesReadByAndDateSeparator(nextMessage) && nextMessage.readBy) &&\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n prevMessage.text === nextMessage.text &&\n prevMessage.pinned === nextMessage.pinned &&\n `${prevMessage?.updated_at}` === `${nextMessage?.updated_at}`;\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 messageUserBannedEqual = prevMessage.user?.banned === nextMessage.user?.banned;\n if (!messageUserBannedEqual) return false;\n\n const prevMessageAttachments = prevMessage.attachments;\n const nextMessageAttachments = nextMessage.attachments;\n const attachmentsEqual =\n (Array.isArray(prevMessageAttachments) &&\n Array.isArray(nextMessageAttachments) &&\n prevMessageAttachments.length === nextMessageAttachments.length &&\n prevMessageAttachments.every((attachment, index) => {\n const attachmentKeysEqual =\n attachment.type === 'image'\n ? attachment.image_url === nextMessageAttachments[index].image_url &&\n attachment.thumb_url === nextMessageAttachments[index].thumb_url\n : attachment.type === nextMessageAttachments[index].type;\n\n if (isAttachmentEqual)\n return (\n attachmentKeysEqual && !!isAttachmentEqual(attachment, nextMessageAttachments[index])\n );\n\n return attachmentKeysEqual;\n })) ||\n prevMessageAttachments === nextMessageAttachments;\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 mutedUserSame =\n prevMutedUsers.length === nextMutedUsers.length ||\n prevMutedUsers.some((mutedUser) => mutedUser.target.id === prevMessage.user?.id) ===\n nextMutedUsers.some((mutedUser) => mutedUser.target.id === nextMessage.user?.id);\n if (!mutedUserSame) return false;\n\n const showUnreadUnderlayEqual = prevShowUnreadUnderlay === nextShowUnreadUnderlay;\n if (!showUnreadUnderlayEqual) return false;\n\n const tEqual = prevT === nextT;\n if (!tEqual) return false;\n\n const targetedMessageEqual = prevIsTargetedMessage === nextIsTargetedMessage;\n if (!targetedMessageEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessage = React.memo(MessageWithContext, areEqual) as typeof MessageWithContext;\n\nexport type MessageProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessagePropsWithContext<StreamChatGenerics>, 'groupStyles' | 'message'>> &\n Pick<MessagePropsWithContext<StreamChatGenerics>, 'groupStyles' | 'message'>;\n\n/**\n * Message - A high level component which implements all the logic required for a message.\n * The actual rendering of the message is delegated via the \"Message\" property\n *\n * @example ./Message.md\n */\nexport const Message = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageProps<StreamChatGenerics>,\n) => {\n const { channel, disabled, enforceUniqueReaction, members } =\n useChannelContext<StreamChatGenerics>();\n const chatContext = useChatContext<StreamChatGenerics>();\n const { dismissKeyboard } = useKeyboardContext();\n const { setData } = useMessageOverlayContext<StreamChatGenerics>();\n const messagesContext = useMessagesContext<StreamChatGenerics>();\n const { setOverlay } = useOverlayContext();\n const { openThread } = useThreadContext<StreamChatGenerics>();\n const { t } = useTranslationContext();\n\n return (\n <MemoizedMessage<StreamChatGenerics>\n {...messagesContext}\n {...{\n channel,\n chatContext,\n disabled,\n dismissKeyboard,\n enforceUniqueReaction,\n members,\n messagesContext,\n openThread,\n setData,\n setOverlay,\n t,\n }}\n {...props}\n />\n );\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ChatContext","_MessageContext","_ThemeContext","_Avatar","_this","_jsxFileName","MessageAvatarWithContext","props","_message$user","_message$user2","_message$user3","alignment","ImageComponent","lastGroupMessage","message","showAvatar","size","_useTheme","useTheme","_useTheme$theme","theme","BASE_AVATAR_SIZE","avatar","_useTheme$theme$messa","messageSimple","avatarWrapper","container","leftAlign","rightAlign","spacer","visible","createElement","View","style","testID","__self","__source","fileName","lineNumber","columnNumber","Avatar","image","user","name","id","areEqual","prevProps","nextProps","_prevMessage$user","_nextMessage$user","_prevMessage$user2","_nextMessage$user2","_prevMessage$user3","_nextMessage$user3","prevLastGroupMessage","prevMessage","nextLastGroupMessage","nextMessage","lastGroupMessageEqual","userEqual","MemoizedMessageAvatar","React","memo","MessageAvatar","_useMessageContext","useMessageContext","_useChatContext","useChatContext","_extends2","exports","displayName"],"sources":["MessageAvatar.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\n\nimport { ChatContextValue, useChatContext } from '../../../contexts/chatContext/ChatContext';\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { Avatar, AvatarProps } from '../../Avatar/Avatar';\n\nexport type MessageAvatarPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n 'alignment' | 'lastGroupMessage' | 'message' | 'showAvatar'\n> &\n Pick<ChatContextValue<StreamChatGenerics>, 'ImageComponent'> &\n Partial<Pick<AvatarProps, 'size'>>;\n\nconst MessageAvatarWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageAvatarPropsWithContext<StreamChatGenerics>,\n) => {\n const { alignment, ImageComponent, lastGroupMessage, message, showAvatar, size } = props;\n const {\n theme: {\n avatar: { BASE_AVATAR_SIZE },\n messageSimple: {\n avatarWrapper: { container, leftAlign, rightAlign, spacer },\n },\n },\n } = useTheme();\n\n const visible = typeof showAvatar === 'boolean' ? showAvatar : lastGroupMessage;\n\n return (\n <View\n style={[alignment === 'left' ? leftAlign : rightAlign, container]}\n testID='message-avatar'\n >\n {visible ? (\n <Avatar\n image={message.user?.image}\n ImageComponent={ImageComponent}\n name={message.user?.name || message.user?.id}\n size={size || BASE_AVATAR_SIZE}\n />\n ) : (\n <View style={spacer} testID='spacer' />\n )}\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageAvatarPropsWithContext<StreamChatGenerics>,\n nextProps: MessageAvatarPropsWithContext<StreamChatGenerics>,\n) => {\n const { lastGroupMessage: prevLastGroupMessage, message: prevMessage } = prevProps;\n const { lastGroupMessage: nextLastGroupMessage, message: nextMessage } = nextProps;\n\n const lastGroupMessageEqual = prevLastGroupMessage === nextLastGroupMessage;\n if (!lastGroupMessageEqual) return false;\n\n const userEqual =\n prevMessage.user?.image === nextMessage.user?.image &&\n prevMessage.user?.name === nextMessage.user?.name &&\n prevMessage.user?.id === nextMessage.user?.id;\n if (!userEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageAvatar = React.memo(\n MessageAvatarWithContext,\n areEqual,\n) as typeof MessageAvatarWithContext;\n\nexport type MessageAvatarProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<MessageAvatarPropsWithContext<StreamChatGenerics>>;\n\nexport const MessageAvatar = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageAvatarProps<StreamChatGenerics>,\n) => {\n const { alignment, lastGroupMessage, message, showAvatar } =\n useMessageContext<StreamChatGenerics>();\n const { ImageComponent } = useChatContext<StreamChatGenerics>();\n return (\n <MemoizedMessageAvatar\n {...{\n alignment,\n ImageComponent,\n lastGroupMessage,\n message,\n showAvatar,\n }}\n {...props}\n />\n );\n};\n\nMessageAvatar.displayName = 'MessageAvatar{messageSimple{avatarWrapper}}';\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ChatContext","_MessageContext","_ThemeContext","_Avatar","_this","_jsxFileName","MessageAvatarWithContext","props","_message$user","_message$user2","_message$user3","alignment","ImageComponent","lastGroupMessage","message","showAvatar","size","_useTheme","useTheme","_useTheme$theme","theme","BASE_AVATAR_SIZE","avatar","_useTheme$theme$messa","messageSimple","avatarWrapper","container","leftAlign","rightAlign","spacer","visible","createElement","View","style","testID","__self","__source","fileName","lineNumber","columnNumber","Avatar","image","user","name","id","areEqual","prevProps","nextProps","_prevMessage$user","_nextMessage$user","_prevMessage$user2","_nextMessage$user2","_prevMessage$user3","_nextMessage$user3","prevLastGroupMessage","prevMessage","nextLastGroupMessage","nextMessage","lastGroupMessageEqual","userEqual","MemoizedMessageAvatar","React","memo","MessageAvatar","_useMessageContext","useMessageContext","_useChatContext","useChatContext","_extends2","exports","displayName"],"sources":["MessageAvatar.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\n\nimport { ChatContextValue, useChatContext } from '../../../contexts/chatContext/ChatContext';\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { Avatar, AvatarProps } from '../../Avatar/Avatar';\n\nexport type MessageAvatarPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n 'alignment' | 'lastGroupMessage' | 'message' | 'showAvatar'\n> &\n Pick<ChatContextValue<StreamChatGenerics>, 'ImageComponent'> &\n Partial<Pick<AvatarProps, 'size'>>;\n\nconst MessageAvatarWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageAvatarPropsWithContext<StreamChatGenerics>,\n) => {\n const { alignment, ImageComponent, lastGroupMessage, message, showAvatar, size } = props;\n const {\n theme: {\n avatar: { BASE_AVATAR_SIZE },\n messageSimple: {\n avatarWrapper: { container, leftAlign, rightAlign, spacer },\n },\n },\n } = useTheme();\n\n const visible = typeof showAvatar === 'boolean' ? showAvatar : lastGroupMessage;\n\n return (\n <View\n style={[alignment === 'left' ? leftAlign : rightAlign, container]}\n testID='message-avatar'\n >\n {visible ? (\n <Avatar\n image={message.user?.image}\n ImageComponent={ImageComponent}\n name={message.user?.name || message.user?.id}\n size={size || BASE_AVATAR_SIZE}\n />\n ) : (\n <View style={spacer} testID='spacer' />\n )}\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageAvatarPropsWithContext<StreamChatGenerics>,\n nextProps: MessageAvatarPropsWithContext<StreamChatGenerics>,\n) => {\n const { lastGroupMessage: prevLastGroupMessage, message: prevMessage } = prevProps;\n const { lastGroupMessage: nextLastGroupMessage, message: nextMessage } = nextProps;\n\n const lastGroupMessageEqual = prevLastGroupMessage === nextLastGroupMessage;\n if (!lastGroupMessageEqual) return false;\n\n const userEqual =\n prevMessage.user?.image === nextMessage.user?.image &&\n prevMessage.user?.name === nextMessage.user?.name &&\n prevMessage.user?.id === nextMessage.user?.id;\n if (!userEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageAvatar = React.memo(\n MessageAvatarWithContext,\n areEqual,\n) as typeof MessageAvatarWithContext;\n\nexport type MessageAvatarProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<MessageAvatarPropsWithContext<StreamChatGenerics>>;\n\nexport const MessageAvatar = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageAvatarProps<StreamChatGenerics>,\n) => {\n const { alignment, lastGroupMessage, message, showAvatar } =\n useMessageContext<StreamChatGenerics>();\n const { ImageComponent } = useChatContext<StreamChatGenerics>();\n return (\n <MemoizedMessageAvatar\n {...{\n alignment,\n ImageComponent,\n lastGroupMessage,\n message,\n showAvatar,\n }}\n {...props}\n />\n );\n};\n\nMessageAvatar.displayName = 'MessageAvatar{messageSimple{avatarWrapper}}';\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_MessageTextContainer","_MessageContext","_MessagesContext","_ThemeContext","_TranslationContext","_icons","_utils","_excluded","_this","_jsxFileName","styles","StyleSheet","create","containerInner","borderTopLeftRadius","borderTopRightRadius","borderWidth","overflow","leftAlignContent","justifyContent","leftAlignItems","alignItems","replyBorder","borderLeftWidth","bottom","position","replyContainer","flexDirection","paddingHorizontal","paddingTop","rightAlignContent","rightAlignItems","MessageContentWithContext","props","_groupStyles$","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","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_red","blue_alice","grey_gainsboro","grey_whisper","transparent","white","_useTheme$theme$messa","messageSimple","_useTheme$theme$messa2","content","_useTheme$theme$messa3","container","borderBottomLeftRadius","borderBottomRightRadius","borderRadius","borderRadiusL","borderRadiusS","_objectWithoutProperties2","errorContainer","errorIcon","errorIconContainer","wrapper","_useTheme$theme$messa4","reactionList","radius","reactionSize","getDateText","formatter","created_at","parserOutput","isDayOrMoment","format","onLayout","_ref","width","nativeEvent","layout","error","type","status","MessageStatusTypes","FAILED","groupStyle","toLowerCase","hasThreadReplies","reply_count","noBorder","quoted_message","length","isMessageTypeDeleted","createElement","formattedDate","__self","__source","fileName","lineNumber","columnNumber","backgroundColor","repliesCurveColor","isBorderColor","getBorderRadius","groupPosition","isBottomOrSingle","getBorderRadiusFromTheme","bordersFromTheme","key","undefined","TouchableOpacity","_extends2","activeOpacity","event","emitter","testID","style","isDeleted","View","borderColor","height","left","right","map","messageContentType","messageContentOrderIndex","messageContainer","maxWidth","vw","attachment","attachmentIndex","id","messageId","actions","MessageTextContainer","absoluteFill","Error","pathFill","areEqual","prevProps","nextProps","_prevOtherAttachments","_prevOtherAttachments2","_nextOtherAttachments","_nextOtherAttachments2","_prevMessage$quoted_m","_nextMessage$quoted_m","_prevMessage$quoted_m2","_nextMessage$quoted_m2","prevGoToMessage","goToMessage","prevGroupStyles","prevHasReactions","isAttachmentEqual","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","prevMessageAttachments","attachments","nextMessageAttachments","attachmentsEqual","Array","isArray","every","index","attachmentKeysEqual","image_url","og_scrape_url","thumb_url","latestReactionsEqual","latest_reactions","_ref2","_nextMessage$latest_r","messageContentOrderEqual","tEqual","tDateTimeParserEqual","MemoizedMessageContent","React","memo","MessageContent","_useMessageContext","useMessageContext","lastReceivedId","_useMessagesContext","useMessagesContext","_useTranslationContex","useTranslationContext","exports","displayName"],"sources":["MessageContent.tsx"],"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 { DefaultStreamChatGenerics } 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 StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\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<StreamChatGenerics>,\n | 'additionalTouchableProps'\n | 'Attachment'\n | 'FileAttachmentGroup'\n | 'formatDate'\n | 'Gallery'\n | 'isAttachmentEqual'\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 StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageContentPropsWithContext<StreamChatGenerics>,\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: {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderRadius,\n borderRadiusL,\n borderRadiusS,\n borderTopLeftRadius,\n borderTopRightRadius,\n ...container\n },\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 let noBorder = onlyEmojis && !message.quoted_message;\n if (otherAttachments.length) {\n if (otherAttachments[0].type === 'giphy' && !isMyMessage) {\n noBorder = false;\n } else {\n noBorder = true;\n }\n }\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 let backgroundColor = grey_gainsboro;\n if (onlyEmojis && !message.quoted_message) {\n backgroundColor = transparent;\n } else if (otherAttachments.length) {\n if (otherAttachments[0].type === 'giphy') {\n backgroundColor = message.quoted_message ? grey_gainsboro : transparent;\n } else {\n backgroundColor = blue_alice;\n }\n } else if (alignment === 'left' || error) {\n backgroundColor = white;\n }\n\n const repliesCurveColor = isMyMessage && !error ? backgroundColor : grey_whisper;\n\n const isBorderColor = isMyMessage && !error;\n\n const getBorderRadius = () => {\n // enum('top', 'middle', 'bottom', 'single')\n const groupPosition = groupStyles?.[0];\n\n const isBottomOrSingle = groupPosition === 'single' || groupPosition === 'bottom';\n let borderBottomLeftRadius = borderRadiusL;\n let borderBottomRightRadius = borderRadiusL;\n\n if (isBottomOrSingle && (!hasThreadReplies || threadList)) {\n // add relevant sharp corner\n if (alignment === 'left') {\n borderBottomLeftRadius = borderRadiusS;\n } else {\n borderBottomRightRadius = borderRadiusS;\n }\n }\n\n return {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n };\n };\n\n const getBorderRadiusFromTheme = () => {\n const bordersFromTheme: Record<string, number | undefined> = {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderRadius,\n borderTopLeftRadius,\n borderTopRightRadius,\n };\n\n // filter out undefined values\n for (const key in bordersFromTheme) {\n if (bordersFromTheme[key] === undefined) {\n delete bordersFromTheme[key];\n }\n }\n\n return bordersFromTheme;\n };\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 borderColor: isBorderColor ? backgroundColor : grey_whisper,\n ...getBorderRadius(),\n ...getBorderRadiusFromTheme(),\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<StreamChatGenerics>\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 = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageContentPropsWithContext<StreamChatGenerics>,\n nextProps: MessageContentPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n goToMessage: prevGoToMessage,\n groupStyles: prevGroupStyles,\n hasReactions: prevHasReactions,\n isAttachmentEqual,\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 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 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 if (!quotedMessageEqual) return false;\n\n const prevMessageAttachments = prevMessage.attachments;\n const nextMessageAttachments = nextMessage.attachments;\n const attachmentsEqual =\n Array.isArray(prevMessageAttachments) && Array.isArray(nextMessageAttachments)\n ? prevMessageAttachments.length === nextMessageAttachments.length &&\n prevMessageAttachments.every((attachment, index) => {\n const attachmentKeysEqual =\n attachment.image_url === nextMessageAttachments[index].image_url &&\n attachment.og_scrape_url === nextMessageAttachments[index].og_scrape_url &&\n attachment.thumb_url === nextMessageAttachments[index].thumb_url;\n\n if (isAttachmentEqual)\n return (\n attachmentKeysEqual && !!isAttachmentEqual(attachment, nextMessageAttachments[index])\n );\n\n return attachmentKeysEqual;\n })\n : prevMessageAttachments === nextMessageAttachments;\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 StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessageContentPropsWithContext<StreamChatGenerics>, 'setMessageContentWidth'>> &\n Pick<MessageContentPropsWithContext<StreamChatGenerics>, 'setMessageContentWidth'>;\n\n/**\n * Child of MessageSimple that displays a message's content\n */\nexport const MessageContent = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageContentProps<StreamChatGenerics>,\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<StreamChatGenerics>();\n const {\n additionalTouchableProps,\n Attachment,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n isAttachmentEqual,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n Reply,\n } = useMessagesContext<StreamChatGenerics>();\n const { t, tDateTimeParser } = useTranslationContext();\n\n return (\n <MemoizedMessageContent<StreamChatGenerics>\n {...{\n additionalTouchableProps,\n alignment,\n Attachment,\n disabled,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n goToMessage,\n groupStyles,\n hasReactions,\n isAttachmentEqual,\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"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_MessageTextContainer","_MessageContext","_MessagesContext","_ThemeContext","_TranslationContext","_icons","_utils","_excluded","_this","_jsxFileName","styles","StyleSheet","create","containerInner","borderTopLeftRadius","borderTopRightRadius","borderWidth","overflow","leftAlignContent","justifyContent","leftAlignItems","alignItems","replyBorder","borderLeftWidth","bottom","position","replyContainer","flexDirection","paddingHorizontal","paddingTop","rightAlignContent","rightAlignItems","MessageContentWithContext","props","_groupStyles$","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","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_red","blue_alice","grey_gainsboro","grey_whisper","transparent","white","_useTheme$theme$messa","messageSimple","_useTheme$theme$messa2","content","_useTheme$theme$messa3","container","borderBottomLeftRadius","borderBottomRightRadius","borderRadius","borderRadiusL","borderRadiusS","_objectWithoutProperties2","errorContainer","errorIcon","errorIconContainer","wrapper","_useTheme$theme$messa4","reactionList","radius","reactionSize","getDateText","formatter","created_at","parserOutput","isDayOrMoment","format","onLayout","_ref","width","nativeEvent","layout","error","type","status","MessageStatusTypes","FAILED","groupStyle","toLowerCase","hasThreadReplies","reply_count","noBorder","quoted_message","length","isMessageTypeDeleted","createElement","formattedDate","__self","__source","fileName","lineNumber","columnNumber","backgroundColor","repliesCurveColor","isBorderColor","getBorderRadius","groupPosition","isBottomOrSingle","getBorderRadiusFromTheme","bordersFromTheme","key","undefined","TouchableOpacity","_extends2","activeOpacity","event","emitter","testID","style","isDeleted","View","borderColor","height","left","right","map","messageContentType","messageContentOrderIndex","messageContainer","maxWidth","vw","attachment","attachmentIndex","id","messageId","actions","MessageTextContainer","absoluteFill","Error","pathFill","areEqual","prevProps","nextProps","_prevOtherAttachments","_prevOtherAttachments2","_nextOtherAttachments","_nextOtherAttachments2","_prevMessage$quoted_m","_nextMessage$quoted_m","_prevMessage$quoted_m2","_nextMessage$quoted_m2","prevGoToMessage","goToMessage","prevGroupStyles","prevHasReactions","isAttachmentEqual","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","prevMessageAttachments","attachments","nextMessageAttachments","attachmentsEqual","Array","isArray","every","index","attachmentKeysEqual","image_url","og_scrape_url","thumb_url","latestReactionsEqual","latest_reactions","_ref2","_nextMessage$latest_r","messageContentOrderEqual","tEqual","tDateTimeParserEqual","MemoizedMessageContent","React","memo","MessageContent","_useMessageContext","useMessageContext","lastReceivedId","_useMessagesContext","useMessagesContext","_useTranslationContex","useTranslationContext","exports","displayName"],"sources":["MessageContent.tsx"],"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 { DefaultStreamChatGenerics } 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 StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\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<StreamChatGenerics>,\n | 'additionalTouchableProps'\n | 'Attachment'\n | 'FileAttachmentGroup'\n | 'formatDate'\n | 'Gallery'\n | 'isAttachmentEqual'\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 StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageContentPropsWithContext<StreamChatGenerics>,\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: {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderRadius,\n borderRadiusL,\n borderRadiusS,\n borderTopLeftRadius,\n borderTopRightRadius,\n ...container\n },\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 let noBorder = onlyEmojis && !message.quoted_message;\n if (otherAttachments.length) {\n if (otherAttachments[0].type === 'giphy' && !isMyMessage) {\n noBorder = false;\n } else {\n noBorder = true;\n }\n }\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 let backgroundColor = grey_gainsboro;\n if (onlyEmojis && !message.quoted_message) {\n backgroundColor = transparent;\n } else if (otherAttachments.length) {\n if (otherAttachments[0].type === 'giphy') {\n backgroundColor = message.quoted_message ? grey_gainsboro : transparent;\n } else {\n backgroundColor = blue_alice;\n }\n } else if (alignment === 'left' || error) {\n backgroundColor = white;\n }\n\n const repliesCurveColor = isMyMessage && !error ? backgroundColor : grey_whisper;\n\n const isBorderColor = isMyMessage && !error;\n\n const getBorderRadius = () => {\n // enum('top', 'middle', 'bottom', 'single')\n const groupPosition = groupStyles?.[0];\n\n const isBottomOrSingle = groupPosition === 'single' || groupPosition === 'bottom';\n let borderBottomLeftRadius = borderRadiusL;\n let borderBottomRightRadius = borderRadiusL;\n\n if (isBottomOrSingle && (!hasThreadReplies || threadList)) {\n // add relevant sharp corner\n if (alignment === 'left') {\n borderBottomLeftRadius = borderRadiusS;\n } else {\n borderBottomRightRadius = borderRadiusS;\n }\n }\n\n return {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n };\n };\n\n const getBorderRadiusFromTheme = () => {\n const bordersFromTheme: Record<string, number | undefined> = {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderRadius,\n borderTopLeftRadius,\n borderTopRightRadius,\n };\n\n // filter out undefined values\n for (const key in bordersFromTheme) {\n if (bordersFromTheme[key] === undefined) {\n delete bordersFromTheme[key];\n }\n }\n\n return bordersFromTheme;\n };\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 borderColor: isBorderColor ? backgroundColor : grey_whisper,\n ...getBorderRadius(),\n ...getBorderRadiusFromTheme(),\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<StreamChatGenerics>\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 = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageContentPropsWithContext<StreamChatGenerics>,\n nextProps: MessageContentPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n goToMessage: prevGoToMessage,\n groupStyles: prevGroupStyles,\n hasReactions: prevHasReactions,\n isAttachmentEqual,\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 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 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 if (!quotedMessageEqual) return false;\n\n const prevMessageAttachments = prevMessage.attachments;\n const nextMessageAttachments = nextMessage.attachments;\n const attachmentsEqual =\n Array.isArray(prevMessageAttachments) && Array.isArray(nextMessageAttachments)\n ? prevMessageAttachments.length === nextMessageAttachments.length &&\n prevMessageAttachments.every((attachment, index) => {\n const attachmentKeysEqual =\n attachment.image_url === nextMessageAttachments[index].image_url &&\n attachment.og_scrape_url === nextMessageAttachments[index].og_scrape_url &&\n attachment.thumb_url === nextMessageAttachments[index].thumb_url;\n\n if (isAttachmentEqual)\n return (\n attachmentKeysEqual && !!isAttachmentEqual(attachment, nextMessageAttachments[index])\n );\n\n return attachmentKeysEqual;\n })\n : prevMessageAttachments === nextMessageAttachments;\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 StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessageContentPropsWithContext<StreamChatGenerics>, 'setMessageContentWidth'>> &\n Pick<MessageContentPropsWithContext<StreamChatGenerics>, 'setMessageContentWidth'>;\n\n/**\n * Child of MessageSimple that displays a message's content\n */\nexport const MessageContent = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageContentProps<StreamChatGenerics>,\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<StreamChatGenerics>();\n const {\n additionalTouchableProps,\n Attachment,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n isAttachmentEqual,\n MessageDeleted,\n MessageFooter,\n MessageHeader,\n MessageReplies,\n MessageStatus,\n Reply,\n } = useMessagesContext<StreamChatGenerics>();\n const { t, tDateTimeParser } = useTranslationContext();\n\n return (\n <MemoizedMessageContent<StreamChatGenerics>\n {...{\n additionalTouchableProps,\n alignment,\n Attachment,\n disabled,\n FileAttachmentGroup,\n formatDate,\n Gallery,\n goToMessage,\n groupStyles,\n hasReactions,\n isAttachmentEqual,\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"],"mappings":"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"}