stream-chat-react-native-core 4.11.0-beta.2 → 5.0.0-offline-support.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1017) 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/Card.js +1 -1
  4. package/lib/commonjs/components/Attachment/FileAttachment.js +1 -1
  5. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +1 -1
  6. package/lib/commonjs/components/Attachment/FileIcon.js +1 -1
  7. package/lib/commonjs/components/Attachment/GallaryImage.js +1 -1
  8. package/lib/commonjs/components/Attachment/Gallery.js +1 -1
  9. package/lib/commonjs/components/Attachment/Giphy.js +1 -1
  10. package/lib/commonjs/components/Attachment/ImageLoadingFailedIndicator.js +1 -1
  11. package/lib/commonjs/components/Attachment/ImageLoadingIndicator.js +1 -1
  12. package/lib/commonjs/components/Attachment/VideoThumbnail.js +1 -1
  13. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +1 -1
  14. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +1 -1
  15. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerError.js +1 -1
  16. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +1 -1
  17. package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js +1 -1
  18. package/lib/commonjs/components/AttachmentPicker/components/CameraSelectorIcon.js +1 -1
  19. package/lib/commonjs/components/AttachmentPicker/components/FileSelectorIcon.js +1 -1
  20. package/lib/commonjs/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +1 -1
  21. package/lib/commonjs/components/AttachmentPicker/components/ImageSelectorIcon.js +1 -1
  22. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +1 -1
  23. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +1 -1
  24. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +1 -1
  25. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +1 -1
  26. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -1
  27. package/lib/commonjs/components/Avatar/Avatar.js +29 -16
  28. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  29. package/lib/commonjs/components/Avatar/GroupAvatar.js +26 -19
  30. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  31. package/lib/commonjs/components/Channel/Channel.js +227 -257
  32. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  33. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +2 -0
  34. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  35. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js +2 -0
  36. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  37. package/lib/commonjs/components/ChannelList/ChannelList.js +34 -4
  38. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  39. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -1
  40. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +1 -1
  41. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +1 -1
  42. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js +1 -1
  43. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +20 -8
  44. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  45. package/lib/commonjs/components/ChannelList/Skeleton.js +1 -1
  46. package/lib/commonjs/components/ChannelList/hooks/listeners/handleEventToSyncDB.js +142 -0
  47. package/lib/commonjs/components/ChannelList/hooks/listeners/handleEventToSyncDB.js.map +1 -0
  48. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  49. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  50. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js +2 -2
  51. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  52. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js +2 -2
  53. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  54. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js +2 -2
  55. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  56. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js +2 -2
  57. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  58. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  59. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  60. package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js +128 -18
  61. package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +1 -1
  62. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  63. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  64. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js +2 -2
  65. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  66. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js +2 -2
  67. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  68. package/lib/commonjs/components/ChannelList/hooks/listeners/useSyncDatabase.js +34 -0
  69. package/lib/commonjs/components/ChannelList/hooks/listeners/useSyncDatabase.js.map +1 -0
  70. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js +4 -4
  71. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  72. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +48 -22
  73. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  74. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +1 -1
  75. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +7 -9
  76. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  77. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +8 -6
  78. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  79. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +1 -1
  80. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
  81. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +1 -1
  82. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  83. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +1 -1
  84. package/lib/commonjs/components/Chat/Chat.js +18 -7
  85. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  86. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js +3 -1
  87. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  88. package/lib/commonjs/components/Chat/hooks/useMutedUsers.js +3 -3
  89. package/lib/commonjs/components/Chat/hooks/useMutedUsers.js.map +1 -1
  90. package/lib/commonjs/components/ImageGallery/ImageGallery.js +1 -1
  91. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +1 -1
  92. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +1 -1
  93. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +4 -8
  94. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  95. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +1 -1
  96. package/lib/commonjs/components/ImageGallery/components/ImageGalleryOverlay.js +1 -1
  97. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js +1 -1
  98. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +1 -1
  99. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +2 -2
  100. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  101. package/lib/commonjs/components/ImageGallery/components/ProgressControl.js +1 -1
  102. package/lib/commonjs/components/Indicators/EmptyStateIndicator.js +1 -1
  103. package/lib/commonjs/components/Indicators/LoadingDot.js +1 -1
  104. package/lib/commonjs/components/Indicators/LoadingDots.js +1 -1
  105. package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js +1 -1
  106. package/lib/commonjs/components/Indicators/LoadingIndicator.js +1 -1
  107. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js +1 -1
  108. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +1 -1
  109. package/lib/commonjs/components/Message/Message.js +1 -1
  110. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +1 -1
  111. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +1 -1
  112. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +1 -1
  113. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +1 -1
  114. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +1 -1
  115. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +1 -1
  116. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +1 -1
  117. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +1 -1
  118. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +1 -1
  119. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +1 -1
  120. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +1 -1
  121. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +1 -1
  122. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js +1 -1
  123. package/lib/commonjs/components/Message/hooks/useMessageActions.js +1 -1
  124. package/lib/commonjs/components/MessageInput/AttachButton.js +1 -1
  125. package/lib/commonjs/components/MessageInput/CommandsButton.js +1 -1
  126. package/lib/commonjs/components/MessageInput/CooldownTimer.js +1 -1
  127. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +1 -1
  128. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +1 -1
  129. package/lib/commonjs/components/MessageInput/InputButtons.js +1 -1
  130. package/lib/commonjs/components/MessageInput/MessageInput.js +1 -1
  131. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +1 -1
  132. package/lib/commonjs/components/MessageInput/SendButton.js +1 -1
  133. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +1 -1
  134. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +1 -1
  135. package/lib/commonjs/components/MessageInput/UploadProgressIndicator.js +1 -1
  136. package/lib/commonjs/components/MessageInput/components/InputEditingStateHeader.js +1 -1
  137. package/lib/commonjs/components/MessageInput/components/InputGiphySearch.js +1 -1
  138. package/lib/commonjs/components/MessageInput/components/InputReplyStateHeader.js +1 -1
  139. package/lib/commonjs/components/MessageList/DateHeader.js +1 -1
  140. package/lib/commonjs/components/MessageList/InlineDateSeparator.js +1 -1
  141. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  142. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  143. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  144. package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js +1 -1
  145. package/lib/commonjs/components/MessageList/MessageList.js +192 -224
  146. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  147. package/lib/commonjs/components/MessageList/MessageSystem.js +1 -1
  148. package/lib/commonjs/components/MessageList/NetworkDownIndicator.js +1 -1
  149. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js +1 -1
  150. package/lib/commonjs/components/MessageList/TypingIndicator.js +1 -1
  151. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js +1 -1
  152. package/lib/commonjs/components/MessageOverlay/MessageActionList.js +1 -1
  153. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +1 -1
  154. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +1 -1
  155. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +1 -1
  156. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +1 -1
  157. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +1 -1
  158. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js +1 -1
  159. package/lib/commonjs/components/RTLComponents/WritingDirectionAwareText.js +1 -1
  160. package/lib/commonjs/components/Reply/Reply.js +2 -2
  161. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  162. package/lib/commonjs/components/Spinner/Spinner.js +1 -1
  163. package/lib/commonjs/components/Thread/Thread.js +1 -1
  164. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +1 -1
  165. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +1 -1
  166. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
  167. package/lib/commonjs/contexts/channelContext/ChannelContext.js +3 -3
  168. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  169. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +1 -1
  170. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +1 -1
  171. package/lib/commonjs/contexts/chatContext/ChatContext.js +3 -3
  172. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  173. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +1 -1
  174. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +1 -1
  175. package/lib/commonjs/contexts/messageContext/MessageContext.js +1 -1
  176. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +1 -1
  177. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +1 -1
  178. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +1 -1
  179. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +1 -1
  180. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -1
  181. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +13 -17
  182. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  183. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
  184. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +3 -3
  185. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  186. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +1 -1
  187. package/lib/commonjs/contexts/themeContext/ThemeContext.js +1 -1
  188. package/lib/commonjs/contexts/threadContext/ThreadContext.js +1 -1
  189. package/lib/commonjs/contexts/translationContext/TranslationContext.js +1 -1
  190. package/lib/commonjs/contexts/typingContext/TypingContext.js +1 -1
  191. package/lib/commonjs/hooks/useImageErrorHandler.js +35 -0
  192. package/lib/commonjs/hooks/useImageErrorHandler.js.map +1 -0
  193. package/lib/commonjs/i18n/en.json +1 -2
  194. package/lib/commonjs/i18n/fr.json +1 -2
  195. package/lib/commonjs/i18n/he.json +0 -2
  196. package/lib/commonjs/i18n/hi.json +1 -2
  197. package/lib/commonjs/i18n/it.json +1 -2
  198. package/lib/commonjs/i18n/ja.json +0 -2
  199. package/lib/commonjs/i18n/ko.json +0 -2
  200. package/lib/commonjs/i18n/nl.json +1 -2
  201. package/lib/commonjs/i18n/ru.json +1 -2
  202. package/lib/commonjs/i18n/tr.json +1 -2
  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 +11 -0
  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 +125 -0
  295. package/lib/commonjs/mock-builders/DB/mock.js.map +1 -0
  296. package/lib/commonjs/mock-builders/api/channelMocks.js +1 -0
  297. package/lib/commonjs/mock-builders/api/channelMocks.js.map +1 -1
  298. package/lib/commonjs/mock-builders/event/memberAdded.js +17 -0
  299. package/lib/commonjs/mock-builders/event/memberAdded.js.map +1 -0
  300. package/lib/commonjs/mock-builders/event/memberRemoved.js +17 -0
  301. package/lib/commonjs/mock-builders/event/memberRemoved.js.map +1 -0
  302. package/lib/commonjs/mock-builders/event/memberUpdated.js +17 -0
  303. package/lib/commonjs/mock-builders/event/memberUpdated.js.map +1 -0
  304. package/lib/commonjs/mock-builders/event/reactionDeleted.js +18 -0
  305. package/lib/commonjs/mock-builders/event/reactionDeleted.js.map +1 -0
  306. package/lib/commonjs/mock-builders/event/reactionNew.js +18 -0
  307. package/lib/commonjs/mock-builders/event/reactionNew.js.map +1 -0
  308. package/lib/commonjs/mock-builders/event/reactionUpdated.js +18 -0
  309. package/lib/commonjs/mock-builders/event/reactionUpdated.js.map +1 -0
  310. package/lib/commonjs/mock-builders/generator/reaction.js +1 -1
  311. package/lib/commonjs/mock-builders/generator/reaction.js.map +1 -1
  312. package/lib/commonjs/store/QuickSqliteClient.js +148 -0
  313. package/lib/commonjs/store/QuickSqliteClient.js.map +1 -0
  314. package/lib/commonjs/store/apis/deleteChannel.js +26 -0
  315. package/lib/commonjs/store/apis/deleteChannel.js.map +1 -0
  316. package/lib/commonjs/store/apis/deleteMember.js +28 -0
  317. package/lib/commonjs/store/apis/deleteMember.js.map +1 -0
  318. package/lib/commonjs/store/apis/deleteMessagesForChannel.js +26 -0
  319. package/lib/commonjs/store/apis/deleteMessagesForChannel.js.map +1 -0
  320. package/lib/commonjs/store/apis/deleteReactions.js +28 -0
  321. package/lib/commonjs/store/apis/deleteReactions.js.map +1 -0
  322. package/lib/commonjs/store/apis/getAllChannelIds.js +16 -0
  323. package/lib/commonjs/store/apis/getAllChannelIds.js.map +1 -0
  324. package/lib/commonjs/store/apis/getChannelMessages.js +45 -0
  325. package/lib/commonjs/store/apis/getChannelMessages.js.map +1 -0
  326. package/lib/commonjs/store/apis/getChannels.js +60 -0
  327. package/lib/commonjs/store/apis/getChannels.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/queries/selectChannelIdsForFilterSort.js +31 -0
  335. package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -0
  336. package/lib/commonjs/store/apis/queries/selectChannels.js +30 -0
  337. package/lib/commonjs/store/apis/queries/selectChannels.js.map +1 -0
  338. package/lib/commonjs/store/apis/queries/selectMembersForChannels.js +27 -0
  339. package/lib/commonjs/store/apis/queries/selectMembersForChannels.js.map +1 -0
  340. package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js +27 -0
  341. package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js.map +1 -0
  342. package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js +27 -0
  343. package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js.map +1 -0
  344. package/lib/commonjs/store/apis/queries/selectReadsForChannels.js +27 -0
  345. package/lib/commonjs/store/apis/queries/selectReadsForChannels.js.map +1 -0
  346. package/lib/commonjs/store/apis/updateMessage.js +69 -0
  347. package/lib/commonjs/store/apis/updateMessage.js.map +1 -0
  348. package/lib/commonjs/store/apis/updateReaction.js +53 -0
  349. package/lib/commonjs/store/apis/updateReaction.js.map +1 -0
  350. package/lib/commonjs/store/apis/upsertChannelData.js +26 -0
  351. package/lib/commonjs/store/apis/upsertChannelData.js.map +1 -0
  352. package/lib/commonjs/store/apis/upsertChannels.js +83 -0
  353. package/lib/commonjs/store/apis/upsertChannels.js.map +1 -0
  354. package/lib/commonjs/store/apis/upsertCidsForQuery.js +34 -0
  355. package/lib/commonjs/store/apis/upsertCidsForQuery.js.map +1 -0
  356. package/lib/commonjs/store/apis/upsertLastSyncedAt.js +22 -0
  357. package/lib/commonjs/store/apis/upsertLastSyncedAt.js.map +1 -0
  358. package/lib/commonjs/store/apis/upsertMembers.js +39 -0
  359. package/lib/commonjs/store/apis/upsertMembers.js.map +1 -0
  360. package/lib/commonjs/store/apis/upsertMessages.js +52 -0
  361. package/lib/commonjs/store/apis/upsertMessages.js.map +1 -0
  362. package/lib/commonjs/store/apis/upsertReads.js +39 -0
  363. package/lib/commonjs/store/apis/upsertReads.js.map +1 -0
  364. package/lib/commonjs/store/apis/utils/convertFilterSortToQuery.js +13 -0
  365. package/lib/commonjs/store/apis/utils/convertFilterSortToQuery.js.map +1 -0
  366. package/lib/commonjs/store/constants.js +11 -0
  367. package/lib/commonjs/store/constants.js.map +1 -0
  368. package/lib/commonjs/store/mappers/mapChannelDataToStorable.js +67 -0
  369. package/lib/commonjs/store/mappers/mapChannelDataToStorable.js.map +1 -0
  370. package/lib/commonjs/store/mappers/mapDateTimeToStorable.js +12 -0
  371. package/lib/commonjs/store/mappers/mapDateTimeToStorable.js.map +1 -0
  372. package/lib/commonjs/store/mappers/mapMemberToStorable.js +39 -0
  373. package/lib/commonjs/store/mappers/mapMemberToStorable.js.map +1 -0
  374. package/lib/commonjs/store/mappers/mapMessageToStorable.js +42 -0
  375. package/lib/commonjs/store/mappers/mapMessageToStorable.js.map +1 -0
  376. package/lib/commonjs/store/mappers/mapReactionToStorable.js +34 -0
  377. package/lib/commonjs/store/mappers/mapReactionToStorable.js.map +1 -0
  378. package/lib/commonjs/store/mappers/mapReadToStorable.js +23 -0
  379. package/lib/commonjs/store/mappers/mapReadToStorable.js.map +1 -0
  380. package/lib/commonjs/store/mappers/mapStorableToChannel.js +65 -0
  381. package/lib/commonjs/store/mappers/mapStorableToChannel.js.map +1 -0
  382. package/lib/commonjs/store/mappers/mapStorableToMember.js +38 -0
  383. package/lib/commonjs/store/mappers/mapStorableToMember.js.map +1 -0
  384. package/lib/commonjs/store/mappers/mapStorableToMessage.js +50 -0
  385. package/lib/commonjs/store/mappers/mapStorableToMessage.js.map +1 -0
  386. package/lib/commonjs/store/mappers/mapStorableToReaction.js +31 -0
  387. package/lib/commonjs/store/mappers/mapStorableToReaction.js.map +1 -0
  388. package/lib/commonjs/store/mappers/mapStorableToRead.js +20 -0
  389. package/lib/commonjs/store/mappers/mapStorableToRead.js.map +1 -0
  390. package/lib/commonjs/store/mappers/mapStorableToUser.js +31 -0
  391. package/lib/commonjs/store/mappers/mapStorableToUser.js.map +1 -0
  392. package/lib/commonjs/store/mappers/mapUserToStorable.js +34 -0
  393. package/lib/commonjs/store/mappers/mapUserToStorable.js.map +1 -0
  394. package/lib/commonjs/store/schema.js +161 -0
  395. package/lib/commonjs/store/schema.js.map +1 -0
  396. package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js +37 -0
  397. package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js.map +1 -0
  398. package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js +35 -0
  399. package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js.map +1 -0
  400. package/lib/commonjs/store/sqlite-utils/createDeleteQuery.js +14 -0
  401. package/lib/commonjs/store/sqlite-utils/createDeleteQuery.js.map +1 -0
  402. package/lib/commonjs/store/sqlite-utils/createSelectQuery.js +26 -0
  403. package/lib/commonjs/store/sqlite-utils/createSelectQuery.js.map +1 -0
  404. package/lib/commonjs/store/sqlite-utils/createUpdateQuery.js +29 -0
  405. package/lib/commonjs/store/sqlite-utils/createUpdateQuery.js.map +1 -0
  406. package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js +30 -0
  407. package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js.map +1 -0
  408. package/lib/commonjs/store/sqlite-utils/printRow.js +33 -0
  409. package/lib/commonjs/store/sqlite-utils/printRow.js.map +1 -0
  410. package/lib/commonjs/store/types.js +4 -0
  411. package/lib/commonjs/store/types.js.map +1 -0
  412. package/lib/commonjs/version.json +1 -1
  413. package/lib/module/components/Attachment/Attachment.js +1 -1
  414. package/lib/module/components/Attachment/AttachmentActions.js +1 -1
  415. package/lib/module/components/Attachment/Card.js +1 -1
  416. package/lib/module/components/Attachment/FileAttachment.js +1 -1
  417. package/lib/module/components/Attachment/FileAttachmentGroup.js +1 -1
  418. package/lib/module/components/Attachment/FileIcon.js +1 -1
  419. package/lib/module/components/Attachment/GallaryImage.js +1 -1
  420. package/lib/module/components/Attachment/Gallery.js +1 -1
  421. package/lib/module/components/Attachment/Giphy.js +1 -1
  422. package/lib/module/components/Attachment/ImageLoadingFailedIndicator.js +1 -1
  423. package/lib/module/components/Attachment/ImageLoadingIndicator.js +1 -1
  424. package/lib/module/components/Attachment/VideoThumbnail.js +1 -1
  425. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +1 -1
  426. package/lib/module/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +1 -1
  427. package/lib/module/components/AttachmentPicker/components/AttachmentPickerError.js +1 -1
  428. package/lib/module/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +1 -1
  429. package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js +1 -1
  430. package/lib/module/components/AttachmentPicker/components/CameraSelectorIcon.js +1 -1
  431. package/lib/module/components/AttachmentPicker/components/FileSelectorIcon.js +1 -1
  432. package/lib/module/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +1 -1
  433. package/lib/module/components/AttachmentPicker/components/ImageSelectorIcon.js +1 -1
  434. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +1 -1
  435. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +1 -1
  436. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +1 -1
  437. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +1 -1
  438. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -1
  439. package/lib/module/components/Avatar/Avatar.js +29 -16
  440. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  441. package/lib/module/components/Avatar/GroupAvatar.js +26 -19
  442. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  443. package/lib/module/components/Channel/Channel.js +227 -257
  444. package/lib/module/components/Channel/Channel.js.map +1 -1
  445. package/lib/module/components/Channel/hooks/useCreateChannelContext.js +2 -0
  446. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  447. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js +2 -0
  448. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  449. package/lib/module/components/ChannelList/ChannelList.js +34 -4
  450. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  451. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -1
  452. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +1 -1
  453. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +1 -1
  454. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js +1 -1
  455. package/lib/module/components/ChannelList/ChannelListMessenger.js +20 -8
  456. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  457. package/lib/module/components/ChannelList/Skeleton.js +1 -1
  458. package/lib/module/components/ChannelList/hooks/listeners/handleEventToSyncDB.js +142 -0
  459. package/lib/module/components/ChannelList/hooks/listeners/handleEventToSyncDB.js.map +1 -0
  460. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  461. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  462. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js +2 -2
  463. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  464. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js +2 -2
  465. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  466. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js +2 -2
  467. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  468. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js +2 -2
  469. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  470. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  471. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  472. package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js +128 -18
  473. package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +1 -1
  474. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  475. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  476. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js +2 -2
  477. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  478. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js +2 -2
  479. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  480. package/lib/module/components/ChannelList/hooks/listeners/useSyncDatabase.js +34 -0
  481. package/lib/module/components/ChannelList/hooks/listeners/useSyncDatabase.js.map +1 -0
  482. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js +4 -4
  483. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  484. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +48 -22
  485. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  486. package/lib/module/components/ChannelPreview/ChannelAvatar.js +1 -1
  487. package/lib/module/components/ChannelPreview/ChannelPreview.js +7 -9
  488. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  489. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +8 -6
  490. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  491. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +1 -1
  492. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
  493. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +1 -1
  494. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  495. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +1 -1
  496. package/lib/module/components/Chat/Chat.js +18 -7
  497. package/lib/module/components/Chat/Chat.js.map +1 -1
  498. package/lib/module/components/Chat/hooks/useCreateChatContext.js +3 -1
  499. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  500. package/lib/module/components/Chat/hooks/useMutedUsers.js +3 -3
  501. package/lib/module/components/Chat/hooks/useMutedUsers.js.map +1 -1
  502. package/lib/module/components/ImageGallery/ImageGallery.js +1 -1
  503. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +1 -1
  504. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +1 -1
  505. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +4 -8
  506. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  507. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +1 -1
  508. package/lib/module/components/ImageGallery/components/ImageGalleryOverlay.js +1 -1
  509. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js +1 -1
  510. package/lib/module/components/ImageGallery/components/ImageGrid.js +1 -1
  511. package/lib/module/components/ImageGallery/components/ImageGridHandle.js +2 -2
  512. package/lib/module/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  513. package/lib/module/components/ImageGallery/components/ProgressControl.js +1 -1
  514. package/lib/module/components/Indicators/EmptyStateIndicator.js +1 -1
  515. package/lib/module/components/Indicators/LoadingDot.js +1 -1
  516. package/lib/module/components/Indicators/LoadingDots.js +1 -1
  517. package/lib/module/components/Indicators/LoadingErrorIndicator.js +1 -1
  518. package/lib/module/components/Indicators/LoadingIndicator.js +1 -1
  519. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js +1 -1
  520. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +1 -1
  521. package/lib/module/components/Message/Message.js +1 -1
  522. package/lib/module/components/Message/MessageSimple/MessageAvatar.js +1 -1
  523. package/lib/module/components/Message/MessageSimple/MessageContent.js +1 -1
  524. package/lib/module/components/Message/MessageSimple/MessageDeleted.js +1 -1
  525. package/lib/module/components/Message/MessageSimple/MessageFooter.js +1 -1
  526. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +1 -1
  527. package/lib/module/components/Message/MessageSimple/MessageReplies.js +1 -1
  528. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +1 -1
  529. package/lib/module/components/Message/MessageSimple/MessageSimple.js +1 -1
  530. package/lib/module/components/Message/MessageSimple/MessageStatus.js +1 -1
  531. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +1 -1
  532. package/lib/module/components/Message/MessageSimple/ReactionList.js +1 -1
  533. package/lib/module/components/Message/MessageSimple/utils/renderText.js +1 -1
  534. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js +1 -1
  535. package/lib/module/components/Message/hooks/useMessageActions.js +1 -1
  536. package/lib/module/components/MessageInput/AttachButton.js +1 -1
  537. package/lib/module/components/MessageInput/CommandsButton.js +1 -1
  538. package/lib/module/components/MessageInput/CooldownTimer.js +1 -1
  539. package/lib/module/components/MessageInput/FileUploadPreview.js +1 -1
  540. package/lib/module/components/MessageInput/ImageUploadPreview.js +1 -1
  541. package/lib/module/components/MessageInput/InputButtons.js +1 -1
  542. package/lib/module/components/MessageInput/MessageInput.js +1 -1
  543. package/lib/module/components/MessageInput/MoreOptionsButton.js +1 -1
  544. package/lib/module/components/MessageInput/SendButton.js +1 -1
  545. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +1 -1
  546. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +1 -1
  547. package/lib/module/components/MessageInput/UploadProgressIndicator.js +1 -1
  548. package/lib/module/components/MessageInput/components/InputEditingStateHeader.js +1 -1
  549. package/lib/module/components/MessageInput/components/InputGiphySearch.js +1 -1
  550. package/lib/module/components/MessageInput/components/InputReplyStateHeader.js +1 -1
  551. package/lib/module/components/MessageList/DateHeader.js +1 -1
  552. package/lib/module/components/MessageList/InlineDateSeparator.js +1 -1
  553. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  554. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  555. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  556. package/lib/module/components/MessageList/InlineUnreadIndicator.js +1 -1
  557. package/lib/module/components/MessageList/MessageList.js +192 -224
  558. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  559. package/lib/module/components/MessageList/MessageSystem.js +1 -1
  560. package/lib/module/components/MessageList/NetworkDownIndicator.js +1 -1
  561. package/lib/module/components/MessageList/ScrollToBottomButton.js +1 -1
  562. package/lib/module/components/MessageList/TypingIndicator.js +1 -1
  563. package/lib/module/components/MessageList/TypingIndicatorContainer.js +1 -1
  564. package/lib/module/components/MessageOverlay/MessageActionList.js +1 -1
  565. package/lib/module/components/MessageOverlay/MessageActionListItem.js +1 -1
  566. package/lib/module/components/MessageOverlay/MessageOverlay.js +1 -1
  567. package/lib/module/components/MessageOverlay/OverlayBackdrop.js +1 -1
  568. package/lib/module/components/MessageOverlay/OverlayReactionList.js +1 -1
  569. package/lib/module/components/MessageOverlay/OverlayReactions.js +1 -1
  570. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js +1 -1
  571. package/lib/module/components/RTLComponents/WritingDirectionAwareText.js +1 -1
  572. package/lib/module/components/Reply/Reply.js +2 -2
  573. package/lib/module/components/Reply/Reply.js.map +1 -1
  574. package/lib/module/components/Spinner/Spinner.js +1 -1
  575. package/lib/module/components/Thread/Thread.js +1 -1
  576. package/lib/module/components/Thread/components/ThreadFooterComponent.js +1 -1
  577. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +1 -1
  578. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
  579. package/lib/module/contexts/channelContext/ChannelContext.js +3 -3
  580. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  581. package/lib/module/contexts/channelsContext/ChannelsContext.js +1 -1
  582. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +1 -1
  583. package/lib/module/contexts/chatContext/ChatContext.js +3 -3
  584. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  585. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +1 -1
  586. package/lib/module/contexts/keyboardContext/KeyboardContext.js +1 -1
  587. package/lib/module/contexts/messageContext/MessageContext.js +1 -1
  588. package/lib/module/contexts/messageInputContext/MessageInputContext.js +1 -1
  589. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +1 -1
  590. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +1 -1
  591. package/lib/module/contexts/messagesContext/MessagesContext.js +1 -1
  592. package/lib/module/contexts/overlayContext/OverlayContext.js +1 -1
  593. package/lib/module/contexts/overlayContext/OverlayProvider.js +13 -17
  594. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  595. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
  596. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +3 -3
  597. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  598. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +1 -1
  599. package/lib/module/contexts/themeContext/ThemeContext.js +1 -1
  600. package/lib/module/contexts/threadContext/ThreadContext.js +1 -1
  601. package/lib/module/contexts/translationContext/TranslationContext.js +1 -1
  602. package/lib/module/contexts/typingContext/TypingContext.js +1 -1
  603. package/lib/module/hooks/useImageErrorHandler.js +35 -0
  604. package/lib/module/hooks/useImageErrorHandler.js.map +1 -0
  605. package/lib/module/i18n/en.json +1 -2
  606. package/lib/module/i18n/fr.json +1 -2
  607. package/lib/module/i18n/he.json +0 -2
  608. package/lib/module/i18n/hi.json +1 -2
  609. package/lib/module/i18n/it.json +1 -2
  610. package/lib/module/i18n/ja.json +0 -2
  611. package/lib/module/i18n/ko.json +0 -2
  612. package/lib/module/i18n/nl.json +1 -2
  613. package/lib/module/i18n/ru.json +1 -2
  614. package/lib/module/i18n/tr.json +1 -2
  615. package/lib/module/icons/ArrowRight.js +1 -1
  616. package/lib/module/icons/AtMentions.js +1 -1
  617. package/lib/module/icons/Attach.js +1 -1
  618. package/lib/module/icons/Audio.js +1 -1
  619. package/lib/module/icons/CSV.js +1 -1
  620. package/lib/module/icons/Camera.js +1 -1
  621. package/lib/module/icons/Check.js +1 -1
  622. package/lib/module/icons/CheckAll.js +1 -1
  623. package/lib/module/icons/CheckSend.js +1 -1
  624. package/lib/module/icons/CircleClose.js +1 -1
  625. package/lib/module/icons/CirclePlus.js +1 -1
  626. package/lib/module/icons/CircleRight.js +1 -1
  627. package/lib/module/icons/Close.js +1 -1
  628. package/lib/module/icons/Copy.js +1 -1
  629. package/lib/module/icons/CurveLineLeftUp.js +1 -1
  630. package/lib/module/icons/DOC.js +1 -1
  631. package/lib/module/icons/DOCX.js +1 -1
  632. package/lib/module/icons/Delete.js +1 -1
  633. package/lib/module/icons/Down.js +1 -1
  634. package/lib/module/icons/DownloadArrow.js +1 -1
  635. package/lib/module/icons/DownloadCloud.js +1 -1
  636. package/lib/module/icons/Edit.js +1 -1
  637. package/lib/module/icons/Error.js +1 -1
  638. package/lib/module/icons/Eye.js +1 -1
  639. package/lib/module/icons/Flag.js +1 -1
  640. package/lib/module/icons/Folder.js +1 -1
  641. package/lib/module/icons/GenericFile.js +1 -1
  642. package/lib/module/icons/GiphyIcon.js +1 -1
  643. package/lib/module/icons/Grid.js +1 -1
  644. package/lib/module/icons/Group.js +1 -1
  645. package/lib/module/icons/HTML.js +1 -1
  646. package/lib/module/icons/Imgur.js +1 -1
  647. package/lib/module/icons/LOLReaction.js +1 -1
  648. package/lib/module/icons/Lightning.js +1 -1
  649. package/lib/module/icons/Link.js +1 -1
  650. package/lib/module/icons/Loading.js +1 -1
  651. package/lib/module/icons/Logo.js +1 -1
  652. package/lib/module/icons/LoveReaction.js +1 -1
  653. package/lib/module/icons/MD.js +1 -1
  654. package/lib/module/icons/MailOpen.js +1 -1
  655. package/lib/module/icons/MenuPointHorizontal.js +1 -1
  656. package/lib/module/icons/MenuPointVertical.js +1 -1
  657. package/lib/module/icons/MessageFlag.js +1 -1
  658. package/lib/module/icons/MessageIcon.js +1 -1
  659. package/lib/module/icons/Mute.js +1 -1
  660. package/lib/module/icons/Notification.js +1 -1
  661. package/lib/module/icons/ODT.js +1 -1
  662. package/lib/module/icons/PDF.js +1 -1
  663. package/lib/module/icons/PPT.js +1 -1
  664. package/lib/module/icons/PPTX.js +1 -1
  665. package/lib/module/icons/Pause.js +1 -1
  666. package/lib/module/icons/Picture.js +1 -1
  667. package/lib/module/icons/Pin.js +1 -1
  668. package/lib/module/icons/PinHeader.js +1 -1
  669. package/lib/module/icons/Play.js +1 -1
  670. package/lib/module/icons/RAR.js +1 -1
  671. package/lib/module/icons/RTF.js +1 -1
  672. package/lib/module/icons/Recorder.js +1 -1
  673. package/lib/module/icons/Refresh.js +1 -1
  674. package/lib/module/icons/SEVEN_Z.js +1 -1
  675. package/lib/module/icons/Search.js +1 -1
  676. package/lib/module/icons/SendRight.js +1 -1
  677. package/lib/module/icons/SendUp.js +1 -1
  678. package/lib/module/icons/Share.js +1 -1
  679. package/lib/module/icons/ShareRightArrow.js +1 -1
  680. package/lib/module/icons/Smile.js +1 -1
  681. package/lib/module/icons/Sound.js +1 -1
  682. package/lib/module/icons/TAR.js +1 -1
  683. package/lib/module/icons/TXT.js +1 -1
  684. package/lib/module/icons/ThreadReply.js +1 -1
  685. package/lib/module/icons/ThumbsDownReaction.js +1 -1
  686. package/lib/module/icons/ThumbsUpReaction.js +1 -1
  687. package/lib/module/icons/Time.js +1 -1
  688. package/lib/module/icons/Unknown.js +1 -1
  689. package/lib/module/icons/Unpin.js +1 -1
  690. package/lib/module/icons/User.js +1 -1
  691. package/lib/module/icons/UserAdd.js +1 -1
  692. package/lib/module/icons/UserAdmin.js +1 -1
  693. package/lib/module/icons/UserDelete.js +1 -1
  694. package/lib/module/icons/UserMinus.js +1 -1
  695. package/lib/module/icons/Video.js +1 -1
  696. package/lib/module/icons/Warning.js +1 -1
  697. package/lib/module/icons/WutReaction.js +1 -1
  698. package/lib/module/icons/XLS.js +1 -1
  699. package/lib/module/icons/XLSX.js +1 -1
  700. package/lib/module/icons/ZIP.js +1 -1
  701. package/lib/module/icons/utils/base.js +1 -1
  702. package/lib/module/index.js +11 -0
  703. package/lib/module/index.js.map +1 -1
  704. package/lib/module/mock-builders/DB/consts.js +15 -0
  705. package/lib/module/mock-builders/DB/consts.js.map +1 -0
  706. package/lib/module/mock-builders/DB/mock.js +125 -0
  707. package/lib/module/mock-builders/DB/mock.js.map +1 -0
  708. package/lib/module/mock-builders/api/channelMocks.js +1 -0
  709. package/lib/module/mock-builders/api/channelMocks.js.map +1 -1
  710. package/lib/module/mock-builders/event/memberAdded.js +17 -0
  711. package/lib/module/mock-builders/event/memberAdded.js.map +1 -0
  712. package/lib/module/mock-builders/event/memberRemoved.js +17 -0
  713. package/lib/module/mock-builders/event/memberRemoved.js.map +1 -0
  714. package/lib/module/mock-builders/event/memberUpdated.js +17 -0
  715. package/lib/module/mock-builders/event/memberUpdated.js.map +1 -0
  716. package/lib/module/mock-builders/event/reactionDeleted.js +18 -0
  717. package/lib/module/mock-builders/event/reactionDeleted.js.map +1 -0
  718. package/lib/module/mock-builders/event/reactionNew.js +18 -0
  719. package/lib/module/mock-builders/event/reactionNew.js.map +1 -0
  720. package/lib/module/mock-builders/event/reactionUpdated.js +18 -0
  721. package/lib/module/mock-builders/event/reactionUpdated.js.map +1 -0
  722. package/lib/module/mock-builders/generator/reaction.js +1 -1
  723. package/lib/module/mock-builders/generator/reaction.js.map +1 -1
  724. package/lib/module/store/QuickSqliteClient.js +148 -0
  725. package/lib/module/store/QuickSqliteClient.js.map +1 -0
  726. package/lib/module/store/apis/deleteChannel.js +26 -0
  727. package/lib/module/store/apis/deleteChannel.js.map +1 -0
  728. package/lib/module/store/apis/deleteMember.js +28 -0
  729. package/lib/module/store/apis/deleteMember.js.map +1 -0
  730. package/lib/module/store/apis/deleteMessagesForChannel.js +26 -0
  731. package/lib/module/store/apis/deleteMessagesForChannel.js.map +1 -0
  732. package/lib/module/store/apis/deleteReactions.js +28 -0
  733. package/lib/module/store/apis/deleteReactions.js.map +1 -0
  734. package/lib/module/store/apis/getAllChannelIds.js +16 -0
  735. package/lib/module/store/apis/getAllChannelIds.js.map +1 -0
  736. package/lib/module/store/apis/getChannelMessages.js +45 -0
  737. package/lib/module/store/apis/getChannelMessages.js.map +1 -0
  738. package/lib/module/store/apis/getChannels.js +60 -0
  739. package/lib/module/store/apis/getChannels.js.map +1 -0
  740. package/lib/module/store/apis/getLastSyncedAt.js +23 -0
  741. package/lib/module/store/apis/getLastSyncedAt.js.map +1 -0
  742. package/lib/module/store/apis/getMembers.js +25 -0
  743. package/lib/module/store/apis/getMembers.js.map +1 -0
  744. package/lib/module/store/apis/getReads.js +25 -0
  745. package/lib/module/store/apis/getReads.js.map +1 -0
  746. package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js +31 -0
  747. package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -0
  748. package/lib/module/store/apis/queries/selectChannels.js +30 -0
  749. package/lib/module/store/apis/queries/selectChannels.js.map +1 -0
  750. package/lib/module/store/apis/queries/selectMembersForChannels.js +27 -0
  751. package/lib/module/store/apis/queries/selectMembersForChannels.js.map +1 -0
  752. package/lib/module/store/apis/queries/selectMessagesForChannels.js +27 -0
  753. package/lib/module/store/apis/queries/selectMessagesForChannels.js.map +1 -0
  754. package/lib/module/store/apis/queries/selectReactionsForMessages.js +27 -0
  755. package/lib/module/store/apis/queries/selectReactionsForMessages.js.map +1 -0
  756. package/lib/module/store/apis/queries/selectReadsForChannels.js +27 -0
  757. package/lib/module/store/apis/queries/selectReadsForChannels.js.map +1 -0
  758. package/lib/module/store/apis/updateMessage.js +69 -0
  759. package/lib/module/store/apis/updateMessage.js.map +1 -0
  760. package/lib/module/store/apis/updateReaction.js +53 -0
  761. package/lib/module/store/apis/updateReaction.js.map +1 -0
  762. package/lib/module/store/apis/upsertChannelData.js +26 -0
  763. package/lib/module/store/apis/upsertChannelData.js.map +1 -0
  764. package/lib/module/store/apis/upsertChannels.js +83 -0
  765. package/lib/module/store/apis/upsertChannels.js.map +1 -0
  766. package/lib/module/store/apis/upsertCidsForQuery.js +34 -0
  767. package/lib/module/store/apis/upsertCidsForQuery.js.map +1 -0
  768. package/lib/module/store/apis/upsertLastSyncedAt.js +22 -0
  769. package/lib/module/store/apis/upsertLastSyncedAt.js.map +1 -0
  770. package/lib/module/store/apis/upsertMembers.js +39 -0
  771. package/lib/module/store/apis/upsertMembers.js.map +1 -0
  772. package/lib/module/store/apis/upsertMessages.js +52 -0
  773. package/lib/module/store/apis/upsertMessages.js.map +1 -0
  774. package/lib/module/store/apis/upsertReads.js +39 -0
  775. package/lib/module/store/apis/upsertReads.js.map +1 -0
  776. package/lib/module/store/apis/utils/convertFilterSortToQuery.js +13 -0
  777. package/lib/module/store/apis/utils/convertFilterSortToQuery.js.map +1 -0
  778. package/lib/module/store/constants.js +11 -0
  779. package/lib/module/store/constants.js.map +1 -0
  780. package/lib/module/store/mappers/mapChannelDataToStorable.js +67 -0
  781. package/lib/module/store/mappers/mapChannelDataToStorable.js.map +1 -0
  782. package/lib/module/store/mappers/mapDateTimeToStorable.js +12 -0
  783. package/lib/module/store/mappers/mapDateTimeToStorable.js.map +1 -0
  784. package/lib/module/store/mappers/mapMemberToStorable.js +39 -0
  785. package/lib/module/store/mappers/mapMemberToStorable.js.map +1 -0
  786. package/lib/module/store/mappers/mapMessageToStorable.js +42 -0
  787. package/lib/module/store/mappers/mapMessageToStorable.js.map +1 -0
  788. package/lib/module/store/mappers/mapReactionToStorable.js +34 -0
  789. package/lib/module/store/mappers/mapReactionToStorable.js.map +1 -0
  790. package/lib/module/store/mappers/mapReadToStorable.js +23 -0
  791. package/lib/module/store/mappers/mapReadToStorable.js.map +1 -0
  792. package/lib/module/store/mappers/mapStorableToChannel.js +65 -0
  793. package/lib/module/store/mappers/mapStorableToChannel.js.map +1 -0
  794. package/lib/module/store/mappers/mapStorableToMember.js +38 -0
  795. package/lib/module/store/mappers/mapStorableToMember.js.map +1 -0
  796. package/lib/module/store/mappers/mapStorableToMessage.js +50 -0
  797. package/lib/module/store/mappers/mapStorableToMessage.js.map +1 -0
  798. package/lib/module/store/mappers/mapStorableToReaction.js +31 -0
  799. package/lib/module/store/mappers/mapStorableToReaction.js.map +1 -0
  800. package/lib/module/store/mappers/mapStorableToRead.js +20 -0
  801. package/lib/module/store/mappers/mapStorableToRead.js.map +1 -0
  802. package/lib/module/store/mappers/mapStorableToUser.js +31 -0
  803. package/lib/module/store/mappers/mapStorableToUser.js.map +1 -0
  804. package/lib/module/store/mappers/mapUserToStorable.js +34 -0
  805. package/lib/module/store/mappers/mapUserToStorable.js.map +1 -0
  806. package/lib/module/store/schema.js +161 -0
  807. package/lib/module/store/schema.js.map +1 -0
  808. package/lib/module/store/sqlite-utils/appendWhereCluase.js +37 -0
  809. package/lib/module/store/sqlite-utils/appendWhereCluase.js.map +1 -0
  810. package/lib/module/store/sqlite-utils/createCreateTableQuery.js +35 -0
  811. package/lib/module/store/sqlite-utils/createCreateTableQuery.js.map +1 -0
  812. package/lib/module/store/sqlite-utils/createDeleteQuery.js +14 -0
  813. package/lib/module/store/sqlite-utils/createDeleteQuery.js.map +1 -0
  814. package/lib/module/store/sqlite-utils/createSelectQuery.js +26 -0
  815. package/lib/module/store/sqlite-utils/createSelectQuery.js.map +1 -0
  816. package/lib/module/store/sqlite-utils/createUpdateQuery.js +29 -0
  817. package/lib/module/store/sqlite-utils/createUpdateQuery.js.map +1 -0
  818. package/lib/module/store/sqlite-utils/createUpsertQuery.js +30 -0
  819. package/lib/module/store/sqlite-utils/createUpsertQuery.js.map +1 -0
  820. package/lib/module/store/sqlite-utils/printRow.js +33 -0
  821. package/lib/module/store/sqlite-utils/printRow.js.map +1 -0
  822. package/lib/module/store/types.js +4 -0
  823. package/lib/module/store/types.js.map +1 -0
  824. package/lib/module/version.json +1 -1
  825. package/lib/typescript/__tests__/utils/BetterSqlite.d.ts +8 -0
  826. package/lib/typescript/components/Channel/Channel.d.ts +3 -5
  827. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
  828. package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts +1 -1
  829. package/lib/typescript/components/ChannelList/hooks/listeners/handleEventToSyncDB.d.ts +2 -0
  830. package/lib/typescript/components/ChannelList/hooks/listeners/useConnectionRecovered.d.ts +3 -2
  831. package/lib/typescript/components/ChannelList/hooks/listeners/useSyncDatabase.d.ts +6 -0
  832. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +4 -2
  833. package/lib/typescript/components/Chat/Chat.d.ts +4 -0
  834. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +1 -1
  835. package/lib/typescript/components/MessageList/MessageList.d.ts +1 -1
  836. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +17 -0
  837. package/lib/typescript/contexts/chatContext/ChatContext.d.ts +1 -0
  838. package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +4 -0
  839. package/lib/typescript/hooks/useImageErrorHandler.d.ts +5 -0
  840. package/lib/typescript/i18n/en.json +1 -2
  841. package/lib/typescript/i18n/fr.json +1 -2
  842. package/lib/typescript/i18n/he.json +0 -2
  843. package/lib/typescript/i18n/hi.json +1 -2
  844. package/lib/typescript/i18n/it.json +1 -2
  845. package/lib/typescript/i18n/ja.json +0 -2
  846. package/lib/typescript/i18n/ko.json +0 -2
  847. package/lib/typescript/i18n/nl.json +1 -2
  848. package/lib/typescript/i18n/ru.json +1 -2
  849. package/lib/typescript/i18n/tr.json +1 -2
  850. package/lib/typescript/index.d.ts +2 -0
  851. package/lib/typescript/store/QuickSqliteClient.d.ts +18 -0
  852. package/lib/typescript/store/apis/deleteChannel.d.ts +4 -0
  853. package/lib/typescript/store/apis/deleteMember.d.ts +6 -0
  854. package/lib/typescript/store/apis/deleteMessagesForChannel.d.ts +4 -0
  855. package/lib/typescript/store/apis/deleteReactions.d.ts +4 -0
  856. package/lib/typescript/store/apis/getAllChannelIds.d.ts +1 -0
  857. package/lib/typescript/store/apis/getChannelMessages.d.ts +6 -0
  858. package/lib/typescript/store/apis/getChannels.d.ts +7 -0
  859. package/lib/typescript/store/apis/getLastSyncedAt.d.ts +3 -0
  860. package/lib/typescript/store/apis/getMembers.d.ts +5 -0
  861. package/lib/typescript/store/apis/getReads.d.ts +5 -0
  862. package/lib/typescript/store/apis/queries/selectChannelIdsForFilterSort.d.ts +6 -0
  863. package/lib/typescript/store/apis/queries/selectChannels.d.ts +4 -0
  864. package/lib/typescript/store/apis/queries/selectMembersForChannels.d.ts +2 -0
  865. package/lib/typescript/store/apis/queries/selectMessagesForChannels.d.ts +2 -0
  866. package/lib/typescript/store/apis/queries/selectReactionsForMessages.d.ts +2 -0
  867. package/lib/typescript/store/apis/queries/selectReadsForChannels.d.ts +2 -0
  868. package/lib/typescript/store/apis/updateMessage.d.ts +6 -0
  869. package/lib/typescript/store/apis/updateReaction.d.ts +7 -0
  870. package/lib/typescript/store/apis/upsertChannelData.d.ts +5 -0
  871. package/lib/typescript/store/apis/upsertChannels.d.ts +9 -0
  872. package/lib/typescript/store/apis/upsertCidsForQuery.d.ts +7 -0
  873. package/lib/typescript/store/apis/upsertLastSyncedAt.d.ts +4 -0
  874. package/lib/typescript/store/apis/upsertMembers.d.ts +7 -0
  875. package/lib/typescript/store/apis/upsertMessages.d.ts +6 -0
  876. package/lib/typescript/store/apis/upsertReads.d.ts +7 -0
  877. package/lib/typescript/store/apis/utils/convertFilterSortToQuery.d.ts +6 -0
  878. package/lib/typescript/store/constants.d.ts +3 -0
  879. package/lib/typescript/store/mappers/mapChannelDataToStorable.d.ts +4 -0
  880. package/lib/typescript/store/mappers/mapDateTimeToStorable.d.ts +1 -0
  881. package/lib/typescript/store/mappers/mapMemberToStorable.d.ts +7 -0
  882. package/lib/typescript/store/mappers/mapMessageToStorable.d.ts +3 -0
  883. package/lib/typescript/store/mappers/mapReactionToStorable.d.ts +3 -0
  884. package/lib/typescript/store/mappers/mapReadToStorable.d.ts +7 -0
  885. package/lib/typescript/store/mappers/mapStorableToChannel.d.ts +4 -0
  886. package/lib/typescript/store/mappers/mapStorableToMember.d.ts +4 -0
  887. package/lib/typescript/store/mappers/mapStorableToMessage.d.ts +8 -0
  888. package/lib/typescript/store/mappers/mapStorableToReaction.d.ts +4 -0
  889. package/lib/typescript/store/mappers/mapStorableToRead.d.ts +4 -0
  890. package/lib/typescript/store/mappers/mapStorableToUser.d.ts +4 -0
  891. package/lib/typescript/store/mappers/mapUserToStorable.d.ts +3 -0
  892. package/lib/typescript/store/schema.d.ts +110 -0
  893. package/lib/typescript/store/sqlite-utils/__tests__/createSelectQuery.test.d.ts +1 -0
  894. package/lib/typescript/store/sqlite-utils/appendWhereCluase.d.ts +2 -0
  895. package/lib/typescript/store/sqlite-utils/createCreateTableQuery.d.ts +2 -0
  896. package/lib/typescript/store/sqlite-utils/createDeleteQuery.d.ts +12 -0
  897. package/lib/typescript/store/sqlite-utils/createSelectQuery.d.ts +13 -0
  898. package/lib/typescript/store/sqlite-utils/createUpdateQuery.d.ts +13 -0
  899. package/lib/typescript/store/sqlite-utils/createUpsertQuery.d.ts +11 -0
  900. package/lib/typescript/store/sqlite-utils/printRow.d.ts +2 -0
  901. package/lib/typescript/store/types.d.ts +8 -0
  902. package/lib/typescript/utils/Streami18n.d.ts +1 -2
  903. package/package.json +5 -3
  904. package/src/__tests__/offline-feature.test.js +659 -0
  905. package/src/__tests__/utils/BetterSqlite.js +44 -0
  906. package/src/components/Avatar/Avatar.tsx +46 -31
  907. package/src/components/Avatar/GroupAvatar.tsx +55 -43
  908. package/src/components/Channel/Channel.tsx +101 -136
  909. package/src/components/Channel/hooks/useCreateChannelContext.ts +2 -0
  910. package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +2 -0
  911. package/src/components/ChannelList/ChannelList.tsx +25 -2
  912. package/src/components/ChannelList/ChannelListMessenger.tsx +4 -0
  913. package/src/components/ChannelList/hooks/listeners/__tests__/useChannelUpdated.test.tsx +1 -0
  914. package/src/components/ChannelList/hooks/listeners/handleEventToSyncDB.ts +142 -0
  915. package/src/components/ChannelList/hooks/listeners/useAddedToChannelNotification.ts +2 -2
  916. package/src/components/ChannelList/hooks/listeners/useChannelDeleted.ts +2 -2
  917. package/src/components/ChannelList/hooks/listeners/useChannelHidden.ts +2 -2
  918. package/src/components/ChannelList/hooks/listeners/useChannelTruncated.ts +2 -2
  919. package/src/components/ChannelList/hooks/listeners/useChannelUpdated.ts +2 -2
  920. package/src/components/ChannelList/hooks/listeners/useChannelVisible.ts +2 -2
  921. package/src/components/ChannelList/hooks/listeners/useConnectionRecovered.ts +59 -14
  922. package/src/components/ChannelList/hooks/listeners/useNewMessage.ts +3 -2
  923. package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +2 -2
  924. package/src/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.ts +2 -2
  925. package/src/components/ChannelList/hooks/listeners/useSyncDatabase.ts +30 -0
  926. package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +5 -4
  927. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +34 -10
  928. package/src/components/ChannelPreview/ChannelPreview.tsx +8 -8
  929. package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +10 -9
  930. package/src/components/Chat/Chat.tsx +24 -3
  931. package/src/components/Chat/hooks/useCreateChatContext.ts +7 -3
  932. package/src/components/Chat/hooks/useMutedUsers.ts +5 -3
  933. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +3 -3
  934. package/src/components/ImageGallery/components/ImageGridHandle.tsx +1 -1
  935. package/src/components/MessageInput/__tests__/__snapshots__/MessageInput.test.js.snap +16 -12
  936. package/src/components/MessageList/MessageList.tsx +167 -109
  937. package/src/components/MessageList/__tests__/__snapshots__/TypingIndicator.test.js.snap +45 -42
  938. package/src/components/Reply/Reply.tsx +1 -1
  939. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +2 -0
  940. package/src/contexts/channelContext/ChannelContext.tsx +15 -0
  941. package/src/contexts/chatContext/ChatContext.tsx +1 -0
  942. package/src/contexts/overlayContext/OverlayProvider.tsx +0 -3
  943. package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +4 -0
  944. package/src/hooks/useImageErrorHandler.ts +16 -0
  945. package/src/i18n/en.json +1 -2
  946. package/src/i18n/fr.json +1 -2
  947. package/src/i18n/he.json +0 -2
  948. package/src/i18n/hi.json +1 -2
  949. package/src/i18n/it.json +1 -2
  950. package/src/i18n/ja.json +0 -2
  951. package/src/i18n/ko.json +0 -2
  952. package/src/i18n/nl.json +1 -2
  953. package/src/i18n/ru.json +1 -2
  954. package/src/i18n/tr.json +1 -2
  955. package/src/index.ts +3 -0
  956. package/src/mock-builders/DB/consts.ts +2 -0
  957. package/src/mock-builders/DB/mock.ts +114 -0
  958. package/src/mock-builders/api/channelMocks.tsx +1 -0
  959. package/src/mock-builders/event/memberAdded.js +8 -0
  960. package/src/mock-builders/event/memberRemoved.js +8 -0
  961. package/src/mock-builders/event/memberUpdated.js +8 -0
  962. package/src/mock-builders/event/reactionDeleted.js +9 -0
  963. package/src/mock-builders/event/reactionNew.js +9 -0
  964. package/src/mock-builders/event/reactionUpdated.js +9 -0
  965. package/src/mock-builders/generator/reaction.js +1 -1
  966. package/src/store/QuickSqliteClient.ts +120 -0
  967. package/src/store/apis/deleteChannel.ts +14 -0
  968. package/src/store/apis/deleteMember.ts +25 -0
  969. package/src/store/apis/deleteMessagesForChannel.ts +19 -0
  970. package/src/store/apis/deleteReactions.ts +24 -0
  971. package/src/store/apis/getAllChannelIds.ts +7 -0
  972. package/src/store/apis/getChannelMessages.ts +50 -0
  973. package/src/store/apis/getChannels.ts +43 -0
  974. package/src/store/apis/getLastSyncedAt.ts +13 -0
  975. package/src/store/apis/getMembers.ts +26 -0
  976. package/src/store/apis/getReads.ts +26 -0
  977. package/src/store/apis/queries/selectChannelIdsForFilterSort.ts +28 -0
  978. package/src/store/apis/queries/selectChannels.ts +19 -0
  979. package/src/store/apis/queries/selectMembersForChannels.ts +32 -0
  980. package/src/store/apis/queries/selectMessagesForChannels.ts +40 -0
  981. package/src/store/apis/queries/selectReactionsForMessages.ts +33 -0
  982. package/src/store/apis/queries/selectReadsForChannels.ts +30 -0
  983. package/src/store/apis/updateMessage.ts +65 -0
  984. package/src/store/apis/updateReaction.ts +54 -0
  985. package/src/store/apis/upsertChannelData.ts +20 -0
  986. package/src/store/apis/upsertChannels.ts +79 -0
  987. package/src/store/apis/upsertCidsForQuery.ts +30 -0
  988. package/src/store/apis/upsertLastSyncedAt.ts +17 -0
  989. package/src/store/apis/upsertMembers.ts +41 -0
  990. package/src/store/apis/upsertMessages.ts +43 -0
  991. package/src/store/apis/upsertReads.ts +41 -0
  992. package/src/store/apis/utils/convertFilterSortToQuery.ts +14 -0
  993. package/src/store/constants.ts +3 -0
  994. package/src/store/mappers/mapChannelDataToStorable.ts +67 -0
  995. package/src/store/mappers/mapDateTimeToStorable.ts +5 -0
  996. package/src/store/mappers/mapMemberToStorable.ts +45 -0
  997. package/src/store/mappers/mapMessageToStorable.ts +35 -0
  998. package/src/store/mappers/mapReactionToStorable.ts +19 -0
  999. package/src/store/mappers/mapReadToStorable.ts +25 -0
  1000. package/src/store/mappers/mapStorableToChannel.ts +69 -0
  1001. package/src/store/mappers/mapStorableToMember.ts +42 -0
  1002. package/src/store/mappers/mapStorableToMessage.ts +40 -0
  1003. package/src/store/mappers/mapStorableToReaction.ts +25 -0
  1004. package/src/store/mappers/mapStorableToRead.ts +21 -0
  1005. package/src/store/mappers/mapStorableToUser.ts +23 -0
  1006. package/src/store/mappers/mapUserToStorable.ts +18 -0
  1007. package/src/store/schema.ts +284 -0
  1008. package/src/store/sqlite-utils/__tests__/createSelectQuery.test.ts +21 -0
  1009. package/src/store/sqlite-utils/appendWhereCluase.ts +31 -0
  1010. package/src/store/sqlite-utils/createCreateTableQuery.ts +39 -0
  1011. package/src/store/sqlite-utils/createDeleteQuery.ts +23 -0
  1012. package/src/store/sqlite-utils/createSelectQuery.ts +25 -0
  1013. package/src/store/sqlite-utils/createUpdateQuery.ts +27 -0
  1014. package/src/store/sqlite-utils/createUpsertQuery.ts +48 -0
  1015. package/src/store/sqlite-utils/printRow.ts +28 -0
  1016. package/src/store/types.ts +11 -0
  1017. package/src/version.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["Chat.tsx"],"names":["ChatWithContext","props","children","client","closeConnectionOnBackground","i18nInstance","style","channel","setChannel","t","key","tDateTimeParser","input","translators","setTranslators","loadingTranslators","connectionRecovering","isOnline","mutedUsers","setUserAgent","SDK","Platform","OS","version","recoverStateOnReconnect","setActiveChannel","newChannel","appSettings","chatContext","userLanguage","user","language","DEFAULT_USER_LANGUAGE","Chat"],"mappings":"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","sourcesContent":["import React, { PropsWithChildren, useEffect, useState } from 'react';\nimport { Platform } from 'react-native';\n\nimport Dayjs from 'dayjs';\n\nimport type { Channel } from 'stream-chat';\n\nimport { useAppSettings } from './hooks/useAppSettings';\nimport { useCreateChatContext } from './hooks/useCreateChatContext';\nimport { useIsOnline } from './hooks/useIsOnline';\nimport { useMutedUsers } from './hooks/useMutedUsers';\n\nimport { ChatContextValue, ChatProvider } from '../../contexts/chatContext/ChatContext';\nimport { useOverlayContext } from '../../contexts/overlayContext/OverlayContext';\nimport { DeepPartial, ThemeProvider } from '../../contexts/themeContext/ThemeContext';\nimport type { Theme } from '../../contexts/themeContext/utils/theme';\nimport {\n DEFAULT_USER_LANGUAGE,\n TranslationProvider,\n TranslatorFunctions,\n} from '../../contexts/translationContext/TranslationContext';\nimport { useStreami18n } from '../../hooks/useStreami18n';\nimport init from '../../init';\n\nimport { SDK } from '../../native';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport type { Streami18n } from '../../utils/Streami18n';\nimport { version } from '../../version.json';\n\ninit();\n\nexport type ChatProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChatContextValue<StreamChatGenerics>, 'client'> & {\n /**\n * When false, ws connection won't be disconnection upon backgrounding the app.\n * To receive push notifications, its necessary that user doesn't have active\n * websocket connection. So by default, we disconnect websocket connection when\n * app goes to background, and reconnect when app comes to foreground.\n */\n closeConnectionOnBackground?: boolean;\n /**\n * Instance of Streami18n class should be provided to Chat component to enable internationalization.\n *\n * Stream provides following list of in-built translations:\n * 1. English (en)\n * 2. Dutch (nl)\n * 3. ...\n * 4. ...\n *\n * Simplest way to start using chat components in one of the in-built languages would be following:\n *\n * ```\n * const i18n = new Streami18n('nl');\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * If you would like to override certain keys in in-built translation.\n * UI will be automatically updated in this case.\n *\n * ```\n * const i18n = new Streami18n('nl');\n *\n * i18n.registerTranslation('nl', {\n * 'Nothing yet...': 'Nog Niet ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} en {{ secondUser }} zijn aan het typen...',\n * });\n *\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * You can use the same function to add whole new language.\n *\n * ```\n * const i18n = new Streami18n('it');\n *\n * i18n.registerTranslation('it', {\n * 'Nothing yet...': 'Non ancora ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} a {{ secondUser }} stanno scrivendo...',\n * });\n *\n * // Make sure to call setLanguage to reflect new language in UI.\n * i18n.setLanguage('it');\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n */\n i18nInstance?: Streami18n;\n /**\n * You can pass the theme object to customize the styles of Chat components. You can check the default theme in [theme.ts](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/contexts/themeContext/utils/theme.ts)\n *\n * Please check section about [themes in cookbook](https://github.com/GetStream/stream-chat-react-native/wiki/Cookbook-v3.0#theme) for details.\n *\n * ```\n * import type { DeepPartial, Theme } from 'stream-chat-react-native';\n *\n * const theme: DeepPartial<Theme> = {\n * messageSimple: {\n * file: {\n * container: {\n * backgroundColor: 'red',\n * },\n * icon: {\n * height: 16,\n * width: 16,\n * },\n * },\n * },\n * };\n *\n * <Chat style={theme}>\n * </Chat>\n * ```\n *\n * @overrideType object\n */\n style?: DeepPartial<Theme>;\n};\n\nconst ChatWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: PropsWithChildren<ChatProps<StreamChatGenerics>>,\n) => {\n const { children, client, closeConnectionOnBackground = true, i18nInstance, style } = props;\n\n const [channel, setChannel] = useState<Channel<StreamChatGenerics>>();\n const [translators, setTranslators] = useState<TranslatorFunctions>({\n t: (key: string) => key,\n tDateTimeParser: (input?: string | number | Date) => Dayjs(input),\n });\n\n /**\n * Setup translators\n */\n const loadingTranslators = useStreami18n({ i18nInstance, setTranslators });\n\n /**\n * Setup connection event listeners\n */\n const { connectionRecovering, isOnline } = useIsOnline<StreamChatGenerics>(\n client,\n closeConnectionOnBackground,\n );\n\n /**\n * Setup muted user listener\n */\n const mutedUsers = useMutedUsers<StreamChatGenerics>(client);\n\n useEffect(() => {\n if (client.setUserAgent) {\n client.setUserAgent(`${SDK}-${Platform.OS}-${version}`);\n // This is to disable recovery related logic in js client, since we handle it in this SDK\n client.recoverStateOnReconnect = false;\n }\n }, []);\n\n const setActiveChannel = (newChannel?: Channel<StreamChatGenerics>) => setChannel(newChannel);\n\n const appSettings = useAppSettings(client, isOnline);\n\n const chatContext = useCreateChatContext({\n appSettings,\n channel,\n client,\n connectionRecovering,\n isOnline,\n mutedUsers,\n setActiveChannel,\n });\n\n if (loadingTranslators) return null;\n\n return (\n <ChatProvider<StreamChatGenerics> value={chatContext}>\n <TranslationProvider\n value={{ ...translators, userLanguage: client.user?.language || DEFAULT_USER_LANGUAGE }}\n >\n <ThemeProvider style={style}>{children}</ThemeProvider>\n </TranslationProvider>\n </ChatProvider>\n );\n};\n\n/**\n * Chat - Wrapper component for Chat. The needs to be placed around any other chat components.\n * This Chat component provides the ChatContext to all other components.\n *\n * The ChatContext provides the following props:\n *\n * - channel - currently active channel\n * - client - client connection\n * - connectionRecovering - whether or not websocket is reconnecting\n * - isOnline - whether or not set user is active\n * - setActiveChannel - function to set the currently active channel\n *\n * The Chat Component takes the following generics in order:\n * - At (AttachmentType) - custom Attachment object extension\n * - Ct (ChannelType) - custom Channel object extension\n * - Co (CommandType) - custom Command string union extension\n * - Ev (EventType) - custom Event object extension\n * - Me (MessageType) - custom Message object extension\n * - Re (ReactionType) - custom Reaction object extension\n * - Us (UserType) - custom User object extension\n */\nexport const Chat = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: PropsWithChildren<ChatProps<StreamChatGenerics>>,\n) => {\n const { style } = useOverlayContext();\n\n return <ChatWithContext {...{ style }} {...props} />;\n};\n"]}
