stream-chat-react-native-core 5.0.0-offline-support.15 → 5.1.0

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 (515) hide show
  1. package/lib/commonjs/components/Attachment/Attachment.js +1 -1
  2. package/lib/commonjs/components/Attachment/AttachmentActions.js +1 -1
  3. package/lib/commonjs/components/Attachment/AudioAttachment.js +1 -1
  4. package/lib/commonjs/components/Attachment/Card.js +1 -1
  5. package/lib/commonjs/components/Attachment/FileAttachment.js +17 -8
  6. package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
  7. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +1 -1
  8. package/lib/commonjs/components/Attachment/FileIcon.js +1 -1
  9. package/lib/commonjs/components/Attachment/Gallery.js +5 -3
  10. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  11. package/lib/commonjs/components/Attachment/GalleryImage.js +1 -1
  12. package/lib/commonjs/components/Attachment/Giphy.js +1 -1
  13. package/lib/commonjs/components/Attachment/ImageLoadingFailedIndicator.js +1 -1
  14. package/lib/commonjs/components/Attachment/ImageLoadingIndicator.js +1 -1
  15. package/lib/commonjs/components/Attachment/VideoThumbnail.js +1 -1
  16. package/lib/commonjs/components/Attachment/utils/getGiphyMimeType.js +15 -0
  17. package/lib/commonjs/components/Attachment/utils/getGiphyMimeType.js.map +1 -0
  18. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +1 -1
  19. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +1 -1
  20. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerError.js +1 -1
  21. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +1 -1
  22. package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js +1 -1
  23. package/lib/commonjs/components/AttachmentPicker/components/CameraSelectorIcon.js +1 -1
  24. package/lib/commonjs/components/AttachmentPicker/components/FileSelectorIcon.js +1 -1
  25. package/lib/commonjs/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +1 -1
  26. package/lib/commonjs/components/AttachmentPicker/components/ImageSelectorIcon.js +1 -1
  27. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +1 -1
  28. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +1 -1
  29. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +1 -1
  30. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +1 -1
  31. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -1
  32. package/lib/commonjs/components/Avatar/Avatar.js +1 -1
  33. package/lib/commonjs/components/Avatar/GroupAvatar.js +1 -1
  34. package/lib/commonjs/components/Channel/Channel.js +2 -2
  35. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  36. package/lib/commonjs/components/ChannelList/ChannelList.js +1 -1
  37. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -1
  38. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +1 -1
  39. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +1 -1
  40. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js +1 -1
  41. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +1 -1
  42. package/lib/commonjs/components/ChannelList/Skeleton.js +1 -1
  43. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js +16 -4
  44. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  45. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +1 -1
  46. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  47. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +1 -1
  48. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +11 -7
  49. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  50. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +1 -1
  51. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +1 -1
  52. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
  53. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +1 -1
  54. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  55. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +1 -1
  56. package/lib/commonjs/components/Chat/Chat.js +1 -1
  57. package/lib/commonjs/components/ImageGallery/ImageGallery.js +24 -22
  58. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  59. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +1 -1
  60. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +1 -1
  61. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +1 -1
  62. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +1 -1
  63. package/lib/commonjs/components/ImageGallery/components/ImageGalleryOverlay.js +1 -1
  64. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js +1 -1
  65. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +1 -1
  66. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +1 -1
  67. package/lib/commonjs/components/Indicators/EmptyStateIndicator.js +1 -1
  68. package/lib/commonjs/components/Indicators/LoadingDot.js +1 -1
  69. package/lib/commonjs/components/Indicators/LoadingDots.js +1 -1
  70. package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js +1 -1
  71. package/lib/commonjs/components/Indicators/LoadingIndicator.js +1 -1
  72. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js +1 -1
  73. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +1 -1
  74. package/lib/commonjs/components/Message/Message.js +7 -7
  75. package/lib/commonjs/components/Message/Message.js.map +1 -1
  76. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +1 -1
  77. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +1 -1
  78. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +1 -1
  79. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +1 -1
  80. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +1 -1
  81. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +1 -1
  82. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +1 -1
  83. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +1 -1
  84. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +1 -1
  85. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +8 -4
  86. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  87. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +1 -1
  88. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +2 -2
  89. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  90. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js +1 -1
  91. package/lib/commonjs/components/Message/hooks/useMessageActions.js +1 -1
  92. package/lib/commonjs/components/MessageInput/AttachButton.js +1 -1
  93. package/lib/commonjs/components/MessageInput/CommandsButton.js +1 -1
  94. package/lib/commonjs/components/MessageInput/CooldownTimer.js +1 -1
  95. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +1 -1
  96. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +50 -32
  97. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
  98. package/lib/commonjs/components/MessageInput/InputButtons.js +1 -1
  99. package/lib/commonjs/components/MessageInput/MessageInput.js +1 -1
  100. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +1 -1
  101. package/lib/commonjs/components/MessageInput/SendButton.js +1 -1
  102. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +1 -1
  103. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +1 -1
  104. package/lib/commonjs/components/MessageInput/UploadProgressIndicator.js +1 -1
  105. package/lib/commonjs/components/MessageInput/components/InputEditingStateHeader.js +1 -1
  106. package/lib/commonjs/components/MessageInput/components/InputGiphySearch.js +1 -1
  107. package/lib/commonjs/components/MessageInput/components/InputReplyStateHeader.js +1 -1
  108. package/lib/commonjs/components/MessageList/DateHeader.js +1 -1
  109. package/lib/commonjs/components/MessageList/InlineDateSeparator.js +1 -1
  110. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  111. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  112. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  113. package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js +1 -1
  114. package/lib/commonjs/components/MessageList/MessageList.js +2 -2
  115. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  116. package/lib/commonjs/components/MessageList/MessageSystem.js +1 -1
  117. package/lib/commonjs/components/MessageList/NetworkDownIndicator.js +1 -1
  118. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js +1 -1
  119. package/lib/commonjs/components/MessageList/TypingIndicator.js +1 -1
  120. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js +1 -1
  121. package/lib/commonjs/components/MessageOverlay/MessageActionList.js +1 -1
  122. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +1 -1
  123. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +1 -1
  124. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +1 -1
  125. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +1 -1
  126. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +1 -1
  127. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js +1 -1
  128. package/lib/commonjs/components/ProgressControl/ProgressControl.js +1 -1
  129. package/lib/commonjs/components/RTLComponents/WritingDirectionAwareText.js +1 -1
  130. package/lib/commonjs/components/Reply/Reply.js +1 -1
  131. package/lib/commonjs/components/Spinner/Spinner.js +1 -1
  132. package/lib/commonjs/components/Thread/Thread.js +1 -1
  133. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +1 -1
  134. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +1 -1
  135. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
  136. package/lib/commonjs/contexts/channelContext/ChannelContext.js +1 -1
  137. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +1 -1
  138. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +1 -1
  139. package/lib/commonjs/contexts/chatContext/ChatContext.js +1 -1
  140. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +1 -1
  141. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +1 -1
  142. package/lib/commonjs/contexts/messageContext/MessageContext.js +1 -1
  143. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +1 -1
  144. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +1 -1
  145. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +1 -1
  146. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +1 -1
  147. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -1
  148. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +1 -1
  149. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
  150. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +1 -1
  151. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +1 -1
  152. package/lib/commonjs/contexts/themeContext/ThemeContext.js +1 -1
  153. package/lib/commonjs/contexts/themeContext/utils/theme.js +1 -0
  154. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  155. package/lib/commonjs/contexts/threadContext/ThreadContext.js +1 -1
  156. package/lib/commonjs/contexts/translationContext/TranslationContext.js +1 -1
  157. package/lib/commonjs/contexts/typingContext/TypingContext.js +1 -1
  158. package/lib/commonjs/icons/ArrowRight.js +1 -1
  159. package/lib/commonjs/icons/AtMentions.js +1 -1
  160. package/lib/commonjs/icons/Attach.js +1 -1
  161. package/lib/commonjs/icons/Audio.js +1 -1
  162. package/lib/commonjs/icons/CSV.js +1 -1
  163. package/lib/commonjs/icons/Camera.js +1 -1
  164. package/lib/commonjs/icons/Check.js +1 -1
  165. package/lib/commonjs/icons/CheckAll.js +1 -1
  166. package/lib/commonjs/icons/CheckSend.js +1 -1
  167. package/lib/commonjs/icons/CircleClose.js +1 -1
  168. package/lib/commonjs/icons/CirclePlus.js +1 -1
  169. package/lib/commonjs/icons/CircleRight.js +1 -1
  170. package/lib/commonjs/icons/Close.js +1 -1
  171. package/lib/commonjs/icons/Copy.js +1 -1
  172. package/lib/commonjs/icons/CurveLineLeftUp.js +1 -1
  173. package/lib/commonjs/icons/DOC.js +1 -1
  174. package/lib/commonjs/icons/DOCX.js +1 -1
  175. package/lib/commonjs/icons/Delete.js +1 -1
  176. package/lib/commonjs/icons/Down.js +1 -1
  177. package/lib/commonjs/icons/DownloadArrow.js +1 -1
  178. package/lib/commonjs/icons/DownloadCloud.js +1 -1
  179. package/lib/commonjs/icons/Edit.js +1 -1
  180. package/lib/commonjs/icons/Error.js +1 -1
  181. package/lib/commonjs/icons/Eye.js +1 -1
  182. package/lib/commonjs/icons/Flag.js +1 -1
  183. package/lib/commonjs/icons/Folder.js +1 -1
  184. package/lib/commonjs/icons/GenericFile.js +1 -1
  185. package/lib/commonjs/icons/GiphyIcon.js +1 -1
  186. package/lib/commonjs/icons/Grid.js +1 -1
  187. package/lib/commonjs/icons/Group.js +1 -1
  188. package/lib/commonjs/icons/HTML.js +1 -1
  189. package/lib/commonjs/icons/Imgur.js +1 -1
  190. package/lib/commonjs/icons/LOLReaction.js +1 -1
  191. package/lib/commonjs/icons/Lightning.js +1 -1
  192. package/lib/commonjs/icons/Link.js +1 -1
  193. package/lib/commonjs/icons/Loading.js +1 -1
  194. package/lib/commonjs/icons/Logo.js +1 -1
  195. package/lib/commonjs/icons/LoveReaction.js +1 -1
  196. package/lib/commonjs/icons/MD.js +1 -1
  197. package/lib/commonjs/icons/MailOpen.js +1 -1
  198. package/lib/commonjs/icons/MenuPointHorizontal.js +1 -1
  199. package/lib/commonjs/icons/MenuPointVertical.js +1 -1
  200. package/lib/commonjs/icons/MessageFlag.js +1 -1
  201. package/lib/commonjs/icons/MessageIcon.js +1 -1
  202. package/lib/commonjs/icons/Mute.js +1 -1
  203. package/lib/commonjs/icons/Notification.js +1 -1
  204. package/lib/commonjs/icons/ODT.js +1 -1
  205. package/lib/commonjs/icons/PDF.js +1 -1
  206. package/lib/commonjs/icons/PPT.js +1 -1
  207. package/lib/commonjs/icons/PPTX.js +1 -1
  208. package/lib/commonjs/icons/Pause.js +1 -1
  209. package/lib/commonjs/icons/Picture.js +1 -1
  210. package/lib/commonjs/icons/Pin.js +1 -1
  211. package/lib/commonjs/icons/PinHeader.js +1 -1
  212. package/lib/commonjs/icons/Play.js +1 -1
  213. package/lib/commonjs/icons/RAR.js +1 -1
  214. package/lib/commonjs/icons/RTF.js +1 -1
  215. package/lib/commonjs/icons/Recorder.js +1 -1
  216. package/lib/commonjs/icons/Refresh.js +1 -1
  217. package/lib/commonjs/icons/SEVEN_Z.js +1 -1
  218. package/lib/commonjs/icons/Search.js +1 -1
  219. package/lib/commonjs/icons/SendRight.js +1 -1
  220. package/lib/commonjs/icons/SendUp.js +1 -1
  221. package/lib/commonjs/icons/Share.js +1 -1
  222. package/lib/commonjs/icons/ShareRightArrow.js +1 -1
  223. package/lib/commonjs/icons/Smile.js +1 -1
  224. package/lib/commonjs/icons/Sound.js +1 -1
  225. package/lib/commonjs/icons/TAR.js +1 -1
  226. package/lib/commonjs/icons/TXT.js +1 -1
  227. package/lib/commonjs/icons/ThreadReply.js +1 -1
  228. package/lib/commonjs/icons/ThumbsDownReaction.js +1 -1
  229. package/lib/commonjs/icons/ThumbsUpReaction.js +1 -1
  230. package/lib/commonjs/icons/Time.js +1 -1
  231. package/lib/commonjs/icons/Unknown.js +1 -1
  232. package/lib/commonjs/icons/Unpin.js +1 -1
  233. package/lib/commonjs/icons/User.js +1 -1
  234. package/lib/commonjs/icons/UserAdd.js +1 -1
  235. package/lib/commonjs/icons/UserAdmin.js +1 -1
  236. package/lib/commonjs/icons/UserDelete.js +1 -1
  237. package/lib/commonjs/icons/UserMinus.js +1 -1
  238. package/lib/commonjs/icons/Video.js +1 -1
  239. package/lib/commonjs/icons/Warning.js +1 -1
  240. package/lib/commonjs/icons/WutReaction.js +1 -1
  241. package/lib/commonjs/icons/XLS.js +1 -1
  242. package/lib/commonjs/icons/XLSX.js +1 -1
  243. package/lib/commonjs/icons/ZIP.js +1 -1
  244. package/lib/commonjs/icons/utils/base.js +1 -1
  245. package/lib/commonjs/mock-builders/event/messageNew.js +2 -0
  246. package/lib/commonjs/mock-builders/event/messageNew.js.map +1 -1
  247. package/lib/commonjs/version.json +1 -1
  248. package/lib/module/components/Attachment/Attachment.js +1 -1
  249. package/lib/module/components/Attachment/AttachmentActions.js +1 -1
  250. package/lib/module/components/Attachment/AudioAttachment.js +1 -1
  251. package/lib/module/components/Attachment/Card.js +1 -1
  252. package/lib/module/components/Attachment/FileAttachment.js +17 -8
  253. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  254. package/lib/module/components/Attachment/FileAttachmentGroup.js +1 -1
  255. package/lib/module/components/Attachment/FileIcon.js +1 -1
  256. package/lib/module/components/Attachment/Gallery.js +5 -3
  257. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  258. package/lib/module/components/Attachment/GalleryImage.js +1 -1
  259. package/lib/module/components/Attachment/Giphy.js +1 -1
  260. package/lib/module/components/Attachment/ImageLoadingFailedIndicator.js +1 -1
  261. package/lib/module/components/Attachment/ImageLoadingIndicator.js +1 -1
  262. package/lib/module/components/Attachment/VideoThumbnail.js +1 -1
  263. package/lib/module/components/Attachment/utils/getGiphyMimeType.js +15 -0
  264. package/lib/module/components/Attachment/utils/getGiphyMimeType.js.map +1 -0
  265. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +1 -1
  266. package/lib/module/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +1 -1
  267. package/lib/module/components/AttachmentPicker/components/AttachmentPickerError.js +1 -1
  268. package/lib/module/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +1 -1
  269. package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js +1 -1
  270. package/lib/module/components/AttachmentPicker/components/CameraSelectorIcon.js +1 -1
  271. package/lib/module/components/AttachmentPicker/components/FileSelectorIcon.js +1 -1
  272. package/lib/module/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +1 -1
  273. package/lib/module/components/AttachmentPicker/components/ImageSelectorIcon.js +1 -1
  274. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +1 -1
  275. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +1 -1
  276. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +1 -1
  277. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +1 -1
  278. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -1
  279. package/lib/module/components/Avatar/Avatar.js +1 -1
  280. package/lib/module/components/Avatar/GroupAvatar.js +1 -1
  281. package/lib/module/components/Channel/Channel.js +2 -2
  282. package/lib/module/components/Channel/Channel.js.map +1 -1
  283. package/lib/module/components/ChannelList/ChannelList.js +1 -1
  284. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -1
  285. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +1 -1
  286. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +1 -1
  287. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js +1 -1
  288. package/lib/module/components/ChannelList/ChannelListMessenger.js +1 -1
  289. package/lib/module/components/ChannelList/Skeleton.js +1 -1
  290. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js +16 -4
  291. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  292. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +1 -1
  293. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  294. package/lib/module/components/ChannelPreview/ChannelAvatar.js +1 -1
  295. package/lib/module/components/ChannelPreview/ChannelPreview.js +11 -7
  296. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  297. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +1 -1
  298. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +1 -1
  299. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
  300. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +1 -1
  301. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  302. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +1 -1
  303. package/lib/module/components/Chat/Chat.js +1 -1
  304. package/lib/module/components/ImageGallery/ImageGallery.js +24 -22
  305. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  306. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +1 -1
  307. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +1 -1
  308. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +1 -1
  309. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +1 -1
  310. package/lib/module/components/ImageGallery/components/ImageGalleryOverlay.js +1 -1
  311. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js +1 -1
  312. package/lib/module/components/ImageGallery/components/ImageGrid.js +1 -1
  313. package/lib/module/components/ImageGallery/components/ImageGridHandle.js +1 -1
  314. package/lib/module/components/Indicators/EmptyStateIndicator.js +1 -1
  315. package/lib/module/components/Indicators/LoadingDot.js +1 -1
  316. package/lib/module/components/Indicators/LoadingDots.js +1 -1
  317. package/lib/module/components/Indicators/LoadingErrorIndicator.js +1 -1
  318. package/lib/module/components/Indicators/LoadingIndicator.js +1 -1
  319. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js +1 -1
  320. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +1 -1
  321. package/lib/module/components/Message/Message.js +7 -7
  322. package/lib/module/components/Message/Message.js.map +1 -1
  323. package/lib/module/components/Message/MessageSimple/MessageAvatar.js +1 -1
  324. package/lib/module/components/Message/MessageSimple/MessageContent.js +1 -1
  325. package/lib/module/components/Message/MessageSimple/MessageDeleted.js +1 -1
  326. package/lib/module/components/Message/MessageSimple/MessageFooter.js +1 -1
  327. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +1 -1
  328. package/lib/module/components/Message/MessageSimple/MessageReplies.js +1 -1
  329. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +1 -1
  330. package/lib/module/components/Message/MessageSimple/MessageSimple.js +1 -1
  331. package/lib/module/components/Message/MessageSimple/MessageStatus.js +1 -1
  332. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +8 -4
  333. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  334. package/lib/module/components/Message/MessageSimple/ReactionList.js +1 -1
  335. package/lib/module/components/Message/MessageSimple/utils/renderText.js +2 -2
  336. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  337. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js +1 -1
  338. package/lib/module/components/Message/hooks/useMessageActions.js +1 -1
  339. package/lib/module/components/MessageInput/AttachButton.js +1 -1
  340. package/lib/module/components/MessageInput/CommandsButton.js +1 -1
  341. package/lib/module/components/MessageInput/CooldownTimer.js +1 -1
  342. package/lib/module/components/MessageInput/FileUploadPreview.js +1 -1
  343. package/lib/module/components/MessageInput/ImageUploadPreview.js +50 -32
  344. package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
  345. package/lib/module/components/MessageInput/InputButtons.js +1 -1
  346. package/lib/module/components/MessageInput/MessageInput.js +1 -1
  347. package/lib/module/components/MessageInput/MoreOptionsButton.js +1 -1
  348. package/lib/module/components/MessageInput/SendButton.js +1 -1
  349. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +1 -1
  350. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +1 -1
  351. package/lib/module/components/MessageInput/UploadProgressIndicator.js +1 -1
  352. package/lib/module/components/MessageInput/components/InputEditingStateHeader.js +1 -1
  353. package/lib/module/components/MessageInput/components/InputGiphySearch.js +1 -1
  354. package/lib/module/components/MessageInput/components/InputReplyStateHeader.js +1 -1
  355. package/lib/module/components/MessageList/DateHeader.js +1 -1
  356. package/lib/module/components/MessageList/InlineDateSeparator.js +1 -1
  357. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  358. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  359. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  360. package/lib/module/components/MessageList/InlineUnreadIndicator.js +1 -1
  361. package/lib/module/components/MessageList/MessageList.js +2 -2
  362. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  363. package/lib/module/components/MessageList/MessageSystem.js +1 -1
  364. package/lib/module/components/MessageList/NetworkDownIndicator.js +1 -1
  365. package/lib/module/components/MessageList/ScrollToBottomButton.js +1 -1
  366. package/lib/module/components/MessageList/TypingIndicator.js +1 -1
  367. package/lib/module/components/MessageList/TypingIndicatorContainer.js +1 -1
  368. package/lib/module/components/MessageOverlay/MessageActionList.js +1 -1
  369. package/lib/module/components/MessageOverlay/MessageActionListItem.js +1 -1
  370. package/lib/module/components/MessageOverlay/MessageOverlay.js +1 -1
  371. package/lib/module/components/MessageOverlay/OverlayBackdrop.js +1 -1
  372. package/lib/module/components/MessageOverlay/OverlayReactionList.js +1 -1
  373. package/lib/module/components/MessageOverlay/OverlayReactions.js +1 -1
  374. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js +1 -1
  375. package/lib/module/components/ProgressControl/ProgressControl.js +1 -1
  376. package/lib/module/components/RTLComponents/WritingDirectionAwareText.js +1 -1
  377. package/lib/module/components/Reply/Reply.js +1 -1
  378. package/lib/module/components/Spinner/Spinner.js +1 -1
  379. package/lib/module/components/Thread/Thread.js +1 -1
  380. package/lib/module/components/Thread/components/ThreadFooterComponent.js +1 -1
  381. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +1 -1
  382. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
  383. package/lib/module/contexts/channelContext/ChannelContext.js +1 -1
  384. package/lib/module/contexts/channelsContext/ChannelsContext.js +1 -1
  385. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +1 -1
  386. package/lib/module/contexts/chatContext/ChatContext.js +1 -1
  387. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +1 -1
  388. package/lib/module/contexts/keyboardContext/KeyboardContext.js +1 -1
  389. package/lib/module/contexts/messageContext/MessageContext.js +1 -1
  390. package/lib/module/contexts/messageInputContext/MessageInputContext.js +1 -1
  391. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +1 -1
  392. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +1 -1
  393. package/lib/module/contexts/messagesContext/MessagesContext.js +1 -1
  394. package/lib/module/contexts/overlayContext/OverlayContext.js +1 -1
  395. package/lib/module/contexts/overlayContext/OverlayProvider.js +1 -1
  396. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
  397. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +1 -1
  398. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +1 -1
  399. package/lib/module/contexts/themeContext/ThemeContext.js +1 -1
  400. package/lib/module/contexts/themeContext/utils/theme.js +1 -0
  401. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  402. package/lib/module/contexts/threadContext/ThreadContext.js +1 -1
  403. package/lib/module/contexts/translationContext/TranslationContext.js +1 -1
  404. package/lib/module/contexts/typingContext/TypingContext.js +1 -1
  405. package/lib/module/icons/ArrowRight.js +1 -1
  406. package/lib/module/icons/AtMentions.js +1 -1
  407. package/lib/module/icons/Attach.js +1 -1
  408. package/lib/module/icons/Audio.js +1 -1
  409. package/lib/module/icons/CSV.js +1 -1
  410. package/lib/module/icons/Camera.js +1 -1
  411. package/lib/module/icons/Check.js +1 -1
  412. package/lib/module/icons/CheckAll.js +1 -1
  413. package/lib/module/icons/CheckSend.js +1 -1
  414. package/lib/module/icons/CircleClose.js +1 -1
  415. package/lib/module/icons/CirclePlus.js +1 -1
  416. package/lib/module/icons/CircleRight.js +1 -1
  417. package/lib/module/icons/Close.js +1 -1
  418. package/lib/module/icons/Copy.js +1 -1
  419. package/lib/module/icons/CurveLineLeftUp.js +1 -1
  420. package/lib/module/icons/DOC.js +1 -1
  421. package/lib/module/icons/DOCX.js +1 -1
  422. package/lib/module/icons/Delete.js +1 -1
  423. package/lib/module/icons/Down.js +1 -1
  424. package/lib/module/icons/DownloadArrow.js +1 -1
  425. package/lib/module/icons/DownloadCloud.js +1 -1
  426. package/lib/module/icons/Edit.js +1 -1
  427. package/lib/module/icons/Error.js +1 -1
  428. package/lib/module/icons/Eye.js +1 -1
  429. package/lib/module/icons/Flag.js +1 -1
  430. package/lib/module/icons/Folder.js +1 -1
  431. package/lib/module/icons/GenericFile.js +1 -1
  432. package/lib/module/icons/GiphyIcon.js +1 -1
  433. package/lib/module/icons/Grid.js +1 -1
  434. package/lib/module/icons/Group.js +1 -1
  435. package/lib/module/icons/HTML.js +1 -1
  436. package/lib/module/icons/Imgur.js +1 -1
  437. package/lib/module/icons/LOLReaction.js +1 -1
  438. package/lib/module/icons/Lightning.js +1 -1
  439. package/lib/module/icons/Link.js +1 -1
  440. package/lib/module/icons/Loading.js +1 -1
  441. package/lib/module/icons/Logo.js +1 -1
  442. package/lib/module/icons/LoveReaction.js +1 -1
  443. package/lib/module/icons/MD.js +1 -1
  444. package/lib/module/icons/MailOpen.js +1 -1
  445. package/lib/module/icons/MenuPointHorizontal.js +1 -1
  446. package/lib/module/icons/MenuPointVertical.js +1 -1
  447. package/lib/module/icons/MessageFlag.js +1 -1
  448. package/lib/module/icons/MessageIcon.js +1 -1
  449. package/lib/module/icons/Mute.js +1 -1
  450. package/lib/module/icons/Notification.js +1 -1
  451. package/lib/module/icons/ODT.js +1 -1
  452. package/lib/module/icons/PDF.js +1 -1
  453. package/lib/module/icons/PPT.js +1 -1
  454. package/lib/module/icons/PPTX.js +1 -1
  455. package/lib/module/icons/Pause.js +1 -1
  456. package/lib/module/icons/Picture.js +1 -1
  457. package/lib/module/icons/Pin.js +1 -1
  458. package/lib/module/icons/PinHeader.js +1 -1
  459. package/lib/module/icons/Play.js +1 -1
  460. package/lib/module/icons/RAR.js +1 -1
  461. package/lib/module/icons/RTF.js +1 -1
  462. package/lib/module/icons/Recorder.js +1 -1
  463. package/lib/module/icons/Refresh.js +1 -1
  464. package/lib/module/icons/SEVEN_Z.js +1 -1
  465. package/lib/module/icons/Search.js +1 -1
  466. package/lib/module/icons/SendRight.js +1 -1
  467. package/lib/module/icons/SendUp.js +1 -1
  468. package/lib/module/icons/Share.js +1 -1
  469. package/lib/module/icons/ShareRightArrow.js +1 -1
  470. package/lib/module/icons/Smile.js +1 -1
  471. package/lib/module/icons/Sound.js +1 -1
  472. package/lib/module/icons/TAR.js +1 -1
  473. package/lib/module/icons/TXT.js +1 -1
  474. package/lib/module/icons/ThreadReply.js +1 -1
  475. package/lib/module/icons/ThumbsDownReaction.js +1 -1
  476. package/lib/module/icons/ThumbsUpReaction.js +1 -1
  477. package/lib/module/icons/Time.js +1 -1
  478. package/lib/module/icons/Unknown.js +1 -1
  479. package/lib/module/icons/Unpin.js +1 -1
  480. package/lib/module/icons/User.js +1 -1
  481. package/lib/module/icons/UserAdd.js +1 -1
  482. package/lib/module/icons/UserAdmin.js +1 -1
  483. package/lib/module/icons/UserDelete.js +1 -1
  484. package/lib/module/icons/UserMinus.js +1 -1
  485. package/lib/module/icons/Video.js +1 -1
  486. package/lib/module/icons/Warning.js +1 -1
  487. package/lib/module/icons/WutReaction.js +1 -1
  488. package/lib/module/icons/XLS.js +1 -1
  489. package/lib/module/icons/XLSX.js +1 -1
  490. package/lib/module/icons/ZIP.js +1 -1
  491. package/lib/module/icons/utils/base.js +1 -1
  492. package/lib/module/mock-builders/event/messageNew.js +2 -0
  493. package/lib/module/mock-builders/event/messageNew.js.map +1 -1
  494. package/lib/module/version.json +1 -1
  495. package/lib/typescript/components/Attachment/utils/getGiphyMimeType.d.ts +6 -0
  496. package/lib/typescript/components/Message/Message.d.ts +9 -3
  497. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +1 -0
  498. package/package.json +3 -3
  499. package/src/components/Attachment/FileAttachment.tsx +3 -0
  500. package/src/components/Attachment/Gallery.tsx +3 -1
  501. package/src/components/Attachment/utils/getGiphyMimeType.ts +13 -0
  502. package/src/components/Channel/Channel.tsx +1 -1
  503. package/src/components/ChannelList/__tests__/ChannelList.test.js +28 -0
  504. package/src/components/ChannelList/hooks/listeners/useNewMessage.ts +18 -5
  505. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +1 -1
  506. package/src/components/ChannelPreview/ChannelPreview.tsx +6 -3
  507. package/src/components/ImageGallery/ImageGallery.tsx +2 -1
  508. package/src/components/Message/Message.tsx +9 -1
  509. package/src/components/Message/MessageSimple/MessageTextContainer.tsx +22 -2
  510. package/src/components/Message/MessageSimple/utils/renderText.tsx +1 -1
  511. package/src/components/MessageInput/ImageUploadPreview.tsx +35 -9
  512. package/src/components/MessageList/MessageList.tsx +1 -1
  513. package/src/contexts/themeContext/utils/theme.ts +2 -0
  514. package/src/mock-builders/event/messageNew.js +2 -0
  515. package/src/version.json +1 -1
