stream-chat-react-native-core 4.15.0-beta.2 → 5.0.0-beta.1

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 (1030) 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 +1 -1
  6. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +1 -1
  7. package/lib/commonjs/components/Attachment/FileIcon.js +1 -1
  8. package/lib/commonjs/components/Attachment/Gallery.js +19 -19
  9. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  10. package/lib/commonjs/components/Attachment/GalleryImage.js +1 -1
  11. package/lib/commonjs/components/Attachment/Giphy.js +40 -40
  12. package/lib/commonjs/components/Attachment/Giphy.js.map +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/AttachmentPicker/AttachmentPicker.js +1 -1
  17. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +1 -1
  18. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerError.js +1 -1
  19. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +1 -1
  20. package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js +1 -1
  21. package/lib/commonjs/components/AttachmentPicker/components/CameraSelectorIcon.js +1 -1
  22. package/lib/commonjs/components/AttachmentPicker/components/FileSelectorIcon.js +1 -1
  23. package/lib/commonjs/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +1 -1
  24. package/lib/commonjs/components/AttachmentPicker/components/ImageSelectorIcon.js +1 -1
  25. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +1 -1
  26. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +1 -1
  27. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +1 -1
  28. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +1 -1
  29. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -1
  30. package/lib/commonjs/components/Avatar/Avatar.js +31 -18
  31. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  32. package/lib/commonjs/components/Avatar/GroupAvatar.js +28 -21
  33. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  34. package/lib/commonjs/components/Channel/Channel.js +227 -257
  35. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  36. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +2 -0
  37. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  38. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js +2 -0
  39. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  40. package/lib/commonjs/components/ChannelList/ChannelList.js +41 -10
  41. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  42. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -1
  43. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +1 -1
  44. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +1 -1
  45. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js +1 -1
  46. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +20 -8
  47. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  48. package/lib/commonjs/components/ChannelList/Skeleton.js +1 -1
  49. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  50. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  51. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js +2 -2
  52. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  53. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js +2 -2
  54. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  55. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js +2 -2
  56. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  57. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js +2 -2
  58. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  59. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  60. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  61. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  62. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  63. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js +2 -2
  64. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  65. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js +2 -2
  66. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  67. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js +4 -4
  68. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  69. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +57 -22
  70. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  71. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +1 -1
  72. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +3 -3
  73. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  74. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +8 -6
  75. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  76. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +1 -1
  77. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
  78. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +1 -1
  79. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  80. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +1 -1
  81. package/lib/commonjs/components/Chat/Chat.js +45 -9
  82. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  83. package/lib/commonjs/components/Chat/hooks/handleEventToSyncDB.js +144 -0
  84. package/lib/commonjs/components/Chat/hooks/handleEventToSyncDB.js.map +1 -0
  85. package/lib/commonjs/components/Chat/hooks/useConnectionRecovered.js +171 -0
  86. package/lib/commonjs/components/Chat/hooks/useConnectionRecovered.js.map +1 -0
  87. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js +7 -3
  88. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  89. package/lib/commonjs/components/Chat/hooks/useMutedUsers.js +3 -3
  90. package/lib/commonjs/components/Chat/hooks/useMutedUsers.js.map +1 -1
  91. package/lib/commonjs/components/Chat/hooks/useSyncDatabase.js +29 -0
  92. package/lib/commonjs/components/Chat/hooks/useSyncDatabase.js.map +1 -0
  93. package/lib/commonjs/components/ImageGallery/ImageGallery.js +36 -30
  94. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  95. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +1 -1
  96. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +1 -1
  97. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +1 -1
  98. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +1 -1
  99. package/lib/commonjs/components/ImageGallery/components/ImageGalleryOverlay.js +1 -1
  100. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js +1 -1
  101. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +3 -3
  102. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  103. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +1 -1
  104. package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js +6 -0
  105. package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
  106. package/lib/commonjs/components/Indicators/EmptyStateIndicator.js +1 -1
  107. package/lib/commonjs/components/Indicators/LoadingDot.js +1 -1
  108. package/lib/commonjs/components/Indicators/LoadingDots.js +1 -1
  109. package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js +1 -1
  110. package/lib/commonjs/components/Indicators/LoadingIndicator.js +1 -1
  111. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js +1 -1
  112. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +1 -1
  113. package/lib/commonjs/components/Message/Message.js +1 -1
  114. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +1 -1
  115. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +1 -1
  116. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +1 -1
  117. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +1 -1
  118. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +1 -1
  119. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +1 -1
  120. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +1 -1
  121. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +1 -1
  122. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +1 -1
  123. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +1 -1
  124. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +1 -1
  125. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +1 -1
  126. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js +1 -1
  127. package/lib/commonjs/components/Message/hooks/useMessageActions.js +1 -1
  128. package/lib/commonjs/components/MessageInput/AttachButton.js +1 -1
  129. package/lib/commonjs/components/MessageInput/CommandsButton.js +1 -1
  130. package/lib/commonjs/components/MessageInput/CooldownTimer.js +1 -1
  131. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +1 -1
  132. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +1 -1
  133. package/lib/commonjs/components/MessageInput/InputButtons.js +1 -1
  134. package/lib/commonjs/components/MessageInput/MessageInput.js +1 -1
  135. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +1 -1
  136. package/lib/commonjs/components/MessageInput/SendButton.js +1 -1
  137. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +1 -1
  138. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +1 -1
  139. package/lib/commonjs/components/MessageInput/UploadProgressIndicator.js +1 -1
  140. package/lib/commonjs/components/MessageInput/components/InputEditingStateHeader.js +1 -1
  141. package/lib/commonjs/components/MessageInput/components/InputGiphySearch.js +1 -1
  142. package/lib/commonjs/components/MessageInput/components/InputReplyStateHeader.js +1 -1
  143. package/lib/commonjs/components/MessageList/DateHeader.js +1 -1
  144. package/lib/commonjs/components/MessageList/InlineDateSeparator.js +1 -1
  145. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  146. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  147. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  148. package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js +1 -1
  149. package/lib/commonjs/components/MessageList/MessageList.js +140 -112
  150. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  151. package/lib/commonjs/components/MessageList/MessageSystem.js +1 -1
  152. package/lib/commonjs/components/MessageList/NetworkDownIndicator.js +1 -1
  153. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js +1 -1
  154. package/lib/commonjs/components/MessageList/TypingIndicator.js +1 -1
  155. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js +1 -1
  156. package/lib/commonjs/components/MessageOverlay/MessageActionList.js +1 -1
  157. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +1 -1
  158. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +1 -1
  159. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +1 -1
  160. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +1 -1
  161. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +1 -1
  162. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js +1 -1
  163. package/lib/commonjs/components/ProgressControl/ProgressControl.js +1 -1
  164. package/lib/commonjs/components/RTLComponents/WritingDirectionAwareText.js +1 -1
  165. package/lib/commonjs/components/Reply/Reply.js +1 -1
  166. package/lib/commonjs/components/Spinner/Spinner.js +1 -1
  167. package/lib/commonjs/components/Thread/Thread.js +1 -1
  168. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +1 -1
  169. package/lib/commonjs/components/index.js +26 -13
  170. package/lib/commonjs/components/index.js.map +1 -1
  171. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +1 -1
  172. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
  173. package/lib/commonjs/contexts/channelContext/ChannelContext.js +3 -3
  174. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  175. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +1 -1
  176. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +1 -1
  177. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +5 -5
  178. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
  179. package/lib/commonjs/contexts/chatContext/ChatContext.js +3 -3
  180. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  181. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +14 -15
  182. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  183. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.md +1 -1
  184. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +1 -1
  185. package/lib/commonjs/contexts/messageContext/MessageContext.js +1 -1
  186. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +1 -1
  187. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +1 -1
  188. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +1 -1
  189. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +1 -1
  190. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -1
  191. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +13 -26
  192. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  193. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
  194. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +3 -3
  195. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  196. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +1 -1
  197. package/lib/commonjs/contexts/themeContext/ThemeContext.js +1 -1
  198. package/lib/commonjs/contexts/threadContext/ThreadContext.js +1 -1
  199. package/lib/commonjs/contexts/translationContext/TranslationContext.js +1 -1
  200. package/lib/commonjs/contexts/typingContext/TypingContext.js +1 -1
  201. package/lib/commonjs/{components/Attachment/hooks → hooks}/useLoadingImage.js +10 -0
  202. package/lib/commonjs/hooks/useLoadingImage.js.map +1 -0
  203. package/lib/commonjs/icons/ArrowRight.js +1 -1
  204. package/lib/commonjs/icons/AtMentions.js +1 -1
  205. package/lib/commonjs/icons/Attach.js +1 -1
  206. package/lib/commonjs/icons/Audio.js +1 -1
  207. package/lib/commonjs/icons/CSV.js +1 -1
  208. package/lib/commonjs/icons/Camera.js +1 -1
  209. package/lib/commonjs/icons/Check.js +1 -1
  210. package/lib/commonjs/icons/CheckAll.js +1 -1
  211. package/lib/commonjs/icons/CheckSend.js +1 -1
  212. package/lib/commonjs/icons/CircleClose.js +1 -1
  213. package/lib/commonjs/icons/CirclePlus.js +1 -1
  214. package/lib/commonjs/icons/CircleRight.js +1 -1
  215. package/lib/commonjs/icons/Close.js +1 -1
  216. package/lib/commonjs/icons/Copy.js +1 -1
  217. package/lib/commonjs/icons/CurveLineLeftUp.js +1 -1
  218. package/lib/commonjs/icons/DOC.js +1 -1
  219. package/lib/commonjs/icons/DOCX.js +1 -1
  220. package/lib/commonjs/icons/Delete.js +1 -1
  221. package/lib/commonjs/icons/Down.js +1 -1
  222. package/lib/commonjs/icons/DownloadArrow.js +1 -1
  223. package/lib/commonjs/icons/DownloadCloud.js +1 -1
  224. package/lib/commonjs/icons/Edit.js +1 -1
  225. package/lib/commonjs/icons/Error.js +1 -1
  226. package/lib/commonjs/icons/Eye.js +1 -1
  227. package/lib/commonjs/icons/Flag.js +1 -1
  228. package/lib/commonjs/icons/Folder.js +1 -1
  229. package/lib/commonjs/icons/GenericFile.js +1 -1
  230. package/lib/commonjs/icons/GiphyIcon.js +1 -1
  231. package/lib/commonjs/icons/Grid.js +1 -1
  232. package/lib/commonjs/icons/Group.js +1 -1
  233. package/lib/commonjs/icons/HTML.js +1 -1
  234. package/lib/commonjs/icons/Imgur.js +1 -1
  235. package/lib/commonjs/icons/LOLReaction.js +1 -1
  236. package/lib/commonjs/icons/Lightning.js +1 -1
  237. package/lib/commonjs/icons/Link.js +1 -1
  238. package/lib/commonjs/icons/Loading.js +1 -1
  239. package/lib/commonjs/icons/Logo.js +1 -1
  240. package/lib/commonjs/icons/LoveReaction.js +1 -1
  241. package/lib/commonjs/icons/MD.js +1 -1
  242. package/lib/commonjs/icons/MailOpen.js +1 -1
  243. package/lib/commonjs/icons/MenuPointHorizontal.js +1 -1
  244. package/lib/commonjs/icons/MenuPointVertical.js +1 -1
  245. package/lib/commonjs/icons/MessageFlag.js +1 -1
  246. package/lib/commonjs/icons/MessageIcon.js +1 -1
  247. package/lib/commonjs/icons/Mute.js +1 -1
  248. package/lib/commonjs/icons/Notification.js +1 -1
  249. package/lib/commonjs/icons/ODT.js +1 -1
  250. package/lib/commonjs/icons/PDF.js +1 -1
  251. package/lib/commonjs/icons/PPT.js +1 -1
  252. package/lib/commonjs/icons/PPTX.js +1 -1
  253. package/lib/commonjs/icons/Pause.js +1 -1
  254. package/lib/commonjs/icons/Picture.js +1 -1
  255. package/lib/commonjs/icons/Pin.js +1 -1
  256. package/lib/commonjs/icons/PinHeader.js +1 -1
  257. package/lib/commonjs/icons/Play.js +1 -1
  258. package/lib/commonjs/icons/RAR.js +1 -1
  259. package/lib/commonjs/icons/RTF.js +1 -1
  260. package/lib/commonjs/icons/Recorder.js +1 -1
  261. package/lib/commonjs/icons/Refresh.js +1 -1
  262. package/lib/commonjs/icons/SEVEN_Z.js +1 -1
  263. package/lib/commonjs/icons/Search.js +1 -1
  264. package/lib/commonjs/icons/SendRight.js +1 -1
  265. package/lib/commonjs/icons/SendUp.js +1 -1
  266. package/lib/commonjs/icons/Share.js +1 -1
  267. package/lib/commonjs/icons/ShareRightArrow.js +1 -1
  268. package/lib/commonjs/icons/Smile.js +1 -1
  269. package/lib/commonjs/icons/Sound.js +1 -1
  270. package/lib/commonjs/icons/TAR.js +1 -1
  271. package/lib/commonjs/icons/TXT.js +1 -1
  272. package/lib/commonjs/icons/ThreadReply.js +1 -1
  273. package/lib/commonjs/icons/ThumbsDownReaction.js +1 -1
  274. package/lib/commonjs/icons/ThumbsUpReaction.js +1 -1
  275. package/lib/commonjs/icons/Time.js +1 -1
  276. package/lib/commonjs/icons/Unknown.js +1 -1
  277. package/lib/commonjs/icons/Unpin.js +1 -1
  278. package/lib/commonjs/icons/User.js +1 -1
  279. package/lib/commonjs/icons/UserAdd.js +1 -1
  280. package/lib/commonjs/icons/UserAdmin.js +1 -1
  281. package/lib/commonjs/icons/UserDelete.js +1 -1
  282. package/lib/commonjs/icons/UserMinus.js +1 -1
  283. package/lib/commonjs/icons/Video.js +1 -1
  284. package/lib/commonjs/icons/Warning.js +1 -1
  285. package/lib/commonjs/icons/WutReaction.js +1 -1
  286. package/lib/commonjs/icons/XLS.js +1 -1
  287. package/lib/commonjs/icons/XLSX.js +1 -1
  288. package/lib/commonjs/icons/ZIP.js +1 -1
  289. package/lib/commonjs/icons/utils/base.js +1 -1
  290. package/lib/commonjs/index.js +22 -1
  291. package/lib/commonjs/index.js.map +1 -1
  292. package/lib/commonjs/mock-builders/DB/consts.js +15 -0
  293. package/lib/commonjs/mock-builders/DB/consts.js.map +1 -0
  294. package/lib/commonjs/mock-builders/DB/mock.js +113 -0
  295. package/lib/commonjs/mock-builders/DB/mock.js.map +1 -0
  296. package/lib/commonjs/mock-builders/event/memberAdded.js +17 -0
  297. package/lib/commonjs/mock-builders/event/memberAdded.js.map +1 -0
  298. package/lib/commonjs/mock-builders/event/memberRemoved.js +17 -0
  299. package/lib/commonjs/mock-builders/event/memberRemoved.js.map +1 -0
  300. package/lib/commonjs/mock-builders/event/memberUpdated.js +17 -0
  301. package/lib/commonjs/mock-builders/event/memberUpdated.js.map +1 -0
  302. package/lib/commonjs/mock-builders/event/reactionDeleted.js +18 -0
  303. package/lib/commonjs/mock-builders/event/reactionDeleted.js.map +1 -0
  304. package/lib/commonjs/mock-builders/event/reactionNew.js +18 -0
  305. package/lib/commonjs/mock-builders/event/reactionNew.js.map +1 -0
  306. package/lib/commonjs/mock-builders/event/reactionUpdated.js +18 -0
  307. package/lib/commonjs/mock-builders/event/reactionUpdated.js.map +1 -0
  308. package/lib/commonjs/mock-builders/generator/reaction.js +1 -1
  309. package/lib/commonjs/mock-builders/generator/reaction.js.map +1 -1
  310. package/lib/commonjs/store/QuickSqliteClient.js +160 -0
  311. package/lib/commonjs/store/QuickSqliteClient.js.map +1 -0
  312. package/lib/commonjs/store/apis/deleteChannel.js +26 -0
  313. package/lib/commonjs/store/apis/deleteChannel.js.map +1 -0
  314. package/lib/commonjs/store/apis/deleteMember.js +28 -0
  315. package/lib/commonjs/store/apis/deleteMember.js.map +1 -0
  316. package/lib/commonjs/store/apis/deleteMessagesForChannel.js +26 -0
  317. package/lib/commonjs/store/apis/deleteMessagesForChannel.js.map +1 -0
  318. package/lib/commonjs/store/apis/deleteReactions.js +28 -0
  319. package/lib/commonjs/store/apis/deleteReactions.js.map +1 -0
  320. package/lib/commonjs/store/apis/getAllChannelIds.js +16 -0
  321. package/lib/commonjs/store/apis/getAllChannelIds.js.map +1 -0
  322. package/lib/commonjs/store/apis/getChannelMessages.js +45 -0
  323. package/lib/commonjs/store/apis/getChannelMessages.js.map +1 -0
  324. package/lib/commonjs/store/apis/getChannels.js +47 -0
  325. package/lib/commonjs/store/apis/getChannels.js.map +1 -0
  326. package/lib/commonjs/store/apis/getChannelsForFilterSort.js +37 -0
  327. package/lib/commonjs/store/apis/getChannelsForFilterSort.js.map +1 -0
  328. package/lib/commonjs/store/apis/getLastSyncedAt.js +23 -0
  329. package/lib/commonjs/store/apis/getLastSyncedAt.js.map +1 -0
  330. package/lib/commonjs/store/apis/getMembers.js +25 -0
  331. package/lib/commonjs/store/apis/getMembers.js.map +1 -0
  332. package/lib/commonjs/store/apis/getReads.js +25 -0
  333. package/lib/commonjs/store/apis/getReads.js.map +1 -0
  334. package/lib/commonjs/store/apis/index.js +264 -0
  335. package/lib/commonjs/store/apis/index.js.map +1 -0
  336. package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js +31 -0
  337. package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -0
  338. package/lib/commonjs/store/apis/queries/selectChannels.js +30 -0
  339. package/lib/commonjs/store/apis/queries/selectChannels.js.map +1 -0
  340. package/lib/commonjs/store/apis/queries/selectMembersForChannels.js +27 -0
  341. package/lib/commonjs/store/apis/queries/selectMembersForChannels.js.map +1 -0
  342. package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js +27 -0
  343. package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js.map +1 -0
  344. package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js +27 -0
  345. package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js.map +1 -0
  346. package/lib/commonjs/store/apis/queries/selectReadsForChannels.js +27 -0
  347. package/lib/commonjs/store/apis/queries/selectReadsForChannels.js.map +1 -0
  348. package/lib/commonjs/store/apis/updateMessage.js +69 -0
  349. package/lib/commonjs/store/apis/updateMessage.js.map +1 -0
  350. package/lib/commonjs/store/apis/updateReaction.js +53 -0
  351. package/lib/commonjs/store/apis/updateReaction.js.map +1 -0
  352. package/lib/commonjs/store/apis/upsertChannelData.js +26 -0
  353. package/lib/commonjs/store/apis/upsertChannelData.js.map +1 -0
  354. package/lib/commonjs/store/apis/upsertChannels.js +83 -0
  355. package/lib/commonjs/store/apis/upsertChannels.js.map +1 -0
  356. package/lib/commonjs/store/apis/upsertCidsForQuery.js +34 -0
  357. package/lib/commonjs/store/apis/upsertCidsForQuery.js.map +1 -0
  358. package/lib/commonjs/store/apis/upsertLastSyncedAt.js +22 -0
  359. package/lib/commonjs/store/apis/upsertLastSyncedAt.js.map +1 -0
  360. package/lib/commonjs/store/apis/upsertMembers.js +39 -0
  361. package/lib/commonjs/store/apis/upsertMembers.js.map +1 -0
  362. package/lib/commonjs/store/apis/upsertMessages.js +52 -0
  363. package/lib/commonjs/store/apis/upsertMessages.js.map +1 -0
  364. package/lib/commonjs/store/apis/upsertReads.js +39 -0
  365. package/lib/commonjs/store/apis/upsertReads.js.map +1 -0
  366. package/lib/commonjs/store/apis/utils/convertFilterSortToQuery.js +13 -0
  367. package/lib/commonjs/store/apis/utils/convertFilterSortToQuery.js.map +1 -0
  368. package/lib/commonjs/store/constants.js +11 -0
  369. package/lib/commonjs/store/constants.js.map +1 -0
  370. package/lib/commonjs/store/mappers/mapChannelDataToStorable.js +67 -0
  371. package/lib/commonjs/store/mappers/mapChannelDataToStorable.js.map +1 -0
  372. package/lib/commonjs/store/mappers/mapDateTimeToStorable.js +12 -0
  373. package/lib/commonjs/store/mappers/mapDateTimeToStorable.js.map +1 -0
  374. package/lib/commonjs/store/mappers/mapMemberToStorable.js +39 -0
  375. package/lib/commonjs/store/mappers/mapMemberToStorable.js.map +1 -0
  376. package/lib/commonjs/store/mappers/mapMessageToStorable.js +42 -0
  377. package/lib/commonjs/store/mappers/mapMessageToStorable.js.map +1 -0
  378. package/lib/commonjs/store/mappers/mapReactionToStorable.js +34 -0
  379. package/lib/commonjs/store/mappers/mapReactionToStorable.js.map +1 -0
  380. package/lib/commonjs/store/mappers/mapReadToStorable.js +23 -0
  381. package/lib/commonjs/store/mappers/mapReadToStorable.js.map +1 -0
  382. package/lib/commonjs/store/mappers/mapStorableToChannel.js +65 -0
  383. package/lib/commonjs/store/mappers/mapStorableToChannel.js.map +1 -0
  384. package/lib/commonjs/store/mappers/mapStorableToMember.js +38 -0
  385. package/lib/commonjs/store/mappers/mapStorableToMember.js.map +1 -0
  386. package/lib/commonjs/store/mappers/mapStorableToMessage.js +50 -0
  387. package/lib/commonjs/store/mappers/mapStorableToMessage.js.map +1 -0
  388. package/lib/commonjs/store/mappers/mapStorableToReaction.js +31 -0
  389. package/lib/commonjs/store/mappers/mapStorableToReaction.js.map +1 -0
  390. package/lib/commonjs/store/mappers/mapStorableToRead.js +20 -0
  391. package/lib/commonjs/store/mappers/mapStorableToRead.js.map +1 -0
  392. package/lib/commonjs/store/mappers/mapStorableToUser.js +31 -0
  393. package/lib/commonjs/store/mappers/mapStorableToUser.js.map +1 -0
  394. package/lib/commonjs/store/mappers/mapUserToStorable.js +34 -0
  395. package/lib/commonjs/store/mappers/mapUserToStorable.js.map +1 -0
  396. package/lib/commonjs/store/schema.js +161 -0
  397. package/lib/commonjs/store/schema.js.map +1 -0
  398. package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js +37 -0
  399. package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js.map +1 -0
  400. package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js +35 -0
  401. package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js.map +1 -0
  402. package/lib/commonjs/store/sqlite-utils/createDeleteQuery.js +14 -0
  403. package/lib/commonjs/store/sqlite-utils/createDeleteQuery.js.map +1 -0
  404. package/lib/commonjs/store/sqlite-utils/createSelectQuery.js +26 -0
  405. package/lib/commonjs/store/sqlite-utils/createSelectQuery.js.map +1 -0
  406. package/lib/commonjs/store/sqlite-utils/createUpdateQuery.js +29 -0
  407. package/lib/commonjs/store/sqlite-utils/createUpdateQuery.js.map +1 -0
  408. package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js +30 -0
  409. package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js.map +1 -0
  410. package/lib/commonjs/store/sqlite-utils/printRow.js +23 -0
  411. package/lib/commonjs/store/sqlite-utils/printRow.js.map +1 -0
  412. package/lib/commonjs/store/types.js +4 -0
  413. package/lib/commonjs/store/types.js.map +1 -0
  414. package/lib/commonjs/test-utils/BetterSqlite.js +54 -0
  415. package/lib/commonjs/test-utils/BetterSqlite.js.map +1 -0
  416. package/lib/commonjs/version.json +1 -1
  417. package/lib/module/components/Attachment/Attachment.js +1 -1
  418. package/lib/module/components/Attachment/AttachmentActions.js +1 -1
  419. package/lib/module/components/Attachment/AudioAttachment.js +1 -1
  420. package/lib/module/components/Attachment/Card.js +1 -1
  421. package/lib/module/components/Attachment/FileAttachment.js +1 -1
  422. package/lib/module/components/Attachment/FileAttachmentGroup.js +1 -1
  423. package/lib/module/components/Attachment/FileIcon.js +1 -1
  424. package/lib/module/components/Attachment/Gallery.js +19 -19
  425. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  426. package/lib/module/components/Attachment/GalleryImage.js +1 -1
  427. package/lib/module/components/Attachment/Giphy.js +40 -40
  428. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  429. package/lib/module/components/Attachment/ImageLoadingFailedIndicator.js +1 -1
  430. package/lib/module/components/Attachment/ImageLoadingIndicator.js +1 -1
  431. package/lib/module/components/Attachment/VideoThumbnail.js +1 -1
  432. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +1 -1
  433. package/lib/module/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +1 -1
  434. package/lib/module/components/AttachmentPicker/components/AttachmentPickerError.js +1 -1
  435. package/lib/module/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +1 -1
  436. package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js +1 -1
  437. package/lib/module/components/AttachmentPicker/components/CameraSelectorIcon.js +1 -1
  438. package/lib/module/components/AttachmentPicker/components/FileSelectorIcon.js +1 -1
  439. package/lib/module/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +1 -1
  440. package/lib/module/components/AttachmentPicker/components/ImageSelectorIcon.js +1 -1
  441. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +1 -1
  442. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +1 -1
  443. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +1 -1
  444. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +1 -1
  445. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -1
  446. package/lib/module/components/Avatar/Avatar.js +31 -18
  447. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  448. package/lib/module/components/Avatar/GroupAvatar.js +28 -21
  449. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  450. package/lib/module/components/Channel/Channel.js +227 -257
  451. package/lib/module/components/Channel/Channel.js.map +1 -1
  452. package/lib/module/components/Channel/hooks/useCreateChannelContext.js +2 -0
  453. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  454. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js +2 -0
  455. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  456. package/lib/module/components/ChannelList/ChannelList.js +41 -10
  457. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  458. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -1
  459. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +1 -1
  460. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +1 -1
  461. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js +1 -1
  462. package/lib/module/components/ChannelList/ChannelListMessenger.js +20 -8
  463. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  464. package/lib/module/components/ChannelList/Skeleton.js +1 -1
  465. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  466. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  467. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js +2 -2
  468. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  469. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js +2 -2
  470. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  471. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js +2 -2
  472. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  473. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js +2 -2
  474. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  475. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  476. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  477. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  478. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  479. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js +2 -2
  480. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  481. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js +2 -2
  482. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  483. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js +4 -4
  484. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  485. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +57 -22
  486. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  487. package/lib/module/components/ChannelPreview/ChannelAvatar.js +1 -1
  488. package/lib/module/components/ChannelPreview/ChannelPreview.js +3 -3
  489. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  490. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +8 -6
  491. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  492. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +1 -1
  493. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
  494. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +1 -1
  495. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  496. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +1 -1
  497. package/lib/module/components/Chat/Chat.js +45 -9
  498. package/lib/module/components/Chat/Chat.js.map +1 -1
  499. package/lib/module/components/Chat/hooks/handleEventToSyncDB.js +144 -0
  500. package/lib/module/components/Chat/hooks/handleEventToSyncDB.js.map +1 -0
  501. package/lib/module/components/Chat/hooks/useConnectionRecovered.js +171 -0
  502. package/lib/module/components/Chat/hooks/useConnectionRecovered.js.map +1 -0
  503. package/lib/module/components/Chat/hooks/useCreateChatContext.js +7 -3
  504. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  505. package/lib/module/components/Chat/hooks/useMutedUsers.js +3 -3
  506. package/lib/module/components/Chat/hooks/useMutedUsers.js.map +1 -1
  507. package/lib/module/components/Chat/hooks/useSyncDatabase.js +29 -0
  508. package/lib/module/components/Chat/hooks/useSyncDatabase.js.map +1 -0
  509. package/lib/module/components/ImageGallery/ImageGallery.js +36 -30
  510. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  511. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +1 -1
  512. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +1 -1
  513. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +1 -1
  514. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +1 -1
  515. package/lib/module/components/ImageGallery/components/ImageGalleryOverlay.js +1 -1
  516. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js +1 -1
  517. package/lib/module/components/ImageGallery/components/ImageGrid.js +3 -3
  518. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  519. package/lib/module/components/ImageGallery/components/ImageGridHandle.js +1 -1
  520. package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js +6 -0
  521. package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
  522. package/lib/module/components/Indicators/EmptyStateIndicator.js +1 -1
  523. package/lib/module/components/Indicators/LoadingDot.js +1 -1
  524. package/lib/module/components/Indicators/LoadingDots.js +1 -1
  525. package/lib/module/components/Indicators/LoadingErrorIndicator.js +1 -1
  526. package/lib/module/components/Indicators/LoadingIndicator.js +1 -1
  527. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js +1 -1
  528. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +1 -1
  529. package/lib/module/components/Message/Message.js +1 -1
  530. package/lib/module/components/Message/MessageSimple/MessageAvatar.js +1 -1
  531. package/lib/module/components/Message/MessageSimple/MessageContent.js +1 -1
  532. package/lib/module/components/Message/MessageSimple/MessageDeleted.js +1 -1
  533. package/lib/module/components/Message/MessageSimple/MessageFooter.js +1 -1
  534. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +1 -1
  535. package/lib/module/components/Message/MessageSimple/MessageReplies.js +1 -1
  536. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +1 -1
  537. package/lib/module/components/Message/MessageSimple/MessageSimple.js +1 -1
  538. package/lib/module/components/Message/MessageSimple/MessageStatus.js +1 -1
  539. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +1 -1
  540. package/lib/module/components/Message/MessageSimple/ReactionList.js +1 -1
  541. package/lib/module/components/Message/MessageSimple/utils/renderText.js +1 -1
  542. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js +1 -1
  543. package/lib/module/components/Message/hooks/useMessageActions.js +1 -1
  544. package/lib/module/components/MessageInput/AttachButton.js +1 -1
  545. package/lib/module/components/MessageInput/CommandsButton.js +1 -1
  546. package/lib/module/components/MessageInput/CooldownTimer.js +1 -1
  547. package/lib/module/components/MessageInput/FileUploadPreview.js +1 -1
  548. package/lib/module/components/MessageInput/ImageUploadPreview.js +1 -1
  549. package/lib/module/components/MessageInput/InputButtons.js +1 -1
  550. package/lib/module/components/MessageInput/MessageInput.js +1 -1
  551. package/lib/module/components/MessageInput/MoreOptionsButton.js +1 -1
  552. package/lib/module/components/MessageInput/SendButton.js +1 -1
  553. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +1 -1
  554. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +1 -1
  555. package/lib/module/components/MessageInput/UploadProgressIndicator.js +1 -1
  556. package/lib/module/components/MessageInput/components/InputEditingStateHeader.js +1 -1
  557. package/lib/module/components/MessageInput/components/InputGiphySearch.js +1 -1
  558. package/lib/module/components/MessageInput/components/InputReplyStateHeader.js +1 -1
  559. package/lib/module/components/MessageList/DateHeader.js +1 -1
  560. package/lib/module/components/MessageList/InlineDateSeparator.js +1 -1
  561. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  562. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  563. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  564. package/lib/module/components/MessageList/InlineUnreadIndicator.js +1 -1
  565. package/lib/module/components/MessageList/MessageList.js +140 -112
  566. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  567. package/lib/module/components/MessageList/MessageSystem.js +1 -1
  568. package/lib/module/components/MessageList/NetworkDownIndicator.js +1 -1
  569. package/lib/module/components/MessageList/ScrollToBottomButton.js +1 -1
  570. package/lib/module/components/MessageList/TypingIndicator.js +1 -1
  571. package/lib/module/components/MessageList/TypingIndicatorContainer.js +1 -1
  572. package/lib/module/components/MessageOverlay/MessageActionList.js +1 -1
  573. package/lib/module/components/MessageOverlay/MessageActionListItem.js +1 -1
  574. package/lib/module/components/MessageOverlay/MessageOverlay.js +1 -1
  575. package/lib/module/components/MessageOverlay/OverlayBackdrop.js +1 -1
  576. package/lib/module/components/MessageOverlay/OverlayReactionList.js +1 -1
  577. package/lib/module/components/MessageOverlay/OverlayReactions.js +1 -1
  578. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js +1 -1
  579. package/lib/module/components/ProgressControl/ProgressControl.js +1 -1
  580. package/lib/module/components/RTLComponents/WritingDirectionAwareText.js +1 -1
  581. package/lib/module/components/Reply/Reply.js +1 -1
  582. package/lib/module/components/Spinner/Spinner.js +1 -1
  583. package/lib/module/components/Thread/Thread.js +1 -1
  584. package/lib/module/components/Thread/components/ThreadFooterComponent.js +1 -1
  585. package/lib/module/components/index.js +26 -13
  586. package/lib/module/components/index.js.map +1 -1
  587. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +1 -1
  588. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
  589. package/lib/module/contexts/channelContext/ChannelContext.js +3 -3
  590. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  591. package/lib/module/contexts/channelsContext/ChannelsContext.js +1 -1
  592. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +1 -1
  593. package/lib/module/contexts/channelsStateContext/useChannelState.js +5 -5
  594. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
  595. package/lib/module/contexts/chatContext/ChatContext.js +3 -3
  596. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  597. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +14 -15
  598. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  599. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.md +1 -1
  600. package/lib/module/contexts/keyboardContext/KeyboardContext.js +1 -1
  601. package/lib/module/contexts/messageContext/MessageContext.js +1 -1
  602. package/lib/module/contexts/messageInputContext/MessageInputContext.js +1 -1
  603. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +1 -1
  604. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +1 -1
  605. package/lib/module/contexts/messagesContext/MessagesContext.js +1 -1
  606. package/lib/module/contexts/overlayContext/OverlayContext.js +1 -1
  607. package/lib/module/contexts/overlayContext/OverlayProvider.js +13 -26
  608. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  609. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
  610. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +3 -3
  611. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  612. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +1 -1
  613. package/lib/module/contexts/themeContext/ThemeContext.js +1 -1
  614. package/lib/module/contexts/threadContext/ThreadContext.js +1 -1
  615. package/lib/module/contexts/translationContext/TranslationContext.js +1 -1
  616. package/lib/module/contexts/typingContext/TypingContext.js +1 -1
  617. package/lib/module/{components/Attachment/hooks → hooks}/useLoadingImage.js +10 -0
  618. package/lib/module/hooks/useLoadingImage.js.map +1 -0
  619. package/lib/module/icons/ArrowRight.js +1 -1
  620. package/lib/module/icons/AtMentions.js +1 -1
  621. package/lib/module/icons/Attach.js +1 -1
  622. package/lib/module/icons/Audio.js +1 -1
  623. package/lib/module/icons/CSV.js +1 -1
  624. package/lib/module/icons/Camera.js +1 -1
  625. package/lib/module/icons/Check.js +1 -1
  626. package/lib/module/icons/CheckAll.js +1 -1
  627. package/lib/module/icons/CheckSend.js +1 -1
  628. package/lib/module/icons/CircleClose.js +1 -1
  629. package/lib/module/icons/CirclePlus.js +1 -1
  630. package/lib/module/icons/CircleRight.js +1 -1
  631. package/lib/module/icons/Close.js +1 -1
  632. package/lib/module/icons/Copy.js +1 -1
  633. package/lib/module/icons/CurveLineLeftUp.js +1 -1
  634. package/lib/module/icons/DOC.js +1 -1
  635. package/lib/module/icons/DOCX.js +1 -1
  636. package/lib/module/icons/Delete.js +1 -1
  637. package/lib/module/icons/Down.js +1 -1
  638. package/lib/module/icons/DownloadArrow.js +1 -1
  639. package/lib/module/icons/DownloadCloud.js +1 -1
  640. package/lib/module/icons/Edit.js +1 -1
  641. package/lib/module/icons/Error.js +1 -1
  642. package/lib/module/icons/Eye.js +1 -1
  643. package/lib/module/icons/Flag.js +1 -1
  644. package/lib/module/icons/Folder.js +1 -1
  645. package/lib/module/icons/GenericFile.js +1 -1
  646. package/lib/module/icons/GiphyIcon.js +1 -1
  647. package/lib/module/icons/Grid.js +1 -1
  648. package/lib/module/icons/Group.js +1 -1
  649. package/lib/module/icons/HTML.js +1 -1
  650. package/lib/module/icons/Imgur.js +1 -1
  651. package/lib/module/icons/LOLReaction.js +1 -1
  652. package/lib/module/icons/Lightning.js +1 -1
  653. package/lib/module/icons/Link.js +1 -1
  654. package/lib/module/icons/Loading.js +1 -1
  655. package/lib/module/icons/Logo.js +1 -1
  656. package/lib/module/icons/LoveReaction.js +1 -1
  657. package/lib/module/icons/MD.js +1 -1
  658. package/lib/module/icons/MailOpen.js +1 -1
  659. package/lib/module/icons/MenuPointHorizontal.js +1 -1
  660. package/lib/module/icons/MenuPointVertical.js +1 -1
  661. package/lib/module/icons/MessageFlag.js +1 -1
  662. package/lib/module/icons/MessageIcon.js +1 -1
  663. package/lib/module/icons/Mute.js +1 -1
  664. package/lib/module/icons/Notification.js +1 -1
  665. package/lib/module/icons/ODT.js +1 -1
  666. package/lib/module/icons/PDF.js +1 -1
  667. package/lib/module/icons/PPT.js +1 -1
  668. package/lib/module/icons/PPTX.js +1 -1
  669. package/lib/module/icons/Pause.js +1 -1
  670. package/lib/module/icons/Picture.js +1 -1
  671. package/lib/module/icons/Pin.js +1 -1
  672. package/lib/module/icons/PinHeader.js +1 -1
  673. package/lib/module/icons/Play.js +1 -1
  674. package/lib/module/icons/RAR.js +1 -1
  675. package/lib/module/icons/RTF.js +1 -1
  676. package/lib/module/icons/Recorder.js +1 -1
  677. package/lib/module/icons/Refresh.js +1 -1
  678. package/lib/module/icons/SEVEN_Z.js +1 -1
  679. package/lib/module/icons/Search.js +1 -1
  680. package/lib/module/icons/SendRight.js +1 -1
  681. package/lib/module/icons/SendUp.js +1 -1
  682. package/lib/module/icons/Share.js +1 -1
  683. package/lib/module/icons/ShareRightArrow.js +1 -1
  684. package/lib/module/icons/Smile.js +1 -1
  685. package/lib/module/icons/Sound.js +1 -1
  686. package/lib/module/icons/TAR.js +1 -1
  687. package/lib/module/icons/TXT.js +1 -1
  688. package/lib/module/icons/ThreadReply.js +1 -1
  689. package/lib/module/icons/ThumbsDownReaction.js +1 -1
  690. package/lib/module/icons/ThumbsUpReaction.js +1 -1
  691. package/lib/module/icons/Time.js +1 -1
  692. package/lib/module/icons/Unknown.js +1 -1
  693. package/lib/module/icons/Unpin.js +1 -1
  694. package/lib/module/icons/User.js +1 -1
  695. package/lib/module/icons/UserAdd.js +1 -1
  696. package/lib/module/icons/UserAdmin.js +1 -1
  697. package/lib/module/icons/UserDelete.js +1 -1
  698. package/lib/module/icons/UserMinus.js +1 -1
  699. package/lib/module/icons/Video.js +1 -1
  700. package/lib/module/icons/Warning.js +1 -1
  701. package/lib/module/icons/WutReaction.js +1 -1
  702. package/lib/module/icons/XLS.js +1 -1
  703. package/lib/module/icons/XLSX.js +1 -1
  704. package/lib/module/icons/ZIP.js +1 -1
  705. package/lib/module/icons/utils/base.js +1 -1
  706. package/lib/module/index.js +22 -1
  707. package/lib/module/index.js.map +1 -1
  708. package/lib/module/mock-builders/DB/consts.js +15 -0
  709. package/lib/module/mock-builders/DB/consts.js.map +1 -0
  710. package/lib/module/mock-builders/DB/mock.js +113 -0
  711. package/lib/module/mock-builders/DB/mock.js.map +1 -0
  712. package/lib/module/mock-builders/event/memberAdded.js +17 -0
  713. package/lib/module/mock-builders/event/memberAdded.js.map +1 -0
  714. package/lib/module/mock-builders/event/memberRemoved.js +17 -0
  715. package/lib/module/mock-builders/event/memberRemoved.js.map +1 -0
  716. package/lib/module/mock-builders/event/memberUpdated.js +17 -0
  717. package/lib/module/mock-builders/event/memberUpdated.js.map +1 -0
  718. package/lib/module/mock-builders/event/reactionDeleted.js +18 -0
  719. package/lib/module/mock-builders/event/reactionDeleted.js.map +1 -0
  720. package/lib/module/mock-builders/event/reactionNew.js +18 -0
  721. package/lib/module/mock-builders/event/reactionNew.js.map +1 -0
  722. package/lib/module/mock-builders/event/reactionUpdated.js +18 -0
  723. package/lib/module/mock-builders/event/reactionUpdated.js.map +1 -0
  724. package/lib/module/mock-builders/generator/reaction.js +1 -1
  725. package/lib/module/mock-builders/generator/reaction.js.map +1 -1
  726. package/lib/module/store/QuickSqliteClient.js +160 -0
  727. package/lib/module/store/QuickSqliteClient.js.map +1 -0
  728. package/lib/module/store/apis/deleteChannel.js +26 -0
  729. package/lib/module/store/apis/deleteChannel.js.map +1 -0
  730. package/lib/module/store/apis/deleteMember.js +28 -0
  731. package/lib/module/store/apis/deleteMember.js.map +1 -0
  732. package/lib/module/store/apis/deleteMessagesForChannel.js +26 -0
  733. package/lib/module/store/apis/deleteMessagesForChannel.js.map +1 -0
  734. package/lib/module/store/apis/deleteReactions.js +28 -0
  735. package/lib/module/store/apis/deleteReactions.js.map +1 -0
  736. package/lib/module/store/apis/getAllChannelIds.js +16 -0
  737. package/lib/module/store/apis/getAllChannelIds.js.map +1 -0
  738. package/lib/module/store/apis/getChannelMessages.js +45 -0
  739. package/lib/module/store/apis/getChannelMessages.js.map +1 -0
  740. package/lib/module/store/apis/getChannels.js +47 -0
  741. package/lib/module/store/apis/getChannels.js.map +1 -0
  742. package/lib/module/store/apis/getChannelsForFilterSort.js +37 -0
  743. package/lib/module/store/apis/getChannelsForFilterSort.js.map +1 -0
  744. package/lib/module/store/apis/getLastSyncedAt.js +23 -0
  745. package/lib/module/store/apis/getLastSyncedAt.js.map +1 -0
  746. package/lib/module/store/apis/getMembers.js +25 -0
  747. package/lib/module/store/apis/getMembers.js.map +1 -0
  748. package/lib/module/store/apis/getReads.js +25 -0
  749. package/lib/module/store/apis/getReads.js.map +1 -0
  750. package/lib/module/store/apis/index.js +264 -0
  751. package/lib/module/store/apis/index.js.map +1 -0
  752. package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js +31 -0
  753. package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -0
  754. package/lib/module/store/apis/queries/selectChannels.js +30 -0
  755. package/lib/module/store/apis/queries/selectChannels.js.map +1 -0
  756. package/lib/module/store/apis/queries/selectMembersForChannels.js +27 -0
  757. package/lib/module/store/apis/queries/selectMembersForChannels.js.map +1 -0
  758. package/lib/module/store/apis/queries/selectMessagesForChannels.js +27 -0
  759. package/lib/module/store/apis/queries/selectMessagesForChannels.js.map +1 -0
  760. package/lib/module/store/apis/queries/selectReactionsForMessages.js +27 -0
  761. package/lib/module/store/apis/queries/selectReactionsForMessages.js.map +1 -0
  762. package/lib/module/store/apis/queries/selectReadsForChannels.js +27 -0
  763. package/lib/module/store/apis/queries/selectReadsForChannels.js.map +1 -0
  764. package/lib/module/store/apis/updateMessage.js +69 -0
  765. package/lib/module/store/apis/updateMessage.js.map +1 -0
  766. package/lib/module/store/apis/updateReaction.js +53 -0
  767. package/lib/module/store/apis/updateReaction.js.map +1 -0
  768. package/lib/module/store/apis/upsertChannelData.js +26 -0
  769. package/lib/module/store/apis/upsertChannelData.js.map +1 -0
  770. package/lib/module/store/apis/upsertChannels.js +83 -0
  771. package/lib/module/store/apis/upsertChannels.js.map +1 -0
  772. package/lib/module/store/apis/upsertCidsForQuery.js +34 -0
  773. package/lib/module/store/apis/upsertCidsForQuery.js.map +1 -0
  774. package/lib/module/store/apis/upsertLastSyncedAt.js +22 -0
  775. package/lib/module/store/apis/upsertLastSyncedAt.js.map +1 -0
  776. package/lib/module/store/apis/upsertMembers.js +39 -0
  777. package/lib/module/store/apis/upsertMembers.js.map +1 -0
  778. package/lib/module/store/apis/upsertMessages.js +52 -0
  779. package/lib/module/store/apis/upsertMessages.js.map +1 -0
  780. package/lib/module/store/apis/upsertReads.js +39 -0
  781. package/lib/module/store/apis/upsertReads.js.map +1 -0
  782. package/lib/module/store/apis/utils/convertFilterSortToQuery.js +13 -0
  783. package/lib/module/store/apis/utils/convertFilterSortToQuery.js.map +1 -0
  784. package/lib/module/store/constants.js +11 -0
  785. package/lib/module/store/constants.js.map +1 -0
  786. package/lib/module/store/mappers/mapChannelDataToStorable.js +67 -0
  787. package/lib/module/store/mappers/mapChannelDataToStorable.js.map +1 -0
  788. package/lib/module/store/mappers/mapDateTimeToStorable.js +12 -0
  789. package/lib/module/store/mappers/mapDateTimeToStorable.js.map +1 -0
  790. package/lib/module/store/mappers/mapMemberToStorable.js +39 -0
  791. package/lib/module/store/mappers/mapMemberToStorable.js.map +1 -0
  792. package/lib/module/store/mappers/mapMessageToStorable.js +42 -0
  793. package/lib/module/store/mappers/mapMessageToStorable.js.map +1 -0
  794. package/lib/module/store/mappers/mapReactionToStorable.js +34 -0
  795. package/lib/module/store/mappers/mapReactionToStorable.js.map +1 -0
  796. package/lib/module/store/mappers/mapReadToStorable.js +23 -0
  797. package/lib/module/store/mappers/mapReadToStorable.js.map +1 -0
  798. package/lib/module/store/mappers/mapStorableToChannel.js +65 -0
  799. package/lib/module/store/mappers/mapStorableToChannel.js.map +1 -0
  800. package/lib/module/store/mappers/mapStorableToMember.js +38 -0
  801. package/lib/module/store/mappers/mapStorableToMember.js.map +1 -0
  802. package/lib/module/store/mappers/mapStorableToMessage.js +50 -0
  803. package/lib/module/store/mappers/mapStorableToMessage.js.map +1 -0
  804. package/lib/module/store/mappers/mapStorableToReaction.js +31 -0
  805. package/lib/module/store/mappers/mapStorableToReaction.js.map +1 -0
  806. package/lib/module/store/mappers/mapStorableToRead.js +20 -0
  807. package/lib/module/store/mappers/mapStorableToRead.js.map +1 -0
  808. package/lib/module/store/mappers/mapStorableToUser.js +31 -0
  809. package/lib/module/store/mappers/mapStorableToUser.js.map +1 -0
  810. package/lib/module/store/mappers/mapUserToStorable.js +34 -0
  811. package/lib/module/store/mappers/mapUserToStorable.js.map +1 -0
  812. package/lib/module/store/schema.js +161 -0
  813. package/lib/module/store/schema.js.map +1 -0
  814. package/lib/module/store/sqlite-utils/appendWhereCluase.js +37 -0
  815. package/lib/module/store/sqlite-utils/appendWhereCluase.js.map +1 -0
  816. package/lib/module/store/sqlite-utils/createCreateTableQuery.js +35 -0
  817. package/lib/module/store/sqlite-utils/createCreateTableQuery.js.map +1 -0
  818. package/lib/module/store/sqlite-utils/createDeleteQuery.js +14 -0
  819. package/lib/module/store/sqlite-utils/createDeleteQuery.js.map +1 -0
  820. package/lib/module/store/sqlite-utils/createSelectQuery.js +26 -0
  821. package/lib/module/store/sqlite-utils/createSelectQuery.js.map +1 -0
  822. package/lib/module/store/sqlite-utils/createUpdateQuery.js +29 -0
  823. package/lib/module/store/sqlite-utils/createUpdateQuery.js.map +1 -0
  824. package/lib/module/store/sqlite-utils/createUpsertQuery.js +30 -0
  825. package/lib/module/store/sqlite-utils/createUpsertQuery.js.map +1 -0
  826. package/lib/module/store/sqlite-utils/printRow.js +23 -0
  827. package/lib/module/store/sqlite-utils/printRow.js.map +1 -0
  828. package/lib/module/store/types.js +4 -0
  829. package/lib/module/store/types.js.map +1 -0
  830. package/lib/module/test-utils/BetterSqlite.js +54 -0
  831. package/lib/module/test-utils/BetterSqlite.js.map +1 -0
  832. package/lib/module/version.json +1 -1
  833. package/lib/typescript/components/Attachment/Gallery.d.ts +1 -1
  834. package/lib/typescript/components/Attachment/Giphy.d.ts +1 -1
  835. package/lib/typescript/components/Channel/Channel.d.ts +3 -5
  836. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
  837. package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts +1 -1
  838. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +4 -2
  839. package/lib/typescript/components/Chat/Chat.d.ts +4 -0
  840. package/lib/typescript/components/Chat/hooks/handleEventToSyncDB.d.ts +2 -0
  841. package/lib/typescript/components/Chat/hooks/useConnectionRecovered.d.ts +10 -0
  842. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +1 -1
  843. package/lib/typescript/components/Chat/hooks/useSyncDatabase.d.ts +8 -0
  844. package/lib/typescript/components/ImageGallery/components/ImageGrid.d.ts +1 -1
  845. package/lib/typescript/components/ImageGallery/hooks/useImageGalleryGestures.d.ts +2 -1
  846. package/lib/typescript/components/MessageList/MessageList.d.ts +1 -1
  847. package/lib/typescript/components/index.d.ts +2 -1
  848. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +17 -0
  849. package/lib/typescript/contexts/chatContext/ChatContext.d.ts +3 -1
  850. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts +9 -10
  851. package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +4 -0
  852. package/lib/typescript/{components/Attachment/hooks → hooks}/useLoadingImage.d.ts +0 -0
  853. package/lib/typescript/index.d.ts +3 -0
  854. package/lib/typescript/store/QuickSqliteClient.d.ts +22 -0
  855. package/lib/typescript/store/apis/deleteChannel.d.ts +4 -0
  856. package/lib/typescript/store/apis/deleteMember.d.ts +6 -0
  857. package/lib/typescript/store/apis/deleteMessagesForChannel.d.ts +4 -0
  858. package/lib/typescript/store/apis/deleteReactions.d.ts +4 -0
  859. package/lib/typescript/store/apis/getAllChannelIds.d.ts +1 -0
  860. package/lib/typescript/store/apis/getChannelMessages.d.ts +6 -0
  861. package/lib/typescript/store/apis/getChannels.d.ts +15 -0
  862. package/lib/typescript/store/apis/getChannelsForFilterSort.d.ts +17 -0
  863. package/lib/typescript/store/apis/getLastSyncedAt.d.ts +3 -0
  864. package/lib/typescript/store/apis/getMembers.d.ts +5 -0
  865. package/lib/typescript/store/apis/getReads.d.ts +5 -0
  866. package/lib/typescript/store/apis/index.d.ts +20 -0
  867. package/lib/typescript/store/apis/queries/selectChannelIdsForFilterSort.d.ts +15 -0
  868. package/lib/typescript/store/apis/queries/selectChannels.d.ts +4 -0
  869. package/lib/typescript/store/apis/queries/selectMembersForChannels.d.ts +2 -0
  870. package/lib/typescript/store/apis/queries/selectMessagesForChannels.d.ts +2 -0
  871. package/lib/typescript/store/apis/queries/selectReactionsForMessages.d.ts +2 -0
  872. package/lib/typescript/store/apis/queries/selectReadsForChannels.d.ts +2 -0
  873. package/lib/typescript/store/apis/updateMessage.d.ts +6 -0
  874. package/lib/typescript/store/apis/updateReaction.d.ts +7 -0
  875. package/lib/typescript/store/apis/upsertChannelData.d.ts +5 -0
  876. package/lib/typescript/store/apis/upsertChannels.d.ts +9 -0
  877. package/lib/typescript/store/apis/upsertCidsForQuery.d.ts +7 -0
  878. package/lib/typescript/store/apis/upsertLastSyncedAt.d.ts +4 -0
  879. package/lib/typescript/store/apis/upsertMembers.d.ts +7 -0
  880. package/lib/typescript/store/apis/upsertMessages.d.ts +6 -0
  881. package/lib/typescript/store/apis/upsertReads.d.ts +7 -0
  882. package/lib/typescript/store/apis/utils/convertFilterSortToQuery.d.ts +6 -0
  883. package/lib/typescript/store/constants.d.ts +3 -0
  884. package/lib/typescript/store/mappers/mapChannelDataToStorable.d.ts +4 -0
  885. package/lib/typescript/store/mappers/mapDateTimeToStorable.d.ts +1 -0
  886. package/lib/typescript/store/mappers/mapMemberToStorable.d.ts +7 -0
  887. package/lib/typescript/store/mappers/mapMessageToStorable.d.ts +3 -0
  888. package/lib/typescript/store/mappers/mapReactionToStorable.d.ts +3 -0
  889. package/lib/typescript/store/mappers/mapReadToStorable.d.ts +7 -0
  890. package/lib/typescript/store/mappers/mapStorableToChannel.d.ts +4 -0
  891. package/lib/typescript/store/mappers/mapStorableToMember.d.ts +4 -0
  892. package/lib/typescript/store/mappers/mapStorableToMessage.d.ts +8 -0
  893. package/lib/typescript/store/mappers/mapStorableToReaction.d.ts +4 -0
  894. package/lib/typescript/store/mappers/mapStorableToRead.d.ts +4 -0
  895. package/lib/typescript/store/mappers/mapStorableToUser.d.ts +4 -0
  896. package/lib/typescript/store/mappers/mapUserToStorable.d.ts +3 -0
  897. package/lib/typescript/store/schema.d.ts +110 -0
  898. package/lib/typescript/store/sqlite-utils/__tests__/createSelectQuery.test.d.ts +1 -0
  899. package/lib/typescript/store/sqlite-utils/appendWhereCluase.d.ts +3 -0
  900. package/lib/typescript/store/sqlite-utils/createCreateTableQuery.d.ts +2 -0
  901. package/lib/typescript/store/sqlite-utils/createDeleteQuery.d.ts +12 -0
  902. package/lib/typescript/store/sqlite-utils/createSelectQuery.d.ts +13 -0
  903. package/lib/typescript/store/sqlite-utils/createUpdateQuery.d.ts +13 -0
  904. package/lib/typescript/store/sqlite-utils/createUpsertQuery.d.ts +11 -0
  905. package/lib/typescript/store/sqlite-utils/printRow.d.ts +2 -0
  906. package/lib/typescript/store/types.d.ts +9 -0
  907. package/lib/typescript/test-utils/BetterSqlite.d.ts +8 -0
  908. package/package.json +5 -2
  909. package/src/__tests__/offline-feature.test.js +656 -0
  910. package/src/components/Attachment/Gallery.tsx +18 -17
  911. package/src/components/Attachment/Giphy.tsx +9 -10
  912. package/src/components/Avatar/Avatar.tsx +45 -31
  913. package/src/components/Avatar/GroupAvatar.tsx +46 -35
  914. package/src/components/Channel/Channel.tsx +101 -136
  915. package/src/components/Channel/hooks/useCreateChannelContext.ts +2 -0
  916. package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +2 -0
  917. package/src/components/ChannelList/ChannelList.tsx +28 -8
  918. package/src/components/ChannelList/ChannelListMessenger.tsx +4 -0
  919. package/src/components/ChannelList/hooks/listeners/__tests__/useChannelUpdated.test.tsx +2 -0
  920. package/src/components/ChannelList/hooks/listeners/useAddedToChannelNotification.ts +2 -2
  921. package/src/components/ChannelList/hooks/listeners/useChannelDeleted.ts +2 -2
  922. package/src/components/ChannelList/hooks/listeners/useChannelHidden.ts +2 -2
  923. package/src/components/ChannelList/hooks/listeners/useChannelTruncated.ts +2 -2
  924. package/src/components/ChannelList/hooks/listeners/useChannelUpdated.ts +2 -2
  925. package/src/components/ChannelList/hooks/listeners/useChannelVisible.ts +2 -2
  926. package/src/components/ChannelList/hooks/listeners/useNewMessage.ts +2 -2
  927. package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +2 -2
  928. package/src/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.ts +2 -2
  929. package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +5 -4
  930. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +46 -10
  931. package/src/components/ChannelPreview/ChannelPreview.tsx +2 -2
  932. package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +10 -9
  933. package/src/components/Chat/Chat.tsx +41 -4
  934. package/src/components/Chat/hooks/handleEventToSyncDB.ts +142 -0
  935. package/src/components/Chat/hooks/useConnectionRecovered.ts +92 -0
  936. package/src/components/Chat/hooks/useCreateChatContext.ts +9 -3
  937. package/src/components/Chat/hooks/useMutedUsers.ts +5 -3
  938. package/src/components/Chat/hooks/useSyncDatabase.ts +30 -0
  939. package/src/components/ImageGallery/ImageGallery.tsx +30 -18
  940. package/src/components/ImageGallery/__tests__/ImageGallery.test.tsx +6 -6
  941. package/src/components/ImageGallery/__tests__/ImageGalleryFooter.test.tsx +3 -3
  942. package/src/components/ImageGallery/__tests__/ImageGalleryGrid.test.tsx +3 -3
  943. package/src/components/ImageGallery/__tests__/ImageGalleryHeader.test.tsx +3 -3
  944. package/src/components/ImageGallery/components/ImageGrid.tsx +3 -3
  945. package/src/components/ImageGallery/hooks/useImageGalleryGestures.tsx +16 -0
  946. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageAvatar.test.js.snap +1 -0
  947. package/src/components/MessageList/MessageList.tsx +162 -106
  948. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +6 -0
  949. package/src/components/index.ts +2 -1
  950. package/src/contexts/channelContext/ChannelContext.tsx +15 -0
  951. package/src/contexts/channelsStateContext/useChannelState.ts +2 -2
  952. package/src/contexts/chatContext/ChatContext.tsx +3 -1
  953. package/src/contexts/imageGalleryContext/ImageGalleryContext.md +1 -1
  954. package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +19 -14
  955. package/src/contexts/overlayContext/OverlayProvider.tsx +1 -5
  956. package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +4 -0
  957. package/src/{components/Attachment/hooks → hooks}/useLoadingImage.tsx +9 -1
  958. package/src/index.ts +4 -0
  959. package/src/mock-builders/DB/consts.ts +2 -0
  960. package/src/mock-builders/DB/mock.ts +107 -0
  961. package/src/mock-builders/event/memberAdded.js +8 -0
  962. package/src/mock-builders/event/memberRemoved.js +8 -0
  963. package/src/mock-builders/event/memberUpdated.js +8 -0
  964. package/src/mock-builders/event/reactionDeleted.js +9 -0
  965. package/src/mock-builders/event/reactionNew.js +9 -0
  966. package/src/mock-builders/event/reactionUpdated.js +9 -0
  967. package/src/mock-builders/generator/reaction.js +1 -1
  968. package/src/store/QuickSqliteClient.ts +144 -0
  969. package/src/store/apis/deleteChannel.ts +14 -0
  970. package/src/store/apis/deleteMember.ts +25 -0
  971. package/src/store/apis/deleteMessagesForChannel.ts +19 -0
  972. package/src/store/apis/deleteReactions.ts +24 -0
  973. package/src/store/apis/getAllChannelIds.ts +7 -0
  974. package/src/store/apis/getChannelMessages.ts +50 -0
  975. package/src/store/apis/getChannels.ts +46 -0
  976. package/src/store/apis/getChannelsForFilterSort.ts +45 -0
  977. package/src/store/apis/getLastSyncedAt.ts +17 -0
  978. package/src/store/apis/getMembers.ts +26 -0
  979. package/src/store/apis/getReads.ts +26 -0
  980. package/src/store/apis/index.ts +20 -0
  981. package/src/store/apis/queries/selectChannelIdsForFilterSort.ts +38 -0
  982. package/src/store/apis/queries/selectChannels.ts +25 -0
  983. package/src/store/apis/queries/selectMembersForChannels.ts +32 -0
  984. package/src/store/apis/queries/selectMessagesForChannels.ts +40 -0
  985. package/src/store/apis/queries/selectReactionsForMessages.ts +33 -0
  986. package/src/store/apis/queries/selectReadsForChannels.ts +30 -0
  987. package/src/store/apis/updateMessage.ts +65 -0
  988. package/src/store/apis/updateReaction.ts +54 -0
  989. package/src/store/apis/upsertChannelData.ts +20 -0
  990. package/src/store/apis/upsertChannels.ts +79 -0
  991. package/src/store/apis/upsertCidsForQuery.ts +30 -0
  992. package/src/store/apis/upsertLastSyncedAt.ts +17 -0
  993. package/src/store/apis/upsertMembers.ts +41 -0
  994. package/src/store/apis/upsertMessages.ts +43 -0
  995. package/src/store/apis/upsertReads.ts +41 -0
  996. package/src/store/apis/utils/convertFilterSortToQuery.ts +14 -0
  997. package/src/store/constants.ts +3 -0
  998. package/src/store/mappers/mapChannelDataToStorable.ts +67 -0
  999. package/src/store/mappers/mapDateTimeToStorable.ts +5 -0
  1000. package/src/store/mappers/mapMemberToStorable.ts +45 -0
  1001. package/src/store/mappers/mapMessageToStorable.ts +35 -0
  1002. package/src/store/mappers/mapReactionToStorable.ts +19 -0
  1003. package/src/store/mappers/mapReadToStorable.ts +25 -0
  1004. package/src/store/mappers/mapStorableToChannel.ts +69 -0
  1005. package/src/store/mappers/mapStorableToMember.ts +42 -0
  1006. package/src/store/mappers/mapStorableToMessage.ts +40 -0
  1007. package/src/store/mappers/mapStorableToReaction.ts +25 -0
  1008. package/src/store/mappers/mapStorableToRead.ts +21 -0
  1009. package/src/store/mappers/mapStorableToUser.ts +23 -0
  1010. package/src/store/mappers/mapUserToStorable.ts +18 -0
  1011. package/src/store/schema.ts +284 -0
  1012. package/src/store/sqlite-utils/__tests__/createSelectQuery.test.ts +21 -0
  1013. package/src/store/sqlite-utils/appendWhereCluase.ts +32 -0
  1014. package/src/store/sqlite-utils/createCreateTableQuery.ts +39 -0
  1015. package/src/store/sqlite-utils/createDeleteQuery.ts +23 -0
  1016. package/src/store/sqlite-utils/createSelectQuery.ts +25 -0
  1017. package/src/store/sqlite-utils/createUpdateQuery.ts +27 -0
  1018. package/src/store/sqlite-utils/createUpsertQuery.ts +48 -0
  1019. package/src/store/sqlite-utils/printRow.ts +19 -0
  1020. package/src/store/types.ts +12 -0
  1021. package/src/test-utils/BetterSqlite.js +44 -0
  1022. package/src/version.json +1 -1
  1023. package/lib/commonjs/components/Attachment/hooks/useLoadingImage.js.map +0 -1
  1024. package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js +0 -45
  1025. package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +0 -1
  1026. package/lib/module/components/Attachment/hooks/useLoadingImage.js.map +0 -1
  1027. package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js +0 -45
  1028. package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +0 -1
  1029. package/lib/typescript/components/ChannelList/hooks/listeners/useConnectionRecovered.d.ts +0 -8
  1030. package/src/components/ChannelList/hooks/listeners/useConnectionRecovered.ts +0 -41