1
+ {"version":3,"sources":["Chat.tsx"],"names":["ChatWithContext","props","children","client","closeConnectionOnBackground","enableOfflineSupport","i18nInstance","style","channel","setChannel","t","key","tDateTimeParser","input","translators","setTranslators","loadingTranslators","connectionRecovering","isOnline","mutedUsers","setUserAgent","SDK","Platform","OS","version","recoverStateOnReconnect","persistUserOnConnectionFailure","setActiveChannel","newChannel","appSettings","chatContext","QuickSqliteClient","initializeDatabase","userLanguage","user","language","DEFAULT_USER_LANGUAGE","Chat"],"mappings":"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","sourcesContent":["import React, { PropsWithChildren, useEffect, useState } from 'react';\nimport { Platform } from 'react-native';\n\nimport Dayjs from 'dayjs';\n\nimport type { Channel } from 'stream-chat';\n\nimport { useAppSettings } from './hooks/useAppSettings';\nimport { useCreateChatContext } from './hooks/useCreateChatContext';\nimport { useIsOnline } from './hooks/useIsOnline';\nimport { useMutedUsers } from './hooks/useMutedUsers';\n\nimport { ChatContextValue, ChatProvider } from '../../contexts/chatContext/ChatContext';\nimport { useOverlayContext } from '../../contexts/overlayContext/OverlayContext';\nimport { DeepPartial, ThemeProvider } from '../../contexts/themeContext/ThemeContext';\nimport type { Theme } from '../../contexts/themeContext/utils/theme';\nimport {\n DEFAULT_USER_LANGUAGE,\n TranslationProvider,\n TranslatorFunctions,\n} from '../../contexts/translationContext/TranslationContext';\nimport { useStreami18n } from '../../hooks/useStreami18n';\nimport init from '../../init';\n\nimport { SDK } from '../../native';\nimport { QuickSqliteClient } from '../../store/QuickSqliteClient';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport type { Streami18n } from '../../utils/Streami18n';\nimport { version } from '../../version.json';\n\ninit();\n\nexport type ChatProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChatContextValue<StreamChatGenerics>, 'client'> & {\n /**\n * When false, ws connection won't be disconnection upon backgrounding the app.\n * To receive push notifications, its necessary that user doesn't have active\n * websocket connection. So by default, we disconnect websocket connection when\n * app goes to background, and reconnect when app comes to foreground.\n */\n closeConnectionOnBackground?: boolean;\n /**\n * Enables offline storage and loading for chat data.\n */\n enableOfflineSupport?: boolean;\n /**\n * Instance of Streami18n class should be provided to Chat component to enable internationalization.\n *\n * Stream provides following list of in-built translations:\n * 1. English (en)\n * 2. Dutch (nl)\n * 3. ...\n * 4. ...\n *\n * Simplest way to start using chat components in one of the in-built languages would be following:\n *\n * ```\n * const i18n = new Streami18n('nl');\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * If you would like to override certain keys in in-built translation.\n * UI will be automatically updated in this case.\n *\n * ```\n * const i18n = new Streami18n('nl');\n *\n * i18n.registerTranslation('nl', {\n * 'Nothing yet...': 'Nog Niet ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} en {{ secondUser }} zijn aan het typen...',\n * });\n *\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * You can use the same function to add whole new language.\n *\n * ```\n * const i18n = new Streami18n('it');\n *\n * i18n.registerTranslation('it', {\n * 'Nothing yet...': 'Non ancora ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} a {{ secondUser }} stanno scrivendo...',\n * });\n *\n * // Make sure to call setLanguage to reflect new language in UI.\n * i18n.setLanguage('it');\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n */\n i18nInstance?: Streami18n;\n /**\n * You can pass the theme object to customize the styles of Chat components. You can check the default theme in [theme.ts](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/contexts/themeContext/utils/theme.ts)\n *\n * Please check section about [themes in cookbook](https://github.com/GetStream/stream-chat-react-native/wiki/Cookbook-v3.0#theme) for details.\n *\n * ```\n * import type { DeepPartial, Theme } from 'stream-chat-react-native';\n *\n * const theme: DeepPartial<Theme> = {\n * messageSimple: {\n * file: {\n * container: {\n * backgroundColor: 'red',\n * },\n * icon: {\n * height: 16,\n * width: 16,\n * },\n * },\n * },\n * };\n *\n * <Chat style={theme}>\n * </Chat>\n * ```\n *\n * @overrideType object\n */\n style?: DeepPartial<Theme>;\n};\n\nconst ChatWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: PropsWithChildren<ChatProps<StreamChatGenerics>>,\n) => {\n const {\n children,\n client,\n closeConnectionOnBackground = true,\n enableOfflineSupport = false,\n i18nInstance,\n style,\n } = props;\n\n const [channel, setChannel] = useState<Channel<StreamChatGenerics>>();\n const [translators, setTranslators] = useState<TranslatorFunctions>({\n t: (key: string) => key,\n tDateTimeParser: (input?: string | number | Date) => Dayjs(input),\n });\n\n /**\n * Setup translators\n */\n const loadingTranslators = useStreami18n({ i18nInstance, setTranslators });\n\n /**\n * Setup connection event listeners\n */\n const { connectionRecovering, isOnline } = useIsOnline<StreamChatGenerics>(\n client,\n closeConnectionOnBackground,\n );\n\n /**\n * Setup muted user listener\n * TODO: reimplement\n */\n const mutedUsers = useMutedUsers<StreamChatGenerics>(client);\n\n useEffect(() => {\n if (client) {\n client.setUserAgent(`${SDK}-${Platform.OS}-${version}`);\n // This is to disable recovery related logic in js client, since we handle it in this SDK\n client.recoverStateOnReconnect = false;\n client.persistUserOnConnectionFailure = enableOfflineSupport;\n }\n }, [client]);\n\n const setActiveChannel = (newChannel?: Channel<StreamChatGenerics>) => setChannel(newChannel);\n\n const appSettings = useAppSettings(client, isOnline);\n\n const chatContext = useCreateChatContext({\n appSettings,\n channel,\n client,\n connectionRecovering,\n enableOfflineSupport,\n isOnline,\n mutedUsers,\n setActiveChannel,\n });\n\n useEffect(() => {\n if (enableOfflineSupport) {\n QuickSqliteClient.initializeDatabase();\n }\n }, []);\n\n if (loadingTranslators) return null;\n\n return (\n <ChatProvider<StreamChatGenerics> value={chatContext}>\n <TranslationProvider\n value={{ ...translators, userLanguage: client.user?.language || DEFAULT_USER_LANGUAGE }}\n >\n <ThemeProvider style={style}>{children}</ThemeProvider>\n </TranslationProvider>\n </ChatProvider>\n );\n};\n\n/**\n * Chat - Wrapper component for Chat. The needs to be placed around any other chat components.\n * This Chat component provides the ChatContext to all other components.\n *\n * The ChatContext provides the following props:\n *\n * - channel - currently active channel\n * - client - client connection\n * - connectionRecovering - whether or not websocket is reconnecting\n * - isOnline - whether or not set user is active\n * - setActiveChannel - function to set the currently active channel\n *\n * The Chat Component takes the following generics in order:\n * - At (AttachmentType) - custom Attachment object extension\n * - Ct (ChannelType) - custom Channel object extension\n * - Co (CommandType) - custom Command string union extension\n * - Ev (EventType) - custom Event object extension\n * - Me (MessageType) - custom Message object extension\n * - Re (ReactionType) - custom Reaction object extension\n * - Us (UserType) - custom User object extension\n */\nexport const Chat = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: PropsWithChildren<ChatProps<StreamChatGenerics>>,\n) => {\n const { style } = useOverlayContext();\n\n return <ChatWithContext {...{ style }} {...props} />;\n};\n"]}
@@ -10,11 +10,12 @@ var useCreateChatContext = function useCreateChatContext(_ref) {
10
10
  channel = _ref.channel,
11
11
  client = _ref.client,
12
12
  connectionRecovering = _ref.connectionRecovering,
13
+ enableOfflineSupport = _ref.enableOfflineSupport,
13
14
  isOnline = _ref.isOnline,
14
15
  mutedUsers = _ref.mutedUsers,
15
16
  setActiveChannel = _ref.setActiveChannel;
16
17
  var channelId = channel == null ? void 0 : channel.id;
17
- var clientValues = "" + client.clientID + Object.keys(client.activeChannels).length + Object.keys(client.listeners).length + client.mutedChannels.length;
18
+ var clientValues = client ? "" + client.clientID + Object.keys(client.activeChannels).length + Object.keys(client.listeners).length + client.mutedChannels.length : 'Offline';
18
19
  var mutedUsersLength = mutedUsers.length;
19
20
  var chatContext = (0, _react.useMemo)(function () {
20
21
  return {
@@ -22,6 +23,7 @@ var useCreateChatContext = function useCreateChatContext(_ref) {
22
23
  channel: channel,
23
24
  client: client,
24
25
  connectionRecovering: connectionRecovering,
26
+ enableOfflineSupport: enableOfflineSupport,
25
27
  isOnline: isOnline,
26
28
  mutedUsers: mutedUsers,
27
29
  setActiveChannel: setActiveChannel
@@ -1 +1 @@
1
- {"version":3,"sources":["useCreateChatContext.ts"],"names":["useCreateChatContext","appSettings","channel","client","connectionRecovering","isOnline","mutedUsers","setActiveChannel","channelId","id","clientValues","clientID","Object","keys","activeChannels","length","listeners","mutedChannels","mutedUsersLength","chatContext"],"mappings":";;;;;AAAA;;AAKO,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,OAUQ;AAAA,MAP1CC,WAO0C,QAP1CA,WAO0C;AAAA,MAN1CC,OAM0C,QAN1CA,OAM0C;AAAA,MAL1CC,MAK0C,QAL1CA,MAK0C;AAAA,MAJ1CC,oBAI0C,QAJ1CA,oBAI0C;AAAA,MAH1CC,QAG0C,QAH1CA,QAG0C;AAAA,MAF1CC,UAE0C,QAF1CA,UAE0C;AAAA,MAD1CC,gBAC0C,QAD1CA,gBAC0C;AAC1C,MAAMC,SAAS,GAAGN,OAAH,oBAAGA,OAAO,CAAEO,EAA3B;AACA,MAAMC,YAAY,QAAMP,MAAM,CAACQ,QAAb,GAAwBC,MAAM,CAACC,IAAP,CAAYV,MAAM,CAACW,cAAnB,EAAmCC,MAA3D,GAChBH,MAAM,CAACC,IAAP,CAAYV,MAAM,CAACa,SAAnB,EAA8BD,MADd,GAEfZ,MAAM,CAACc,aAAP,CAAqBF,MAFxB;AAGA,MAAMG,gBAAgB,GAAGZ,UAAU,CAACS,MAApC;AAEA,MAAMI,WAAiD,GAAG,oBACxD;AAAA,WAAO;AACLlB,MAAAA,WAAW,EAAXA,WADK;AAELC,MAAAA,OAAO,EAAPA,OAFK;AAGLC,MAAAA,MAAM,EAANA,MAHK;AAILC,MAAAA,oBAAoB,EAApBA,oBAJK;AAKLC,MAAAA,QAAQ,EAARA,QALK;AAMLC,MAAAA,UAAU,EAAVA,UANK;AAOLC,MAAAA,gBAAgB,EAAhBA;AAPK,KAAP;AAAA,GADwD,EAUxD,CAACC,SAAD,EAAYE,YAAZ,EAA0BN,oBAA1B,EAAgDC,QAAhD,EAA0Da,gBAA1D,CAVwD,CAA1D;AAaA,SAAOC,WAAP;AACD,CA/BM","sourcesContent":["import { useMemo } from 'react';\n\nimport type { ChatContextValue } from '../../../contexts/chatContext/ChatContext';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\nexport const useCreateChatContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n appSettings,\n channel,\n client,\n connectionRecovering,\n isOnline,\n mutedUsers,\n setActiveChannel,\n}: ChatContextValue<StreamChatGenerics>) => {\n const channelId = channel?.id;\n const clientValues = `${client.clientID}${Object.keys(client.activeChannels).length}${\n Object.keys(client.listeners).length\n }${client.mutedChannels.length}`;\n const mutedUsersLength = mutedUsers.length;\n\n const chatContext: ChatContextValue<StreamChatGenerics> = useMemo(\n () => ({\n appSettings,\n channel,\n client,\n connectionRecovering,\n isOnline,\n mutedUsers,\n setActiveChannel,\n }),\n [channelId, clientValues, connectionRecovering, isOnline, mutedUsersLength],\n );\n\n return chatContext;\n};\n"]}
1
+ {"version":3,"sources":["useCreateChatContext.ts"],"names":["useCreateChatContext","appSettings","channel","client","connectionRecovering","enableOfflineSupport","isOnline","mutedUsers","setActiveChannel","channelId","id","clientValues","clientID","Object","keys","activeChannels","length","listeners","mutedChannels","mutedUsersLength","chatContext"],"mappings":";;;;;AAAA;;AAKO,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,OAWQ;AAAA,MAR1CC,WAQ0C,QAR1CA,WAQ0C;AAAA,MAP1CC,OAO0C,QAP1CA,OAO0C;AAAA,MAN1CC,MAM0C,QAN1CA,MAM0C;AAAA,MAL1CC,oBAK0C,QAL1CA,oBAK0C;AAAA,MAJ1CC,oBAI0C,QAJ1CA,oBAI0C;AAAA,MAH1CC,QAG0C,QAH1CA,QAG0C;AAAA,MAF1CC,UAE0C,QAF1CA,UAE0C;AAAA,MAD1CC,gBAC0C,QAD1CA,gBAC0C;AAC1C,MAAMC,SAAS,GAAGP,OAAH,oBAAGA,OAAO,CAAEQ,EAA3B;AACA,MAAMC,YAAY,GAAGR,MAAM,QACpBA,MAAM,CAACS,QADa,GACFC,MAAM,CAACC,IAAP,CAAYX,MAAM,CAACY,cAAnB,EAAmCC,MADjC,GAErBH,MAAM,CAACC,IAAP,CAAYX,MAAM,CAACc,SAAnB,EAA8BD,MAFT,GAGpBb,MAAM,CAACe,aAAP,CAAqBF,MAHD,GAIvB,SAJJ;AAKA,MAAMG,gBAAgB,GAAGZ,UAAU,CAACS,MAApC;AAEA,MAAMI,WAAiD,GAAG,oBACxD;AAAA,WAAO;AACLnB,MAAAA,WAAW,EAAXA,WADK;AAELC,MAAAA,OAAO,EAAPA,OAFK;AAGLC,MAAAA,MAAM,EAANA,MAHK;AAILC,MAAAA,oBAAoB,EAApBA,oBAJK;AAKLC,MAAAA,oBAAoB,EAApBA,oBALK;AAMLC,MAAAA,QAAQ,EAARA,QANK;AAOLC,MAAAA,UAAU,EAAVA,UAPK;AAQLC,MAAAA,gBAAgB,EAAhBA;AARK,KAAP;AAAA,GADwD,EAWxD,CAACC,SAAD,EAAYE,YAAZ,EAA0BP,oBAA1B,EAAgDE,QAAhD,EAA0Da,gBAA1D,CAXwD,CAA1D;AAcA,SAAOC,WAAP;AACD,CAnCM","sourcesContent":["import { useMemo } from 'react';\n\nimport type { ChatContextValue } from '../../../contexts/chatContext/ChatContext';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\nexport const useCreateChatContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n appSettings,\n channel,\n client,\n connectionRecovering,\n enableOfflineSupport,\n isOnline,\n mutedUsers,\n setActiveChannel,\n}: ChatContextValue<StreamChatGenerics>) => {\n const channelId = channel?.id;\n const clientValues = client\n ? `${client.clientID}${Object.keys(client.activeChannels).length}${\n Object.keys(client.listeners).length\n }${client.mutedChannels.length}`\n : 'Offline';\n const mutedUsersLength = mutedUsers.length;\n\n const chatContext: ChatContextValue<StreamChatGenerics> = useMemo(\n () => ({\n appSettings,\n channel,\n client,\n connectionRecovering,\n enableOfflineSupport,\n isOnline,\n mutedUsers,\n setActiveChannel,\n }),\n [channelId, clientValues, connectionRecovering, isOnline, mutedUsersLength],\n );\n\n return chatContext;\n};\n"]}
@@ -10,7 +10,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
10
10
  var _react = require("react");
11
11
 
12
12
  var useMutedUsers = function useMutedUsers(client) {
13
- var _useState = (0, _react.useState)(client.mutedUsers || []),
13
+ var _useState = (0, _react.useState)((client == null ? void 0 : client.mutedUsers) || []),
14
14
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
15
15
  mutedUsers = _useState2[0],
16
16
  setMutedUsers = _useState2[1];
@@ -24,9 +24,9 @@ var useMutedUsers = function useMutedUsers(client) {
24
24
  });
25
25
  };
26
26
 
27
- client.on('notification.mutes_updated', handleEvent);
27
+ var listener = client == null ? void 0 : client.on('notification.mutes_updated', handleEvent);
28
28
  return function () {
29
- return client.off('notification.mutes_updated', handleEvent);
29
+ return listener == null ? void 0 : listener.unsubscribe();
30
30
  };
31
31
  }, [setMutedUsers]);
32
32
  return mutedUsers;
@@ -1 +1 @@
1
- {"version":3,"sources":["useMutedUsers.ts"],"names":["useMutedUsers","client","mutedUsers","setMutedUsers","handleEvent","event","mutes","me","on","off"],"mappings":";;;;;;;;;AAAA;;AAMO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CAG3BC,MAH2B,EAIxB;AACH,kBAAoC,qBAAqCA,MAAM,CAACC,UAAP,IAAqB,EAA1D,CAApC;AAAA;AAAA,MAAOA,UAAP;AAAA,MAAmBC,aAAnB;;AAEA,wBAAU,YAAM;AACd,QAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAsC;AACxDF,MAAAA,aAAa,CAAC,UAACG,KAAD;AAAA;;AAAA,eAAW,cAAAD,KAAK,CAACE,EAAN,+BAAUD,KAAV,KAAmBA,KAAnB,IAA4B,EAAvC;AAAA,OAAD,CAAb;AACD,KAFD;;AAIAL,IAAAA,MAAM,CAACO,EAAP,CAAU,4BAAV,EAAwCJ,WAAxC;AACA,WAAO;AAAA,aAAMH,MAAM,CAACQ,GAAP,CAAW,4BAAX,EAAyCL,WAAzC,CAAN;AAAA,KAAP;AACD,GAPD,EAOG,CAACD,aAAD,CAPH;AASA,SAAOD,UAAP;AACD,CAjBM","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { Event, Mute, StreamChat } from 'stream-chat';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\nexport const useMutedUsers = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n client: StreamChat<StreamChatGenerics>,\n) => {\n const [mutedUsers, setMutedUsers] = useState<Mute<StreamChatGenerics>[]>(client.mutedUsers || []);\n\n useEffect(() => {\n const handleEvent = (event: Event<StreamChatGenerics>) => {\n setMutedUsers((mutes) => event.me?.mutes || mutes || []);\n };\n\n client.on('notification.mutes_updated', handleEvent);\n return () => client.off('notification.mutes_updated', handleEvent);\n }, [setMutedUsers]);\n\n return mutedUsers;\n};\n"]}
1
+ {"version":3,"sources":["useMutedUsers.ts"],"names":["useMutedUsers","client","mutedUsers","setMutedUsers","handleEvent","event","mutes","me","listener","on","unsubscribe"],"mappings":";;;;;;;;;AAAA;;AAMO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CAG3BC,MAH2B,EAIxB;AACH,kBAAoC,qBAClC,CAAAA,MAAM,QAAN,YAAAA,MAAM,CAAEC,UAAR,KAAsB,EADY,CAApC;AAAA;AAAA,MAAOA,UAAP;AAAA,MAAmBC,aAAnB;;AAIA,wBAAU,YAAM;AACd,QAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAsC;AACxDF,MAAAA,aAAa,CAAC,UAACG,KAAD;AAAA;;AAAA,eAAW,cAAAD,KAAK,CAACE,EAAN,+BAAUD,KAAV,KAAmBA,KAAnB,IAA4B,EAAvC;AAAA,OAAD,CAAb;AACD,KAFD;;AAIA,QAAME,QAAQ,GAAGP,MAAH,oBAAGA,MAAM,CAAEQ,EAAR,CAAW,4BAAX,EAAyCL,WAAzC,CAAjB;AACA,WAAO;AAAA,aAAMI,QAAN,oBAAMA,QAAQ,CAAEE,WAAV,EAAN;AAAA,KAAP;AACD,GAPD,EAOG,CAACP,aAAD,CAPH;AASA,SAAOD,UAAP;AACD,CAnBM","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { Event, Mute, StreamChat } from 'stream-chat';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\nexport const useMutedUsers = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n client: StreamChat<StreamChatGenerics>,\n) => {\n const [mutedUsers, setMutedUsers] = useState<Mute<StreamChatGenerics>[]>(\n client?.mutedUsers || [],\n );\n\n useEffect(() => {\n const handleEvent = (event: Event<StreamChatGenerics>) => {\n setMutedUsers((mutes) => event.me?.mutes || mutes || []);\n };\n\n const listener = client?.on('notification.mutes_updated', handleEvent);\n return () => listener?.unsubscribe();\n }, [setMutedUsers]);\n\n return mutedUsers;\n};\n"]}
@@ -54,7 +54,7 @@ var _getUrlOfImageAttachment = require("../../utils/getUrlOfImageAttachment");
54
54
  var _utils = require("../../utils/utils");