@@ -60,7 +60,7 @@ var _EmptyStateIndicator = require("../Indicators/EmptyStateIndicator");
60
60
  var _LoadingErrorIndicator = require("../Indicators/LoadingErrorIndicator");
61
61
 
62
62
  var _this = this,
63
- _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ChannelList/ChannelList.tsx";
63
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelList/ChannelList.tsx";
64
64
 
65
65
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
66
66
 
@@ -14,7 +14,7 @@ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
14
14
  var _Spinner = require("../Spinner/Spinner");
15
15
 
16
16
  var _this = this,
17
- _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ChannelList/ChannelListFooterLoadingIndicator.tsx";
17
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelList/ChannelListFooterLoadingIndicator.tsx";
18
18
 
19
19
  var styles = _reactNative.StyleSheet.create({
20
20
  container: {
@@ -14,7 +14,7 @@ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
14
14
  var _TranslationContext = require("../../contexts/translationContext/TranslationContext");
15
15
 
16
16
  var _this = this,
17
- _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ChannelList/ChannelListHeaderErrorIndicator.tsx";
17
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelList/ChannelListHeaderErrorIndicator.tsx";
18
18
 
19
19
  var styles = _reactNative.StyleSheet.create({
20
20
  container: {
@@ -14,7 +14,7 @@ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
14
14
  var _TranslationContext = require("../../contexts/translationContext/TranslationContext");
15
15
 
16
16
  var _this = this,
17
- _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ChannelList/ChannelListHeaderNetworkDownIndicator.tsx";
17
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelList/ChannelListHeaderNetworkDownIndicator.tsx";
18
18
 
19
19
  var styles = _reactNative.StyleSheet.create({
20
20
  container: {
@@ -14,7 +14,7 @@ var _ChannelsContext = require("../../contexts/channelsContext/ChannelsContext")
14
14
  var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
15
15
 
16
16
  var _this = this,
17
- _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ChannelList/ChannelListLoadingIndicator.tsx";
17
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelList/ChannelListLoadingIndicator.tsx";
18
18
 
19
19
  var styles = _reactNative.StyleSheet.create({
20
20
  container: {
@@ -24,7 +24,7 @@ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
24
24
  var _ChannelPreview = require("../ChannelPreview/ChannelPreview");
25
25
 
26
26
  var _this = this,
27
- _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ChannelList/ChannelListMessenger.tsx";
27
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelList/ChannelListMessenger.tsx";
28
28
 
29
29
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
30
30
 
@@ -20,7 +20,7 @@ var _reactNativeSvg = require("react-native-svg");
20
20
  var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
21
21
 
22
22
  var _this = this,
23
- _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ChannelList/Skeleton.tsx";
23
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelList/Skeleton.tsx";
24
24
 
25
25
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
26
26
 
@@ -23,11 +23,23 @@ var useNewMessage = function useNewMessage(_ref) {
23
23
  (0, _react.useEffect)(function () {
24
24
  var handleEvent = function handleEvent(event) {
25
25
  setChannels(function (channels) {
26
- if (!lockChannelOrder && event.cid) {
27
- return (0, _utils.moveChannelUp)({
28
- channels: channels,
29
- cid: event.cid
26
+ if (!lockChannelOrder && event.cid && event.channel_type && event.channel_id) {
27
+ var targetChannelIndex = channels.findIndex(function (c) {
28
+ return c.cid === event.cid;
30
29
  });
30
+
31
+ if (targetChannelIndex >= 0) {
32
+ return (0, _utils.moveChannelUp)({
33
+ channels: channels,
34
+ cid: event.cid
35
+ });
36
+ }
37
+
38
+ var channel = client.channel(event.channel_type, event.channel_id);
39
+
40
+ if (channel.initialized) {
41
+ return [channel].concat((0, _toConsumableArray2["default"])(channels));
42
+ }
31
43
  }
32
44
 
33
45
  return (0, _toConsumableArray2["default"])(channels);
@@ -1 +1 @@
1
- {"version":3,"sources":["useNewMessage.ts"],"names":["useNewMessage","lockChannelOrder","setChannels","client","handleEvent","event","channels","cid","listener","on","unsubscribe"],"mappings":";;;;;;;;;AAAA;;AAIA;;AAGA;;AAQO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,OAKS;AAAA,MAFpCC,gBAEoC,QAFpCA,gBAEoC;AAAA,MADpCC,WACoC,QADpCA,WACoC;;AACpC,wBAAmB,kCAAnB;AAAA,MAAQC,MAAR,mBAAQA,MAAR;;AAEA,wBAAU,YAAM;AACd,QAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAsC;AACxDH,MAAAA,WAAW,CAAC,UAACI,QAAD,EAAc;AACxB,YAAI,CAACL,gBAAD,IAAqBI,KAAK,CAACE,GAA/B,EAAoC;AAClC,iBAAO,0BAAkC;AACvCD,YAAAA,QAAQ,EAARA,QADuC;AAEvCC,YAAAA,GAAG,EAAEF,KAAK,CAACE;AAF4B,WAAlC,CAAP;AAID;;AAED,mDAAWD,QAAX;AACD,OATU,CAAX;AAUD,KAXD;;AAaA,QAAME,QAAQ,GAAGL,MAAH,oBAAGA,MAAM,CAAEM,EAAR,CAAW,aAAX,EAA0BL,WAA1B,CAAjB;AACA,WAAO;AAAA,aAAMI,QAAN,oBAAMA,QAAQ,CAAEE,WAAV,EAAN;AAAA,KAAP;AACD,GAhBD,EAgBG,EAhBH;AAiBD,CAzBM","sourcesContent":["import { useEffect } from 'react';\n\nimport type { Channel, Event } from 'stream-chat';\n\nimport { useChatContext } from '../../../../contexts/chatContext/ChatContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\nimport { moveChannelUp } from '../../utils';\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n lockChannelOrder: boolean;\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>;\n };\n\nexport const useNewMessage = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n lockChannelOrder,\n setChannels,\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n\n useEffect(() => {\n const handleEvent = (event: Event<StreamChatGenerics>) => {\n setChannels((channels) => {\n if (!lockChannelOrder && event.cid) {\n return moveChannelUp<StreamChatGenerics>({\n channels,\n cid: event.cid,\n });\n }\n\n return [...channels];\n });\n };\n\n const listener = client?.on('message.new', handleEvent);\n return () => listener?.unsubscribe();\n }, []);\n};\n"]}
1
+ {"version":3,"sources":["useNewMessage.ts"],"names":["useNewMessage","lockChannelOrder","setChannels","client","handleEvent","event","channels","cid","channel_type","channel_id","targetChannelIndex","findIndex","c","channel","initialized","listener","on","unsubscribe"],"mappings":";;;;;;;;;AAAA;;AAIA;;AAGA;;AAQO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,OAKS;AAAA,MAFpCC,gBAEoC,QAFpCA,gBAEoC;AAAA,MADpCC,WACoC,QADpCA,WACoC;;AACpC,wBAAmB,kCAAnB;AAAA,MAAQC,MAAR,mBAAQA,MAAR;;AAEA,wBAAU,YAAM;AACd,QAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAsC;AACxDH,MAAAA,WAAW,CAAC,UAACI,QAAD,EAAc;AACxB,YAAI,CAACL,gBAAD,IAAqBI,KAAK,CAACE,GAA3B,IAAkCF,KAAK,CAACG,YAAxC,IAAwDH,KAAK,CAACI,UAAlE,EAA8E;AAC5E,cAAMC,kBAAkB,GAAGJ,QAAQ,CAACK,SAAT,CAAmB,UAACC,CAAD;AAAA,mBAAOA,CAAC,CAACL,GAAF,KAAUF,KAAK,CAACE,GAAvB;AAAA,WAAnB,CAA3B;;AAEA,cAAIG,kBAAkB,IAAI,CAA1B,EAA6B;AAC3B,mBAAO,0BAAkC;AACvCJ,cAAAA,QAAQ,EAARA,QADuC;AAEvCC,cAAAA,GAAG,EAAEF,KAAK,CAACE;AAF4B,aAAlC,CAAP;AAID;;AAKD,cAAMM,OAAO,GAAGV,MAAM,CAACU,OAAP,CAAeR,KAAK,CAACG,YAArB,EAAmCH,KAAK,CAACI,UAAzC,CAAhB;;AAEA,cAAII,OAAO,CAACC,WAAZ,EAAyB;AACvB,oBAAQD,OAAR,6CAAoBP,QAApB;AACD;AACF;;AAED,mDAAWA,QAAX;AACD,OAtBU,CAAX;AAuBD,KAxBD;;AA0BA,QAAMS,QAAQ,GAAGZ,MAAH,oBAAGA,MAAM,CAAEa,EAAR,CAAW,aAAX,EAA0BZ,WAA1B,CAAjB;AACA,WAAO;AAAA,aAAMW,QAAN,oBAAMA,QAAQ,CAAEE,WAAV,EAAN;AAAA,KAAP;AACD,GA7BD,EA6BG,EA7BH;AA8BD,CAtCM","sourcesContent":["import { useEffect } from 'react';\n\nimport type { Channel, Event } from 'stream-chat';\n\nimport { useChatContext } from '../../../../contexts/chatContext/ChatContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\nimport { moveChannelUp } from '../../utils';\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n lockChannelOrder: boolean;\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>;\n };\n\nexport const useNewMessage = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n lockChannelOrder,\n setChannels,\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n\n useEffect(() => {\n const handleEvent = (event: Event<StreamChatGenerics>) => {\n setChannels((channels) => {\n if (!lockChannelOrder && event.cid && event.channel_type && event.channel_id) {\n const targetChannelIndex = channels.findIndex((c) => c.cid === event.cid);\n\n if (targetChannelIndex >= 0) {\n return moveChannelUp<StreamChatGenerics>({\n channels,\n cid: event.cid,\n });\n }\n\n // If channel doesn't exist in existing list, check in activeChannels as well.\n // It may happen that channel was hidden using channel.hide(). In that case\n // We remove it from `channels` state, but its still being watched and exists in client.activeChannels.\n const channel = client.channel(event.channel_type, event.channel_id);\n\n if (channel.initialized) {\n return [channel, ...channels];\n }\n }\n\n return [...channels];\n });\n };\n\n const listener = client?.on('message.new', handleEvent);\n return () => listener?.unsubscribe();\n }, []);\n};\n"]}
@@ -258,7 +258,7 @@ var usePaginatedChannels = function usePaginatedChannels(_ref) {
258
258
 
259
259
  if (channelsFromDB) {
260
260
  setChannels(client.hydrateActiveChannels(channelsFromDB, {
261
- staticState: true
261
+ offlineMode: true
262
262
  }));
263
263
  }
264
264
  } catch (e) {
@@ -1 +1 @@
1
- {"version":3,"sources":["usePaginatedChannels.ts"],"names":["waitSeconds","seconds","Promise","resolve","setTimeout","ONE_SECOND_IN_MS","DEFAULT_OPTIONS","message_limit","MAX_NUMBER_OF_RETRIES","RETRY_INTERVAL_IN_MS","usePaginatedChannels","enableOfflineSupport","filters","options","sort","client","initialChannelsStateRef","current","channels","setChannels","staticChannelsActive","setStaticChannelsActive","activeChannels","error","setError","hasNextPage","setHasNextPage","lastRefresh","Date","now","isQueryingRef","activeQueryType","setActiveQueryType","isMountedRef","filtersRef","sortRef","activeRequestId","queryChannels","queryType","retryCount","hasUpdatedData","JSON","stringify","some","Boolean","isQueryStale","currentRequestId","undefined","newOptions","limit","MAX_QUERY_CHANNELS_LIMIT","offset","length","skipInitialization","channelQueryResponse","newChannels","console","warn","Error","loadNextPage","refreshList","reloadList","filterStr","sortStr","loadChannels","user","id","channelsFromDB","currentUserId","hydrateActiveChannels","staticState","e","loadingChannels","loadingNextPage","refreshing"],"mappings":"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","sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react';\n\nimport type { Channel, ChannelFilters, ChannelOptions, ChannelSort } from 'stream-chat';\n\nimport { useActiveChannelsRefContext } from '../../../contexts/activeChannelsRefContext/ActiveChannelsRefContext';\nimport { useChatContext } from '../../../contexts/chatContext/ChatContext';\nimport { useIsMountedRef } from '../../../hooks/useIsMountedRef';\n\nimport { getChannelsForFilterSort } from '../../../store/apis/getChannelsForFilterSort';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { ONE_SECOND_IN_MS } from '../../../utils/date';\nimport { MAX_QUERY_CHANNELS_LIMIT } from '../utils';\n\nconst waitSeconds = (seconds: number) =>\n new Promise((resolve) => {\n setTimeout(resolve, seconds * ONE_SECOND_IN_MS);\n });\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n enableOfflineSupport: boolean;\n filters: ChannelFilters<StreamChatGenerics>;\n options: ChannelOptions;\n sort: ChannelSort<StreamChatGenerics>;\n };\n\nconst DEFAULT_OPTIONS = {\n message_limit: 10,\n};\n\nconst MAX_NUMBER_OF_RETRIES = 3;\nconst RETRY_INTERVAL_IN_MS = 5000;\n\ntype QueryType = 'queryLocalDB' | 'reload' | 'refresh' | 'loadChannels';\n\nexport type QueryChannels = (queryType?: QueryType, retryCount?: number) => Promise<void>;\n\nexport const usePaginatedChannels = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n enableOfflineSupport,\n filters = {},\n options = DEFAULT_OPTIONS,\n sort = {},\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n const initialChannelsStateRef = useRef([]);\n const [channels, setChannels] = useState<Channel<StreamChatGenerics>[]>(\n initialChannelsStateRef.current,\n );\n const [staticChannelsActive, setStaticChannelsActive] = useState<boolean>(true);\n const activeChannels = useActiveChannelsRefContext();\n\n const [error, setError] = useState<Error>();\n const [hasNextPage, setHasNextPage] = useState(true);\n const lastRefresh = useRef(Date.now());\n const isQueryingRef = useRef(false);\n const [activeQueryType, setActiveQueryType] = useState<QueryType | null>('queryLocalDB');\n const isMountedRef = useIsMountedRef();\n const filtersRef = useRef<typeof filters | null>(null);\n const sortRef = useRef<typeof sort | null>(null);\n const activeRequestId = useRef<number>(0);\n\n const queryChannels: QueryChannels = async (\n queryType: QueryType = 'loadChannels',\n retryCount = 0,\n ): Promise<void> => {\n if (!client || !isMountedRef.current) return;\n\n const hasUpdatedData =\n queryType === 'loadChannels' ||\n queryType === 'refresh' ||\n [\n JSON.stringify(filtersRef.current) !== JSON.stringify(filters),\n JSON.stringify(sortRef.current) !== JSON.stringify(sort),\n ].some(Boolean);\n\n const isQueryStale = () => !isMountedRef || activeRequestId.current !== currentRequestId;\n\n /**\n * We don't need to make another call to query channels if we don't\n * have new data for the query to include\n * */\n if (!hasUpdatedData) {\n if (activeQueryType === null) return;\n }\n\n filtersRef.current = filters;\n sortRef.current = sort;\n isQueryingRef.current = true;\n setError(undefined);\n activeRequestId.current++;\n const currentRequestId = activeRequestId.current;\n setActiveQueryType(queryType);\n\n const newOptions = {\n limit: options?.limit ?? MAX_QUERY_CHANNELS_LIMIT,\n offset: queryType === 'loadChannels' && !staticChannelsActive ? channels.length : 0,\n ...options,\n };\n\n try {\n const channelQueryResponse = await client.queryChannels(filters, sort, newOptions, {\n skipInitialization: activeChannels.current,\n });\n\n if (isQueryStale() || !isMountedRef.current) {\n return;\n }\n const newChannels =\n queryType === 'loadChannels' && !staticChannelsActive\n ? [...channels, ...channelQueryResponse]\n : channelQueryResponse;\n\n setChannels(newChannels);\n setStaticChannelsActive(false);\n setHasNextPage(channelQueryResponse.length >= newOptions.limit);\n setError(undefined);\n isQueryingRef.current = false;\n } catch (err: unknown) {\n isQueryingRef.current = false;\n await waitSeconds(2);\n\n if (isQueryStale()) {\n return;\n }\n\n // querying.current check is needed in order to make sure the next query call doesnt flick an error\n // state and then succeed (reconnect case)\n if (retryCount === MAX_NUMBER_OF_RETRIES && !isQueryingRef.current) {\n setActiveQueryType(null);\n console.warn(err);\n\n setError(\n new Error(\n `Maximum number of retries reached in queryChannels. Last error message is: ${err}`,\n ),\n );\n return;\n }\n\n return queryChannels(queryType, retryCount + 1);\n }\n\n setActiveQueryType(null);\n };\n\n const loadNextPage = hasNextPage ? queryChannels : undefined;\n\n const refreshList = () => {\n const now = Date.now();\n // Only allow pull-to-refresh 5 seconds after last successful refresh.\n if (now - lastRefresh.current < RETRY_INTERVAL_IN_MS && error === undefined) {\n return;\n }\n\n lastRefresh.current = Date.now();\n return queryChannels('refresh');\n };\n\n const reloadList = () => queryChannels('reload');\n\n /**\n * Equality check using stringified filters/sort ensure that we don't make un-necessary queryChannels api calls\n * for the scenario:\n *\n * <ChannelList\n * filters={{\n * members: { $in: ['vishal'] }\n * }}\n * ...\n * />\n *\n * Here we have passed filters as inline object, which means on every re-render of\n * parent component, ChannelList will receive new object reference (even though value is same), which\n * in return will trigger useEffect. To avoid this, we can add a value check.\n */\n const filterStr = useMemo(() => JSON.stringify(filters), [filters]);\n const sortStr = useMemo(() => JSON.stringify(sort), [sort]);\n\n useEffect(() => {\n const loadChannels = () => {\n if (!client?.user?.id) return;\n if (enableOfflineSupport) {\n try {\n const channelsFromDB = getChannelsForFilterSort({\n currentUserId: client.user.id,\n filters,\n sort,\n });\n\n if (channelsFromDB) {\n setChannels(\n client.hydrateActiveChannels(channelsFromDB, {\n staticState: true,\n }),\n );\n }\n } catch (e) {\n console.warn('Failed to get channels from database: ', e);\n }\n }\n\n reloadList();\n };\n\n loadChannels();\n }, [filterStr, sortStr]);\n\n return {\n channels,\n error,\n hasNextPage,\n loadingChannels:\n activeQueryType === 'queryLocalDB'\n ? true\n : activeQueryType === 'reload' && channels === initialChannelsStateRef.current,\n loadingNextPage: activeQueryType === 'loadChannels',\n loadNextPage,\n refreshing: activeQueryType === 'refresh',\n refreshList,\n reloadList,\n setChannels,\n staticChannelsActive,\n };\n};\n"]}
1
+ {"version":3,"sources":["usePaginatedChannels.ts"],"names":["waitSeconds","seconds","Promise","resolve","setTimeout","ONE_SECOND_IN_MS","DEFAULT_OPTIONS","message_limit","MAX_NUMBER_OF_RETRIES","RETRY_INTERVAL_IN_MS","usePaginatedChannels","enableOfflineSupport","filters","options","sort","client","initialChannelsStateRef","current","channels","setChannels","staticChannelsActive","setStaticChannelsActive","activeChannels","error","setError","hasNextPage","setHasNextPage","lastRefresh","Date","now","isQueryingRef","activeQueryType","setActiveQueryType","isMountedRef","filtersRef","sortRef","activeRequestId","queryChannels","queryType","retryCount","hasUpdatedData","JSON","stringify","some","Boolean","isQueryStale","currentRequestId","undefined","newOptions","limit","MAX_QUERY_CHANNELS_LIMIT","offset","length","skipInitialization","channelQueryResponse","newChannels","console","warn","Error","loadNextPage","refreshList","reloadList","filterStr","sortStr","loadChannels","user","id","channelsFromDB","currentUserId","hydrateActiveChannels","offlineMode","e","loadingChannels","loadingNextPage","refreshing"],"mappings":"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","sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react';\n\nimport type { Channel, ChannelFilters, ChannelOptions, ChannelSort } from 'stream-chat';\n\nimport { useActiveChannelsRefContext } from '../../../contexts/activeChannelsRefContext/ActiveChannelsRefContext';\nimport { useChatContext } from '../../../contexts/chatContext/ChatContext';\nimport { useIsMountedRef } from '../../../hooks/useIsMountedRef';\n\nimport { getChannelsForFilterSort } from '../../../store/apis/getChannelsForFilterSort';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { ONE_SECOND_IN_MS } from '../../../utils/date';\nimport { MAX_QUERY_CHANNELS_LIMIT } from '../utils';\n\nconst waitSeconds = (seconds: number) =>\n new Promise((resolve) => {\n setTimeout(resolve, seconds * ONE_SECOND_IN_MS);\n });\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n enableOfflineSupport: boolean;\n filters: ChannelFilters<StreamChatGenerics>;\n options: ChannelOptions;\n sort: ChannelSort<StreamChatGenerics>;\n };\n\nconst DEFAULT_OPTIONS = {\n message_limit: 10,\n};\n\nconst MAX_NUMBER_OF_RETRIES = 3;\nconst RETRY_INTERVAL_IN_MS = 5000;\n\ntype QueryType = 'queryLocalDB' | 'reload' | 'refresh' | 'loadChannels';\n\nexport type QueryChannels = (queryType?: QueryType, retryCount?: number) => Promise<void>;\n\nexport const usePaginatedChannels = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n enableOfflineSupport,\n filters = {},\n options = DEFAULT_OPTIONS,\n sort = {},\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n const initialChannelsStateRef = useRef([]);\n const [channels, setChannels] = useState<Channel<StreamChatGenerics>[]>(\n initialChannelsStateRef.current,\n );\n const [staticChannelsActive, setStaticChannelsActive] = useState<boolean>(true);\n const activeChannels = useActiveChannelsRefContext();\n\n const [error, setError] = useState<Error>();\n const [hasNextPage, setHasNextPage] = useState(true);\n const lastRefresh = useRef(Date.now());\n const isQueryingRef = useRef(false);\n const [activeQueryType, setActiveQueryType] = useState<QueryType | null>('queryLocalDB');\n const isMountedRef = useIsMountedRef();\n const filtersRef = useRef<typeof filters | null>(null);\n const sortRef = useRef<typeof sort | null>(null);\n const activeRequestId = useRef<number>(0);\n\n const queryChannels: QueryChannels = async (\n queryType: QueryType = 'loadChannels',\n retryCount = 0,\n ): Promise<void> => {\n if (!client || !isMountedRef.current) return;\n\n const hasUpdatedData =\n queryType === 'loadChannels' ||\n queryType === 'refresh' ||\n [\n JSON.stringify(filtersRef.current) !== JSON.stringify(filters),\n JSON.stringify(sortRef.current) !== JSON.stringify(sort),\n ].some(Boolean);\n\n const isQueryStale = () => !isMountedRef || activeRequestId.current !== currentRequestId;\n\n /**\n * We don't need to make another call to query channels if we don't\n * have new data for the query to include\n * */\n if (!hasUpdatedData) {\n if (activeQueryType === null) return;\n }\n\n filtersRef.current = filters;\n sortRef.current = sort;\n isQueryingRef.current = true;\n setError(undefined);\n activeRequestId.current++;\n const currentRequestId = activeRequestId.current;\n setActiveQueryType(queryType);\n\n const newOptions = {\n limit: options?.limit ?? MAX_QUERY_CHANNELS_LIMIT,\n offset: queryType === 'loadChannels' && !staticChannelsActive ? channels.length : 0,\n ...options,\n };\n\n try {\n const channelQueryResponse = await client.queryChannels(filters, sort, newOptions, {\n skipInitialization: activeChannels.current,\n });\n\n if (isQueryStale() || !isMountedRef.current) {\n return;\n }\n const newChannels =\n queryType === 'loadChannels' && !staticChannelsActive\n ? [...channels, ...channelQueryResponse]\n : channelQueryResponse;\n\n setChannels(newChannels);\n setStaticChannelsActive(false);\n setHasNextPage(channelQueryResponse.length >= newOptions.limit);\n setError(undefined);\n isQueryingRef.current = false;\n } catch (err: unknown) {\n isQueryingRef.current = false;\n await waitSeconds(2);\n\n if (isQueryStale()) {\n return;\n }\n\n // querying.current check is needed in order to make sure the next query call doesnt flick an error\n // state and then succeed (reconnect case)\n if (retryCount === MAX_NUMBER_OF_RETRIES && !isQueryingRef.current) {\n setActiveQueryType(null);\n console.warn(err);\n\n setError(\n new Error(\n `Maximum number of retries reached in queryChannels. Last error message is: ${err}`,\n ),\n );\n return;\n }\n\n return queryChannels(queryType, retryCount + 1);\n }\n\n setActiveQueryType(null);\n };\n\n const loadNextPage = hasNextPage ? queryChannels : undefined;\n\n const refreshList = () => {\n const now = Date.now();\n // Only allow pull-to-refresh 5 seconds after last successful refresh.\n if (now - lastRefresh.current < RETRY_INTERVAL_IN_MS && error === undefined) {\n return;\n }\n\n lastRefresh.current = Date.now();\n return queryChannels('refresh');\n };\n\n const reloadList = () => queryChannels('reload');\n\n /**\n * Equality check using stringified filters/sort ensure that we don't make un-necessary queryChannels api calls\n * for the scenario:\n *\n * <ChannelList\n * filters={{\n * members: { $in: ['vishal'] }\n * }}\n * ...\n * />\n *\n * Here we have passed filters as inline object, which means on every re-render of\n * parent component, ChannelList will receive new object reference (even though value is same), which\n * in return will trigger useEffect. To avoid this, we can add a value check.\n */\n const filterStr = useMemo(() => JSON.stringify(filters), [filters]);\n const sortStr = useMemo(() => JSON.stringify(sort), [sort]);\n\n useEffect(() => {\n const loadChannels = () => {\n if (!client?.user?.id) return;\n if (enableOfflineSupport) {\n try {\n const channelsFromDB = getChannelsForFilterSort({\n currentUserId: client.user.id,\n filters,\n sort,\n });\n\n if (channelsFromDB) {\n setChannels(\n client.hydrateActiveChannels(channelsFromDB, {\n offlineMode: true,\n }),\n );\n }\n } catch (e) {\n console.warn('Failed to get channels from database: ', e);\n }\n }\n\n reloadList();\n };\n\n loadChannels();\n }, [filterStr, sortStr]);\n\n return {\n channels,\n error,\n hasNextPage,\n loadingChannels:\n activeQueryType === 'queryLocalDB'\n ? true\n : activeQueryType === 'reload' && channels === initialChannelsStateRef.current,\n loadingNextPage: activeQueryType === 'loadChannels',\n loadNextPage,\n refreshing: activeQueryType === 'refresh',\n refreshList,\n reloadList,\n setChannels,\n staticChannelsActive,\n };\n};\n"]}
@@ -16,7 +16,7 @@ var _Avatar = require("../Avatar/Avatar");
16
16
  var _GroupAvatar = require("../Avatar/GroupAvatar");
17
17
 
18
18
  var _this = this,
19
- _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ChannelPreview/ChannelAvatar.tsx";
19
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelPreview/ChannelAvatar.tsx";
20
20
 
21
21
  var ChannelAvatar = function ChannelAvatar(props) {
22
22
  var channel = props.channel;
@@ -22,7 +22,7 @@ var _ChatContext = require("../../contexts/chatContext/ChatContext");
22
22
  var _useTranslatedMessage = require("../../hooks/useTranslatedMessage");
23
23
 
24
24
  var _this = this,
25
- _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreview.tsx";
25
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreview.tsx";
26
26
 
27
27
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
28
28
 
@@ -75,11 +75,15 @@ var ChannelPreviewWithContext = function ChannelPreviewWithContext(props) {
75
75
  };
76
76
 
77
77
  var handleUpdatedOrDeletedMessage = function handleUpdatedOrDeletedMessage(event) {
78
- var _event$message;
78
+ setLastMessage(function (prevLastMessage) {
79
+ var _event$message;
79
80
 
80
- if (((_event$message = event.message) == null ? void 0 : _event$message.id) === (lastMessage == null ? void 0 : lastMessage.id)) {
81
- setLastMessage(event.message);
82
- }
81
+ if ((prevLastMessage == null ? void 0 : prevLastMessage.id) === ((_event$message = event.message) == null ? void 0 : _event$message.id)) {
82
+ return event.message;
83
+ }
84
+
85
+ return prevLastMessage;
86
+ });
83
87
  };
84
88
 
85
89
  var listeners = [channel.on('message.new', handleNewMessageEvent), channel.on('message.updated', handleUpdatedOrDeletedMessage), channel.on('message.deleted', handleUpdatedOrDeletedMessage)];
@@ -114,7 +118,7 @@ var ChannelPreviewWithContext = function ChannelPreviewWithContext(props) {
114
118
  __self: _this,
115
119
  __source: {
116
120
  fileName: _jsxFileName,
117
- lineNumber: 108,
121
+ lineNumber: 111,
118
122
  columnNumber: 10
119
123
  }
120
124
  });
@@ -134,7 +138,7 @@ var ChannelPreview = function ChannelPreview(props) {
134
138
  __self: _this,
135
139
  __source: {
136
140
  fileName: _jsxFileName,
137
- lineNumber: 124,
141
+ lineNumber: 127,
138
142
  columnNumber: 10
139
143
  }
140
144
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["ChannelPreview.tsx"],"names":["ChannelPreviewWithContext","props","channel","client","Preview","state","messages","length","lastMessage","setLastMessage","translatedLastMessage","forceUpdate","setForceUpdate","countUnread","unread","setUnread","latestMessagePreview","channelLastMessage","channelLastMessageString","id","updated_at","newUnreadCount","handleNewMessageEvent","event","message","parent_id","show_in_channel","handleUpdatedOrDeletedMessage","listeners","on","forEach","l","unsubscribe","handleReadEvent","user","userID","prev","listener","ChannelPreview"],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport type { Channel, ChannelState, Event, MessageResponse } from 'stream-chat';\n\nimport { useLatestMessagePreview } from './hooks/useLatestMessagePreview';\n\nimport {\n ChannelsContextValue,\n useChannelsContext,\n} from '../../contexts/channelsContext/ChannelsContext';\nimport { ChatContextValue, useChatContext } from '../../contexts/chatContext/ChatContext';\n\nimport { useTranslatedMessage } from '../../hooks/useTranslatedMessage';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\nexport type ChannelPreviewPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChatContextValue<StreamChatGenerics>, 'client'> &\n Pick<ChannelsContextValue<StreamChatGenerics>, 'Preview'> & {\n /**\n * The previewed channel\n */\n channel: Channel<StreamChatGenerics>;\n };\n\n/**\n * This component manages state for the ChannelPreviewMessenger UI component and receives\n * all props from the ChannelListMessenger component.\n */\nconst ChannelPreviewWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { channel, client, Preview } = props;\n\n const [lastMessage, setLastMessage] = useState<\n | ReturnType<ChannelState<StreamChatGenerics>['formatMessage']>\n | MessageResponse<StreamChatGenerics>\n | undefined\n >(channel.state.messages[channel.state.messages.length - 1]);\n\n const translatedLastMessage = useTranslatedMessage<StreamChatGenerics>(\n lastMessage || ({} as MessageResponse<StreamChatGenerics>),\n );\n\n const [forceUpdate, setForceUpdate] = useState(0);\n const [unread, setUnread] = useState(channel.countUnread());\n\n const latestMessagePreview = useLatestMessagePreview(channel, forceUpdate, translatedLastMessage);\n\n const channelLastMessage = channel.lastMessage();\n const channelLastMessageString = `${channelLastMessage?.id}${channelLastMessage?.updated_at}`;\n\n useEffect(() => {\n if (\n channelLastMessage &&\n (channelLastMessage.id !== lastMessage?.id ||\n channelLastMessage.updated_at !== lastMessage?.updated_at)\n ) {\n setLastMessage(channelLastMessage);\n }\n\n const newUnreadCount = channel.countUnread();\n\n if (newUnreadCount !== unread) {\n setUnread(newUnreadCount);\n }\n }, [channelLastMessageString]);\n\n useEffect(() => {\n const handleNewMessageEvent = (event: Event<StreamChatGenerics>) => {\n const message = event.message;\n if (message && (!message.parent_id || message.show_in_channel)) {\n setLastMessage(event.message);\n setUnread(channel.countUnread());\n }\n };\n\n const handleUpdatedOrDeletedMessage = (event: Event<StreamChatGenerics>) => {\n if (event.message?.id === lastMessage?.id) {\n setLastMessage(event.message);\n }\n };\n\n const listeners = [\n channel.on('message.new', handleNewMessageEvent),\n channel.on('message.updated', handleUpdatedOrDeletedMessage),\n channel.on('message.deleted', handleUpdatedOrDeletedMessage),\n ];\n\n return () => listeners.forEach((l) => l.unsubscribe());\n }, []);\n\n useEffect(() => {\n const handleReadEvent = (event: Event<StreamChatGenerics>) => {\n if (event.user?.id === client.userID) {\n setUnread(0);\n } else if (event.user?.id) {\n setForceUpdate((prev) => prev + 1);\n }\n };\n\n const listener = channel.on('message.read', handleReadEvent);\n return () => listener.unsubscribe();\n }, []);\n\n return <Preview channel={channel} latestMessagePreview={latestMessagePreview} unread={unread} />;\n};\n\nexport type ChannelPreviewProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<ChannelPreviewPropsWithContext<StreamChatGenerics>, 'channel'>> &\n Pick<ChannelPreviewPropsWithContext<StreamChatGenerics>, 'channel'>;\n\nexport const ChannelPreview = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewProps<StreamChatGenerics>,\n) => {\n const { client } = useChatContext<StreamChatGenerics>();\n const { Preview } = useChannelsContext<StreamChatGenerics>();\n\n return <ChannelPreviewWithContext {...{ client, Preview }} {...props} />;\n};\n"]}
1
+ {"version":3,"sources":["ChannelPreview.tsx"],"names":["ChannelPreviewWithContext","props","channel","client","Preview","state","messages","length","lastMessage","setLastMessage","translatedLastMessage","forceUpdate","setForceUpdate","countUnread","unread","setUnread","latestMessagePreview","channelLastMessage","channelLastMessageString","id","updated_at","newUnreadCount","handleNewMessageEvent","event","message","parent_id","show_in_channel","handleUpdatedOrDeletedMessage","prevLastMessage","listeners","on","forEach","l","unsubscribe","handleReadEvent","user","userID","prev","listener","ChannelPreview"],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport type { Channel, ChannelState, Event, MessageResponse } from 'stream-chat';\n\nimport { useLatestMessagePreview } from './hooks/useLatestMessagePreview';\n\nimport {\n ChannelsContextValue,\n useChannelsContext,\n} from '../../contexts/channelsContext/ChannelsContext';\nimport { ChatContextValue, useChatContext } from '../../contexts/chatContext/ChatContext';\n\nimport { useTranslatedMessage } from '../../hooks/useTranslatedMessage';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\nexport type ChannelPreviewPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChatContextValue<StreamChatGenerics>, 'client'> &\n Pick<ChannelsContextValue<StreamChatGenerics>, 'Preview'> & {\n /**\n * The previewed channel\n */\n channel: Channel<StreamChatGenerics>;\n };\n\n/**\n * This component manages state for the ChannelPreviewMessenger UI component and receives\n * all props from the ChannelListMessenger component.\n */\nconst ChannelPreviewWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { channel, client, Preview } = props;\n\n const [lastMessage, setLastMessage] = useState<\n | ReturnType<ChannelState<StreamChatGenerics>['formatMessage']>\n | MessageResponse<StreamChatGenerics>\n | undefined\n >(channel.state.messages[channel.state.messages.length - 1]);\n\n const translatedLastMessage = useTranslatedMessage<StreamChatGenerics>(\n lastMessage || ({} as MessageResponse<StreamChatGenerics>),\n );\n\n const [forceUpdate, setForceUpdate] = useState(0);\n const [unread, setUnread] = useState(channel.countUnread());\n\n const latestMessagePreview = useLatestMessagePreview(channel, forceUpdate, translatedLastMessage);\n\n const channelLastMessage = channel.lastMessage();\n const channelLastMessageString = `${channelLastMessage?.id}${channelLastMessage?.updated_at}`;\n\n useEffect(() => {\n if (\n channelLastMessage &&\n (channelLastMessage.id !== lastMessage?.id ||\n channelLastMessage.updated_at !== lastMessage?.updated_at)\n ) {\n setLastMessage(channelLastMessage);\n }\n\n const newUnreadCount = channel.countUnread();\n\n if (newUnreadCount !== unread) {\n setUnread(newUnreadCount);\n }\n }, [channelLastMessageString]);\n\n useEffect(() => {\n const handleNewMessageEvent = (event: Event<StreamChatGenerics>) => {\n const message = event.message;\n if (message && (!message.parent_id || message.show_in_channel)) {\n setLastMessage(event.message);\n setUnread(channel.countUnread());\n }\n };\n\n const handleUpdatedOrDeletedMessage = (event: Event<StreamChatGenerics>) => {\n setLastMessage((prevLastMessage) => {\n if (prevLastMessage?.id === event.message?.id) {\n return event.message;\n }\n return prevLastMessage;\n });\n };\n\n const listeners = [\n channel.on('message.new', handleNewMessageEvent),\n channel.on('message.updated', handleUpdatedOrDeletedMessage),\n channel.on('message.deleted', handleUpdatedOrDeletedMessage),\n ];\n\n return () => listeners.forEach((l) => l.unsubscribe());\n }, []);\n\n useEffect(() => {\n const handleReadEvent = (event: Event<StreamChatGenerics>) => {\n if (event.user?.id === client.userID) {\n setUnread(0);\n } else if (event.user?.id) {\n setForceUpdate((prev) => prev + 1);\n }\n };\n\n const listener = channel.on('message.read', handleReadEvent);\n return () => listener.unsubscribe();\n }, []);\n\n return <Preview channel={channel} latestMessagePreview={latestMessagePreview} unread={unread} />;\n};\n\nexport type ChannelPreviewProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<ChannelPreviewPropsWithContext<StreamChatGenerics>, 'channel'>> &\n Pick<ChannelPreviewPropsWithContext<StreamChatGenerics>, 'channel'>;\n\nexport const ChannelPreview = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewProps<StreamChatGenerics>,\n) => {\n const { client } = useChatContext<StreamChatGenerics>();\n const { Preview } = useChannelsContext<StreamChatGenerics>();\n\n return <ChannelPreviewWithContext {...{ client, Preview }} {...props} />;\n};\n"]}
@@ -12,7 +12,7 @@ var _reactNative = require("react-native");
12
12
  var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
13
13
 
14
14
  var _this = this,
15
- _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreviewMessage.tsx";
15
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreviewMessage.tsx";
16
16
 
17
17
  var styles = _reactNative.StyleSheet.create({
18
18
  bold: {
@@ -34,7 +34,7 @@ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
34
34
  var _utils = require("../../utils/utils");
35
35
 
36
36
  var _this = this,
37
- _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx";
37
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx";
38
38
 
39
39
  var styles = _reactNative.StyleSheet.create({
40
40
  container: {
@@ -14,7 +14,7 @@ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
14
14
  var _icons = require("../../icons");
15
15
 
16
16
  var _this = this,
17
- _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx";
17
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx";
18
18
 
19
19
  var styles = _reactNative.StyleSheet.create({
20
20
  iconStyle: {
@@ -18,7 +18,7 @@ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
18
18
  var _icons = require("../../icons");
19
19
 
20
20
  var _this = this,
21
- _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreviewStatus.tsx";
21
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreviewStatus.tsx";
22
22
 
23
23
  var styles = _reactNative.StyleSheet.create({
24
24
  date: {
@@ -12,7 +12,7 @@ var _reactNative = require("react-native");
12
12
  var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
13
13
 
14
14
  var _this = this,
15
- _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreviewTitle.tsx";
15
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreviewTitle.tsx";
16
16
 
17
17
  var styles = _reactNative.StyleSheet.create({
18
18
  title: {
@@ -12,7 +12,7 @@ var _reactNative = require("react-native");
12
12
  var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
13
13
 
14
14
  var _this = this,
15
- _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreviewUnreadCount.tsx";
15
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelPreview/ChannelPreviewUnreadCount.tsx";
16
16
 
17
17
  var styles = _reactNative.StyleSheet.create({
18
18
  unreadContainer: {
@@ -50,7 +50,7 @@ var _QuickSqliteClient = require("../../store/QuickSqliteClient");
50
50
  var _version = require("../../version.json");
51
51
 
52
52
  var _this = this,
53
- _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Chat/Chat.tsx";
53
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Chat/Chat.tsx";
54
54
 
55
55
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
56
56
 
@@ -53,8 +53,10 @@ var _getUrlOfImageAttachment = require("../../utils/getUrlOfImageAttachment");
53
53
 
54
54
  var _utils = require("../../utils/utils");
55
55
 
56
+ var _getGiphyMimeType = require("../Attachment/utils/getGiphyMimeType");
57
+
56
58
  var _this = this,
57
- _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ImageGallery/ImageGallery.tsx";
59
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ImageGallery/ImageGallery.tsx";
58
60
 
59
61
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
60
62
 
@@ -208,7 +210,7 @@ var ImageGallery = function ImageGallery(props) {
208
210
  created_at: cur.created_at,
209
211
  id: "photoId-" + cur.id + "-" + imageUrl,
210
212
  messageId: cur.id,
211
- mime_type: a.type === 'giphy' ? 'image/gif' : a.mime_type,
213
+ mime_type: a.type === 'giphy' ? (0, _getGiphyMimeType.getGiphyMimeType)(giphyURL != null ? giphyURL : '') : a.mime_type,
212
214
  original_height: a.original_height,
213
215
  original_width: a.original_width,
214
216
  type: a.type,
@@ -388,7 +390,7 @@ var ImageGallery = function ImageGallery(props) {
388
390
  __self: _this,
389
391
  __source: {
390
392
  fileName: _jsxFileName,
391
- lineNumber: 516,
393
+ lineNumber: 517,
392
394
  columnNumber: 5
393
395
  }
394
396
  }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -396,7 +398,7 @@ var ImageGallery = function ImageGallery(props) {
396
398
  __self: _this,
397
399
  __source: {
398
400
  fileName: _jsxFileName,
399
- lineNumber: 521,
401
+ lineNumber: 522,
400
402
  columnNumber: 7
401
403
  }
402
404
  }), _react["default"].createElement(_reactNativeGestureHandler.TapGestureHandler, {
@@ -408,7 +410,7 @@ var ImageGallery = function ImageGallery(props) {
408
410
  __self: _this,
409
411
  __source: {
410
412
  fileName: _jsxFileName,
411
- lineNumber: 522,
413
+ lineNumber: 523,
412
414
  columnNumber: 7
413
415
  }
414
416
  }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -416,7 +418,7 @@ var ImageGallery = function ImageGallery(props) {
416
418
  __self: _this,
417
419
  __source: {
418
420
  fileName: _jsxFileName,
419
- lineNumber: 529,
421
+ lineNumber: 530,
420
422
  columnNumber: 9
421
423
  }
422
424
  }, _react["default"].createElement(_reactNativeGestureHandler.TapGestureHandler, {
@@ -430,7 +432,7 @@ var ImageGallery = function ImageGallery(props) {
430
432
  __self: _this,
431
433
  __source: {
432
434
  fileName: _jsxFileName,
433
- lineNumber: 530,
435
+ lineNumber: 531,
434
436
  columnNumber: 11
435
437
  }
436
438
  }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -438,7 +440,7 @@ var ImageGallery = function ImageGallery(props) {
438
440
  __self: _this,
439
441
  __source: {
440
442
  fileName: _jsxFileName,
441
- lineNumber: 539,
443
+ lineNumber: 540,
442
444
  columnNumber: 13
443
445
  }
444
446
  }, _react["default"].createElement(_reactNativeGestureHandler.PinchGestureHandler, {
@@ -448,7 +450,7 @@ var ImageGallery = function ImageGallery(props) {
448
450
  __self: _this,
449
451
  __source: {
450
452
  fileName: _jsxFileName,
451
- lineNumber: 540,
453
+ lineNumber: 541,
452
454
  columnNumber: 15
453
455
  }
454
456
  }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -456,7 +458,7 @@ var ImageGallery = function ImageGallery(props) {
456
458
  __self: _this,
457
459
  __source: {
458
460
  fileName: _jsxFileName,
459
- lineNumber: 545,
461
+ lineNumber: 546,
460
462
  columnNumber: 17
461
463
  }
462
464
  }, _react["default"].createElement(_reactNativeGestureHandler.PanGestureHandler, {
@@ -469,7 +471,7 @@ var ImageGallery = function ImageGallery(props) {
469
471
  __self: _this,
470
472
  __source: {
471
473
  fileName: _jsxFileName,
472
- lineNumber: 546,
474
+ lineNumber: 547,
473
475
  columnNumber: 19
474
476
  }
475
477
  }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -477,7 +479,7 @@ var ImageGallery = function ImageGallery(props) {
477
479
  __self: _this,
478
480
  __source: {
479
481
  fileName: _jsxFileName,
480
- lineNumber: 554,
482
+ lineNumber: 555,
481
483
  columnNumber: 21
482
484
  }
483
485
  }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -491,7 +493,7 @@ var ImageGallery = function ImageGallery(props) {
491
493
  __self: _this,
492
494
  __source: {
493
495
  fileName: _jsxFileName,
494
- lineNumber: 555,
496
+ lineNumber: 556,
495
497
  columnNumber: 23
496
498
  }
497
499
  }, photos.map(function (photo, i) {
@@ -522,7 +524,7 @@ var ImageGallery = function ImageGallery(props) {
522
524
  __self: _this,
523
525
  __source: {
524
526
  fileName: _jsxFileName,
525
- lineNumber: 572,
527
+ lineNumber: 573,
526
528
  columnNumber: 29
527
529
  }
528
530
  }) : _react["default"].createElement(_AnimatedGalleryImage.AnimatedGalleryImage, {
@@ -546,7 +548,7 @@ var ImageGallery = function ImageGallery(props) {
546
548
  __self: _this,
547
549
  __source: {
548
550
  fileName: _jsxFileName,
549
- lineNumber: 599,
551
+ lineNumber: 600,
550
552
  columnNumber: 29
551
553
  }
552
554
  });
@@ -558,7 +560,7 @@ var ImageGallery = function ImageGallery(props) {
558
560
  __self: _this,
559
561
  __source: {
560
562
  fileName: _jsxFileName,
561
- lineNumber: 632,
563
+ lineNumber: 633,
562
564
  columnNumber: 7
563
565
  }
564
566
  })), _react["default"].createElement(_ImageGalleryFooter.ImageGalleryFooter, (0, _extends2["default"])({
@@ -578,7 +580,7 @@ var ImageGallery = function ImageGallery(props) {
578
580
  __self: _this,
579
581
  __source: {
580
582
  fileName: _jsxFileName,
581
- lineNumber: 638,
583
+ lineNumber: 639,
582
584
  columnNumber: 7
583
585
  }
584
586
  })), _react["default"].createElement(_ImageGalleryOverlay.ImageGalleryOverlay, {
@@ -588,14 +590,14 @@ var ImageGallery = function ImageGallery(props) {
588
590
  __self: _this,
589
591
  __source: {
590
592
  fileName: _jsxFileName,
591
- lineNumber: 654,
593
+ lineNumber: 655,
592
594
  columnNumber: 7
593
595
  }
594
596
  }), _react["default"].createElement(_bottomSheet.BottomSheetModalProvider, {
595
597
  __self: _this,
596
598
  __source: {
597
599
  fileName: _jsxFileName,
598
- lineNumber: 659,
600
+ lineNumber: 660,
599
601
  columnNumber: 7
600
602
  }
601
603
  }, _react["default"].createElement(_bottomSheet.BottomSheetModal, {
@@ -608,7 +610,7 @@ var ImageGallery = function ImageGallery(props) {
608
610
  __self: _this,
609
611
  __source: {
610
612
  fileName: _jsxFileName,
611
- lineNumber: 664,
613
+ lineNumber: 665,
612
614
  columnNumber: 13
613
615
  }
614
616
  }));
@@ -623,7 +625,7 @@ var ImageGallery = function ImageGallery(props) {
623
625
  __self: _this,
624
626
  __source: {
625
627
  fileName: _jsxFileName,
626
- lineNumber: 660,
628
+ lineNumber: 661,
627
629
  columnNumber: 9
628
630
  }
629
631
  }, _react["default"].createElement(_ImageGrid.ImageGrid, (0, _extends2["default"])({
@@ -635,7 +637,7 @@ var ImageGallery = function ImageGallery(props) {
635
637
  __self: _this,
636
638
  __source: {
637
639
  fileName: _jsxFileName,
638
- lineNumber: 675,
640
+ lineNumber: 676,
639
641
  columnNumber: 11
640
642
  }
641
643
  })))));