@@ -20,6 +20,7 @@ var useCreateChannelContext = function useCreateChannelContext(_ref) {
20
20
  isModerator = _ref.isModerator,
21
21
  isOwner = _ref.isOwner,
22
22
  lastRead = _ref.lastRead,
23
+ loadChannelAroundMessage = _ref.loadChannelAroundMessage,
23
24
  loadChannelAtMessage = _ref.loadChannelAtMessage,
24
25
  loading = _ref.loading,
25
26
  LoadingIndicator = _ref.LoadingIndicator,
@@ -62,6 +63,7 @@ var useCreateChannelContext = function useCreateChannelContext(_ref) {
62
63
  isModerator: isModerator,
63
64
  isOwner: isOwner,
64
65
  lastRead: lastRead,
66
+ loadChannelAroundMessage: loadChannelAroundMessage,
65
67
  loadChannelAtMessage: loadChannelAtMessage,
66
68
  loading: loading,
67
69
  LoadingIndicator: LoadingIndicator,
@@ -1 +1 @@
1
- {"version":3,"sources":["useCreateChannelContext.ts"],"names":["useCreateChannelContext","channel","disabled","EmptyStateIndicator","enableMessageGroupingByUser","enforceUniqueReaction","error","giphyEnabled","hideDateSeparators","hideStickyDateHeader","isAdmin","isChannelActive","isModerator","isOwner","lastRead","loadChannelAtMessage","loading","LoadingIndicator","markRead","maxTimeBetweenGroupedMessages","members","NetworkDownIndicator","read","reloadChannel","scrollToFirstUnreadThreshold","setLastRead","setTargetedMessage","StickyHeader","targetedMessage","threadList","watcherCount","watchers","channelId","id","lastReadTime","getTime","membersLength","Object","keys","length","readUsers","values","readUsersLength","readUsersLastReads","map","last_read","toISOString","join","channelContext"],"mappings":"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","sourcesContent":["import { useMemo } from 'react';\n\nimport type { ChannelContextValue } from '../../../contexts/channelContext/ChannelContext';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\nexport const useCreateChannelContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n channel,\n disabled,\n EmptyStateIndicator,\n enableMessageGroupingByUser,\n enforceUniqueReaction,\n error,\n giphyEnabled,\n hideDateSeparators,\n hideStickyDateHeader,\n isAdmin,\n isChannelActive,\n isModerator,\n isOwner,\n lastRead,\n loadChannelAtMessage,\n loading,\n LoadingIndicator,\n markRead,\n maxTimeBetweenGroupedMessages,\n members,\n NetworkDownIndicator,\n read,\n reloadChannel,\n scrollToFirstUnreadThreshold,\n setLastRead,\n setTargetedMessage,\n StickyHeader,\n targetedMessage,\n threadList,\n watcherCount,\n watchers,\n}: ChannelContextValue<StreamChatGenerics>) => {\n const channelId = channel?.id;\n const lastReadTime = lastRead?.getTime();\n const membersLength = Object.keys(members).length;\n\n const readUsers = Object.values(read);\n const readUsersLength = readUsers.length;\n const readUsersLastReads = readUsers.map(({ last_read }) => last_read.toISOString()).join();\n\n const channelContext: ChannelContextValue<StreamChatGenerics> = useMemo(\n () => ({\n channel,\n disabled,\n EmptyStateIndicator,\n enableMessageGroupingByUser,\n enforceUniqueReaction,\n error,\n giphyEnabled,\n hideDateSeparators,\n hideStickyDateHeader,\n isAdmin,\n isChannelActive,\n isModerator,\n isOwner,\n lastRead,\n loadChannelAtMessage,\n loading,\n LoadingIndicator,\n markRead,\n maxTimeBetweenGroupedMessages,\n members,\n NetworkDownIndicator,\n read,\n reloadChannel,\n scrollToFirstUnreadThreshold,\n setLastRead,\n setTargetedMessage,\n StickyHeader,\n targetedMessage,\n threadList,\n watcherCount,\n watchers,\n }),\n [\n channelId,\n disabled,\n error,\n isChannelActive,\n lastReadTime,\n loading,\n membersLength,\n readUsersLength,\n readUsersLastReads,\n targetedMessage,\n threadList,\n watcherCount,\n ],\n );\n\n return channelContext;\n};\n"]}
1
+ {"version":3,"sources":["useCreateChannelContext.ts"],"names":["useCreateChannelContext","channel","disabled","EmptyStateIndicator","enableMessageGroupingByUser","enforceUniqueReaction","error","giphyEnabled","hideDateSeparators","hideStickyDateHeader","isAdmin","isChannelActive","isModerator","isOwner","lastRead","loadChannelAroundMessage","loadChannelAtMessage","loading","LoadingIndicator","markRead","maxTimeBetweenGroupedMessages","members","NetworkDownIndicator","read","reloadChannel","scrollToFirstUnreadThreshold","setLastRead","setTargetedMessage","StickyHeader","targetedMessage","threadList","watcherCount","watchers","channelId","id","lastReadTime","getTime","membersLength","Object","keys","length","readUsers","values","readUsersLength","readUsersLastReads","map","last_read","toISOString","join","channelContext"],"mappings":"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","sourcesContent":["import { useMemo } from 'react';\n\nimport type { ChannelContextValue } from '../../../contexts/channelContext/ChannelContext';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\nexport const useCreateChannelContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n channel,\n disabled,\n EmptyStateIndicator,\n enableMessageGroupingByUser,\n enforceUniqueReaction,\n error,\n giphyEnabled,\n hideDateSeparators,\n hideStickyDateHeader,\n isAdmin,\n isChannelActive,\n isModerator,\n isOwner,\n lastRead,\n loadChannelAroundMessage,\n loadChannelAtMessage,\n loading,\n LoadingIndicator,\n markRead,\n maxTimeBetweenGroupedMessages,\n members,\n NetworkDownIndicator,\n read,\n reloadChannel,\n scrollToFirstUnreadThreshold,\n setLastRead,\n setTargetedMessage,\n StickyHeader,\n targetedMessage,\n threadList,\n watcherCount,\n watchers,\n}: ChannelContextValue<StreamChatGenerics>) => {\n const channelId = channel?.id;\n const lastReadTime = lastRead?.getTime();\n const membersLength = Object.keys(members).length;\n\n const readUsers = Object.values(read);\n const readUsersLength = readUsers.length;\n const readUsersLastReads = readUsers.map(({ last_read }) => last_read.toISOString()).join();\n\n const channelContext: ChannelContextValue<StreamChatGenerics> = useMemo(\n () => ({\n channel,\n disabled,\n EmptyStateIndicator,\n enableMessageGroupingByUser,\n enforceUniqueReaction,\n error,\n giphyEnabled,\n hideDateSeparators,\n hideStickyDateHeader,\n isAdmin,\n isChannelActive,\n isModerator,\n isOwner,\n lastRead,\n loadChannelAroundMessage,\n loadChannelAtMessage,\n loading,\n LoadingIndicator,\n markRead,\n maxTimeBetweenGroupedMessages,\n members,\n NetworkDownIndicator,\n read,\n reloadChannel,\n scrollToFirstUnreadThreshold,\n setLastRead,\n setTargetedMessage,\n StickyHeader,\n targetedMessage,\n threadList,\n watcherCount,\n watchers,\n }),\n [\n channelId,\n disabled,\n error,\n isChannelActive,\n lastReadTime,\n loading,\n membersLength,\n readUsersLength,\n readUsersLastReads,\n targetedMessage,\n threadList,\n watcherCount,\n ],\n );\n\n return channelContext;\n};\n"]}
@@ -10,6 +10,7 @@ var _utils = require("../../../utils/utils");
10
10
  var useCreatePaginatedMessageListContext = function useCreatePaginatedMessageListContext(_ref) {
11
11
  var channelId = _ref.channelId,
12
12
  hasMore = _ref.hasMore,
13
+ hasNoMoreRecentMessagesToLoad = _ref.hasNoMoreRecentMessagesToLoad,
13
14
  loadingMore = _ref.loadingMore,
14
15
  loadingMoreRecent = _ref.loadingMoreRecent,
15
16
  loadMore = _ref.loadMore,
@@ -21,6 +22,7 @@ var useCreatePaginatedMessageListContext = function useCreatePaginatedMessageLis
21
22
  var paginatedMessagesContext = (0, _react.useMemo)(function () {
22
23
  return {
23
24
  hasMore: hasMore,
25
+ hasNoMoreRecentMessagesToLoad: hasNoMoreRecentMessagesToLoad,
24
26
  loadingMore: loadingMore,
25
27
  loadingMoreRecent: loadingMoreRecent,
26
28
  loadMore: loadMore,
@@ -1 +1 @@
1
- {"version":3,"sources":["useCreatePaginatedMessageListContext.ts"],"names":["useCreatePaginatedMessageListContext","channelId","hasMore","loadingMore","loadingMoreRecent","loadMore","loadMoreRecent","messages","setLoadingMore","setLoadingMoreRecent","messagesStr","paginatedMessagesContext"],"mappings":";;;;;AAAA;;AAIA;;AAEO,IAAMA,oCAAoC,GAAG,SAAvCA,oCAAuC,OAc9C;AAAA,MAXJC,SAWI,QAXJA,SAWI;AAAA,MAVJC,OAUI,QAVJA,OAUI;AAAA,MATJC,WASI,QATJA,WASI;AAAA,MARJC,iBAQI,QARJA,iBAQI;AAAA,MAPJC,QAOI,QAPJA,QAOI;AAAA,MANJC,cAMI,QANJA,cAMI;AAAA,MALJC,QAKI,QALJA,QAKI;AAAA,MAJJC,cAII,QAJJA,cAII;AAAA,MAHJC,oBAGI,QAHJA,oBAGI;AACJ,MAAMC,WAAW,GAAG,mCAAuBH,QAAvB,CAApB;AAEA,MAAMI,wBAA8E,GAAG,oBACrF;AAAA,WAAO;AACLT,MAAAA,OAAO,EAAPA,OADK;AAELC,MAAAA,WAAW,EAAXA,WAFK;AAGLC,MAAAA,iBAAiB,EAAjBA,iBAHK;AAILC,MAAAA,QAAQ,EAARA,QAJK;AAKLC,MAAAA,cAAc,EAAdA,cALK;AAMLC,MAAAA,QAAQ,EAARA,QANK;AAOLC,MAAAA,cAAc,EAAdA,cAPK;AAQLC,MAAAA,oBAAoB,EAApBA;AARK,KAAP;AAAA,GADqF,EAWrF,CAACR,SAAD,EAAYC,OAAZ,EAAqBE,iBAArB,EAAwCD,WAAxC,EAAqDO,WAArD,CAXqF,CAAvF;AAcA,SAAOC,wBAAP;AACD,CAhCM","sourcesContent":["import { useMemo } from 'react';\n\nimport type { PaginatedMessageListContextValue } from '../../../contexts/paginatedMessageListContext/PaginatedMessageListContext';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { reduceMessagesToString } from '../../../utils/utils';\n\nexport const useCreatePaginatedMessageListContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n channelId,\n hasMore,\n loadingMore,\n loadingMoreRecent,\n loadMore,\n loadMoreRecent,\n messages,\n setLoadingMore,\n setLoadingMoreRecent,\n}: PaginatedMessageListContextValue<StreamChatGenerics> & {\n channelId?: string;\n}) => {\n const messagesStr = reduceMessagesToString(messages);\n\n const paginatedMessagesContext: PaginatedMessageListContextValue<StreamChatGenerics> = useMemo(\n () => ({\n hasMore,\n loadingMore,\n loadingMoreRecent,\n loadMore,\n loadMoreRecent,\n messages,\n setLoadingMore,\n setLoadingMoreRecent,\n }),\n [channelId, hasMore, loadingMoreRecent, loadingMore, messagesStr],\n );\n\n return paginatedMessagesContext;\n};\n"]}
1
+ {"version":3,"sources":["useCreatePaginatedMessageListContext.ts"],"names":["useCreatePaginatedMessageListContext","channelId","hasMore","hasNoMoreRecentMessagesToLoad","loadingMore","loadingMoreRecent","loadMore","loadMoreRecent","messages","setLoadingMore","setLoadingMoreRecent","messagesStr","paginatedMessagesContext"],"mappings":";;;;;AAAA;;AAIA;;AAEO,IAAMA,oCAAoC,GAAG,SAAvCA,oCAAuC,OAe9C;AAAA,MAZJC,SAYI,QAZJA,SAYI;AAAA,MAXJC,OAWI,QAXJA,OAWI;AAAA,MAVJC,6BAUI,QAVJA,6BAUI;AAAA,MATJC,WASI,QATJA,WASI;AAAA,MARJC,iBAQI,QARJA,iBAQI;AAAA,MAPJC,QAOI,QAPJA,QAOI;AAAA,MANJC,cAMI,QANJA,cAMI;AAAA,MALJC,QAKI,QALJA,QAKI;AAAA,MAJJC,cAII,QAJJA,cAII;AAAA,MAHJC,oBAGI,QAHJA,oBAGI;AACJ,MAAMC,WAAW,GAAG,mCAAuBH,QAAvB,CAApB;AAEA,MAAMI,wBAA8E,GAAG,oBACrF;AAAA,WAAO;AACLV,MAAAA,OAAO,EAAPA,OADK;AAELC,MAAAA,6BAA6B,EAA7BA,6BAFK;AAGLC,MAAAA,WAAW,EAAXA,WAHK;AAILC,MAAAA,iBAAiB,EAAjBA,iBAJK;AAKLC,MAAAA,QAAQ,EAARA,QALK;AAMLC,MAAAA,cAAc,EAAdA,cANK;AAOLC,MAAAA,QAAQ,EAARA,QAPK;AAQLC,MAAAA,cAAc,EAAdA,cARK;AASLC,MAAAA,oBAAoB,EAApBA;AATK,KAAP;AAAA,GADqF,EAYrF,CAACT,SAAD,EAAYC,OAAZ,EAAqBG,iBAArB,EAAwCD,WAAxC,EAAqDO,WAArD,CAZqF,CAAvF;AAeA,SAAOC,wBAAP;AACD,CAlCM","sourcesContent":["import { useMemo } from 'react';\n\nimport type { PaginatedMessageListContextValue } from '../../../contexts/paginatedMessageListContext/PaginatedMessageListContext';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { reduceMessagesToString } from '../../../utils/utils';\n\nexport const useCreatePaginatedMessageListContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n channelId,\n hasMore,\n hasNoMoreRecentMessagesToLoad,\n loadingMore,\n loadingMoreRecent,\n loadMore,\n loadMoreRecent,\n messages,\n setLoadingMore,\n setLoadingMoreRecent,\n}: PaginatedMessageListContextValue<StreamChatGenerics> & {\n channelId?: string;\n}) => {\n const messagesStr = reduceMessagesToString(messages);\n\n const paginatedMessagesContext: PaginatedMessageListContextValue<StreamChatGenerics> = useMemo(\n () => ({\n hasMore,\n hasNoMoreRecentMessagesToLoad,\n loadingMore,\n loadingMoreRecent,\n loadMore,\n loadMoreRecent,\n messages,\n setLoadingMore,\n setLoadingMoreRecent,\n }),\n [channelId, hasMore, loadingMoreRecent, loadingMore, messagesStr],\n );\n\n return paginatedMessagesContext;\n};\n"]}
@@ -33,8 +33,6 @@ var _useChannelUpdated = require("./hooks/listeners/useChannelUpdated");
33
33
 
34
34
  var _useChannelVisible = require("./hooks/listeners/useChannelVisible");
35
35
 
36
- var _useConnectionRecovered = require("./hooks/listeners/useConnectionRecovered");
37
-
38
36
  var _useNewMessage = require("./hooks/listeners/useNewMessage");
39
37
 
40
38
  var _useNewMessageNotification = require("./hooks/listeners/useNewMessageNotification");
@@ -51,6 +49,10 @@ var _Skeleton = require("./Skeleton");
51
49
 
52
50
  var _ChannelsContext = require("../../contexts/channelsContext/ChannelsContext");
53
51
 
52
+ var _ChatContext = require("../../contexts/chatContext/ChatContext");
53
+
54
+ var _upsertCidsForQuery = require("../../store/apis/upsertCidsForQuery");
55
+
54
56
  var _ChannelPreviewMessenger = require("../ChannelPreview/ChannelPreviewMessenger");
55
57
 
56
58
  var _EmptyStateIndicator = require("../Indicators/EmptyStateIndicator");
@@ -58,7 +60,7 @@ var _EmptyStateIndicator = require("../Indicators/EmptyStateIndicator");
58
60
  var _LoadingErrorIndicator = require("../Indicators/LoadingErrorIndicator");
59
61
 
60
62
  var _this = this,
61
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelList/ChannelList.tsx";
63
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ChannelList/ChannelList.tsx";
62
64
 
63
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); }
64
66
 
@@ -125,7 +127,12 @@ var ChannelList = function ChannelList(props) {
125
127
  forceUpdate = _useState2[0],
126
128
  setForceUpdate = _useState2[1];
127
129
 
130
+ var _useChatContext = (0, _ChatContext.useChatContext)(),
131
+ enableOfflineSupport = _useChatContext.enableOfflineSupport,
132
+ subscribeConnectionRecoveredCallback = _useChatContext.subscribeConnectionRecoveredCallback;
133
+
128
134
  var _usePaginatedChannels = (0, _usePaginatedChannels2.usePaginatedChannels)({
135
+ enableOfflineSupport: enableOfflineSupport,
129
136
  filters: filters,
130
137
  options: options,
131
138
  sort: sort
@@ -139,7 +146,8 @@ var ChannelList = function ChannelList(props) {
139
146
  refreshing = _usePaginatedChannels.refreshing,
140
147
  refreshList = _usePaginatedChannels.refreshList,
141
148
  reloadList = _usePaginatedChannels.reloadList,
142
- setChannels = _usePaginatedChannels.setChannels;
149
+ setChannels = _usePaginatedChannels.setChannels,
150
+ staticChannelsActive = _usePaginatedChannels.staticChannelsActive;
143
151
 
144
152
  (0, _useAddedToChannelNotification.useAddedToChannelNotification)({
145
153
  onAddedToChannel: onAddedToChannel,
@@ -167,10 +175,6 @@ var ChannelList = function ChannelList(props) {
167
175
  onChannelVisible: onChannelVisible,
168
176
  setChannels: setChannels
169
177
  });
170
- (0, _useConnectionRecovered.useConnectionRecovered)({
171
- refreshList: refreshList,
172
- setForceUpdate: setForceUpdate
173
- });
174
178
  (0, _useNewMessage.useNewMessage)({
175
179
  lockChannelOrder: lockChannelOrder,
176
180
  setChannels: setChannels
@@ -186,6 +190,33 @@ var ChannelList = function ChannelList(props) {
186
190
  (0, _useUserPresence.useUserPresence)({
187
191
  setChannels: setChannels
188
192
  });
193
+ var channelIdsStr = channels.reduce(function (acc, channel) {
194
+ return "" + acc + channel.cid;
195
+ }, '');
196
+ (0, _react.useEffect)(function () {
197
+ if (staticChannelsActive || !enableOfflineSupport) {
198
+ return;
199
+ }
200
+
201
+ (0, _upsertCidsForQuery.upsertCidsForQuery)({
202
+ cids: channels.map(function (c) {
203
+ return c.cid;
204
+ }),
205
+ filters: filters,
206
+ sort: sort
207
+ });
208
+ }, [channelIdsStr, staticChannelsActive]);
209
+ (0, _react.useEffect)(function () {
210
+ var unsubscribe = subscribeConnectionRecoveredCallback(function () {
211
+ refreshList();
212
+ setForceUpdate(function (count) {
213
+ return count + 1;
214
+ });
215
+ });
216
+ return function () {
217
+ return unsubscribe();
218
+ };
219
+ });
189
220
  var channelsContext = (0, _useCreateChannelsContext.useCreateChannelsContext)({
190
221
  additionalFlatListProps: additionalFlatListProps,
191
222
  channels: channels,
@@ -227,14 +258,14 @@ var ChannelList = function ChannelList(props) {
227
258
  __self: _this,
228
259
  __source: {
229
260
  fileName: _jsxFileName,
230
- lineNumber: 357,
261
+ lineNumber: 377,
231
262
  columnNumber: 5
232
263
  }
233
264
  }, _react["default"].createElement(List, {
234
265
  __self: _this,
235
266
  __source: {
236
267
  fileName: _jsxFileName,
237
- lineNumber: 358,
268
+ lineNumber: 378,
238
269
  columnNumber: 7
239
270
  }
240
271
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["ChannelList.tsx"],"names":["DEFAULT_FILTERS","DEFAULT_OPTIONS","DEFAULT_SORT","ChannelList","props","additionalFlatListProps","EmptyStateIndicator","EmptyStateIndicatorDefault","FooterLoadingIndicator","ChannelListFooterLoadingIndicator","filters","HeaderErrorIndicator","ChannelListHeaderErrorIndicator","HeaderNetworkDownIndicator","ChannelListHeaderNetworkDownIndicator","List","ChannelListMessenger","ListHeaderComponent","LoadingErrorIndicator","LoadingErrorIndicatorDefault","LoadingIndicator","ChannelListLoadingIndicator","loadMoreThreshold","lockChannelOrder","maxUnreadCount","numberOfSkeletons","onAddedToChannel","onChannelDeleted","onChannelHidden","onChannelVisible","onChannelTruncated","onChannelUpdated","onMessageNew","onRemovedFromChannel","onSelect","options","Preview","ChannelPreviewMessenger","PreviewAvatar","PreviewMessage","PreviewStatus","PreviewTitle","PreviewUnreadCount","setFlatListRef","Skeleton","SkeletonDefault","sort","forceUpdate","setForceUpdate","channels","error","hasNextPage","loadingChannels","loadingNextPage","loadNextPage","refreshing","refreshList","reloadList","setChannels","channelsContext","ref"],"mappings":";;;;;;;;;;;AAAA;;AAMA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAKA;;AACA;;AACA;;;;;;;;;AA4JA,IAAMA,eAAe,GAAG,EAAxB;AACA,IAAMC,eAAe,GAAG,EAAxB;AACA,IAAMC,YAAY,GAAG,EAArB;;AASO,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAGzBC,KAHyB,EAItB;AACH,8BAmCIA,KAnCJ,CACEC,uBADF;AAAA,MACEA,uBADF,sCAC4B,EAD5B;AAAA,8BAmCID,KAnCJ,CAEEE,mBAFF;AAAA,MAEEA,mBAFF,sCAEwBC,wCAFxB;AAAA,8BAmCIH,KAnCJ,CAGEI,sBAHF;AAAA,MAGEA,sBAHF,sCAG2BC,oEAH3B;AAAA,uBAmCIL,KAnCJ,CAIEM,OAJF;AAAA,MAIEA,OAJF,+BAIYV,eAJZ;AAAA,8BAmCII,KAnCJ,CAKEO,oBALF;AAAA,MAKEA,oBALF,sCAKyBC,gEALzB;AAAA,8BAmCIR,KAnCJ,CAMES,0BANF;AAAA,MAMEA,0BANF,sCAM+BC,4EAN/B;AAAA,oBAmCIV,KAnCJ,CAOEW,IAPF;AAAA,MAOEA,IAPF,4BAOSC,0CAPT;AAAA,MAQEC,mBARF,GAmCIb,KAnCJ,CAQEa,mBARF;AAAA,8BAmCIb,KAnCJ,CASEc,qBATF;AAAA,MASEA,qBATF,sCAS0BC,4CAT1B;AAAA,8BAmCIf,KAnCJ,CAUEgB,gBAVF;AAAA,MAUEA,gBAVF,sCAUqBC,wDAVrB;AAAA,8BAmCIjB,KAnCJ,CAYEkB,iBAZF;AAAA,MAYEA,iBAZF,sCAYsB,CAZtB;AAAA,8BAmCIlB,KAnCJ,CAaEmB,gBAbF;AAAA,MAaEA,gBAbF,sCAaqB,KAbrB;AAAA,8BAmCInB,KAnCJ,CAcEoB,cAdF;AAAA,MAcEA,cAdF,sCAcmB,GAdnB;AAAA,8BAmCIpB,KAnCJ,CAeEqB,iBAfF;AAAA,MAeEA,iBAfF,sCAesB,CAftB;AAAA,MAgBEC,gBAhBF,GAmCItB,KAnCJ,CAgBEsB,gBAhBF;AAAA,MAiBEC,gBAjBF,GAmCIvB,KAnCJ,CAiBEuB,gBAjBF;AAAA,MAkBEC,eAlBF,GAmCIxB,KAnCJ,CAkBEwB,eAlBF;AAAA,MAmBEC,gBAnBF,GAmCIzB,KAnCJ,CAmBEyB,gBAnBF;AAAA,MAoBEC,kBApBF,GAmCI1B,KAnCJ,CAoBE0B,kBApBF;AAAA,MAqBEC,gBArBF,GAmCI3B,KAnCJ,CAqBE2B,gBArBF;AAAA,MAsBEC,YAtBF,GAmCI5B,KAnCJ,CAsBE4B,YAtBF;AAAA,MAuBEC,oBAvBF,GAmCI7B,KAnCJ,CAuBE6B,oBAvBF;AAAA,MAwBEC,QAxBF,GAmCI9B,KAnCJ,CAwBE8B,QAxBF;AAAA,uBAmCI9B,KAnCJ,CAyBE+B,OAzBF;AAAA,MAyBEA,OAzBF,+BAyBYlC,eAzBZ;AAAA,uBAmCIG,KAnCJ,CA0BEgC,OA1BF;AAAA,MA0BEA,OA1BF,+BA0BYC,gDA1BZ;AAAA,MA2BEC,aA3BF,GAmCIlC,KAnCJ,CA2BEkC,aA3BF;AAAA,MA4BEC,cA5BF,GAmCInC,KAnCJ,CA4BEmC,cA5BF;AAAA,MA6BEC,aA7BF,GAmCIpC,KAnCJ,CA6BEoC,aA7BF;AAAA,MA8BEC,YA9BF,GAmCIrC,KAnCJ,CA8BEqC,YA9BF;AAAA,MA+BEC,kBA/BF,GAmCItC,KAnCJ,CA+BEsC,kBA/BF;AAAA,MAgCEC,eAhCF,GAmCIvC,KAnCJ,CAgCEuC,cAhCF;AAAA,wBAmCIvC,KAnCJ,CAiCEwC,QAjCF;AAAA,MAiCEA,QAjCF,gCAiCaC,kBAjCb;AAAA,oBAmCIzC,KAnCJ,CAkCE0C,IAlCF;AAAA,MAkCEA,IAlCF,4BAkCS5C,YAlCT;;AAqCA,kBAAsC,qBAAS,CAAT,CAAtC;AAAA;AAAA,MAAO6C,WAAP;AAAA,MAAoBC,cAApB;;AAEA,8BAWI,iDAAyC;AAC3CtC,IAAAA,OAAO,EAAPA,OAD2C;AAE3CyB,IAAAA,OAAO,EAAPA,OAF2C;AAG3CW,IAAAA,IAAI,EAAJA;AAH2C,GAAzC,CAXJ;AAAA,MACEG,QADF,yBACEA,QADF;AAAA,MAEEC,KAFF,yBAEEA,KAFF;AAAA,MAGEC,WAHF,yBAGEA,WAHF;AAAA,MAIEC,eAJF,yBAIEA,eAJF;AAAA,MAKEC,eALF,yBAKEA,eALF;AAAA,MAMEC,YANF,yBAMEA,YANF;AAAA,MAOEC,UAPF,yBAOEA,UAPF;AAAA,MAQEC,WARF,yBAQEA,WARF;AAAA,MASEC,UATF,yBASEA,UATF;AAAA,MAUEC,WAVF,yBAUEA,WAVF;;AAkBA,oEAA8B;AAC5BhC,IAAAA,gBAAgB,EAAhBA,gBAD4B;AAE5BgC,IAAAA,WAAW,EAAXA;AAF4B,GAA9B;AAKA,4CAAkB;AAChB/B,IAAAA,gBAAgB,EAAhBA,gBADgB;AAEhB+B,IAAAA,WAAW,EAAXA;AAFgB,GAAlB;AAKA,0CAAiB;AACf9B,IAAAA,eAAe,EAAfA,eADe;AAEf8B,IAAAA,WAAW,EAAXA;AAFe,GAAjB;AAKA,gDAAoB;AAClB5B,IAAAA,kBAAkB,EAAlBA,kBADkB;AAElB0B,IAAAA,WAAW,EAAXA,WAFkB;AAGlBE,IAAAA,WAAW,EAAXA,WAHkB;AAIlBV,IAAAA,cAAc,EAAdA;AAJkB,GAApB;AAOA,4CAAkB;AAChBjB,IAAAA,gBAAgB,EAAhBA,gBADgB;AAEhB2B,IAAAA,WAAW,EAAXA;AAFgB,GAAlB;AAKA,4CAAkB;AAChB7B,IAAAA,gBAAgB,EAAhBA,gBADgB;AAEhB6B,IAAAA,WAAW,EAAXA;AAFgB,GAAlB;AAKA,sDAA2C;AACzCF,IAAAA,WAAW,EAAXA,WADyC;AAEzCR,IAAAA,cAAc,EAAdA;AAFyC,GAA3C;AAKA,oCAAc;AACZzB,IAAAA,gBAAgB,EAAhBA,gBADY;AAEZmC,IAAAA,WAAW,EAAXA;AAFY,GAAd;AAKA,4DAA0B;AACxB1B,IAAAA,YAAY,EAAZA,YADwB;AAExB0B,IAAAA,WAAW,EAAXA;AAFwB,GAA1B;AAKA,4EAAkC;AAChCzB,IAAAA,oBAAoB,EAApBA,oBADgC;AAEhCyB,IAAAA,WAAW,EAAXA;AAFgC,GAAlC;AAKA,wCAAgB;AACdA,IAAAA,WAAW,EAAXA;AADc,GAAhB;AAIA,MAAMC,eAAe,GAAG,wDAAyB;AAC/CtD,IAAAA,uBAAuB,EAAvBA,uBAD+C;AAE/C4C,IAAAA,QAAQ,EAARA,QAF+C;AAG/C3C,IAAAA,mBAAmB,EAAnBA,mBAH+C;AAI/C4C,IAAAA,KAAK,EAALA,KAJ+C;AAK/C1C,IAAAA,sBAAsB,EAAtBA,sBAL+C;AAM/CuC,IAAAA,WAAW,EAAXA,WAN+C;AAO/CI,IAAAA,WAAW,EAAXA,WAP+C;AAQ/CxC,IAAAA,oBAAoB,EAApBA,oBAR+C;AAS/CE,IAAAA,0BAA0B,EAA1BA,0BAT+C;AAU/CI,IAAAA,mBAAmB,EAAnBA,mBAV+C;AAW/CmC,IAAAA,eAAe,EAAfA,eAX+C;AAY/ClC,IAAAA,qBAAqB,EAArBA,qBAZ+C;AAa/CE,IAAAA,gBAAgB,EAAhBA,gBAb+C;AAc/CiC,IAAAA,eAAe,EAAfA,eAd+C;AAe/C/B,IAAAA,iBAAiB,EAAjBA,iBAf+C;AAgB/CgC,IAAAA,YAAY,EAAZA,YAhB+C;AAiB/C9B,IAAAA,cAAc,EAAdA,cAjB+C;AAkB/CC,IAAAA,iBAAiB,EAAjBA,iBAlB+C;AAmB/CS,IAAAA,QAAQ,EAARA,QAnB+C;AAoB/CE,IAAAA,OAAO,EAAPA,OApB+C;AAqB/CE,IAAAA,aAAa,EAAbA,aArB+C;AAsB/CC,IAAAA,cAAc,EAAdA,cAtB+C;AAuB/CC,IAAAA,aAAa,EAAbA,aAvB+C;AAwB/CC,IAAAA,YAAY,EAAZA,YAxB+C;AAyB/CC,IAAAA,kBAAkB,EAAlBA,kBAzB+C;AA0B/Ca,IAAAA,UAAU,EAAVA,UA1B+C;AA2B/CC,IAAAA,WAAW,EAAXA,WA3B+C;AA4B/CC,IAAAA,UAAU,EAAVA,UA5B+C;AA6B/Cd,IAAAA,cAAc,EAAE,wBAACiB,GAAD,EAAuD;AACrE,UAAIjB,eAAJ,EAAoB;AAClBA,QAAAA,eAAc,CAACiB,GAAD,CAAd;AACD;AACF,KAjC8C;AAkC/ChB,IAAAA,QAAQ,EAARA;AAlC+C,GAAzB,CAAxB;AAqCA,SACE,gCAAC,iCAAD;AAAkB,IAAA,KAAK,EAAEe,eAAzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,IAAD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IADF,CADF;AAKD,CAhKM","sourcesContent":["import React, { useState } from 'react';\n\nimport type { FlatList } from 'react-native-gesture-handler';\n\nimport type { Channel, ChannelFilters, ChannelOptions, ChannelSort, Event } from 'stream-chat';\n\nimport { ChannelListFooterLoadingIndicator } from './ChannelListFooterLoadingIndicator';\nimport { ChannelListHeaderErrorIndicator } from './ChannelListHeaderErrorIndicator';\nimport { ChannelListHeaderNetworkDownIndicator } from './ChannelListHeaderNetworkDownIndicator';\nimport { ChannelListLoadingIndicator } from './ChannelListLoadingIndicator';\nimport { ChannelListMessenger, ChannelListMessengerProps } from './ChannelListMessenger';\nimport { useAddedToChannelNotification } from './hooks/listeners/useAddedToChannelNotification';\nimport { useChannelDeleted } from './hooks/listeners/useChannelDeleted';\nimport { useChannelHidden } from './hooks/listeners/useChannelHidden';\nimport { useChannelTruncated } from './hooks/listeners/useChannelTruncated';\nimport { useChannelUpdated } from './hooks/listeners/useChannelUpdated';\nimport { useChannelVisible } from './hooks/listeners/useChannelVisible';\nimport { useConnectionRecovered } from './hooks/listeners/useConnectionRecovered';\nimport { useNewMessage } from './hooks/listeners/useNewMessage';\nimport { useNewMessageNotification } from './hooks/listeners/useNewMessageNotification';\nimport { useRemovedFromChannelNotification } from './hooks/listeners/useRemovedFromChannelNotification';\nimport { useUserPresence } from './hooks/listeners/useUserPresence';\nimport { useCreateChannelsContext } from './hooks/useCreateChannelsContext';\nimport { usePaginatedChannels } from './hooks/usePaginatedChannels';\nimport { Skeleton as SkeletonDefault } from './Skeleton';\n\nimport {\n ChannelsContextValue,\n ChannelsProvider,\n} from '../../contexts/channelsContext/ChannelsContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { ChannelPreviewMessenger } from '../ChannelPreview/ChannelPreviewMessenger';\nimport { EmptyStateIndicator as EmptyStateIndicatorDefault } from '../Indicators/EmptyStateIndicator';\nimport { LoadingErrorIndicator as LoadingErrorIndicatorDefault } from '../Indicators/LoadingErrorIndicator';\n\nexport type ChannelListProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<\n Pick<\n ChannelsContextValue<StreamChatGenerics>,\n | 'additionalFlatListProps'\n | 'EmptyStateIndicator'\n | 'FooterLoadingIndicator'\n | 'HeaderErrorIndicator'\n | 'HeaderNetworkDownIndicator'\n | 'LoadingErrorIndicator'\n | 'LoadingIndicator'\n | 'Preview'\n | 'setFlatListRef'\n | 'ListHeaderComponent'\n | 'onSelect'\n | 'PreviewAvatar'\n | 'PreviewMessage'\n | 'PreviewStatus'\n | 'PreviewTitle'\n | 'PreviewUnreadCount'\n | 'loadMoreThreshold'\n | 'Skeleton'\n | 'maxUnreadCount'\n | 'numberOfSkeletons'\n >\n> & {\n /**\n * Object containing channel query filters\n *\n * @see See [Channel query documentation](https://getstream.io/chat/docs/query_channels) for a list of available filter fields\n *\n * @overrideType object\n * */\n filters?: ChannelFilters<StreamChatGenerics>;\n /**\n * Custom UI component to display the list of channels\n *\n * Default: [ChannelListMessenger](https://getstream.io/chat/docs/sdk/reactnative/ui-components/channel-list-messenger/)\n */\n List?: React.ComponentType<ChannelListMessengerProps<StreamChatGenerics>>;\n /**\n * If set to true, channels won't dynamically sort by most recent message, defaults to false\n */\n lockChannelOrder?: boolean;\n /**\n * Function that overrides default behavior when a user gets added to a channel\n *\n * @param setChannels Setter for internal state property - `channels`. It's created from useState() hook.\n * @param event An [Event Object](https://getstream.io/chat/docs/event_object) corresponding to `notification.added_to_channel` event\n *\n * @overrideType Function\n * */\n onAddedToChannel?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n /**\n * Function that overrides default behavior when a channel gets deleted. In absence of this prop, the channel will be removed from the list.\n *\n * @param setChannels Setter for internal state property - `channels`. It's created from useState() hook.\n * @param event An [Event object](https://getstream.io/chat/docs/event_object) corresponding to `channel.deleted` event\n *\n * @overrideType Function\n * */\n onChannelDeleted?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n /**\n * Function that overrides default behavior when a channel gets hidden. In absence of this prop, the channel will be removed from the list.\n *\n * @param setChannels Setter for internal state property - `channels`. It's created from useState() hook.\n * @param event An [Event object](https://getstream.io/chat/docs/event_object) corresponding to `channel.hidden` event\n *\n * @overrideType Function\n * */\n onChannelHidden?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n /**\n * Function to customize behavior when a channel gets truncated\n *\n * @param setChannels Setter for internal state property - `channels`. It's created from useState() hook.\n * @param event [Event object](https://getstream.io/chat/docs/event_object) corresponding to `channel.truncated` event\n *\n * @overrideType Function\n * */\n onChannelTruncated?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n /**\n * Function that overrides default behavior when a channel gets updated\n *\n * @param setChannels Setter for internal state property - `channels`. It's created from useState() hook.\n * @param event An [Event object](https://getstream.io/chat/docs/event_object) corresponding to `channel.updated` event\n *\n * @overrideType Function\n * */\n onChannelUpdated?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n /**\n * Function that overrides default behavior when a channel gets visible. In absence of this prop, the channel will be added to the list.\n *\n * @param setChannels Setter for internal state property - `channels`. It's created from useState() hook.\n * @param event An [Event object](https://getstream.io/chat/docs/event_object) corresponding to `channel.visible` event\n *\n * @overrideType Function\n * */\n onChannelVisible?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n /**\n * Override the default listener/handler for event `notification.message_new`\n * This event is received on channel, which is not being watched.\n *\n * @param setChannels Setter for internal state property - `channels`. It's created from useState() hook.\n * @param event An [Event object](https://getstream.io/chat/docs/event_object) corresponding to `notification.message_new` event\n *\n * @overrideType Function\n * */\n onMessageNew?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n /**\n * Function that overrides default behavior when a user gets removed from a channel\n *\n * @param setChannels Setter for internal state property - `channels`. It's created from useState() hook.\n * @param event An [Event object](https://getstream.io/chat/docs/event_object) corresponding to `notification.removed_from_channel` event\n *\n * @overrideType Function\n * */\n onRemovedFromChannel?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n /**\n * Object containing channel query options\n * @see See [Channel query documentation](https://getstream.io/chat/docs/query_channels) for a list of available option fields\n * */\n options?: ChannelOptions;\n /**\n * Object containing channel sort parameters\n * @see See [Channel query documentation](https://getstream.io/chat/docs/query_channels) for a list of available sorting fields\n * */\n sort?: ChannelSort<StreamChatGenerics>;\n};\n\nconst DEFAULT_FILTERS = {};\nconst DEFAULT_OPTIONS = {};\nconst DEFAULT_SORT = {};\n\n/**\n * This component fetches a list of channels, allowing you to select the channel you want to open.\n * The ChannelList doesn't provide any UI for the underlying React Native FlatList. UI is determined by the `List` component which is\n * provided to the ChannelList component as a prop. By default, the ChannelListMessenger component is used as the list UI.\n *\n * @example ./ChannelList.md\n */\nexport const ChannelList = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelListProps<StreamChatGenerics>,\n) => {\n const {\n additionalFlatListProps = {},\n EmptyStateIndicator = EmptyStateIndicatorDefault,\n FooterLoadingIndicator = ChannelListFooterLoadingIndicator,\n filters = DEFAULT_FILTERS,\n HeaderErrorIndicator = ChannelListHeaderErrorIndicator,\n HeaderNetworkDownIndicator = ChannelListHeaderNetworkDownIndicator,\n List = ChannelListMessenger,\n ListHeaderComponent,\n LoadingErrorIndicator = LoadingErrorIndicatorDefault,\n LoadingIndicator = ChannelListLoadingIndicator,\n // https://github.com/facebook/react-native/blob/a7a7970e543959e9db5281914d5f132beb01db8d/Libraries/Lists/VirtualizedList.js#L466\n loadMoreThreshold = 2,\n lockChannelOrder = false,\n maxUnreadCount = 255,\n numberOfSkeletons = 6,\n onAddedToChannel,\n onChannelDeleted,\n onChannelHidden,\n onChannelVisible,\n onChannelTruncated,\n onChannelUpdated,\n onMessageNew,\n onRemovedFromChannel,\n onSelect,\n options = DEFAULT_OPTIONS,\n Preview = ChannelPreviewMessenger,\n PreviewAvatar,\n PreviewMessage,\n PreviewStatus,\n PreviewTitle,\n PreviewUnreadCount,\n setFlatListRef,\n Skeleton = SkeletonDefault,\n sort = DEFAULT_SORT,\n } = props;\n\n const [forceUpdate, setForceUpdate] = useState(0);\n\n const {\n channels,\n error,\n hasNextPage,\n loadingChannels,\n loadingNextPage,\n loadNextPage,\n refreshing,\n refreshList,\n reloadList,\n setChannels,\n } = usePaginatedChannels<StreamChatGenerics>({\n filters,\n options,\n sort,\n });\n\n // Setup event listeners\n useAddedToChannelNotification({\n onAddedToChannel,\n setChannels,\n });\n\n useChannelDeleted({\n onChannelDeleted,\n setChannels,\n });\n\n useChannelHidden({\n onChannelHidden,\n setChannels,\n });\n\n useChannelTruncated({\n onChannelTruncated,\n refreshList,\n setChannels,\n setForceUpdate,\n });\n\n useChannelUpdated({\n onChannelUpdated,\n setChannels,\n });\n\n useChannelVisible({\n onChannelVisible,\n setChannels,\n });\n\n useConnectionRecovered<StreamChatGenerics>({\n refreshList,\n setForceUpdate,\n });\n\n useNewMessage({\n lockChannelOrder,\n setChannels,\n });\n\n useNewMessageNotification({\n onMessageNew,\n setChannels,\n });\n\n useRemovedFromChannelNotification({\n onRemovedFromChannel,\n setChannels,\n });\n\n useUserPresence({\n setChannels,\n });\n\n const channelsContext = useCreateChannelsContext({\n additionalFlatListProps,\n channels,\n EmptyStateIndicator,\n error,\n FooterLoadingIndicator,\n forceUpdate,\n hasNextPage,\n HeaderErrorIndicator,\n HeaderNetworkDownIndicator,\n ListHeaderComponent,\n loadingChannels,\n LoadingErrorIndicator,\n LoadingIndicator,\n loadingNextPage,\n loadMoreThreshold,\n loadNextPage,\n maxUnreadCount,\n numberOfSkeletons,\n onSelect,\n Preview,\n PreviewAvatar,\n PreviewMessage,\n PreviewStatus,\n PreviewTitle,\n PreviewUnreadCount,\n refreshing,\n refreshList,\n reloadList,\n setFlatListRef: (ref: FlatList<Channel<StreamChatGenerics>> | null) => {\n if (setFlatListRef) {\n setFlatListRef(ref);\n }\n },\n Skeleton,\n });\n\n return (\n <ChannelsProvider value={channelsContext}>\n <List<StreamChatGenerics> />\n </ChannelsProvider>\n );\n};\n"]}
1
+ {"version":3,"sources":["ChannelList.tsx"],"names":["DEFAULT_FILTERS","DEFAULT_OPTIONS","DEFAULT_SORT","ChannelList","props","additionalFlatListProps","EmptyStateIndicator","EmptyStateIndicatorDefault","FooterLoadingIndicator","ChannelListFooterLoadingIndicator","filters","HeaderErrorIndicator","ChannelListHeaderErrorIndicator","HeaderNetworkDownIndicator","ChannelListHeaderNetworkDownIndicator","List","ChannelListMessenger","ListHeaderComponent","LoadingErrorIndicator","LoadingErrorIndicatorDefault","LoadingIndicator","ChannelListLoadingIndicator","loadMoreThreshold","lockChannelOrder","maxUnreadCount","numberOfSkeletons","onAddedToChannel","onChannelDeleted","onChannelHidden","onChannelVisible","onChannelTruncated","onChannelUpdated","onMessageNew","onRemovedFromChannel","onSelect","options","Preview","ChannelPreviewMessenger","PreviewAvatar","PreviewMessage","PreviewStatus","PreviewTitle","PreviewUnreadCount","setFlatListRef","Skeleton","SkeletonDefault","sort","forceUpdate","setForceUpdate","enableOfflineSupport","subscribeConnectionRecoveredCallback","channels","error","hasNextPage","loadingChannels","loadingNextPage","loadNextPage","refreshing","refreshList","reloadList","setChannels","staticChannelsActive","channelIdsStr","reduce","acc","channel","cid","cids","map","c","unsubscribe","count","channelsContext","ref"],"mappings":";;;;;;;;;;;AAAA;;AAMA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAIA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;;AA4JA,IAAMA,eAAe,GAAG,EAAxB;AACA,IAAMC,eAAe,GAAG,EAAxB;AACA,IAAMC,YAAY,GAAG,EAArB;;AASO,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAGzBC,KAHyB,EAItB;AACH,8BAmCIA,KAnCJ,CACEC,uBADF;AAAA,MACEA,uBADF,sCAC4B,EAD5B;AAAA,8BAmCID,KAnCJ,CAEEE,mBAFF;AAAA,MAEEA,mBAFF,sCAEwBC,wCAFxB;AAAA,8BAmCIH,KAnCJ,CAGEI,sBAHF;AAAA,MAGEA,sBAHF,sCAG2BC,oEAH3B;AAAA,uBAmCIL,KAnCJ,CAIEM,OAJF;AAAA,MAIEA,OAJF,+BAIYV,eAJZ;AAAA,8BAmCII,KAnCJ,CAKEO,oBALF;AAAA,MAKEA,oBALF,sCAKyBC,gEALzB;AAAA,8BAmCIR,KAnCJ,CAMES,0BANF;AAAA,MAMEA,0BANF,sCAM+BC,4EAN/B;AAAA,oBAmCIV,KAnCJ,CAOEW,IAPF;AAAA,MAOEA,IAPF,4BAOSC,0CAPT;AAAA,MAQEC,mBARF,GAmCIb,KAnCJ,CAQEa,mBARF;AAAA,8BAmCIb,KAnCJ,CASEc,qBATF;AAAA,MASEA,qBATF,sCAS0BC,4CAT1B;AAAA,8BAmCIf,KAnCJ,CAUEgB,gBAVF;AAAA,MAUEA,gBAVF,sCAUqBC,wDAVrB;AAAA,8BAmCIjB,KAnCJ,CAYEkB,iBAZF;AAAA,MAYEA,iBAZF,sCAYsB,CAZtB;AAAA,8BAmCIlB,KAnCJ,CAaEmB,gBAbF;AAAA,MAaEA,gBAbF,sCAaqB,KAbrB;AAAA,8BAmCInB,KAnCJ,CAcEoB,cAdF;AAAA,MAcEA,cAdF,sCAcmB,GAdnB;AAAA,8BAmCIpB,KAnCJ,CAeEqB,iBAfF;AAAA,MAeEA,iBAfF,sCAesB,CAftB;AAAA,MAgBEC,gBAhBF,GAmCItB,KAnCJ,CAgBEsB,gBAhBF;AAAA,MAiBEC,gBAjBF,GAmCIvB,KAnCJ,CAiBEuB,gBAjBF;AAAA,MAkBEC,eAlBF,GAmCIxB,KAnCJ,CAkBEwB,eAlBF;AAAA,MAmBEC,gBAnBF,GAmCIzB,KAnCJ,CAmBEyB,gBAnBF;AAAA,MAoBEC,kBApBF,GAmCI1B,KAnCJ,CAoBE0B,kBApBF;AAAA,MAqBEC,gBArBF,GAmCI3B,KAnCJ,CAqBE2B,gBArBF;AAAA,MAsBEC,YAtBF,GAmCI5B,KAnCJ,CAsBE4B,YAtBF;AAAA,MAuBEC,oBAvBF,GAmCI7B,KAnCJ,CAuBE6B,oBAvBF;AAAA,MAwBEC,QAxBF,GAmCI9B,KAnCJ,CAwBE8B,QAxBF;AAAA,uBAmCI9B,KAnCJ,CAyBE+B,OAzBF;AAAA,MAyBEA,OAzBF,+BAyBYlC,eAzBZ;AAAA,uBAmCIG,KAnCJ,CA0BEgC,OA1BF;AAAA,MA0BEA,OA1BF,+BA0BYC,gDA1BZ;AAAA,MA2BEC,aA3BF,GAmCIlC,KAnCJ,CA2BEkC,aA3BF;AAAA,MA4BEC,cA5BF,GAmCInC,KAnCJ,CA4BEmC,cA5BF;AAAA,MA6BEC,aA7BF,GAmCIpC,KAnCJ,CA6BEoC,aA7BF;AAAA,MA8BEC,YA9BF,GAmCIrC,KAnCJ,CA8BEqC,YA9BF;AAAA,MA+BEC,kBA/BF,GAmCItC,KAnCJ,CA+BEsC,kBA/BF;AAAA,MAgCEC,eAhCF,GAmCIvC,KAnCJ,CAgCEuC,cAhCF;AAAA,wBAmCIvC,KAnCJ,CAiCEwC,QAjCF;AAAA,MAiCEA,QAjCF,gCAiCaC,kBAjCb;AAAA,oBAmCIzC,KAnCJ,CAkCE0C,IAlCF;AAAA,MAkCEA,IAlCF,4BAkCS5C,YAlCT;;AAqCA,kBAAsC,qBAAS,CAAT,CAAtC;AAAA;AAAA,MAAO6C,WAAP;AAAA,MAAoBC,cAApB;;AACA,wBAAuE,kCAAvE;AAAA,MAAQC,oBAAR,mBAAQA,oBAAR;AAAA,MAA8BC,oCAA9B,mBAA8BA,oCAA9B;;AACA,8BAYI,iDAAyC;AAC3CD,IAAAA,oBAAoB,EAApBA,oBAD2C;AAE3CvC,IAAAA,OAAO,EAAPA,OAF2C;AAG3CyB,IAAAA,OAAO,EAAPA,OAH2C;AAI3CW,IAAAA,IAAI,EAAJA;AAJ2C,GAAzC,CAZJ;AAAA,MACEK,QADF,yBACEA,QADF;AAAA,MAEEC,KAFF,yBAEEA,KAFF;AAAA,MAGEC,WAHF,yBAGEA,WAHF;AAAA,MAIEC,eAJF,yBAIEA,eAJF;AAAA,MAKEC,eALF,yBAKEA,eALF;AAAA,MAMEC,YANF,yBAMEA,YANF;AAAA,MAOEC,UAPF,yBAOEA,UAPF;AAAA,MAQEC,WARF,yBAQEA,WARF;AAAA,MASEC,UATF,yBASEA,UATF;AAAA,MAUEC,WAVF,yBAUEA,WAVF;AAAA,MAWEC,oBAXF,yBAWEA,oBAXF;;AAoBA,oEAA8B;AAC5BnC,IAAAA,gBAAgB,EAAhBA,gBAD4B;AAE5BkC,IAAAA,WAAW,EAAXA;AAF4B,GAA9B;AAKA,4CAAkB;AAChBjC,IAAAA,gBAAgB,EAAhBA,gBADgB;AAEhBiC,IAAAA,WAAW,EAAXA;AAFgB,GAAlB;AAKA,0CAAiB;AACfhC,IAAAA,eAAe,EAAfA,eADe;AAEfgC,IAAAA,WAAW,EAAXA;AAFe,GAAjB;AAKA,gDAAoB;AAClB9B,IAAAA,kBAAkB,EAAlBA,kBADkB;AAElB4B,IAAAA,WAAW,EAAXA,WAFkB;AAGlBE,IAAAA,WAAW,EAAXA,WAHkB;AAIlBZ,IAAAA,cAAc,EAAdA;AAJkB,GAApB;AAOA,4CAAkB;AAChBjB,IAAAA,gBAAgB,EAAhBA,gBADgB;AAEhB6B,IAAAA,WAAW,EAAXA;AAFgB,GAAlB;AAKA,4CAAkB;AAChB/B,IAAAA,gBAAgB,EAAhBA,gBADgB;AAEhB+B,IAAAA,WAAW,EAAXA;AAFgB,GAAlB;AAKA,oCAAc;AACZrC,IAAAA,gBAAgB,EAAhBA,gBADY;AAEZqC,IAAAA,WAAW,EAAXA;AAFY,GAAd;AAKA,4DAA0B;AACxB5B,IAAAA,YAAY,EAAZA,YADwB;AAExB4B,IAAAA,WAAW,EAAXA;AAFwB,GAA1B;AAKA,4EAAkC;AAChC3B,IAAAA,oBAAoB,EAApBA,oBADgC;AAEhC2B,IAAAA,WAAW,EAAXA;AAFgC,GAAlC;AAKA,wCAAgB;AACdA,IAAAA,WAAW,EAAXA;AADc,GAAhB;AAIA,MAAME,aAAa,GAAGX,QAAQ,CAACY,MAAT,CAAgB,UAACC,GAAD,EAAMC,OAAN;AAAA,gBAAqBD,GAArB,GAA2BC,OAAO,CAACC,GAAnC;AAAA,GAAhB,EAA0D,EAA1D,CAAtB;AAEA,wBAAU,YAAM;AACd,QAAIL,oBAAoB,IAAI,CAACZ,oBAA7B,EAAmD;AACjD;AACD;;AACD,gDAAmB;AACjBkB,MAAAA,IAAI,EAAEhB,QAAQ,CAACiB,GAAT,CAAa,UAACC,CAAD;AAAA,eAAOA,CAAC,CAACH,GAAT;AAAA,OAAb,CADW;AAEjBxD,MAAAA,OAAO,EAAPA,OAFiB;AAGjBoC,MAAAA,IAAI,EAAJA;AAHiB,KAAnB;AAKD,GATD,EASG,CAACgB,aAAD,EAAgBD,oBAAhB,CATH;AAWA,wBAAU,YAAM;AACd,QAAMS,WAAW,GAAGpB,oCAAoC,CAAC,YAAM;AAC7DQ,MAAAA,WAAW;AACXV,MAAAA,cAAc,CAAC,UAACuB,KAAD;AAAA,eAAWA,KAAK,GAAG,CAAnB;AAAA,OAAD,CAAd;AACD,KAHuD,CAAxD;AAKA,WAAO;AAAA,aAAMD,WAAW,EAAjB;AAAA,KAAP;AACD,GAPD;AASA,MAAME,eAAe,GAAG,wDAAyB;AAC/CnE,IAAAA,uBAAuB,EAAvBA,uBAD+C;AAE/C8C,IAAAA,QAAQ,EAARA,QAF+C;AAG/C7C,IAAAA,mBAAmB,EAAnBA,mBAH+C;AAI/C8C,IAAAA,KAAK,EAALA,KAJ+C;AAK/C5C,IAAAA,sBAAsB,EAAtBA,sBAL+C;AAM/CuC,IAAAA,WAAW,EAAXA,WAN+C;AAO/CM,IAAAA,WAAW,EAAXA,WAP+C;AAQ/C1C,IAAAA,oBAAoB,EAApBA,oBAR+C;AAS/CE,IAAAA,0BAA0B,EAA1BA,0BAT+C;AAU/CI,IAAAA,mBAAmB,EAAnBA,mBAV+C;AAW/CqC,IAAAA,eAAe,EAAfA,eAX+C;AAY/CpC,IAAAA,qBAAqB,EAArBA,qBAZ+C;AAa/CE,IAAAA,gBAAgB,EAAhBA,gBAb+C;AAc/CmC,IAAAA,eAAe,EAAfA,eAd+C;AAe/CjC,IAAAA,iBAAiB,EAAjBA,iBAf+C;AAgB/CkC,IAAAA,YAAY,EAAZA,YAhB+C;AAiB/ChC,IAAAA,cAAc,EAAdA,cAjB+C;AAkB/CC,IAAAA,iBAAiB,EAAjBA,iBAlB+C;AAmB/CS,IAAAA,QAAQ,EAARA,QAnB+C;AAoB/CE,IAAAA,OAAO,EAAPA,OApB+C;AAqB/CE,IAAAA,aAAa,EAAbA,aArB+C;AAsB/CC,IAAAA,cAAc,EAAdA,cAtB+C;AAuB/CC,IAAAA,aAAa,EAAbA,aAvB+C;AAwB/CC,IAAAA,YAAY,EAAZA,YAxB+C;AAyB/CC,IAAAA,kBAAkB,EAAlBA,kBAzB+C;AA0B/Ce,IAAAA,UAAU,EAAVA,UA1B+C;AA2B/CC,IAAAA,WAAW,EAAXA,WA3B+C;AA4B/CC,IAAAA,UAAU,EAAVA,UA5B+C;AA6B/ChB,IAAAA,cAAc,EAAE,wBAAC8B,GAAD,EAAuD;AACrE,UAAI9B,eAAJ,EAAoB;AAClBA,QAAAA,eAAc,CAAC8B,GAAD,CAAd;AACD;AACF,KAjC8C;AAkC/C7B,IAAAA,QAAQ,EAARA;AAlC+C,GAAzB,CAAxB;AAqCA,SACE,gCAAC,iCAAD;AAAkB,IAAA,KAAK,EAAE4B,eAAzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,IAAD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IADF,CADF;AAKD,CAnLM","sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport type { FlatList } from 'react-native-gesture-handler';\n\nimport type { Channel, ChannelFilters, ChannelOptions, ChannelSort, Event } from 'stream-chat';\n\nimport { ChannelListFooterLoadingIndicator } from './ChannelListFooterLoadingIndicator';\nimport { ChannelListHeaderErrorIndicator } from './ChannelListHeaderErrorIndicator';\nimport { ChannelListHeaderNetworkDownIndicator } from './ChannelListHeaderNetworkDownIndicator';\nimport { ChannelListLoadingIndicator } from './ChannelListLoadingIndicator';\nimport { ChannelListMessenger, ChannelListMessengerProps } from './ChannelListMessenger';\nimport { useAddedToChannelNotification } from './hooks/listeners/useAddedToChannelNotification';\nimport { useChannelDeleted } from './hooks/listeners/useChannelDeleted';\nimport { useChannelHidden } from './hooks/listeners/useChannelHidden';\nimport { useChannelTruncated } from './hooks/listeners/useChannelTruncated';\nimport { useChannelUpdated } from './hooks/listeners/useChannelUpdated';\nimport { useChannelVisible } from './hooks/listeners/useChannelVisible';\nimport { useNewMessage } from './hooks/listeners/useNewMessage';\nimport { useNewMessageNotification } from './hooks/listeners/useNewMessageNotification';\nimport { useRemovedFromChannelNotification } from './hooks/listeners/useRemovedFromChannelNotification';\nimport { useUserPresence } from './hooks/listeners/useUserPresence';\nimport { useCreateChannelsContext } from './hooks/useCreateChannelsContext';\nimport { usePaginatedChannels } from './hooks/usePaginatedChannels';\nimport { Skeleton as SkeletonDefault } from './Skeleton';\n\nimport {\n ChannelsContextValue,\n ChannelsProvider,\n} from '../../contexts/channelsContext/ChannelsContext';\nimport { useChatContext } from '../../contexts/chatContext/ChatContext';\nimport { upsertCidsForQuery } from '../../store/apis/upsertCidsForQuery';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { ChannelPreviewMessenger } from '../ChannelPreview/ChannelPreviewMessenger';\nimport { EmptyStateIndicator as EmptyStateIndicatorDefault } from '../Indicators/EmptyStateIndicator';\nimport { LoadingErrorIndicator as LoadingErrorIndicatorDefault } from '../Indicators/LoadingErrorIndicator';\n\nexport type ChannelListProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<\n Pick<\n ChannelsContextValue<StreamChatGenerics>,\n | 'additionalFlatListProps'\n | 'EmptyStateIndicator'\n | 'FooterLoadingIndicator'\n | 'HeaderErrorIndicator'\n | 'HeaderNetworkDownIndicator'\n | 'LoadingErrorIndicator'\n | 'LoadingIndicator'\n | 'Preview'\n | 'setFlatListRef'\n | 'ListHeaderComponent'\n | 'onSelect'\n | 'PreviewAvatar'\n | 'PreviewMessage'\n | 'PreviewStatus'\n | 'PreviewTitle'\n | 'PreviewUnreadCount'\n | 'loadMoreThreshold'\n | 'Skeleton'\n | 'maxUnreadCount'\n | 'numberOfSkeletons'\n >\n> & {\n /**\n * Object containing channel query filters\n *\n * @see See [Channel query documentation](https://getstream.io/chat/docs/query_channels) for a list of available filter fields\n *\n * @overrideType object\n * */\n filters?: ChannelFilters<StreamChatGenerics>;\n /**\n * Custom UI component to display the list of channels\n *\n * Default: [ChannelListMessenger](https://getstream.io/chat/docs/sdk/reactnative/ui-components/channel-list-messenger/)\n */\n List?: React.ComponentType<ChannelListMessengerProps<StreamChatGenerics>>;\n /**\n * If set to true, channels won't dynamically sort by most recent message, defaults to false\n */\n lockChannelOrder?: boolean;\n /**\n * Function that overrides default behavior when a user gets added to a channel\n *\n * @param setChannels Setter for internal state property - `channels`. It's created from useState() hook.\n * @param event An [Event Object](https://getstream.io/chat/docs/event_object) corresponding to `notification.added_to_channel` event\n *\n * @overrideType Function\n * */\n onAddedToChannel?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n /**\n * Function that overrides default behavior when a channel gets deleted. In absence of this prop, the channel will be removed from the list.\n *\n * @param setChannels Setter for internal state property - `channels`. It's created from useState() hook.\n * @param event An [Event object](https://getstream.io/chat/docs/event_object) corresponding to `channel.deleted` event\n *\n * @overrideType Function\n * */\n onChannelDeleted?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n /**\n * Function that overrides default behavior when a channel gets hidden. In absence of this prop, the channel will be removed from the list.\n *\n * @param setChannels Setter for internal state property - `channels`. It's created from useState() hook.\n * @param event An [Event object](https://getstream.io/chat/docs/event_object) corresponding to `channel.hidden` event\n *\n * @overrideType Function\n * */\n onChannelHidden?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n /**\n * Function to customize behavior when a channel gets truncated\n *\n * @param setChannels Setter for internal state property - `channels`. It's created from useState() hook.\n * @param event [Event object](https://getstream.io/chat/docs/event_object) corresponding to `channel.truncated` event\n *\n * @overrideType Function\n * */\n onChannelTruncated?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n /**\n * Function that overrides default behavior when a channel gets updated\n *\n * @param setChannels Setter for internal state property - `channels`. It's created from useState() hook.\n * @param event An [Event object](https://getstream.io/chat/docs/event_object) corresponding to `channel.updated` event\n *\n * @overrideType Function\n * */\n onChannelUpdated?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n /**\n * Function that overrides default behavior when a channel gets visible. In absence of this prop, the channel will be added to the list.\n *\n * @param setChannels Setter for internal state property - `channels`. It's created from useState() hook.\n * @param event An [Event object](https://getstream.io/chat/docs/event_object) corresponding to `channel.visible` event\n *\n * @overrideType Function\n * */\n onChannelVisible?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n /**\n * Override the default listener/handler for event `notification.message_new`\n * This event is received on channel, which is not being watched.\n *\n * @param setChannels Setter for internal state property - `channels`. It's created from useState() hook.\n * @param event An [Event object](https://getstream.io/chat/docs/event_object) corresponding to `notification.message_new` event\n *\n * @overrideType Function\n * */\n onMessageNew?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n /**\n * Function that overrides default behavior when a user gets removed from a channel\n *\n * @param setChannels Setter for internal state property - `channels`. It's created from useState() hook.\n * @param event An [Event object](https://getstream.io/chat/docs/event_object) corresponding to `notification.removed_from_channel` event\n *\n * @overrideType Function\n * */\n onRemovedFromChannel?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n /**\n * Object containing channel query options\n * @see See [Channel query documentation](https://getstream.io/chat/docs/query_channels) for a list of available option fields\n * */\n options?: ChannelOptions;\n /**\n * Object containing channel sort parameters\n * @see See [Channel query documentation](https://getstream.io/chat/docs/query_channels) for a list of available sorting fields\n * */\n sort?: ChannelSort<StreamChatGenerics>;\n};\n\nconst DEFAULT_FILTERS = {};\nconst DEFAULT_OPTIONS = {};\nconst DEFAULT_SORT = {};\n\n/**\n * This component fetches a list of channels, allowing you to select the channel you want to open.\n * The ChannelList doesn't provide any UI for the underlying React Native FlatList. UI is determined by the `List` component which is\n * provided to the ChannelList component as a prop. By default, the ChannelListMessenger component is used as the list UI.\n *\n * @example ./ChannelList.md\n */\nexport const ChannelList = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelListProps<StreamChatGenerics>,\n) => {\n const {\n additionalFlatListProps = {},\n EmptyStateIndicator = EmptyStateIndicatorDefault,\n FooterLoadingIndicator = ChannelListFooterLoadingIndicator,\n filters = DEFAULT_FILTERS,\n HeaderErrorIndicator = ChannelListHeaderErrorIndicator,\n HeaderNetworkDownIndicator = ChannelListHeaderNetworkDownIndicator,\n List = ChannelListMessenger,\n ListHeaderComponent,\n LoadingErrorIndicator = LoadingErrorIndicatorDefault,\n LoadingIndicator = ChannelListLoadingIndicator,\n // https://github.com/facebook/react-native/blob/a7a7970e543959e9db5281914d5f132beb01db8d/Libraries/Lists/VirtualizedList.js#L466\n loadMoreThreshold = 2,\n lockChannelOrder = false,\n maxUnreadCount = 255,\n numberOfSkeletons = 6,\n onAddedToChannel,\n onChannelDeleted,\n onChannelHidden,\n onChannelVisible,\n onChannelTruncated,\n onChannelUpdated,\n onMessageNew,\n onRemovedFromChannel,\n onSelect,\n options = DEFAULT_OPTIONS,\n Preview = ChannelPreviewMessenger,\n PreviewAvatar,\n PreviewMessage,\n PreviewStatus,\n PreviewTitle,\n PreviewUnreadCount,\n setFlatListRef,\n Skeleton = SkeletonDefault,\n sort = DEFAULT_SORT,\n } = props;\n\n const [forceUpdate, setForceUpdate] = useState(0);\n const { enableOfflineSupport, subscribeConnectionRecoveredCallback } = useChatContext();\n const {\n channels,\n error,\n hasNextPage,\n loadingChannels,\n loadingNextPage,\n loadNextPage,\n refreshing,\n refreshList,\n reloadList,\n setChannels,\n staticChannelsActive,\n } = usePaginatedChannels<StreamChatGenerics>({\n enableOfflineSupport,\n filters,\n options,\n sort,\n });\n\n // Setup event listeners\n useAddedToChannelNotification({\n onAddedToChannel,\n setChannels,\n });\n\n useChannelDeleted({\n onChannelDeleted,\n setChannels,\n });\n\n useChannelHidden({\n onChannelHidden,\n setChannels,\n });\n\n useChannelTruncated({\n onChannelTruncated,\n refreshList,\n setChannels,\n setForceUpdate,\n });\n\n useChannelUpdated({\n onChannelUpdated,\n setChannels,\n });\n\n useChannelVisible({\n onChannelVisible,\n setChannels,\n });\n\n useNewMessage({\n lockChannelOrder,\n setChannels,\n });\n\n useNewMessageNotification({\n onMessageNew,\n setChannels,\n });\n\n useRemovedFromChannelNotification({\n onRemovedFromChannel,\n setChannels,\n });\n\n useUserPresence({\n setChannels,\n });\n\n const channelIdsStr = channels.reduce((acc, channel) => `${acc}${channel.cid}`, '');\n\n useEffect(() => {\n if (staticChannelsActive || !enableOfflineSupport) {\n return;\n }\n upsertCidsForQuery({\n cids: channels.map((c) => c.cid),\n filters,\n sort,\n });\n }, [channelIdsStr, staticChannelsActive]);\n\n useEffect(() => {\n const unsubscribe = subscribeConnectionRecoveredCallback(() => {\n refreshList();\n setForceUpdate((count) => count + 1);\n });\n\n return () => unsubscribe();\n });\n\n const channelsContext = useCreateChannelsContext({\n additionalFlatListProps,\n channels,\n EmptyStateIndicator,\n error,\n FooterLoadingIndicator,\n forceUpdate,\n hasNextPage,\n HeaderErrorIndicator,\n HeaderNetworkDownIndicator,\n ListHeaderComponent,\n loadingChannels,\n LoadingErrorIndicator,\n LoadingIndicator,\n loadingNextPage,\n loadMoreThreshold,\n loadNextPage,\n maxUnreadCount,\n numberOfSkeletons,\n onSelect,\n Preview,\n PreviewAvatar,\n PreviewMessage,\n PreviewStatus,\n PreviewTitle,\n PreviewUnreadCount,\n refreshing,\n refreshList,\n reloadList,\n setFlatListRef: (ref: FlatList<Channel<StreamChatGenerics>> | null) => {\n if (setFlatListRef) {\n setFlatListRef(ref);\n }\n },\n Skeleton,\n });\n\n return (\n <ChannelsProvider value={channelsContext}>\n <List<StreamChatGenerics> />\n </ChannelsProvider>\n );\n};\n"]}
@@ -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 = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelList/ChannelListFooterLoadingIndicator.tsx";
17
+ _jsxFileName = "/Users/vishalnarkhede/projects/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 = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelList/ChannelListHeaderErrorIndicator.tsx";
17
+ _jsxFileName = "/Users/vishalnarkhede/projects/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 = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelList/ChannelListHeaderNetworkDownIndicator.tsx";
17
+ _jsxFileName = "/Users/vishalnarkhede/projects/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 = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelList/ChannelListLoadingIndicator.tsx";
17
+ _jsxFileName = "/Users/vishalnarkhede/projects/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 = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelList/ChannelListMessenger.tsx";
27
+ _jsxFileName = "/Users/vishalnarkhede/projects/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
 
@@ -184,6 +184,18 @@ var ChannelListMessengerWithContext = function ChannelListMessengerWithContext(p
184
184
  }) : null;
185
185
  };
186
186
 
187
+ if (loadingChannels) {
188
+ return _react["default"].createElement(LoadingIndicator, {
189
+ listType: "channel",
190
+ __self: _this,
191
+ __source: {
192
+ fileName: _jsxFileName,
193
+ lineNumber: 146,
194
+ columnNumber: 12
195
+ }
196
+ });
197
+ }
198
+
187
199
  return _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_reactNative.FlatList, (0, _extends2["default"])({
188
200
  contentContainerStyle: [styles.flatListContentContainer, {
189
201
  backgroundColor: white_snow
@@ -196,7 +208,7 @@ var ChannelListMessengerWithContext = function ChannelListMessengerWithContext(p
196
208
  __self: _this,
197
209
  __source: {
198
210
  fileName: _jsxFileName,
199
- lineNumber: 158,
211
+ lineNumber: 162,
200
212
  columnNumber: 13
201
213
  }
202
214
  }) : _react["default"].createElement(EmptyStateIndicator, {
@@ -204,7 +216,7 @@ var ChannelListMessengerWithContext = function ChannelListMessengerWithContext(p
204
216
  __self: _this,
205
217
  __source: {
206
218
  fileName: _jsxFileName,
207
- lineNumber: 160,
219
+ lineNumber: 164,
208
220
  columnNumber: 13
209
221
  }
210
222
  }),
@@ -212,7 +224,7 @@ var ChannelListMessengerWithContext = function ChannelListMessengerWithContext(p
212
224
  __self: _this,
213
225
  __source: {
214
226
  fileName: _jsxFileName,
215
- lineNumber: 163,
227
+ lineNumber: 167,
216
228
  columnNumber: 48
217
229
  }
218
230
  }) : undefined,
@@ -226,7 +238,7 @@ var ChannelListMessengerWithContext = function ChannelListMessengerWithContext(p
226
238
  __self: _this,
227
239
  __source: {
228
240
  fileName: _jsxFileName,
229
- lineNumber: 168,
241
+ lineNumber: 172,
230
242
  columnNumber: 25
231
243
  }
232
244
  }),
@@ -239,14 +251,14 @@ var ChannelListMessengerWithContext = function ChannelListMessengerWithContext(p
239
251
  __self: _this,
240
252
  __source: {
241
253
  fileName: _jsxFileName,
242
- lineNumber: 147,
254
+ lineNumber: 151,
243
255
  columnNumber: 7
244
256
  }
245
257
  })), _react["default"].createElement(StatusIndicator, {
246
258
  __self: _this,
247
259
  __source: {
248
260
  fileName: _jsxFileName,
249
- lineNumber: 174,
261
+ lineNumber: 178,
250
262
  columnNumber: 7
251
263
  }
252
264
  }));
@@ -294,7 +306,7 @@ var ChannelListMessenger = function ChannelListMessenger(props) {
294
306
  __self: _this,
295
307
  __source: {
296
308
  fileName: _jsxFileName,
297
- lineNumber: 215,
309
+ lineNumber: 219,
298
310
  columnNumber: 5
299
311
  }
300
312
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["ChannelListMessenger.tsx"],"names":["styles","StyleSheet","create","flatList","flex","flatListContentContainer","flexGrow","statusIndicator","left","position","right","top","StatusIndicator","isOnline","error","HeaderErrorIndicator","HeaderNetworkDownIndicator","loadingChannels","refreshList","renderItem","item","keyExtractor","cid","ChannelListMessengerWithContext","props","additionalFlatListProps","channels","EmptyStateIndicator","FooterLoadingIndicator","forceUpdate","ListHeaderComponent","LoadingErrorIndicator","LoadingIndicator","loadingNextPage","loadMoreThreshold","loadNextPage","refreshing","reloadList","setFlatListRef","theme","channelListMessenger","flatListContent","white_snow","colors","loading","setLoading","length","onEndReached","ListFooterComponent","backgroundColor","undefined","ChannelListMessenger","displayName"],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\n// RNGR's FlatList ist currently breaking the pull-to-refresh behaviour on Android\n// See https://github.com/software-mansion/react-native-gesture-handler/issues/598\nimport { FlatList, RefreshControl, StyleSheet, View } from 'react-native';\n\nimport type { Channel } from 'stream-chat';\n\nimport {\n ChannelsContextValue,\n useChannelsContext,\n} from '../../contexts/channelsContext/ChannelsContext';\nimport { useChatContext } from '../../contexts/chatContext/ChatContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { ChannelPreview } from '../ChannelPreview/ChannelPreview';\n\nconst styles = StyleSheet.create({\n flatList: { flex: 1 },\n flatListContentContainer: { flexGrow: 1 },\n statusIndicator: { left: 0, position: 'absolute', right: 0, top: 0 },\n});\n\nexport type ChannelListMessengerPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Omit<\n ChannelsContextValue<StreamChatGenerics>,\n | 'hasNextPage'\n | 'HeaderErrorIndicator'\n | 'HeaderNetworkDownIndicator'\n | 'maxUnreadCount'\n | 'numberOfSkeletons'\n | 'onSelect'\n | 'Preview'\n | 'PreviewTitle'\n | 'PreviewStatus'\n | 'PreviewAvatar'\n | 'previewMessage'\n | 'Skeleton'\n>;\n\nconst StatusIndicator = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>() => {\n const { isOnline } = useChatContext<StreamChatGenerics>();\n const { error, HeaderErrorIndicator, HeaderNetworkDownIndicator, loadingChannels, refreshList } =\n useChannelsContext<StreamChatGenerics>();\n\n if (loadingChannels) return null;\n\n if (!isOnline) {\n return (\n <View style={styles.statusIndicator}>\n <HeaderNetworkDownIndicator />\n </View>\n );\n } else if (error) {\n return (\n <View style={styles.statusIndicator}>\n <HeaderErrorIndicator onPress={refreshList} />\n </View>\n );\n }\n return null;\n};\n\nconst renderItem = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n item,\n}: {\n item: Channel<StreamChatGenerics>;\n}) => <ChannelPreview<StreamChatGenerics> channel={item} />;\n\nconst keyExtractor = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n item: Channel<StreamChatGenerics>,\n) => item.cid;\n\nconst ChannelListMessengerWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelListMessengerPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalFlatListProps,\n channels,\n EmptyStateIndicator,\n error,\n FooterLoadingIndicator,\n forceUpdate,\n ListHeaderComponent,\n loadingChannels,\n LoadingErrorIndicator,\n LoadingIndicator,\n loadingNextPage,\n loadMoreThreshold,\n loadNextPage,\n refreshing,\n refreshList,\n reloadList,\n setFlatListRef,\n } = props;\n\n const {\n theme: {\n channelListMessenger: { flatList, flatListContent },\n colors: { white_snow },\n },\n } = useTheme();\n\n /**\n * In order to prevent the EmptyStateIndicator component from showing up briefly on mount,\n * we set the loading state one cycle behind to ensure the channels are set before the\n * change to loadingChannels is registered.\n */\n const [loading, setLoading] = useState(true);\n useEffect(() => {\n if (!!loadingChannels !== loading) {\n setLoading(!!loadingChannels);\n }\n }, [loading, loadingChannels]);\n\n if (error && !refreshing && !loadingChannels && !channels?.length) {\n return (\n <LoadingErrorIndicator\n error={error}\n listType='channel'\n loadNextPage={loadNextPage}\n retry={reloadList}\n />\n );\n }\n\n const onEndReached = () => {\n if (loadNextPage) {\n loadNextPage();\n }\n };\n\n const ListFooterComponent = () =>\n channels.length && ListHeaderComponent ? <ListHeaderComponent /> : null;\n\n return (\n <>\n <FlatList\n contentContainerStyle={[\n styles.flatListContentContainer,\n { backgroundColor: white_snow },\n flatListContent,\n ]}\n data={channels}\n extraData={forceUpdate}\n keyExtractor={keyExtractor}\n ListEmptyComponent={\n loading ? (\n <LoadingIndicator listType='channel' />\n ) : (\n <EmptyStateIndicator listType='channel' />\n )\n }\n ListFooterComponent={loadingNextPage ? <FooterLoadingIndicator /> : undefined}\n ListHeaderComponent={ListFooterComponent}\n onEndReached={onEndReached}\n onEndReachedThreshold={loadMoreThreshold}\n ref={setFlatListRef}\n refreshControl={<RefreshControl onRefresh={refreshList} refreshing={refreshing} />}\n renderItem={renderItem}\n style={[styles.flatList, { backgroundColor: white_snow }, flatList]}\n testID='channel-list-messenger'\n {...additionalFlatListProps}\n />\n <StatusIndicator<StreamChatGenerics> />\n </>\n );\n};\n\nexport type ChannelListMessengerProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<ChannelListMessengerPropsWithContext<StreamChatGenerics>>;\n\n/**\n * This UI component displays the preview list of channels and handles Channel navigation. It\n * receives all props from the ChannelList component.\n *\n * @example ./ChannelListMessenger.md\n */\nexport const ChannelListMessenger = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelListMessengerProps<StreamChatGenerics>,\n) => {\n const {\n additionalFlatListProps,\n channels,\n EmptyStateIndicator,\n error,\n FooterLoadingIndicator,\n forceUpdate,\n ListHeaderComponent,\n loadingChannels,\n LoadingErrorIndicator,\n LoadingIndicator,\n loadingNextPage,\n loadMoreThreshold,\n loadNextPage,\n refreshing,\n refreshList,\n reloadList,\n setFlatListRef,\n } = useChannelsContext<StreamChatGenerics>();\n\n return (\n <ChannelListMessengerWithContext\n {...{\n additionalFlatListProps,\n channels,\n EmptyStateIndicator,\n error,\n FooterLoadingIndicator,\n forceUpdate,\n ListHeaderComponent,\n loadingChannels,\n LoadingErrorIndicator,\n LoadingIndicator,\n loadingNextPage,\n loadMoreThreshold,\n loadNextPage,\n refreshing,\n refreshList,\n reloadList,\n setFlatListRef,\n }}\n {...props}\n />\n );\n};\n\nChannelListMessenger.displayName = 'ChannelListMessenger{channelListMessenger}';\n"]}
1
+ {"version":3,"sources":["ChannelListMessenger.tsx"],"names":["styles","StyleSheet","create","flatList","flex","flatListContentContainer","flexGrow","statusIndicator","left","position","right","top","StatusIndicator","isOnline","error","HeaderErrorIndicator","HeaderNetworkDownIndicator","loadingChannels","refreshList","renderItem","item","keyExtractor","cid","ChannelListMessengerWithContext","props","additionalFlatListProps","channels","EmptyStateIndicator","FooterLoadingIndicator","forceUpdate","ListHeaderComponent","LoadingErrorIndicator","LoadingIndicator","loadingNextPage","loadMoreThreshold","loadNextPage","refreshing","reloadList","setFlatListRef","theme","channelListMessenger","flatListContent","white_snow","colors","loading","setLoading","length","onEndReached","ListFooterComponent","backgroundColor","undefined","ChannelListMessenger","displayName"],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\n// RNGR's FlatList ist currently breaking the pull-to-refresh behaviour on Android\n// See https://github.com/software-mansion/react-native-gesture-handler/issues/598\nimport { FlatList, RefreshControl, StyleSheet, View } from 'react-native';\n\nimport type { Channel } from 'stream-chat';\n\nimport {\n ChannelsContextValue,\n useChannelsContext,\n} from '../../contexts/channelsContext/ChannelsContext';\nimport { useChatContext } from '../../contexts/chatContext/ChatContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { ChannelPreview } from '../ChannelPreview/ChannelPreview';\n\nconst styles = StyleSheet.create({\n flatList: { flex: 1 },\n flatListContentContainer: { flexGrow: 1 },\n statusIndicator: { left: 0, position: 'absolute', right: 0, top: 0 },\n});\n\nexport type ChannelListMessengerPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Omit<\n ChannelsContextValue<StreamChatGenerics>,\n | 'hasNextPage'\n | 'HeaderErrorIndicator'\n | 'HeaderNetworkDownIndicator'\n | 'maxUnreadCount'\n | 'numberOfSkeletons'\n | 'onSelect'\n | 'Preview'\n | 'PreviewTitle'\n | 'PreviewStatus'\n | 'PreviewAvatar'\n | 'previewMessage'\n | 'Skeleton'\n>;\n\nconst StatusIndicator = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>() => {\n const { isOnline } = useChatContext<StreamChatGenerics>();\n const { error, HeaderErrorIndicator, HeaderNetworkDownIndicator, loadingChannels, refreshList } =\n useChannelsContext<StreamChatGenerics>();\n\n if (loadingChannels) return null;\n\n if (!isOnline) {\n return (\n <View style={styles.statusIndicator}>\n <HeaderNetworkDownIndicator />\n </View>\n );\n } else if (error) {\n return (\n <View style={styles.statusIndicator}>\n <HeaderErrorIndicator onPress={refreshList} />\n </View>\n );\n }\n return null;\n};\n\nconst renderItem = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n item,\n}: {\n item: Channel<StreamChatGenerics>;\n}) => <ChannelPreview<StreamChatGenerics> channel={item} />;\n\nconst keyExtractor = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n item: Channel<StreamChatGenerics>,\n) => item.cid;\n\nconst ChannelListMessengerWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelListMessengerPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalFlatListProps,\n channels,\n EmptyStateIndicator,\n error,\n FooterLoadingIndicator,\n forceUpdate,\n ListHeaderComponent,\n loadingChannels,\n LoadingErrorIndicator,\n LoadingIndicator,\n loadingNextPage,\n loadMoreThreshold,\n loadNextPage,\n refreshing,\n refreshList,\n reloadList,\n setFlatListRef,\n } = props;\n\n const {\n theme: {\n channelListMessenger: { flatList, flatListContent },\n colors: { white_snow },\n },\n } = useTheme();\n\n /**\n * In order to prevent the EmptyStateIndicator component from showing up briefly on mount,\n * we set the loading state one cycle behind to ensure the channels are set before the\n * change to loadingChannels is registered.\n */\n const [loading, setLoading] = useState(true);\n useEffect(() => {\n if (!!loadingChannels !== loading) {\n setLoading(!!loadingChannels);\n }\n }, [loading, loadingChannels]);\n\n if (error && !refreshing && !loadingChannels && !channels?.length) {\n return (\n <LoadingErrorIndicator\n error={error}\n listType='channel'\n loadNextPage={loadNextPage}\n retry={reloadList}\n />\n );\n }\n\n const onEndReached = () => {\n if (loadNextPage) {\n loadNextPage();\n }\n };\n\n const ListFooterComponent = () =>\n channels.length && ListHeaderComponent ? <ListHeaderComponent /> : null;\n\n if (loadingChannels) {\n return <LoadingIndicator listType='channel' />;\n }\n\n return (\n <>\n <FlatList\n contentContainerStyle={[\n styles.flatListContentContainer,\n { backgroundColor: white_snow },\n flatListContent,\n ]}\n data={channels}\n extraData={forceUpdate}\n keyExtractor={keyExtractor}\n ListEmptyComponent={\n loading ? (\n <LoadingIndicator listType='channel' />\n ) : (\n <EmptyStateIndicator listType='channel' />\n )\n }\n ListFooterComponent={loadingNextPage ? <FooterLoadingIndicator /> : undefined}\n ListHeaderComponent={ListFooterComponent}\n onEndReached={onEndReached}\n onEndReachedThreshold={loadMoreThreshold}\n ref={setFlatListRef}\n refreshControl={<RefreshControl onRefresh={refreshList} refreshing={refreshing} />}\n renderItem={renderItem}\n style={[styles.flatList, { backgroundColor: white_snow }, flatList]}\n testID='channel-list-messenger'\n {...additionalFlatListProps}\n />\n <StatusIndicator<StreamChatGenerics> />\n </>\n );\n};\n\nexport type ChannelListMessengerProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<ChannelListMessengerPropsWithContext<StreamChatGenerics>>;\n\n/**\n * This UI component displays the preview list of channels and handles Channel navigation. It\n * receives all props from the ChannelList component.\n *\n * @example ./ChannelListMessenger.md\n */\nexport const ChannelListMessenger = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelListMessengerProps<StreamChatGenerics>,\n) => {\n const {\n additionalFlatListProps,\n channels,\n EmptyStateIndicator,\n error,\n FooterLoadingIndicator,\n forceUpdate,\n ListHeaderComponent,\n loadingChannels,\n LoadingErrorIndicator,\n LoadingIndicator,\n loadingNextPage,\n loadMoreThreshold,\n loadNextPage,\n refreshing,\n refreshList,\n reloadList,\n setFlatListRef,\n } = useChannelsContext<StreamChatGenerics>();\n\n return (\n <ChannelListMessengerWithContext\n {...{\n additionalFlatListProps,\n channels,\n EmptyStateIndicator,\n error,\n FooterLoadingIndicator,\n forceUpdate,\n ListHeaderComponent,\n loadingChannels,\n LoadingErrorIndicator,\n LoadingIndicator,\n loadingNextPage,\n loadMoreThreshold,\n loadNextPage,\n refreshing,\n refreshList,\n reloadList,\n setFlatListRef,\n }}\n {...props}\n />\n );\n};\n\nChannelListMessenger.displayName = 'ChannelListMessenger{channelListMessenger}';\n"]}
@@ -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 = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ChannelList/Skeleton.tsx";
23
+ _jsxFileName = "/Users/vishalnarkhede/projects/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
 
@@ -76,9 +76,9 @@ var useAddedToChannelNotification = function useAddedToChannelNotification(_ref)
76
76
  };
77
77
  }();
78
78
 
79
- client.on('notification.added_to_channel', handleEvent);
79
+ var listener = client == null ? void 0 : client.on('notification.added_to_channel', handleEvent);
80
80
  return function () {
81
- return client.off('notification.added_to_channel', handleEvent);
81
+ return listener == null ? void 0 : listener.unsubscribe();
82
82
  };
83
83
  }, []);
84
84
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["useAddedToChannelNotification.ts"],"names":["useAddedToChannelNotification","onAddedToChannel","setChannels","client","handleEvent","event","channel","id","type","channels","on","off"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA;;AAIA;;AAGA;;AAWO,IAAMA,6BAA6B,GAAG,SAAhCA,6BAAgC,OAKP;AAAA,MAFpCC,gBAEoC,QAFpCA,gBAEoC;AAAA,MADpCC,WACoC,QADpCA,WACoC;;AACpC,wBAAmB,kCAAnB;AAAA,MAAQC,MAAR,mBAAQA,MAAR;;AAEA,wBAAU,YAAM;AACd,QAAMC,WAAW;AAAA,kFAAG,iBAAOC,KAAP;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,sBACd,OAAOJ,gBAAP,KAA4B,UADd;AAAA;AAAA;AAAA;;AAEhBA,gBAAAA,gBAAgB,CAACC,WAAD,EAAcG,KAAd,CAAhB;AAFgB;AAAA;;AAAA;AAAA,sBAIZ,kBAAAA,KAAK,CAACC,OAAN,4BAAeC,EAAf,uBAAqBF,KAAK,CAACC,OAA3B,aAAqB,gBAAeE,IAJxB;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAKQ,uBAA+B;AACnDL,kBAAAA,MAAM,EAANA,MADmD;AAEnDI,kBAAAA,EAAE,EAAEF,KAAK,CAACC,OAAN,CAAcC,EAFiC;AAGnDC,kBAAAA,IAAI,EAAEH,KAAK,CAACC,OAAN,CAAcE;AAH+B,iBAA/B,CALR;;AAAA;AAKRF,gBAAAA,OALQ;AAUdJ,gBAAAA,WAAW,CAAC,UAACO,QAAD;AAAA,yBAAc,yBAAQH,OAAR,6CAAoBG,QAApB,IAA+B,KAA/B,CAAd;AAAA,iBAAD,CAAX;;AAVc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAH;;AAAA,sBAAXL,WAAW;AAAA;AAAA;AAAA,OAAjB;;AAeAD,IAAAA,MAAM,CAACO,EAAP,CAAU,+BAAV,EAA2CN,WAA3C;AACA,WAAO;AAAA,aAAMD,MAAM,CAACQ,GAAP,CAAW,+BAAX,EAA4CP,WAA5C,CAAN;AAAA,KAAP;AACD,GAlBD,EAkBG,EAlBH;AAmBD,CA3BM","sourcesContent":["import { useEffect } from 'react';\n\nimport uniqBy from 'lodash/uniqBy';\n\nimport type { Channel, Event } from 'stream-chat';\n\nimport { useChatContext } from '../../../../contexts/chatContext/ChatContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\nimport { getChannel } from '../../utils';\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>;\n onAddedToChannel?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n };\n\nexport const useAddedToChannelNotification = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n onAddedToChannel,\n setChannels,\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n\n useEffect(() => {\n const handleEvent = async (event: Event<StreamChatGenerics>) => {\n if (typeof onAddedToChannel === 'function') {\n onAddedToChannel(setChannels, event);\n } else {\n if (event.channel?.id && event.channel?.type) {\n const channel = await getChannel<StreamChatGenerics>({\n client,\n id: event.channel.id,\n type: event.channel.type,\n });\n setChannels((channels) => uniqBy([channel, ...channels], 'cid'));\n }\n }\n };\n\n client.on('notification.added_to_channel', handleEvent);\n return () => client.off('notification.added_to_channel', handleEvent);\n }, []);\n};\n"]}
1
+ {"version":3,"sources":["useAddedToChannelNotification.ts"],"names":["useAddedToChannelNotification","onAddedToChannel","setChannels","client","handleEvent","event","channel","id","type","channels","listener","on","unsubscribe"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA;;AAIA;;AAGA;;AAWO,IAAMA,6BAA6B,GAAG,SAAhCA,6BAAgC,OAKP;AAAA,MAFpCC,gBAEoC,QAFpCA,gBAEoC;AAAA,MADpCC,WACoC,QADpCA,WACoC;;AACpC,wBAAmB,kCAAnB;AAAA,MAAQC,MAAR,mBAAQA,MAAR;;AAEA,wBAAU,YAAM;AACd,QAAMC,WAAW;AAAA,kFAAG,iBAAOC,KAAP;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,sBACd,OAAOJ,gBAAP,KAA4B,UADd;AAAA;AAAA;AAAA;;AAEhBA,gBAAAA,gBAAgB,CAACC,WAAD,EAAcG,KAAd,CAAhB;AAFgB;AAAA;;AAAA;AAAA,sBAIZ,kBAAAA,KAAK,CAACC,OAAN,4BAAeC,EAAf,uBAAqBF,KAAK,CAACC,OAA3B,aAAqB,gBAAeE,IAJxB;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAKQ,uBAA+B;AACnDL,kBAAAA,MAAM,EAANA,MADmD;AAEnDI,kBAAAA,EAAE,EAAEF,KAAK,CAACC,OAAN,CAAcC,EAFiC;AAGnDC,kBAAAA,IAAI,EAAEH,KAAK,CAACC,OAAN,CAAcE;AAH+B,iBAA/B,CALR;;AAAA;AAKRF,gBAAAA,OALQ;AAUdJ,gBAAAA,WAAW,CAAC,UAACO,QAAD;AAAA,yBAAc,yBAAQH,OAAR,6CAAoBG,QAApB,IAA+B,KAA/B,CAAd;AAAA,iBAAD,CAAX;;AAVc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAH;;AAAA,sBAAXL,WAAW;AAAA;AAAA;AAAA,OAAjB;;AAeA,QAAMM,QAAQ,GAAGP,MAAH,oBAAGA,MAAM,CAAEQ,EAAR,CAAW,+BAAX,EAA4CP,WAA5C,CAAjB;AACA,WAAO;AAAA,aAAMM,QAAN,oBAAMA,QAAQ,CAAEE,WAAV,EAAN;AAAA,KAAP;AACD,GAlBD,EAkBG,EAlBH;AAmBD,CA3BM","sourcesContent":["import { useEffect } from 'react';\n\nimport uniqBy from 'lodash/uniqBy';\n\nimport type { Channel, Event } from 'stream-chat';\n\nimport { useChatContext } from '../../../../contexts/chatContext/ChatContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\nimport { getChannel } from '../../utils';\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>;\n onAddedToChannel?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n };\n\nexport const useAddedToChannelNotification = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n onAddedToChannel,\n setChannels,\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n\n useEffect(() => {\n const handleEvent = async (event: Event<StreamChatGenerics>) => {\n if (typeof onAddedToChannel === 'function') {\n onAddedToChannel(setChannels, event);\n } else {\n if (event.channel?.id && event.channel?.type) {\n const channel = await getChannel<StreamChatGenerics>({\n client,\n id: event.channel.id,\n type: event.channel.type,\n });\n setChannels((channels) => uniqBy([channel, ...channels], 'cid'));\n }\n }\n };\n\n const listener = client?.on('notification.added_to_channel', handleEvent);\n return () => listener?.unsubscribe();\n }, []);\n};\n"]}
@@ -39,9 +39,9 @@ var useChannelDeleted = function useChannelDeleted(_ref) {
39
39
  }
40
40
  };
41
41
 
42
- client.on('channel.deleted', handleEvent);
42
+ var listener = client == null ? void 0 : client.on('channel.deleted', handleEvent);
43
43
  return function () {
44
- return client.off('channel.deleted', handleEvent);
44
+ return listener == null ? void 0 : listener.unsubscribe();
45
45
  };
46
46
  }, []);
47
47
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["useChannelDeleted.ts"],"names":["useChannelDeleted","onChannelDeleted","setChannels","client","handleEvent","event","channels","index","findIndex","channel","cid","splice","on","off"],"mappings":";;;;;;;;;AAAA;;AAIA;;AAaO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,OAKK;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;AACxD,UAAI,OAAOJ,gBAAP,KAA4B,UAAhC,EAA4C;AAC1CA,QAAAA,gBAAgB,CAACC,WAAD,EAAcG,KAAd,CAAhB;AACD,OAFD,MAEO;AACLH,QAAAA,WAAW,CAAC,UAACI,QAAD,EAAc;AACxB,cAAMC,KAAK,GAAGD,QAAQ,CAACE,SAAT,CACZ,UAACC,OAAD;AAAA;;AAAA,mBAAaA,OAAO,CAACC,GAAR,MAAiBL,KAAK,CAACK,GAAN,uBAAaL,KAAK,CAACI,OAAnB,qBAAa,eAAeC,GAA5B,CAAjB,CAAb;AAAA,WADY,CAAd;;AAGA,cAAIH,KAAK,IAAI,CAAb,EAAgB;AACdD,YAAAA,QAAQ,CAACK,MAAT,CAAgBJ,KAAhB,EAAuB,CAAvB;AACD;;AACD,qDAAWD,QAAX;AACD,SARU,CAAX;AASD;AACF,KAdD;;AAgBAH,IAAAA,MAAM,CAACS,EAAP,CAAU,iBAAV,EAA6BR,WAA7B;AACA,WAAO;AAAA,aAAMD,MAAM,CAACU,GAAP,CAAW,iBAAX,EAA8BT,WAA9B,CAAN;AAAA,KAAP;AACD,GAnBD,EAmBG,EAnBH;AAoBD,CA5BM","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';\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>;\n onChannelDeleted?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n };\n\nexport const useChannelDeleted = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n onChannelDeleted,\n setChannels,\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n\n useEffect(() => {\n const handleEvent = (event: Event<StreamChatGenerics>) => {\n if (typeof onChannelDeleted === 'function') {\n onChannelDeleted(setChannels, event);\n } else {\n setChannels((channels) => {\n const index = channels.findIndex(\n (channel) => channel.cid === (event.cid || event.channel?.cid),\n );\n if (index >= 0) {\n channels.splice(index, 1);\n }\n return [...channels];\n });\n }\n };\n\n client.on('channel.deleted', handleEvent);\n return () => client.off('channel.deleted', handleEvent);\n }, []);\n};\n"]}
1
+ {"version":3,"sources":["useChannelDeleted.ts"],"names":["useChannelDeleted","onChannelDeleted","setChannels","client","handleEvent","event","channels","index","findIndex","channel","cid","splice","listener","on","unsubscribe"],"mappings":";;;;;;;;;AAAA;;AAIA;;AAaO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,OAKK;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;AACxD,UAAI,OAAOJ,gBAAP,KAA4B,UAAhC,EAA4C;AAC1CA,QAAAA,gBAAgB,CAACC,WAAD,EAAcG,KAAd,CAAhB;AACD,OAFD,MAEO;AACLH,QAAAA,WAAW,CAAC,UAACI,QAAD,EAAc;AACxB,cAAMC,KAAK,GAAGD,QAAQ,CAACE,SAAT,CACZ,UAACC,OAAD;AAAA;;AAAA,mBAAaA,OAAO,CAACC,GAAR,MAAiBL,KAAK,CAACK,GAAN,uBAAaL,KAAK,CAACI,OAAnB,qBAAa,eAAeC,GAA5B,CAAjB,CAAb;AAAA,WADY,CAAd;;AAGA,cAAIH,KAAK,IAAI,CAAb,EAAgB;AACdD,YAAAA,QAAQ,CAACK,MAAT,CAAgBJ,KAAhB,EAAuB,CAAvB;AACD;;AACD,qDAAWD,QAAX;AACD,SARU,CAAX;AASD;AACF,KAdD;;AAgBA,QAAMM,QAAQ,GAAGT,MAAH,oBAAGA,MAAM,CAAEU,EAAR,CAAW,iBAAX,EAA8BT,WAA9B,CAAjB;AACA,WAAO;AAAA,aAAMQ,QAAN,oBAAMA,QAAQ,CAAEE,WAAV,EAAN;AAAA,KAAP;AACD,GAnBD,EAmBG,EAnBH;AAoBD,CA5BM","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';\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>;\n onChannelDeleted?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n };\n\nexport const useChannelDeleted = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n onChannelDeleted,\n setChannels,\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n\n useEffect(() => {\n const handleEvent = (event: Event<StreamChatGenerics>) => {\n if (typeof onChannelDeleted === 'function') {\n onChannelDeleted(setChannels, event);\n } else {\n setChannels((channels) => {\n const index = channels.findIndex(\n (channel) => channel.cid === (event.cid || event.channel?.cid),\n );\n if (index >= 0) {\n channels.splice(index, 1);\n }\n return [...channels];\n });\n }\n };\n\n const listener = client?.on('channel.deleted', handleEvent);\n return () => listener?.unsubscribe();\n }, []);\n};\n"]}
@@ -39,9 +39,9 @@ var useChannelHidden = function useChannelHidden(_ref) {
39
39
  }
40
40
  };
41
41
 
42
- client.on('channel.hidden', handleEvent);
42
+ var listener = client == null ? void 0 : client.on('channel.hidden', handleEvent);
43
43
  return function () {
44
- return client.off('channel.hidden', handleEvent);
44
+ return listener == null ? void 0 : listener.unsubscribe();
45
45
  };
46
46
  }, []);
47
47
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["useChannelHidden.ts"],"names":["useChannelHidden","onChannelHidden","setChannels","client","handleEvent","event","channels","index","findIndex","channel","cid","splice","on","off"],"mappings":";;;;;;;;;AAAA;;AAIA;;AAaO,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,OAKM;AAAA,MAFpCC,eAEoC,QAFpCA,eAEoC;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;AACxD,UAAI,OAAOJ,eAAP,KAA2B,UAA/B,EAA2C;AACzCA,QAAAA,eAAe,CAACC,WAAD,EAAcG,KAAd,CAAf;AACD,OAFD,MAEO;AACLH,QAAAA,WAAW,CAAC,UAACI,QAAD,EAAc;AACxB,cAAMC,KAAK,GAAGD,QAAQ,CAACE,SAAT,CACZ,UAACC,OAAD;AAAA;;AAAA,mBAAaA,OAAO,CAACC,GAAR,MAAiBL,KAAK,CAACK,GAAN,uBAAaL,KAAK,CAACI,OAAnB,qBAAa,eAAeC,GAA5B,CAAjB,CAAb;AAAA,WADY,CAAd;;AAGA,cAAIH,KAAK,IAAI,CAAb,EAAgB;AACdD,YAAAA,QAAQ,CAACK,MAAT,CAAgBJ,KAAhB,EAAuB,CAAvB;AACD;;AACD,qDAAWD,QAAX;AACD,SARU,CAAX;AASD;AACF,KAdD;;AAgBAH,IAAAA,MAAM,CAACS,EAAP,CAAU,gBAAV,EAA4BR,WAA5B;AACA,WAAO;AAAA,aAAMD,MAAM,CAACU,GAAP,CAAW,gBAAX,EAA6BT,WAA7B,CAAN;AAAA,KAAP;AACD,GAnBD,EAmBG,EAnBH;AAoBD,CA5BM","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';\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>;\n onChannelHidden?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n };\n\nexport const useChannelHidden = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n onChannelHidden,\n setChannels,\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n\n useEffect(() => {\n const handleEvent = (event: Event<StreamChatGenerics>) => {\n if (typeof onChannelHidden === 'function') {\n onChannelHidden(setChannels, event);\n } else {\n setChannels((channels) => {\n const index = channels.findIndex(\n (channel) => channel.cid === (event.cid || event.channel?.cid),\n );\n if (index >= 0) {\n channels.splice(index, 1);\n }\n return [...channels];\n });\n }\n };\n\n client.on('channel.hidden', handleEvent);\n return () => client.off('channel.hidden', handleEvent);\n }, []);\n};\n"]}
1
+ {"version":3,"sources":["useChannelHidden.ts"],"names":["useChannelHidden","onChannelHidden","setChannels","client","handleEvent","event","channels","index","findIndex","channel","cid","splice","listener","on","unsubscribe"],"mappings":";;;;;;;;;AAAA;;AAIA;;AAaO,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,OAKM;AAAA,MAFpCC,eAEoC,QAFpCA,eAEoC;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;AACxD,UAAI,OAAOJ,eAAP,KAA2B,UAA/B,EAA2C;AACzCA,QAAAA,eAAe,CAACC,WAAD,EAAcG,KAAd,CAAf;AACD,OAFD,MAEO;AACLH,QAAAA,WAAW,CAAC,UAACI,QAAD,EAAc;AACxB,cAAMC,KAAK,GAAGD,QAAQ,CAACE,SAAT,CACZ,UAACC,OAAD;AAAA;;AAAA,mBAAaA,OAAO,CAACC,GAAR,MAAiBL,KAAK,CAACK,GAAN,uBAAaL,KAAK,CAACI,OAAnB,qBAAa,eAAeC,GAA5B,CAAjB,CAAb;AAAA,WADY,CAAd;;AAGA,cAAIH,KAAK,IAAI,CAAb,EAAgB;AACdD,YAAAA,QAAQ,CAACK,MAAT,CAAgBJ,KAAhB,EAAuB,CAAvB;AACD;;AACD,qDAAWD,QAAX;AACD,SARU,CAAX;AASD;AACF,KAdD;;AAgBA,QAAMM,QAAQ,GAAGT,MAAH,oBAAGA,MAAM,CAAEU,EAAR,CAAW,gBAAX,EAA6BT,WAA7B,CAAjB;AACA,WAAO;AAAA,aAAMQ,QAAN,oBAAMA,QAAQ,CAAEE,WAAV,EAAN;AAAA,KAAP;AACD,GAnBD,EAmBG,EAnBH;AAoBD,CA5BM","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';\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>;\n onChannelHidden?: (\n setChannels: React.Dispatch<React.SetStateAction<Channel<StreamChatGenerics>[]>>,\n event: Event<StreamChatGenerics>,\n ) => void;\n };\n\nexport const useChannelHidden = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n onChannelHidden,\n setChannels,\n}: Parameters<StreamChatGenerics>) => {\n const { client } = useChatContext<StreamChatGenerics>();\n\n useEffect(() => {\n const handleEvent = (event: Event<StreamChatGenerics>) => {\n if (typeof onChannelHidden === 'function') {\n onChannelHidden(setChannels, event);\n } else {\n setChannels((channels) => {\n const index = channels.findIndex(\n (channel) => channel.cid === (event.cid || event.channel?.cid),\n );\n if (index >= 0) {\n channels.splice(index, 1);\n }\n return [...channels];\n });\n }\n };\n\n const listener = client?.on('channel.hidden', handleEvent);\n return () => listener?.unsubscribe();\n }, []);\n};\n"]}