55
55
 
56
56
  var _this = this,
57
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ImageGallery/ImageGallery.tsx";
57
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ImageGallery/ImageGallery.tsx";
58
58
 
59
59
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
60
60
 
@@ -16,7 +16,7 @@ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reani
16
16
  var _utils = require("../../../utils/utils");
17
17
 
18
18
  var _this = this,
19
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx";
19
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx";
20
20
 
21
21
  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); }
22
22
 
@@ -22,7 +22,7 @@ var _utils = require("../../../utils/utils");
22
22
  var _Spinner = require("../../Spinner/Spinner");
23
23
 
24
24
  var _this = this,
25
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ImageGallery/components/AnimatedGalleryVideo.tsx";
25
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ImageGallery/components/AnimatedGalleryVideo.tsx";
26
26
 
27
27
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
28
28
 
@@ -32,7 +32,7 @@ var _icons = require("../../../icons");
32
32
  var _native = require("../../../native");
33
33
 
34
34
  var _this = this,
35
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ImageGallery/components/ImageGalleryFooter.tsx";
35
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ImageGallery/components/ImageGalleryFooter.tsx";
36
36
 
37
37
  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); }
38
38
 
@@ -103,9 +103,7 @@ var ImageGalleryFooterWithContext = function ImageGalleryFooterWithContext(props
103
103
 
104
104
  var _useTheme = (0, _ThemeContext.useTheme)(),
105
105
  _useTheme$theme = _useTheme.theme,
106
- _useTheme$theme$color = _useTheme$theme.colors,
107
- black = _useTheme$theme$color.black,
108
- white = _useTheme$theme$color.white,
106
+ black = _useTheme$theme.colors.black,
109
107
  _useTheme$theme$image = _useTheme$theme.imageGallery.footer,
110
108
  centerContainer = _useTheme$theme$image.centerContainer,
111
109
  container = _useTheme$theme$image.container,
@@ -195,9 +193,7 @@ var ImageGalleryFooterWithContext = function ImageGalleryFooterWithContext(props
195
193
  columnNumber: 5
196
194
  }
197
195
  }, _react["default"].createElement(ReanimatedSafeAreaView, {
198
- style: [container, footerStyle, {
199
- backgroundColor: white
200
- }],
196
+ style: [container, footerStyle],
201
197
  __self: _this,
202
198
  __source: {
203
199
  fileName: _jsxFileName,
@@ -224,7 +220,7 @@ var ImageGalleryFooterWithContext = function ImageGalleryFooterWithContext(props
224
220
  }
225
221
  }) : null, _react["default"].createElement(_reactNative.View, {
226
222
  style: [styles.innerContainer, innerContainer, {
227
- backgroundColor: white
223
+ backgroundColor: 'white'
228
224
  }],
229
225
  __self: _this,
230
226
  __source: {
@@ -1 +1 @@
1
- {"version":3,"sources":["ImageGalleryFooter.tsx"],"names":["ReanimatedSafeAreaView","Animated","createAnimatedComponent","SafeAreaView","styles","StyleSheet","create","centerContainer","alignItems","flex","justifyContent","imageCountText","fontSize","fontWeight","innerContainer","flexDirection","height","leftContainer","marginLeft","rightContainer","marginRight","wrapper","bottom","left","position","right","ImageGalleryFooterWithContext","props","centerElement","duration","GridIcon","leftElement","onPlayPause","onProgressDrag","opacity","openGridView","paused","photo","photoLength","progress","rightElement","selectedIndex","ShareIcon","videoControlElement","visible","setHeight","shareMenuOpen","setShareMenuOpen","theme","colors","black","white","imageGallery","footer","container","t","footerStyle","value","transform","translateY","Extrapolate","CLAMP","share","extension","mime_type","split","fileName","user","id","messageId","fromUrl","uri","localFile","type","url","console","log","event","nativeEvent","layout","backgroundColor","color","index","areEqual","prevProps","nextProps","prevDuration","prevPaused","prevProgress","prevSelectedIndex","nextDuration","nextPaused","nextProgress","nextSelectedIndex","isDurationEqual","isPausedEqual","isProgressEqual","isSelectedIndexEqual","MemoizedImageGalleryFooter","React","memo","ImageGalleryFooter","displayName"],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport { SafeAreaView, StyleSheet, Text, TouchableOpacity, View, ViewStyle } from 'react-native';\nimport Animated, { Extrapolate, interpolate, useAnimatedStyle } from 'react-native-reanimated';\n\nimport { ImageGalleryVideoControl } from './ImageGalleryVideoControl';\n\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../../contexts/translationContext/TranslationContext';\nimport { Grid as GridIconDefault, Share as ShareIconDefault } from '../../../icons';\nimport { deleteFile, saveFile, shareImage } from '../../../native';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport type { Photo } from '../ImageGallery';\n\nconst ReanimatedSafeAreaView = Animated.createAnimatedComponent\n ? Animated.createAnimatedComponent(SafeAreaView)\n : SafeAreaView;\n\nconst styles = StyleSheet.create({\n centerContainer: {\n alignItems: 'center',\n flex: 1,\n justifyContent: 'center',\n },\n imageCountText: {\n fontSize: 16,\n fontWeight: '600',\n },\n innerContainer: {\n flexDirection: 'row',\n height: 56,\n },\n leftContainer: {\n flex: 1,\n justifyContent: 'center',\n marginLeft: 8,\n },\n rightContainer: {\n flex: 1,\n justifyContent: 'center',\n marginRight: 8,\n },\n wrapper: {\n bottom: 0,\n left: 0,\n position: 'absolute',\n right: 0,\n },\n});\n\nexport type ImageGalleryFooterCustomComponent<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = ({\n openGridView,\n photo,\n share,\n shareMenuOpen,\n}: {\n openGridView: () => void;\n share: () => Promise<void>;\n shareMenuOpen: boolean;\n photo?: Photo<StreamChatGenerics>;\n}) => React.ReactElement | null;\n\nexport type ImageGalleryFooterVideoControlProps = {\n duration: number;\n onPlayPause: () => void;\n onProgressDrag: (progress: number) => void;\n paused: boolean;\n progress: number;\n};\n\nexport type ImageGalleryFooterVideoControlComponent = ({\n duration,\n onPlayPause,\n onProgressDrag,\n paused,\n progress,\n}: ImageGalleryFooterVideoControlProps) => React.ReactElement | null;\n\nexport type ImageGalleryFooterCustomComponentProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n centerElement?: ImageGalleryFooterCustomComponent<StreamChatGenerics>;\n GridIcon?: React.ReactElement;\n leftElement?: ImageGalleryFooterCustomComponent<StreamChatGenerics>;\n rightElement?: ImageGalleryFooterCustomComponent<StreamChatGenerics>;\n ShareIcon?: React.ReactElement;\n videoControlElement?: ImageGalleryFooterVideoControlComponent;\n};\n\ntype ImageGalleryFooterPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = ImageGalleryFooterCustomComponentProps<StreamChatGenerics> & {\n duration: number;\n onPlayPause: () => void;\n onProgressDrag: (progress: number) => void;\n opacity: Animated.SharedValue<number>;\n openGridView: () => void;\n paused: boolean;\n photo: Photo<StreamChatGenerics>;\n photoLength: number;\n progress: number;\n selectedIndex: number;\n visible: Animated.SharedValue<number>;\n};\n\nexport const ImageGalleryFooterWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageGalleryFooterPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n centerElement,\n duration,\n GridIcon,\n leftElement,\n onPlayPause,\n onProgressDrag,\n opacity,\n openGridView,\n paused,\n photo,\n photoLength,\n progress,\n rightElement,\n selectedIndex,\n ShareIcon,\n videoControlElement,\n visible,\n } = props;\n\n const [height, setHeight] = useState(200);\n const [shareMenuOpen, setShareMenuOpen] = useState(false);\n const {\n theme: {\n colors: { black, white },\n imageGallery: {\n footer: {\n centerContainer,\n container,\n imageCountText,\n innerContainer,\n leftContainer,\n rightContainer,\n },\n },\n },\n } = useTheme();\n const { t } = useTranslationContext();\n\n const footerStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n opacity: opacity.value,\n transform: [\n {\n translateY: interpolate(visible.value, [0, 1], [height, 0], Extrapolate.CLAMP),\n },\n ],\n }),\n [height],\n );\n\n const share = async () => {\n setShareMenuOpen(true);\n try {\n const extension = photo.mime_type?.split('/')[1] || 'jpg';\n const localFile = await saveFile({\n fileName: `${photo.user?.id || 'ChatPhoto'}-${\n photo.messageId\n }-${selectedIndex}.${extension}`,\n fromUrl: photo.uri,\n });\n // `image/jpeg` is added for the case where the mime_type isn't available for a file/image\n await shareImage({ type: photo.mime_type ?? 'image/jpeg', url: localFile });\n await deleteFile({ uri: localFile });\n } catch (error) {\n console.log(error);\n }\n setShareMenuOpen(false);\n };\n\n return (\n <Animated.View\n onLayout={(event) => setHeight(event.nativeEvent.layout.height)}\n pointerEvents={'box-none'}\n style={styles.wrapper}\n >\n <ReanimatedSafeAreaView style={[container, footerStyle, { backgroundColor: white }]}>\n {photo.type === 'video' ? (\n videoControlElement ? (\n videoControlElement({ duration, onPlayPause, onProgressDrag, paused, progress })\n ) : (\n <ImageGalleryVideoControl\n duration={duration}\n onPlayPause={onPlayPause}\n onProgressDrag={onProgressDrag}\n paused={paused}\n progress={progress}\n />\n )\n ) : null}\n <View style={[styles.innerContainer, innerContainer, { backgroundColor: white }]}>\n {leftElement ? (\n leftElement({ openGridView, photo, share, shareMenuOpen })\n ) : (\n <TouchableOpacity disabled={shareMenuOpen} onPress={share}>\n <View style={[styles.leftContainer, leftContainer]}>\n {ShareIcon ? ShareIcon : <ShareIconDefault />}\n </View>\n </TouchableOpacity>\n )}\n {centerElement ? (\n centerElement({ openGridView, photo, share, shareMenuOpen })\n ) : (\n <View style={[styles.centerContainer, centerContainer]}>\n <Text style={[styles.imageCountText, { color: black }, imageCountText]}>\n {t('{{ index }} of {{ photoLength }}', {\n index: photoLength - selectedIndex,\n photoLength,\n })}\n </Text>\n </View>\n )}\n {rightElement ? (\n rightElement({ openGridView, photo, share, shareMenuOpen })\n ) : (\n <TouchableOpacity onPress={openGridView}>\n <View style={[styles.rightContainer, rightContainer]}>\n {GridIcon ? GridIcon : <GridIconDefault />}\n </View>\n </TouchableOpacity>\n )}\n </View>\n </ReanimatedSafeAreaView>\n </Animated.View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: ImageGalleryFooterPropsWithContext<StreamChatGenerics>,\n nextProps: ImageGalleryFooterPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n duration: prevDuration,\n paused: prevPaused,\n progress: prevProgress,\n selectedIndex: prevSelectedIndex,\n } = prevProps;\n const {\n duration: nextDuration,\n paused: nextPaused,\n progress: nextProgress,\n selectedIndex: nextSelectedIndex,\n } = nextProps;\n\n const isDurationEqual = prevDuration === nextDuration;\n if (!isDurationEqual) return false;\n\n const isPausedEqual = prevPaused === nextPaused;\n if (!isPausedEqual) return false;\n\n const isProgressEqual = prevProgress === nextProgress;\n if (!isProgressEqual) return false;\n\n const isSelectedIndexEqual = prevSelectedIndex === nextSelectedIndex;\n if (!isSelectedIndexEqual) return false;\n\n return true;\n};\n\nconst MemoizedImageGalleryFooter = React.memo(\n ImageGalleryFooterWithContext,\n areEqual,\n) as typeof ImageGalleryFooterWithContext;\n\nexport type ImageGalleryFooterProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = ImageGalleryFooterPropsWithContext<StreamChatGenerics>;\n\nexport const ImageGalleryFooter = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageGalleryFooterProps<StreamChatGenerics>,\n) => <MemoizedImageGalleryFooter {...props} />;\n\nImageGalleryFooter.displayName = 'ImageGalleryFooter{imageGallery{footer}}';\n"]}
1
+ {"version":3,"sources":["ImageGalleryFooter.tsx"],"names":["ReanimatedSafeAreaView","Animated","createAnimatedComponent","SafeAreaView","styles","StyleSheet","create","centerContainer","alignItems","flex","justifyContent","imageCountText","fontSize","fontWeight","innerContainer","flexDirection","height","leftContainer","marginLeft","rightContainer","marginRight","wrapper","bottom","left","position","right","ImageGalleryFooterWithContext","props","centerElement","duration","GridIcon","leftElement","onPlayPause","onProgressDrag","opacity","openGridView","paused","photo","photoLength","progress","rightElement","selectedIndex","ShareIcon","videoControlElement","visible","setHeight","shareMenuOpen","setShareMenuOpen","theme","black","colors","imageGallery","footer","container","t","footerStyle","value","transform","translateY","Extrapolate","CLAMP","share","extension","mime_type","split","fileName","user","id","messageId","fromUrl","uri","localFile","type","url","console","log","event","nativeEvent","layout","backgroundColor","color","index","areEqual","prevProps","nextProps","prevDuration","prevPaused","prevProgress","prevSelectedIndex","nextDuration","nextPaused","nextProgress","nextSelectedIndex","isDurationEqual","isPausedEqual","isProgressEqual","isSelectedIndexEqual","MemoizedImageGalleryFooter","React","memo","ImageGalleryFooter","displayName"],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport { SafeAreaView, StyleSheet, Text, TouchableOpacity, View, ViewStyle } from 'react-native';\nimport Animated, { Extrapolate, interpolate, useAnimatedStyle } from 'react-native-reanimated';\n\nimport { ImageGalleryVideoControl } from './ImageGalleryVideoControl';\n\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../../contexts/translationContext/TranslationContext';\nimport { Grid as GridIconDefault, Share as ShareIconDefault } from '../../../icons';\nimport { deleteFile, saveFile, shareImage } from '../../../native';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport type { Photo } from '../ImageGallery';\n\nconst ReanimatedSafeAreaView = Animated.createAnimatedComponent\n ? Animated.createAnimatedComponent(SafeAreaView)\n : SafeAreaView;\n\nconst styles = StyleSheet.create({\n centerContainer: {\n alignItems: 'center',\n flex: 1,\n justifyContent: 'center',\n },\n imageCountText: {\n fontSize: 16,\n fontWeight: '600',\n },\n innerContainer: {\n flexDirection: 'row',\n height: 56,\n },\n leftContainer: {\n flex: 1,\n justifyContent: 'center',\n marginLeft: 8,\n },\n rightContainer: {\n flex: 1,\n justifyContent: 'center',\n marginRight: 8,\n },\n wrapper: {\n bottom: 0,\n left: 0,\n position: 'absolute',\n right: 0,\n },\n});\n\nexport type ImageGalleryFooterCustomComponent<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = ({\n openGridView,\n photo,\n share,\n shareMenuOpen,\n}: {\n openGridView: () => void;\n share: () => Promise<void>;\n shareMenuOpen: boolean;\n photo?: Photo<StreamChatGenerics>;\n}) => React.ReactElement | null;\n\nexport type ImageGalleryFooterVideoControlProps = {\n duration: number;\n onPlayPause: () => void;\n onProgressDrag: (progress: number) => void;\n paused: boolean;\n progress: number;\n};\n\nexport type ImageGalleryFooterVideoControlComponent = ({\n duration,\n onPlayPause,\n onProgressDrag,\n paused,\n progress,\n}: ImageGalleryFooterVideoControlProps) => React.ReactElement | null;\n\nexport type ImageGalleryFooterCustomComponentProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n centerElement?: ImageGalleryFooterCustomComponent<StreamChatGenerics>;\n GridIcon?: React.ReactElement;\n leftElement?: ImageGalleryFooterCustomComponent<StreamChatGenerics>;\n rightElement?: ImageGalleryFooterCustomComponent<StreamChatGenerics>;\n ShareIcon?: React.ReactElement;\n videoControlElement?: ImageGalleryFooterVideoControlComponent;\n};\n\ntype ImageGalleryFooterPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = ImageGalleryFooterCustomComponentProps<StreamChatGenerics> & {\n duration: number;\n onPlayPause: () => void;\n onProgressDrag: (progress: number) => void;\n opacity: Animated.SharedValue<number>;\n openGridView: () => void;\n paused: boolean;\n photo: Photo<StreamChatGenerics>;\n photoLength: number;\n progress: number;\n selectedIndex: number;\n visible: Animated.SharedValue<number>;\n};\n\nexport const ImageGalleryFooterWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageGalleryFooterPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n centerElement,\n duration,\n GridIcon,\n leftElement,\n onPlayPause,\n onProgressDrag,\n opacity,\n openGridView,\n paused,\n photo,\n photoLength,\n progress,\n rightElement,\n selectedIndex,\n ShareIcon,\n videoControlElement,\n visible,\n } = props;\n\n const [height, setHeight] = useState(200);\n const [shareMenuOpen, setShareMenuOpen] = useState(false);\n const {\n theme: {\n colors: { black },\n imageGallery: {\n footer: {\n centerContainer,\n container,\n imageCountText,\n innerContainer,\n leftContainer,\n rightContainer,\n },\n },\n },\n } = useTheme();\n const { t } = useTranslationContext();\n\n const footerStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n opacity: opacity.value,\n transform: [\n {\n translateY: interpolate(visible.value, [0, 1], [height, 0], Extrapolate.CLAMP),\n },\n ],\n }),\n [height],\n );\n\n const share = async () => {\n setShareMenuOpen(true);\n try {\n const extension = photo.mime_type?.split('/')[1] || 'jpg';\n const localFile = await saveFile({\n fileName: `${photo.user?.id || 'ChatPhoto'}-${\n photo.messageId\n }-${selectedIndex}.${extension}`,\n fromUrl: photo.uri,\n });\n // `image/jpeg` is added for the case where the mime_type isn't available for a file/image\n await shareImage({ type: photo.mime_type ?? 'image/jpeg', url: localFile });\n await deleteFile({ uri: localFile });\n } catch (error) {\n console.log(error);\n }\n setShareMenuOpen(false);\n };\n\n return (\n <Animated.View\n onLayout={(event) => setHeight(event.nativeEvent.layout.height)}\n pointerEvents={'box-none'}\n style={styles.wrapper}\n >\n <ReanimatedSafeAreaView style={[container, footerStyle]}>\n {photo.type === 'video' ? (\n videoControlElement ? (\n videoControlElement({ duration, onPlayPause, onProgressDrag, paused, progress })\n ) : (\n <ImageGalleryVideoControl\n duration={duration}\n onPlayPause={onPlayPause}\n onProgressDrag={onProgressDrag}\n paused={paused}\n progress={progress}\n />\n )\n ) : null}\n <View style={[styles.innerContainer, innerContainer, { backgroundColor: 'white' }]}>\n {leftElement ? (\n leftElement({ openGridView, photo, share, shareMenuOpen })\n ) : (\n <TouchableOpacity disabled={shareMenuOpen} onPress={share}>\n <View style={[styles.leftContainer, leftContainer]}>\n {ShareIcon ? ShareIcon : <ShareIconDefault />}\n </View>\n </TouchableOpacity>\n )}\n {centerElement ? (\n centerElement({ openGridView, photo, share, shareMenuOpen })\n ) : (\n <View style={[styles.centerContainer, centerContainer]}>\n <Text style={[styles.imageCountText, { color: black }, imageCountText]}>\n {t('{{ index }} of {{ photoLength }}', {\n index: photoLength - selectedIndex,\n photoLength,\n })}\n </Text>\n </View>\n )}\n {rightElement ? (\n rightElement({ openGridView, photo, share, shareMenuOpen })\n ) : (\n <TouchableOpacity onPress={openGridView}>\n <View style={[styles.rightContainer, rightContainer]}>\n {GridIcon ? GridIcon : <GridIconDefault />}\n </View>\n </TouchableOpacity>\n )}\n </View>\n </ReanimatedSafeAreaView>\n </Animated.View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: ImageGalleryFooterPropsWithContext<StreamChatGenerics>,\n nextProps: ImageGalleryFooterPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n duration: prevDuration,\n paused: prevPaused,\n progress: prevProgress,\n selectedIndex: prevSelectedIndex,\n } = prevProps;\n const {\n duration: nextDuration,\n paused: nextPaused,\n progress: nextProgress,\n selectedIndex: nextSelectedIndex,\n } = nextProps;\n\n const isDurationEqual = prevDuration === nextDuration;\n if (!isDurationEqual) return false;\n\n const isPausedEqual = prevPaused === nextPaused;\n if (!isPausedEqual) return false;\n\n const isProgressEqual = prevProgress === nextProgress;\n if (!isProgressEqual) return false;\n\n const isSelectedIndexEqual = prevSelectedIndex === nextSelectedIndex;\n if (!isSelectedIndexEqual) return false;\n\n return true;\n};\n\nconst MemoizedImageGalleryFooter = React.memo(\n ImageGalleryFooterWithContext,\n areEqual,\n) as typeof ImageGalleryFooterWithContext;\n\nexport type ImageGalleryFooterProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = ImageGalleryFooterPropsWithContext<StreamChatGenerics>;\n\nexport const ImageGalleryFooter = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageGalleryFooterProps<StreamChatGenerics>,\n) => <MemoizedImageGalleryFooter {...props} />;\n\nImageGalleryFooter.displayName = 'ImageGalleryFooter{imageGallery{footer}}';\n"]}
@@ -24,7 +24,7 @@ var _TranslationContext = require("../../../contexts/translationContext/Translat
24
24
  var _icons = require("../../../icons");
25
25
 
26
26
  var _this = this,
27
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ImageGallery/components/ImageGalleryHeader.tsx";
27
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ImageGallery/components/ImageGalleryHeader.tsx";
28
28
 
29
29
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
30
30
 
@@ -20,7 +20,7 @@ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reani
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/ImageGallery/components/ImageGalleryOverlay.tsx";
23
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ImageGallery/components/ImageGalleryOverlay.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
 
@@ -18,7 +18,7 @@ var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
18
18
  var _icons = require("../../../icons");
19
19
 
20
20
  var _this = this,
21
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ImageGallery/components/ImageGalleryVideoControl.tsx";
21
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ImageGallery/components/ImageGalleryVideoControl.tsx";
22
22
 
23
23
  var styles = _reactNative.StyleSheet.create({
24
24
  durationTextStyle: {
@@ -24,7 +24,7 @@ var _utils = require("../../../utils/utils");
24
24
  var _excluded = ["imageComponent"];
25
25
 
26
26
  var _this = this,
27
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ImageGallery/components/ImageGrid.tsx";
27
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ImageGallery/components/ImageGrid.tsx";
28
28
 
29
29
  var styles = _reactNative.StyleSheet.create({
30
30
  avatarImage: {
@@ -18,7 +18,7 @@ var _TranslationContext = require("../../../contexts/translationContext/Translat
18
18
  var _icons = require("../../../icons");
19
19
 
20
20
  var _this = this,
21
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ImageGallery/components/ImageGridHandle.tsx";
21
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ImageGallery/components/ImageGridHandle.tsx";
22
22
 
23
23
  var styles = _reactNative.StyleSheet.create({
24
24
  closeButton: {
@@ -94,7 +94,7 @@ var ImageGridHandle = function ImageGridHandle(props) {
94
94
  lineNumber: 68,
95
95
  columnNumber: 9
96
96
  }
97
- }, t('Photos and Videos')), rightComponent ? rightComponent({
97
+ }, t('Photos')), rightComponent ? rightComponent({
98
98
  closeGridView: closeGridView
99
99
  }) : _react["default"].createElement(_bottomSheet.TouchableOpacity, {
100
100
  onPress: closeGridView,
@@ -1 +1 @@
1
- {"version":3,"sources":["ImageGridHandle.tsx"],"names":["styles","StyleSheet","create","closeButton","marginRight","handle","alignItems","borderTopLeftRadius","borderTopRightRadius","flexDirection","height","justifyContent","leftContainer","marginLeft","width","text","flex","fontSize","fontWeight","textAlign","ImageGridHandle","props","centerComponent","closeGridView","leftComponent","rightComponent","theme","colors","black","white","imageGallery","grid","handleText","t","backgroundColor","color","displayName"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AAEA;;AACA;;AACA;;;;;AAEA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,WAAW,EAAE;AACXC,IAAAA,WAAW,EAAE;AADF,GADkB;AAI/BC,EAAAA,MAAM,EAAE;AACNC,IAAAA,UAAU,EAAE,QADN;AAENC,IAAAA,mBAAmB,EAAE,EAFf;AAGNC,IAAAA,oBAAoB,EAAE,EAHhB;AAINC,IAAAA,aAAa,EAAE,KAJT;AAKNC,IAAAA,MAAM,EAAE,EALF;AAMNC,IAAAA,cAAc,EAAE;AANV,GAJuB;AAY/BC,EAAAA,aAAa,EAAE;AACbC,IAAAA,UAAU,EAAE,EADC;AAEbC,IAAAA,KAAK,EAAE;AAFM,GAZgB;AAgB/BC,EAAAA,IAAI,EAAE;AACJC,IAAAA,IAAI,EAAE,CADF;AAEJC,IAAAA,QAAQ,EAAE,EAFN;AAGJC,IAAAA,UAAU,EAAE,KAHR;AAIJC,IAAAA,SAAS,EAAE;AAJP;AAhByB,CAAlB,CAAf;;AAwCO,IAAMC,eAAgC,GAAG,SAAnCA,eAAmC,CAACC,KAAD,EAAW;AACzD,MAAQC,eAAR,GAA0ED,KAA1E,CAAQC,eAAR;AAAA,MAAyBC,aAAzB,GAA0EF,KAA1E,CAAyBE,aAAzB;AAAA,MAAwCC,aAAxC,GAA0EH,KAA1E,CAAwCG,aAAxC;AAAA,MAAuDC,cAAvD,GAA0EJ,KAA1E,CAAuDI,cAAvD;;AACA,kBAOI,6BAPJ;AAAA,kCACEC,KADF;AAAA,8CAEIC,MAFJ;AAAA,MAEcC,KAFd,yBAEcA,KAFd;AAAA,MAEqBC,KAFrB,yBAEqBA,KAFrB;AAAA,8CAGIC,YAHJ,CAIMC,IAJN;AAAA,MAIc1B,MAJd,yBAIcA,MAJd;AAAA,MAIsB2B,UAJtB,yBAIsBA,UAJtB;;AAQA,8BAAc,gDAAd;AAAA,MAAQC,CAAR,yBAAQA,CAAR;;AAEA,SACE,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACjC,MAAM,CAACK,MAAR,EAAgB;AAAE6B,MAAAA,eAAe,EAAEL;AAAnB,KAAhB,EAA4CxB,MAA5C,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGmB,aAAa,GAAGA,aAAa,CAAC;AAAED,IAAAA,aAAa,EAAbA;AAAF,GAAD,CAAhB,GAAsC,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAEvB,MAAM,CAACY,aAApB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IADtD,EAEGU,eAAe,GACdA,eAAe,CAAC;AAAEC,IAAAA,aAAa,EAAbA;AAAF,GAAD,CADD,GAGd,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACvB,MAAM,CAACe,IAAR,EAAc;AAAEoB,MAAAA,KAAK,EAAEP;AAAT,KAAd,EAAgCI,UAAhC,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAA2DC,CAAC,CAAC,mBAAD,CAA5D,CALJ,EAOGR,cAAc,GACbA,cAAc,CAAC;AAAEF,IAAAA,aAAa,EAAbA;AAAF,GAAD,CADD,GAGb,gCAAC,6BAAD;AAAkB,IAAA,OAAO,EAAEA,aAA3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,YAAD;AAAO,IAAA,KAAK,EAAEvB,MAAM,CAACG,WAArB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IADF,CAVJ,CADF;AAiBD,CA7BM;;;AA+BPiB,eAAe,CAACgB,WAAhB,GAA8B,6CAA9B","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport { TouchableOpacity } from '@gorhom/bottom-sheet';\n\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../../contexts/translationContext/TranslationContext';\nimport { Close } from '../../../icons';\n\nconst styles = StyleSheet.create({\n closeButton: {\n marginRight: 16,\n },\n handle: {\n alignItems: 'center',\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n flexDirection: 'row',\n height: 40,\n justifyContent: 'center',\n },\n leftContainer: {\n marginLeft: 16,\n width: 24, // Close icon width on right\n },\n text: {\n flex: 1,\n fontSize: 16,\n fontWeight: '600',\n textAlign: 'center',\n },\n});\n\nexport type ImageGalleryGridHandleCustomComponent = ({\n closeGridView,\n}: {\n closeGridView: () => void;\n}) => React.ReactElement | null;\n\nexport type ImageGalleryGridHandleCustomComponentProps = {\n centerComponent?: ImageGalleryGridHandleCustomComponent;\n leftComponent?: ImageGalleryGridHandleCustomComponent;\n rightComponent?: ImageGalleryGridHandleCustomComponent;\n};\n\ntype Props = ImageGalleryGridHandleCustomComponentProps & {\n closeGridView: () => void;\n};\n\nexport const ImageGridHandle: React.FC<Props> = (props) => {\n const { centerComponent, closeGridView, leftComponent, rightComponent } = props;\n const {\n theme: {\n colors: { black, white },\n imageGallery: {\n grid: { handle, handleText },\n },\n },\n } = useTheme();\n const { t } = useTranslationContext();\n\n return (\n <View style={[styles.handle, { backgroundColor: white }, handle]}>\n {leftComponent ? leftComponent({ closeGridView }) : <View style={styles.leftContainer} />}\n {centerComponent ? (\n centerComponent({ closeGridView })\n ) : (\n <Text style={[styles.text, { color: black }, handleText]}>{t('Photos and Videos')}</Text>\n )}\n {rightComponent ? (\n rightComponent({ closeGridView })\n ) : (\n <TouchableOpacity onPress={closeGridView}>\n <Close style={styles.closeButton} />\n </TouchableOpacity>\n )}\n </View>\n );\n};\n\nImageGridHandle.displayName = 'ImageGridHandle{imageGallery{grid{handle}}}';\n"]}
1
+ {"version":3,"sources":["ImageGridHandle.tsx"],"names":["styles","StyleSheet","create","closeButton","marginRight","handle","alignItems","borderTopLeftRadius","borderTopRightRadius","flexDirection","height","justifyContent","leftContainer","marginLeft","width","text","flex","fontSize","fontWeight","textAlign","ImageGridHandle","props","centerComponent","closeGridView","leftComponent","rightComponent","theme","colors","black","white","imageGallery","grid","handleText","t","backgroundColor","color","displayName"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AAEA;;AACA;;AACA;;;;;AAEA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,WAAW,EAAE;AACXC,IAAAA,WAAW,EAAE;AADF,GADkB;AAI/BC,EAAAA,MAAM,EAAE;AACNC,IAAAA,UAAU,EAAE,QADN;AAENC,IAAAA,mBAAmB,EAAE,EAFf;AAGNC,IAAAA,oBAAoB,EAAE,EAHhB;AAINC,IAAAA,aAAa,EAAE,KAJT;AAKNC,IAAAA,MAAM,EAAE,EALF;AAMNC,IAAAA,cAAc,EAAE;AANV,GAJuB;AAY/BC,EAAAA,aAAa,EAAE;AACbC,IAAAA,UAAU,EAAE,EADC;AAEbC,IAAAA,KAAK,EAAE;AAFM,GAZgB;AAgB/BC,EAAAA,IAAI,EAAE;AACJC,IAAAA,IAAI,EAAE,CADF;AAEJC,IAAAA,QAAQ,EAAE,EAFN;AAGJC,IAAAA,UAAU,EAAE,KAHR;AAIJC,IAAAA,SAAS,EAAE;AAJP;AAhByB,CAAlB,CAAf;;AAwCO,IAAMC,eAAgC,GAAG,SAAnCA,eAAmC,CAACC,KAAD,EAAW;AACzD,MAAQC,eAAR,GAA0ED,KAA1E,CAAQC,eAAR;AAAA,MAAyBC,aAAzB,GAA0EF,KAA1E,CAAyBE,aAAzB;AAAA,MAAwCC,aAAxC,GAA0EH,KAA1E,CAAwCG,aAAxC;AAAA,MAAuDC,cAAvD,GAA0EJ,KAA1E,CAAuDI,cAAvD;;AACA,kBAOI,6BAPJ;AAAA,kCACEC,KADF;AAAA,8CAEIC,MAFJ;AAAA,MAEcC,KAFd,yBAEcA,KAFd;AAAA,MAEqBC,KAFrB,yBAEqBA,KAFrB;AAAA,8CAGIC,YAHJ,CAIMC,IAJN;AAAA,MAIc1B,MAJd,yBAIcA,MAJd;AAAA,MAIsB2B,UAJtB,yBAIsBA,UAJtB;;AAQA,8BAAc,gDAAd;AAAA,MAAQC,CAAR,yBAAQA,CAAR;;AAEA,SACE,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACjC,MAAM,CAACK,MAAR,EAAgB;AAAE6B,MAAAA,eAAe,EAAEL;AAAnB,KAAhB,EAA4CxB,MAA5C,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGmB,aAAa,GAAGA,aAAa,CAAC;AAAED,IAAAA,aAAa,EAAbA;AAAF,GAAD,CAAhB,GAAsC,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAEvB,MAAM,CAACY,aAApB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IADtD,EAEGU,eAAe,GACdA,eAAe,CAAC;AAAEC,IAAAA,aAAa,EAAbA;AAAF,GAAD,CADD,GAGd,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACvB,MAAM,CAACe,IAAR,EAAc;AAAEoB,MAAAA,KAAK,EAAEP;AAAT,KAAd,EAAgCI,UAAhC,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAA2DC,CAAC,CAAC,QAAD,CAA5D,CALJ,EAOGR,cAAc,GACbA,cAAc,CAAC;AAAEF,IAAAA,aAAa,EAAbA;AAAF,GAAD,CADD,GAGb,gCAAC,6BAAD;AAAkB,IAAA,OAAO,EAAEA,aAA3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,YAAD;AAAO,IAAA,KAAK,EAAEvB,MAAM,CAACG,WAArB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IADF,CAVJ,CADF;AAiBD,CA7BM;;;AA+BPiB,eAAe,CAACgB,WAAhB,GAA8B,6CAA9B","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport { TouchableOpacity } from '@gorhom/bottom-sheet';\n\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../../contexts/translationContext/TranslationContext';\nimport { Close } from '../../../icons';\n\nconst styles = StyleSheet.create({\n closeButton: {\n marginRight: 16,\n },\n handle: {\n alignItems: 'center',\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n flexDirection: 'row',\n height: 40,\n justifyContent: 'center',\n },\n leftContainer: {\n marginLeft: 16,\n width: 24, // Close icon width on right\n },\n text: {\n flex: 1,\n fontSize: 16,\n fontWeight: '600',\n textAlign: 'center',\n },\n});\n\nexport type ImageGalleryGridHandleCustomComponent = ({\n closeGridView,\n}: {\n closeGridView: () => void;\n}) => React.ReactElement | null;\n\nexport type ImageGalleryGridHandleCustomComponentProps = {\n centerComponent?: ImageGalleryGridHandleCustomComponent;\n leftComponent?: ImageGalleryGridHandleCustomComponent;\n rightComponent?: ImageGalleryGridHandleCustomComponent;\n};\n\ntype Props = ImageGalleryGridHandleCustomComponentProps & {\n closeGridView: () => void;\n};\n\nexport const ImageGridHandle: React.FC<Props> = (props) => {\n const { centerComponent, closeGridView, leftComponent, rightComponent } = props;\n const {\n theme: {\n colors: { black, white },\n imageGallery: {\n grid: { handle, handleText },\n },\n },\n } = useTheme();\n const { t } = useTranslationContext();\n\n return (\n <View style={[styles.handle, { backgroundColor: white }, handle]}>\n {leftComponent ? leftComponent({ closeGridView }) : <View style={styles.leftContainer} />}\n {centerComponent ? (\n centerComponent({ closeGridView })\n ) : (\n <Text style={[styles.text, { color: black }, handleText]}>{t('Photos')}</Text>\n )}\n {rightComponent ? (\n rightComponent({ closeGridView })\n ) : (\n <TouchableOpacity onPress={closeGridView}>\n <Close style={styles.closeButton} />\n </TouchableOpacity>\n )}\n </View>\n );\n};\n\nImageGridHandle.displayName = 'ImageGridHandle{imageGallery{grid{handle}}}';\n"]}
@@ -16,7 +16,7 @@ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reani
16
16
  var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
17
17
 
18
18
  var _this = this,
19
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/ImageGallery/components/ProgressControl.tsx";
19
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/ImageGallery/components/ProgressControl.tsx";
20
20
 
21
21
  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); }
22
22
 
@@ -16,7 +16,7 @@ var _MessageIcon = require("../../icons/MessageIcon");
16
16
  var _utils = require("../../utils/utils");
17
17
 
18
18
  var _this = this,
19
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Indicators/EmptyStateIndicator.tsx";
19
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Indicators/EmptyStateIndicator.tsx";
20
20
 
21
21
  var width = (0, _utils.vw)(33);
22
22
 
@@ -12,7 +12,7 @@ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reani
12
12
  var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
13
13
 
14
14
  var _this = this,
15
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Indicators/LoadingDot.tsx";
15
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Indicators/LoadingDot.tsx";
16
16
 
17
17
  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); }
18
18
 
@@ -14,7 +14,7 @@ var _LoadingDot = require("./LoadingDot");
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/Indicators/LoadingDots.tsx";
17
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Indicators/LoadingDots.tsx";
18
18
 
19
19
  var LoadingDots = function LoadingDots(props) {
20
20
  var _props$diameter = props.diameter,
@@ -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/Indicators/LoadingErrorIndicator.tsx";
17
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Indicators/LoadingErrorIndicator.tsx";
18
18
 
19
19
  var styles = _reactNative.StyleSheet.create({
20
20
  container: {
@@ -16,7 +16,7 @@ var _TranslationContext = require("../../contexts/translationContext/Translation
16
16
  var _Spinner = require("../Spinner/Spinner");
17
17
 
18
18
  var _this = this,
19
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Indicators/LoadingIndicator.tsx";
19
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Indicators/LoadingIndicator.tsx";
20
20
 
21
21
  var styles = _reactNative.StyleSheet.create({
22
22
  container: {
@@ -25,7 +25,7 @@ var _reactNative = require("react-native");
25
25
 
26
26
  var _KeyboardContext = require("../../contexts/keyboardContext/KeyboardContext");
27
27
 
28
- var _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/KeyboardCompatibleView/KeyboardCompatibleView.tsx";
28
+ var _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/KeyboardCompatibleView/KeyboardCompatibleView.tsx";
29
29
  var _excluded = ["behavior", "children", "contentContainerStyle", "enabled", "style"];
30
30
 
31
31
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
@@ -22,7 +22,7 @@ var _KeyboardContext = require("../../contexts/keyboardContext/KeyboardContext")
22
22
  var _excluded = ["behavior", "children", "contentContainerStyle", "enabled", "keyboardVerticalOffset", "style"];
23
23
 
24
24
  var _this = this,
25
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.tsx";
25
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.tsx";
26
26
 
27
27
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
28
28
 
@@ -54,7 +54,7 @@ var _utils = require("../../utils/utils");
54
54
  var _useMessageList = require("../MessageList/hooks/useMessageList");
55
55
 
56
56
  var _this = this,
57
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/Message.tsx";
57
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Message/Message.tsx";
58
58
 
59
59
  var MessageWithContext = function MessageWithContext(props) {
60
60
  var _message$user;
@@ -18,7 +18,7 @@ var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
18
18
  var _Avatar = require("../../Avatar/Avatar");
19
19
 
20
20
  var _this = this,
21
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageAvatar.tsx";
21
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageAvatar.tsx";
22
22
 
23
23
  var MessageAvatarWithContext = function MessageAvatarWithContext(props) {
24
24
  var _message$user, _message$user2, _message$user3;
@@ -30,7 +30,7 @@ var _utils = require("../../../utils/utils");
30
30
  var _excluded = ["borderBottomLeftRadius", "borderBottomRightRadius", "borderRadius", "borderRadiusL", "borderRadiusS", "borderTopLeftRadius", "borderTopRightRadius"];
31
31
 
32
32
  var _this = this,
33
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageContent.tsx";
33
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageContent.tsx";
34
34
 
35
35
  var styles = _reactNative.StyleSheet.create({
36
36
  containerInner: {
@@ -24,7 +24,7 @@ var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
24
24
  var _TranslationContext = require("../../../contexts/translationContext/TranslationContext");
25
25
 
26
26
  var _this = this,
27
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageDeleted.tsx";
27
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageDeleted.tsx";
28
28
 
29
29
  var styles = _reactNative.StyleSheet.create({
30
30
  containerInner: {
@@ -22,7 +22,7 @@ var _TranslationContext = require("../../../contexts/translationContext/Translat
22
22
  var _icons = require("../../../icons");
23
23
 
24
24
  var _this = this,
25
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageFooter.tsx";
25
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageFooter.tsx";
26
26
 
27
27
  var MessageFooterWithContext = function MessageFooterWithContext(props) {
28
28
  var _message$user;
@@ -22,7 +22,7 @@ var _TranslationContext = require("../../../contexts/translationContext/Translat
22
22
  var _icons = require("../../../icons");
23
23
 
24
24
  var _this = this,
25
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/MessageSimple/MessagePinnedHeader.tsx";
25
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Message/MessageSimple/MessagePinnedHeader.tsx";
26
26
 
27
27
  var styles = _reactNative.StyleSheet.create({
28
28
  container: {
@@ -20,7 +20,7 @@ var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
20
20
  var _TranslationContext = require("../../../contexts/translationContext/TranslationContext");
21
21
 
22
22
  var _this = this,
23
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageReplies.tsx";
23
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageReplies.tsx";
24
24
 
25
25
  var styles = _reactNative.StyleSheet.create({
26
26
  container: {
@@ -16,7 +16,7 @@ var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
16
16
  var _Avatar = require("../../Avatar/Avatar");
17
17
 
18
18
  var _this = this,
19
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageRepliesAvatars.tsx";
19
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageRepliesAvatars.tsx";
20
20
 
21
21
  var styles = _reactNative.StyleSheet.create({
22
22
  avatarContainer: {
@@ -22,7 +22,7 @@ var _MessagesContext = require("../../../contexts/messagesContext/MessagesContex
22
22
  var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
23
23
 
24
24
  var _this = this,
25
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageSimple.tsx";
25
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageSimple.tsx";
26
26
 
27
27
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
28
28
 
@@ -26,7 +26,7 @@ var _utils = require("../../../utils/utils");
26
26
  var _useMessageList = require("../../MessageList/hooks/useMessageList");
27
27
 
28
28
  var _this = this,
29
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageStatus.tsx";
29
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageStatus.tsx";
30
30
 
31
31
  var styles = _reactNative.StyleSheet.create({
32
32
  readByCount: {
@@ -26,7 +26,7 @@ var _useTranslatedMessage = require("../../../hooks/useTranslatedMessage");
26
26
  var _excluded = ["onlyEmojiMarkdown"];
27
27
 
28
28
  var _this = this,
29
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageTextContainer.tsx";
29
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageTextContainer.tsx";
30
30
 
31
31
  var styles = _reactNative.StyleSheet.create({
32
32
  textContainer: {