stream-chat-react-native-core 4.12.2-beta.1 → 5.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (987) hide show
  1. package/lib/commonjs/components/Attachment/Attachment.js +1 -1
  2. package/lib/commonjs/components/Attachment/AttachmentActions.js +1 -1
  3. package/lib/commonjs/components/Attachment/AudioAttachment.js +1 -1
  4. package/lib/commonjs/components/Attachment/Card.js +1 -1
  5. package/lib/commonjs/components/Attachment/FileAttachment.js +1 -1
  6. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +1 -1
  7. package/lib/commonjs/components/Attachment/FileIcon.js +1 -1
  8. package/lib/commonjs/components/Attachment/Gallery.js +3 -3
  9. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  10. package/lib/commonjs/components/Attachment/GalleryImage.js +1 -1
  11. package/lib/commonjs/components/Attachment/Giphy.js +30 -30
  12. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  13. package/lib/commonjs/components/Attachment/ImageLoadingFailedIndicator.js +1 -1
  14. package/lib/commonjs/components/Attachment/ImageLoadingIndicator.js +1 -1
  15. package/lib/commonjs/components/Attachment/VideoThumbnail.js +1 -1
  16. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +1 -1
  17. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +1 -1
  18. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerError.js +1 -1
  19. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +1 -1
  20. package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js +1 -1
  21. package/lib/commonjs/components/AttachmentPicker/components/CameraSelectorIcon.js +1 -1
  22. package/lib/commonjs/components/AttachmentPicker/components/FileSelectorIcon.js +1 -1
  23. package/lib/commonjs/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +1 -1
  24. package/lib/commonjs/components/AttachmentPicker/components/ImageSelectorIcon.js +1 -1
  25. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +1 -1
  26. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +1 -1
  27. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +1 -1
  28. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +1 -1
  29. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -1
  30. package/lib/commonjs/components/Avatar/Avatar.js +31 -18
  31. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  32. package/lib/commonjs/components/Avatar/GroupAvatar.js +28 -21
  33. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  34. package/lib/commonjs/components/Channel/Channel.js +227 -257
  35. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  36. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +2 -0
  37. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  38. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js +2 -0
  39. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  40. package/lib/commonjs/components/ChannelList/ChannelList.js +41 -10
  41. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  42. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -1
  43. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +1 -1
  44. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +1 -1
  45. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js +1 -1
  46. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +20 -8
  47. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  48. package/lib/commonjs/components/ChannelList/Skeleton.js +1 -1
  49. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  50. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  51. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js +2 -2
  52. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  53. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js +2 -2
  54. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  55. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js +2 -2
  56. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  57. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js +2 -2
  58. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  59. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  60. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  61. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  62. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  63. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js +2 -2
  64. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  65. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js +2 -2
  66. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  67. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js +4 -4
  68. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  69. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +51 -21
  70. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  71. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +1 -1
  72. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +3 -3
  73. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  74. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +8 -6
  75. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  76. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +1 -1
  77. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
  78. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +1 -1
  79. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  80. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +1 -1
  81. package/lib/commonjs/components/Chat/Chat.js +45 -9
  82. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  83. package/lib/commonjs/components/Chat/hooks/handleEventToSyncDB.js +144 -0
  84. package/lib/commonjs/components/Chat/hooks/handleEventToSyncDB.js.map +1 -0
  85. package/lib/commonjs/components/Chat/hooks/useConnectionRecovered.js +171 -0
  86. package/lib/commonjs/components/Chat/hooks/useConnectionRecovered.js.map +1 -0
  87. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js +7 -3
  88. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  89. package/lib/commonjs/components/Chat/hooks/useMutedUsers.js +3 -3
  90. package/lib/commonjs/components/Chat/hooks/useMutedUsers.js.map +1 -1
  91. package/lib/commonjs/components/Chat/hooks/useSyncDatabase.js +29 -0
  92. package/lib/commonjs/components/Chat/hooks/useSyncDatabase.js.map +1 -0
  93. package/lib/commonjs/components/ImageGallery/ImageGallery.js +1 -1
  94. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +1 -1
  95. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +1 -1
  96. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +1 -1
  97. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +1 -1
  98. package/lib/commonjs/components/ImageGallery/components/ImageGalleryOverlay.js +1 -1
  99. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js +1 -1
  100. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +1 -1
  101. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.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 +136 -108
  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/ProgressControl/ProgressControl.js +1 -1
  160. package/lib/commonjs/components/RTLComponents/WritingDirectionAwareText.js +1 -1
  161. package/lib/commonjs/components/Reply/Reply.js +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/components/index.js +26 -13
  166. package/lib/commonjs/components/index.js.map +1 -1
  167. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +1 -1
  168. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
  169. package/lib/commonjs/contexts/channelContext/ChannelContext.js +3 -3
  170. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  171. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +1 -1
  172. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +1 -1
  173. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +5 -5
  174. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
  175. package/lib/commonjs/contexts/chatContext/ChatContext.js +3 -3
  176. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  177. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +1 -1
  178. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +1 -1
  179. package/lib/commonjs/contexts/messageContext/MessageContext.js +1 -1
  180. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +1 -1
  181. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +1 -1
  182. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +1 -1
  183. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +1 -1
  184. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -1
  185. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +13 -26
  186. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  187. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
  188. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +3 -3
  189. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  190. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +1 -1
  191. package/lib/commonjs/contexts/themeContext/ThemeContext.js +1 -1
  192. package/lib/commonjs/contexts/threadContext/ThreadContext.js +1 -1
  193. package/lib/commonjs/contexts/translationContext/TranslationContext.js +1 -1
  194. package/lib/commonjs/contexts/typingContext/TypingContext.js +1 -1
  195. package/lib/commonjs/{components/Attachment/hooks → hooks}/useLoadingImage.js +10 -0
  196. package/lib/commonjs/hooks/useLoadingImage.js.map +1 -0
  197. package/lib/commonjs/icons/ArrowRight.js +1 -1
  198. package/lib/commonjs/icons/AtMentions.js +1 -1
  199. package/lib/commonjs/icons/Attach.js +1 -1
  200. package/lib/commonjs/icons/Audio.js +1 -1
  201. package/lib/commonjs/icons/CSV.js +1 -1
  202. package/lib/commonjs/icons/Camera.js +1 -1
  203. package/lib/commonjs/icons/Check.js +1 -1
  204. package/lib/commonjs/icons/CheckAll.js +1 -1
  205. package/lib/commonjs/icons/CheckSend.js +1 -1
  206. package/lib/commonjs/icons/CircleClose.js +1 -1
  207. package/lib/commonjs/icons/CirclePlus.js +1 -1
  208. package/lib/commonjs/icons/CircleRight.js +1 -1
  209. package/lib/commonjs/icons/Close.js +1 -1
  210. package/lib/commonjs/icons/Copy.js +1 -1
  211. package/lib/commonjs/icons/CurveLineLeftUp.js +1 -1
  212. package/lib/commonjs/icons/DOC.js +1 -1
  213. package/lib/commonjs/icons/DOCX.js +1 -1
  214. package/lib/commonjs/icons/Delete.js +1 -1
  215. package/lib/commonjs/icons/Down.js +1 -1
  216. package/lib/commonjs/icons/DownloadArrow.js +1 -1
  217. package/lib/commonjs/icons/DownloadCloud.js +1 -1
  218. package/lib/commonjs/icons/Edit.js +1 -1
  219. package/lib/commonjs/icons/Error.js +1 -1
  220. package/lib/commonjs/icons/Eye.js +1 -1
  221. package/lib/commonjs/icons/Flag.js +1 -1
  222. package/lib/commonjs/icons/Folder.js +1 -1
  223. package/lib/commonjs/icons/GenericFile.js +1 -1
  224. package/lib/commonjs/icons/GiphyIcon.js +1 -1
  225. package/lib/commonjs/icons/Grid.js +1 -1
  226. package/lib/commonjs/icons/Group.js +1 -1
  227. package/lib/commonjs/icons/HTML.js +1 -1
  228. package/lib/commonjs/icons/Imgur.js +1 -1
  229. package/lib/commonjs/icons/LOLReaction.js +1 -1
  230. package/lib/commonjs/icons/Lightning.js +1 -1
  231. package/lib/commonjs/icons/Link.js +1 -1
  232. package/lib/commonjs/icons/Loading.js +1 -1
  233. package/lib/commonjs/icons/Logo.js +1 -1
  234. package/lib/commonjs/icons/LoveReaction.js +1 -1
  235. package/lib/commonjs/icons/MD.js +1 -1
  236. package/lib/commonjs/icons/MailOpen.js +1 -1
  237. package/lib/commonjs/icons/MenuPointHorizontal.js +1 -1
  238. package/lib/commonjs/icons/MenuPointVertical.js +1 -1
  239. package/lib/commonjs/icons/MessageFlag.js +1 -1
  240. package/lib/commonjs/icons/MessageIcon.js +1 -1
  241. package/lib/commonjs/icons/Mute.js +1 -1
  242. package/lib/commonjs/icons/Notification.js +1 -1
  243. package/lib/commonjs/icons/ODT.js +1 -1
  244. package/lib/commonjs/icons/PDF.js +1 -1
  245. package/lib/commonjs/icons/PPT.js +1 -1
  246. package/lib/commonjs/icons/PPTX.js +1 -1
  247. package/lib/commonjs/icons/Pause.js +1 -1
  248. package/lib/commonjs/icons/Picture.js +1 -1
  249. package/lib/commonjs/icons/Pin.js +1 -1
  250. package/lib/commonjs/icons/PinHeader.js +1 -1
  251. package/lib/commonjs/icons/Play.js +1 -1
  252. package/lib/commonjs/icons/RAR.js +1 -1
  253. package/lib/commonjs/icons/RTF.js +1 -1
  254. package/lib/commonjs/icons/Recorder.js +1 -1
  255. package/lib/commonjs/icons/Refresh.js +1 -1
  256. package/lib/commonjs/icons/SEVEN_Z.js +1 -1
  257. package/lib/commonjs/icons/Search.js +1 -1
  258. package/lib/commonjs/icons/SendRight.js +1 -1
  259. package/lib/commonjs/icons/SendUp.js +1 -1
  260. package/lib/commonjs/icons/Share.js +1 -1
  261. package/lib/commonjs/icons/ShareRightArrow.js +1 -1
  262. package/lib/commonjs/icons/Smile.js +1 -1
  263. package/lib/commonjs/icons/Sound.js +1 -1
  264. package/lib/commonjs/icons/TAR.js +1 -1
  265. package/lib/commonjs/icons/TXT.js +1 -1
  266. package/lib/commonjs/icons/ThreadReply.js +1 -1
  267. package/lib/commonjs/icons/ThumbsDownReaction.js +1 -1
  268. package/lib/commonjs/icons/ThumbsUpReaction.js +1 -1
  269. package/lib/commonjs/icons/Time.js +1 -1
  270. package/lib/commonjs/icons/Unknown.js +1 -1
  271. package/lib/commonjs/icons/Unpin.js +1 -1
  272. package/lib/commonjs/icons/User.js +1 -1
  273. package/lib/commonjs/icons/UserAdd.js +1 -1
  274. package/lib/commonjs/icons/UserAdmin.js +1 -1
  275. package/lib/commonjs/icons/UserDelete.js +1 -1
  276. package/lib/commonjs/icons/UserMinus.js +1 -1
  277. package/lib/commonjs/icons/Video.js +1 -1
  278. package/lib/commonjs/icons/Warning.js +1 -1
  279. package/lib/commonjs/icons/WutReaction.js +1 -1
  280. package/lib/commonjs/icons/XLS.js +1 -1
  281. package/lib/commonjs/icons/XLSX.js +1 -1
  282. package/lib/commonjs/icons/ZIP.js +1 -1
  283. package/lib/commonjs/icons/utils/base.js +1 -1
  284. package/lib/commonjs/index.js +9 -0
  285. package/lib/commonjs/index.js.map +1 -1
  286. package/lib/commonjs/mock-builders/DB/consts.js +15 -0
  287. package/lib/commonjs/mock-builders/DB/consts.js.map +1 -0
  288. package/lib/commonjs/mock-builders/DB/mock.js +125 -0
  289. package/lib/commonjs/mock-builders/DB/mock.js.map +1 -0
  290. package/lib/commonjs/mock-builders/event/memberAdded.js +17 -0
  291. package/lib/commonjs/mock-builders/event/memberAdded.js.map +1 -0
  292. package/lib/commonjs/mock-builders/event/memberRemoved.js +17 -0
  293. package/lib/commonjs/mock-builders/event/memberRemoved.js.map +1 -0
  294. package/lib/commonjs/mock-builders/event/memberUpdated.js +17 -0
  295. package/lib/commonjs/mock-builders/event/memberUpdated.js.map +1 -0
  296. package/lib/commonjs/mock-builders/event/reactionDeleted.js +18 -0
  297. package/lib/commonjs/mock-builders/event/reactionDeleted.js.map +1 -0
  298. package/lib/commonjs/mock-builders/event/reactionNew.js +18 -0
  299. package/lib/commonjs/mock-builders/event/reactionNew.js.map +1 -0
  300. package/lib/commonjs/mock-builders/event/reactionUpdated.js +18 -0
  301. package/lib/commonjs/mock-builders/event/reactionUpdated.js.map +1 -0
  302. package/lib/commonjs/mock-builders/generator/reaction.js +1 -1
  303. package/lib/commonjs/mock-builders/generator/reaction.js.map +1 -1
  304. package/lib/commonjs/store/QuickSqliteClient.js +156 -0
  305. package/lib/commonjs/store/QuickSqliteClient.js.map +1 -0
  306. package/lib/commonjs/store/apis/deleteChannel.js +26 -0
  307. package/lib/commonjs/store/apis/deleteChannel.js.map +1 -0
  308. package/lib/commonjs/store/apis/deleteMember.js +28 -0
  309. package/lib/commonjs/store/apis/deleteMember.js.map +1 -0
  310. package/lib/commonjs/store/apis/deleteMessagesForChannel.js +26 -0
  311. package/lib/commonjs/store/apis/deleteMessagesForChannel.js.map +1 -0
  312. package/lib/commonjs/store/apis/deleteReactions.js +28 -0
  313. package/lib/commonjs/store/apis/deleteReactions.js.map +1 -0
  314. package/lib/commonjs/store/apis/getAllChannelIds.js +16 -0
  315. package/lib/commonjs/store/apis/getAllChannelIds.js.map +1 -0
  316. package/lib/commonjs/store/apis/getChannelMessages.js +45 -0
  317. package/lib/commonjs/store/apis/getChannelMessages.js.map +1 -0
  318. package/lib/commonjs/store/apis/getChannels.js +60 -0
  319. package/lib/commonjs/store/apis/getChannels.js.map +1 -0
  320. package/lib/commonjs/store/apis/getLastSyncedAt.js +23 -0
  321. package/lib/commonjs/store/apis/getLastSyncedAt.js.map +1 -0
  322. package/lib/commonjs/store/apis/getMembers.js +25 -0
  323. package/lib/commonjs/store/apis/getMembers.js.map +1 -0
  324. package/lib/commonjs/store/apis/getReads.js +25 -0
  325. package/lib/commonjs/store/apis/getReads.js.map +1 -0
  326. package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js +31 -0
  327. package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -0
  328. package/lib/commonjs/store/apis/queries/selectChannels.js +30 -0
  329. package/lib/commonjs/store/apis/queries/selectChannels.js.map +1 -0
  330. package/lib/commonjs/store/apis/queries/selectMembersForChannels.js +27 -0
  331. package/lib/commonjs/store/apis/queries/selectMembersForChannels.js.map +1 -0
  332. package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js +27 -0
  333. package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js.map +1 -0
  334. package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js +27 -0
  335. package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js.map +1 -0
  336. package/lib/commonjs/store/apis/queries/selectReadsForChannels.js +27 -0
  337. package/lib/commonjs/store/apis/queries/selectReadsForChannels.js.map +1 -0
  338. package/lib/commonjs/store/apis/updateMessage.js +69 -0
  339. package/lib/commonjs/store/apis/updateMessage.js.map +1 -0
  340. package/lib/commonjs/store/apis/updateReaction.js +53 -0
  341. package/lib/commonjs/store/apis/updateReaction.js.map +1 -0
  342. package/lib/commonjs/store/apis/upsertChannelData.js +26 -0
  343. package/lib/commonjs/store/apis/upsertChannelData.js.map +1 -0
  344. package/lib/commonjs/store/apis/upsertChannels.js +83 -0
  345. package/lib/commonjs/store/apis/upsertChannels.js.map +1 -0
  346. package/lib/commonjs/store/apis/upsertCidsForQuery.js +34 -0
  347. package/lib/commonjs/store/apis/upsertCidsForQuery.js.map +1 -0
  348. package/lib/commonjs/store/apis/upsertLastSyncedAt.js +22 -0
  349. package/lib/commonjs/store/apis/upsertLastSyncedAt.js.map +1 -0
  350. package/lib/commonjs/store/apis/upsertMembers.js +39 -0
  351. package/lib/commonjs/store/apis/upsertMembers.js.map +1 -0
  352. package/lib/commonjs/store/apis/upsertMessages.js +52 -0
  353. package/lib/commonjs/store/apis/upsertMessages.js.map +1 -0
  354. package/lib/commonjs/store/apis/upsertReads.js +39 -0
  355. package/lib/commonjs/store/apis/upsertReads.js.map +1 -0
  356. package/lib/commonjs/store/apis/utils/convertFilterSortToQuery.js +13 -0
  357. package/lib/commonjs/store/apis/utils/convertFilterSortToQuery.js.map +1 -0
  358. package/lib/commonjs/store/constants.js +11 -0
  359. package/lib/commonjs/store/constants.js.map +1 -0
  360. package/lib/commonjs/store/mappers/mapChannelDataToStorable.js +67 -0
  361. package/lib/commonjs/store/mappers/mapChannelDataToStorable.js.map +1 -0
  362. package/lib/commonjs/store/mappers/mapDateTimeToStorable.js +12 -0
  363. package/lib/commonjs/store/mappers/mapDateTimeToStorable.js.map +1 -0
  364. package/lib/commonjs/store/mappers/mapMemberToStorable.js +39 -0
  365. package/lib/commonjs/store/mappers/mapMemberToStorable.js.map +1 -0
  366. package/lib/commonjs/store/mappers/mapMessageToStorable.js +42 -0
  367. package/lib/commonjs/store/mappers/mapMessageToStorable.js.map +1 -0
  368. package/lib/commonjs/store/mappers/mapReactionToStorable.js +34 -0
  369. package/lib/commonjs/store/mappers/mapReactionToStorable.js.map +1 -0
  370. package/lib/commonjs/store/mappers/mapReadToStorable.js +23 -0
  371. package/lib/commonjs/store/mappers/mapReadToStorable.js.map +1 -0
  372. package/lib/commonjs/store/mappers/mapStorableToChannel.js +65 -0
  373. package/lib/commonjs/store/mappers/mapStorableToChannel.js.map +1 -0
  374. package/lib/commonjs/store/mappers/mapStorableToMember.js +38 -0
  375. package/lib/commonjs/store/mappers/mapStorableToMember.js.map +1 -0
  376. package/lib/commonjs/store/mappers/mapStorableToMessage.js +50 -0
  377. package/lib/commonjs/store/mappers/mapStorableToMessage.js.map +1 -0
  378. package/lib/commonjs/store/mappers/mapStorableToReaction.js +31 -0
  379. package/lib/commonjs/store/mappers/mapStorableToReaction.js.map +1 -0
  380. package/lib/commonjs/store/mappers/mapStorableToRead.js +20 -0
  381. package/lib/commonjs/store/mappers/mapStorableToRead.js.map +1 -0
  382. package/lib/commonjs/store/mappers/mapStorableToUser.js +31 -0
  383. package/lib/commonjs/store/mappers/mapStorableToUser.js.map +1 -0
  384. package/lib/commonjs/store/mappers/mapUserToStorable.js +34 -0
  385. package/lib/commonjs/store/mappers/mapUserToStorable.js.map +1 -0
  386. package/lib/commonjs/store/schema.js +161 -0
  387. package/lib/commonjs/store/schema.js.map +1 -0
  388. package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js +38 -0
  389. package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js.map +1 -0
  390. package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js +35 -0
  391. package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js.map +1 -0
  392. package/lib/commonjs/store/sqlite-utils/createDeleteQuery.js +14 -0
  393. package/lib/commonjs/store/sqlite-utils/createDeleteQuery.js.map +1 -0
  394. package/lib/commonjs/store/sqlite-utils/createSelectQuery.js +26 -0
  395. package/lib/commonjs/store/sqlite-utils/createSelectQuery.js.map +1 -0
  396. package/lib/commonjs/store/sqlite-utils/createUpdateQuery.js +29 -0
  397. package/lib/commonjs/store/sqlite-utils/createUpdateQuery.js.map +1 -0
  398. package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js +30 -0
  399. package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js.map +1 -0
  400. package/lib/commonjs/store/sqlite-utils/printRow.js +23 -0
  401. package/lib/commonjs/store/sqlite-utils/printRow.js.map +1 -0
  402. package/lib/commonjs/store/types.js +4 -0
  403. package/lib/commonjs/store/types.js.map +1 -0
  404. package/lib/commonjs/version.json +1 -1
  405. package/lib/module/components/Attachment/Attachment.js +1 -1
  406. package/lib/module/components/Attachment/AttachmentActions.js +1 -1
  407. package/lib/module/components/Attachment/AudioAttachment.js +1 -1
  408. package/lib/module/components/Attachment/Card.js +1 -1
  409. package/lib/module/components/Attachment/FileAttachment.js +1 -1
  410. package/lib/module/components/Attachment/FileAttachmentGroup.js +1 -1
  411. package/lib/module/components/Attachment/FileIcon.js +1 -1
  412. package/lib/module/components/Attachment/Gallery.js +3 -3
  413. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  414. package/lib/module/components/Attachment/GalleryImage.js +1 -1
  415. package/lib/module/components/Attachment/Giphy.js +30 -30
  416. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  417. package/lib/module/components/Attachment/ImageLoadingFailedIndicator.js +1 -1
  418. package/lib/module/components/Attachment/ImageLoadingIndicator.js +1 -1
  419. package/lib/module/components/Attachment/VideoThumbnail.js +1 -1
  420. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +1 -1
  421. package/lib/module/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +1 -1
  422. package/lib/module/components/AttachmentPicker/components/AttachmentPickerError.js +1 -1
  423. package/lib/module/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +1 -1
  424. package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js +1 -1
  425. package/lib/module/components/AttachmentPicker/components/CameraSelectorIcon.js +1 -1
  426. package/lib/module/components/AttachmentPicker/components/FileSelectorIcon.js +1 -1
  427. package/lib/module/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +1 -1
  428. package/lib/module/components/AttachmentPicker/components/ImageSelectorIcon.js +1 -1
  429. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +1 -1
  430. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +1 -1
  431. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +1 -1
  432. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +1 -1
  433. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -1
  434. package/lib/module/components/Avatar/Avatar.js +31 -18
  435. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  436. package/lib/module/components/Avatar/GroupAvatar.js +28 -21
  437. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  438. package/lib/module/components/Channel/Channel.js +227 -257
  439. package/lib/module/components/Channel/Channel.js.map +1 -1
  440. package/lib/module/components/Channel/hooks/useCreateChannelContext.js +2 -0
  441. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  442. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js +2 -0
  443. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  444. package/lib/module/components/ChannelList/ChannelList.js +41 -10
  445. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  446. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -1
  447. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +1 -1
  448. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +1 -1
  449. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js +1 -1
  450. package/lib/module/components/ChannelList/ChannelListMessenger.js +20 -8
  451. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  452. package/lib/module/components/ChannelList/Skeleton.js +1 -1
  453. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  454. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  455. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js +2 -2
  456. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  457. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js +2 -2
  458. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  459. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js +2 -2
  460. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  461. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js +2 -2
  462. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  463. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  464. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  465. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  466. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  467. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js +2 -2
  468. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  469. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js +2 -2
  470. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  471. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js +4 -4
  472. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  473. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +51 -21
  474. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  475. package/lib/module/components/ChannelPreview/ChannelAvatar.js +1 -1
  476. package/lib/module/components/ChannelPreview/ChannelPreview.js +3 -3
  477. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  478. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +8 -6
  479. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  480. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +1 -1
  481. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
  482. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +1 -1
  483. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  484. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +1 -1
  485. package/lib/module/components/Chat/Chat.js +45 -9
  486. package/lib/module/components/Chat/Chat.js.map +1 -1
  487. package/lib/module/components/Chat/hooks/handleEventToSyncDB.js +144 -0
  488. package/lib/module/components/Chat/hooks/handleEventToSyncDB.js.map +1 -0
  489. package/lib/module/components/Chat/hooks/useConnectionRecovered.js +171 -0
  490. package/lib/module/components/Chat/hooks/useConnectionRecovered.js.map +1 -0
  491. package/lib/module/components/Chat/hooks/useCreateChatContext.js +7 -3
  492. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  493. package/lib/module/components/Chat/hooks/useMutedUsers.js +3 -3
  494. package/lib/module/components/Chat/hooks/useMutedUsers.js.map +1 -1
  495. package/lib/module/components/Chat/hooks/useSyncDatabase.js +29 -0
  496. package/lib/module/components/Chat/hooks/useSyncDatabase.js.map +1 -0
  497. package/lib/module/components/ImageGallery/ImageGallery.js +1 -1
  498. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +1 -1
  499. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +1 -1
  500. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +1 -1
  501. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +1 -1
  502. package/lib/module/components/ImageGallery/components/ImageGalleryOverlay.js +1 -1
  503. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js +1 -1
  504. package/lib/module/components/ImageGallery/components/ImageGrid.js +1 -1
  505. package/lib/module/components/ImageGallery/components/ImageGridHandle.js +1 -1
  506. package/lib/module/components/Indicators/EmptyStateIndicator.js +1 -1
  507. package/lib/module/components/Indicators/LoadingDot.js +1 -1
  508. package/lib/module/components/Indicators/LoadingDots.js +1 -1
  509. package/lib/module/components/Indicators/LoadingErrorIndicator.js +1 -1
  510. package/lib/module/components/Indicators/LoadingIndicator.js +1 -1
  511. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js +1 -1
  512. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +1 -1
  513. package/lib/module/components/Message/Message.js +1 -1
  514. package/lib/module/components/Message/MessageSimple/MessageAvatar.js +1 -1
  515. package/lib/module/components/Message/MessageSimple/MessageContent.js +1 -1
  516. package/lib/module/components/Message/MessageSimple/MessageDeleted.js +1 -1
  517. package/lib/module/components/Message/MessageSimple/MessageFooter.js +1 -1
  518. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +1 -1
  519. package/lib/module/components/Message/MessageSimple/MessageReplies.js +1 -1
  520. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +1 -1
  521. package/lib/module/components/Message/MessageSimple/MessageSimple.js +1 -1
  522. package/lib/module/components/Message/MessageSimple/MessageStatus.js +1 -1
  523. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +1 -1
  524. package/lib/module/components/Message/MessageSimple/ReactionList.js +1 -1
  525. package/lib/module/components/Message/MessageSimple/utils/renderText.js +1 -1
  526. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js +1 -1
  527. package/lib/module/components/Message/hooks/useMessageActions.js +1 -1
  528. package/lib/module/components/MessageInput/AttachButton.js +1 -1
  529. package/lib/module/components/MessageInput/CommandsButton.js +1 -1
  530. package/lib/module/components/MessageInput/CooldownTimer.js +1 -1
  531. package/lib/module/components/MessageInput/FileUploadPreview.js +1 -1
  532. package/lib/module/components/MessageInput/ImageUploadPreview.js +1 -1
  533. package/lib/module/components/MessageInput/InputButtons.js +1 -1
  534. package/lib/module/components/MessageInput/MessageInput.js +1 -1
  535. package/lib/module/components/MessageInput/MoreOptionsButton.js +1 -1
  536. package/lib/module/components/MessageInput/SendButton.js +1 -1
  537. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +1 -1
  538. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +1 -1
  539. package/lib/module/components/MessageInput/UploadProgressIndicator.js +1 -1
  540. package/lib/module/components/MessageInput/components/InputEditingStateHeader.js +1 -1
  541. package/lib/module/components/MessageInput/components/InputGiphySearch.js +1 -1
  542. package/lib/module/components/MessageInput/components/InputReplyStateHeader.js +1 -1
  543. package/lib/module/components/MessageList/DateHeader.js +1 -1
  544. package/lib/module/components/MessageList/InlineDateSeparator.js +1 -1
  545. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  546. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  547. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  548. package/lib/module/components/MessageList/InlineUnreadIndicator.js +1 -1
  549. package/lib/module/components/MessageList/MessageList.js +136 -108
  550. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  551. package/lib/module/components/MessageList/MessageSystem.js +1 -1
  552. package/lib/module/components/MessageList/NetworkDownIndicator.js +1 -1
  553. package/lib/module/components/MessageList/ScrollToBottomButton.js +1 -1
  554. package/lib/module/components/MessageList/TypingIndicator.js +1 -1
  555. package/lib/module/components/MessageList/TypingIndicatorContainer.js +1 -1
  556. package/lib/module/components/MessageOverlay/MessageActionList.js +1 -1
  557. package/lib/module/components/MessageOverlay/MessageActionListItem.js +1 -1
  558. package/lib/module/components/MessageOverlay/MessageOverlay.js +1 -1
  559. package/lib/module/components/MessageOverlay/OverlayBackdrop.js +1 -1
  560. package/lib/module/components/MessageOverlay/OverlayReactionList.js +1 -1
  561. package/lib/module/components/MessageOverlay/OverlayReactions.js +1 -1
  562. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js +1 -1
  563. package/lib/module/components/ProgressControl/ProgressControl.js +1 -1
  564. package/lib/module/components/RTLComponents/WritingDirectionAwareText.js +1 -1
  565. package/lib/module/components/Reply/Reply.js +1 -1
  566. package/lib/module/components/Spinner/Spinner.js +1 -1
  567. package/lib/module/components/Thread/Thread.js +1 -1
  568. package/lib/module/components/Thread/components/ThreadFooterComponent.js +1 -1
  569. package/lib/module/components/index.js +26 -13
  570. package/lib/module/components/index.js.map +1 -1
  571. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +1 -1
  572. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
  573. package/lib/module/contexts/channelContext/ChannelContext.js +3 -3
  574. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  575. package/lib/module/contexts/channelsContext/ChannelsContext.js +1 -1
  576. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +1 -1
  577. package/lib/module/contexts/channelsStateContext/useChannelState.js +5 -5
  578. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
  579. package/lib/module/contexts/chatContext/ChatContext.js +3 -3
  580. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  581. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +1 -1
  582. package/lib/module/contexts/keyboardContext/KeyboardContext.js +1 -1
  583. package/lib/module/contexts/messageContext/MessageContext.js +1 -1
  584. package/lib/module/contexts/messageInputContext/MessageInputContext.js +1 -1
  585. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +1 -1
  586. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +1 -1
  587. package/lib/module/contexts/messagesContext/MessagesContext.js +1 -1
  588. package/lib/module/contexts/overlayContext/OverlayContext.js +1 -1
  589. package/lib/module/contexts/overlayContext/OverlayProvider.js +13 -26
  590. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  591. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
  592. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +3 -3
  593. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  594. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +1 -1
  595. package/lib/module/contexts/themeContext/ThemeContext.js +1 -1
  596. package/lib/module/contexts/threadContext/ThreadContext.js +1 -1
  597. package/lib/module/contexts/translationContext/TranslationContext.js +1 -1
  598. package/lib/module/contexts/typingContext/TypingContext.js +1 -1
  599. package/lib/module/{components/Attachment/hooks → hooks}/useLoadingImage.js +10 -0
  600. package/lib/module/hooks/useLoadingImage.js.map +1 -0
  601. package/lib/module/icons/ArrowRight.js +1 -1
  602. package/lib/module/icons/AtMentions.js +1 -1
  603. package/lib/module/icons/Attach.js +1 -1
  604. package/lib/module/icons/Audio.js +1 -1
  605. package/lib/module/icons/CSV.js +1 -1
  606. package/lib/module/icons/Camera.js +1 -1
  607. package/lib/module/icons/Check.js +1 -1
  608. package/lib/module/icons/CheckAll.js +1 -1
  609. package/lib/module/icons/CheckSend.js +1 -1
  610. package/lib/module/icons/CircleClose.js +1 -1
  611. package/lib/module/icons/CirclePlus.js +1 -1
  612. package/lib/module/icons/CircleRight.js +1 -1
  613. package/lib/module/icons/Close.js +1 -1
  614. package/lib/module/icons/Copy.js +1 -1
  615. package/lib/module/icons/CurveLineLeftUp.js +1 -1
  616. package/lib/module/icons/DOC.js +1 -1
  617. package/lib/module/icons/DOCX.js +1 -1
  618. package/lib/module/icons/Delete.js +1 -1
  619. package/lib/module/icons/Down.js +1 -1
  620. package/lib/module/icons/DownloadArrow.js +1 -1
  621. package/lib/module/icons/DownloadCloud.js +1 -1
  622. package/lib/module/icons/Edit.js +1 -1
  623. package/lib/module/icons/Error.js +1 -1
  624. package/lib/module/icons/Eye.js +1 -1
  625. package/lib/module/icons/Flag.js +1 -1
  626. package/lib/module/icons/Folder.js +1 -1
  627. package/lib/module/icons/GenericFile.js +1 -1
  628. package/lib/module/icons/GiphyIcon.js +1 -1
  629. package/lib/module/icons/Grid.js +1 -1
  630. package/lib/module/icons/Group.js +1 -1
  631. package/lib/module/icons/HTML.js +1 -1
  632. package/lib/module/icons/Imgur.js +1 -1
  633. package/lib/module/icons/LOLReaction.js +1 -1
  634. package/lib/module/icons/Lightning.js +1 -1
  635. package/lib/module/icons/Link.js +1 -1
  636. package/lib/module/icons/Loading.js +1 -1
  637. package/lib/module/icons/Logo.js +1 -1
  638. package/lib/module/icons/LoveReaction.js +1 -1
  639. package/lib/module/icons/MD.js +1 -1
  640. package/lib/module/icons/MailOpen.js +1 -1
  641. package/lib/module/icons/MenuPointHorizontal.js +1 -1
  642. package/lib/module/icons/MenuPointVertical.js +1 -1
  643. package/lib/module/icons/MessageFlag.js +1 -1
  644. package/lib/module/icons/MessageIcon.js +1 -1
  645. package/lib/module/icons/Mute.js +1 -1
  646. package/lib/module/icons/Notification.js +1 -1
  647. package/lib/module/icons/ODT.js +1 -1
  648. package/lib/module/icons/PDF.js +1 -1
  649. package/lib/module/icons/PPT.js +1 -1
  650. package/lib/module/icons/PPTX.js +1 -1
  651. package/lib/module/icons/Pause.js +1 -1
  652. package/lib/module/icons/Picture.js +1 -1
  653. package/lib/module/icons/Pin.js +1 -1
  654. package/lib/module/icons/PinHeader.js +1 -1
  655. package/lib/module/icons/Play.js +1 -1
  656. package/lib/module/icons/RAR.js +1 -1
  657. package/lib/module/icons/RTF.js +1 -1
  658. package/lib/module/icons/Recorder.js +1 -1
  659. package/lib/module/icons/Refresh.js +1 -1
  660. package/lib/module/icons/SEVEN_Z.js +1 -1
  661. package/lib/module/icons/Search.js +1 -1
  662. package/lib/module/icons/SendRight.js +1 -1
  663. package/lib/module/icons/SendUp.js +1 -1
  664. package/lib/module/icons/Share.js +1 -1
  665. package/lib/module/icons/ShareRightArrow.js +1 -1
  666. package/lib/module/icons/Smile.js +1 -1
  667. package/lib/module/icons/Sound.js +1 -1
  668. package/lib/module/icons/TAR.js +1 -1
  669. package/lib/module/icons/TXT.js +1 -1
  670. package/lib/module/icons/ThreadReply.js +1 -1
  671. package/lib/module/icons/ThumbsDownReaction.js +1 -1
  672. package/lib/module/icons/ThumbsUpReaction.js +1 -1
  673. package/lib/module/icons/Time.js +1 -1
  674. package/lib/module/icons/Unknown.js +1 -1
  675. package/lib/module/icons/Unpin.js +1 -1
  676. package/lib/module/icons/User.js +1 -1
  677. package/lib/module/icons/UserAdd.js +1 -1
  678. package/lib/module/icons/UserAdmin.js +1 -1
  679. package/lib/module/icons/UserDelete.js +1 -1
  680. package/lib/module/icons/UserMinus.js +1 -1
  681. package/lib/module/icons/Video.js +1 -1
  682. package/lib/module/icons/Warning.js +1 -1
  683. package/lib/module/icons/WutReaction.js +1 -1
  684. package/lib/module/icons/XLS.js +1 -1
  685. package/lib/module/icons/XLSX.js +1 -1
  686. package/lib/module/icons/ZIP.js +1 -1
  687. package/lib/module/icons/utils/base.js +1 -1
  688. package/lib/module/index.js +9 -0
  689. package/lib/module/index.js.map +1 -1
  690. package/lib/module/mock-builders/DB/consts.js +15 -0
  691. package/lib/module/mock-builders/DB/consts.js.map +1 -0
  692. package/lib/module/mock-builders/DB/mock.js +125 -0
  693. package/lib/module/mock-builders/DB/mock.js.map +1 -0
  694. package/lib/module/mock-builders/event/memberAdded.js +17 -0
  695. package/lib/module/mock-builders/event/memberAdded.js.map +1 -0
  696. package/lib/module/mock-builders/event/memberRemoved.js +17 -0
  697. package/lib/module/mock-builders/event/memberRemoved.js.map +1 -0
  698. package/lib/module/mock-builders/event/memberUpdated.js +17 -0
  699. package/lib/module/mock-builders/event/memberUpdated.js.map +1 -0
  700. package/lib/module/mock-builders/event/reactionDeleted.js +18 -0
  701. package/lib/module/mock-builders/event/reactionDeleted.js.map +1 -0
  702. package/lib/module/mock-builders/event/reactionNew.js +18 -0
  703. package/lib/module/mock-builders/event/reactionNew.js.map +1 -0
  704. package/lib/module/mock-builders/event/reactionUpdated.js +18 -0
  705. package/lib/module/mock-builders/event/reactionUpdated.js.map +1 -0
  706. package/lib/module/mock-builders/generator/reaction.js +1 -1
  707. package/lib/module/mock-builders/generator/reaction.js.map +1 -1
  708. package/lib/module/store/QuickSqliteClient.js +156 -0
  709. package/lib/module/store/QuickSqliteClient.js.map +1 -0
  710. package/lib/module/store/apis/deleteChannel.js +26 -0
  711. package/lib/module/store/apis/deleteChannel.js.map +1 -0
  712. package/lib/module/store/apis/deleteMember.js +28 -0
  713. package/lib/module/store/apis/deleteMember.js.map +1 -0
  714. package/lib/module/store/apis/deleteMessagesForChannel.js +26 -0
  715. package/lib/module/store/apis/deleteMessagesForChannel.js.map +1 -0
  716. package/lib/module/store/apis/deleteReactions.js +28 -0
  717. package/lib/module/store/apis/deleteReactions.js.map +1 -0
  718. package/lib/module/store/apis/getAllChannelIds.js +16 -0
  719. package/lib/module/store/apis/getAllChannelIds.js.map +1 -0
  720. package/lib/module/store/apis/getChannelMessages.js +45 -0
  721. package/lib/module/store/apis/getChannelMessages.js.map +1 -0
  722. package/lib/module/store/apis/getChannels.js +60 -0
  723. package/lib/module/store/apis/getChannels.js.map +1 -0
  724. package/lib/module/store/apis/getLastSyncedAt.js +23 -0
  725. package/lib/module/store/apis/getLastSyncedAt.js.map +1 -0
  726. package/lib/module/store/apis/getMembers.js +25 -0
  727. package/lib/module/store/apis/getMembers.js.map +1 -0
  728. package/lib/module/store/apis/getReads.js +25 -0
  729. package/lib/module/store/apis/getReads.js.map +1 -0
  730. package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js +31 -0
  731. package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -0
  732. package/lib/module/store/apis/queries/selectChannels.js +30 -0
  733. package/lib/module/store/apis/queries/selectChannels.js.map +1 -0
  734. package/lib/module/store/apis/queries/selectMembersForChannels.js +27 -0
  735. package/lib/module/store/apis/queries/selectMembersForChannels.js.map +1 -0
  736. package/lib/module/store/apis/queries/selectMessagesForChannels.js +27 -0
  737. package/lib/module/store/apis/queries/selectMessagesForChannels.js.map +1 -0
  738. package/lib/module/store/apis/queries/selectReactionsForMessages.js +27 -0
  739. package/lib/module/store/apis/queries/selectReactionsForMessages.js.map +1 -0
  740. package/lib/module/store/apis/queries/selectReadsForChannels.js +27 -0
  741. package/lib/module/store/apis/queries/selectReadsForChannels.js.map +1 -0
  742. package/lib/module/store/apis/updateMessage.js +69 -0
  743. package/lib/module/store/apis/updateMessage.js.map +1 -0
  744. package/lib/module/store/apis/updateReaction.js +53 -0
  745. package/lib/module/store/apis/updateReaction.js.map +1 -0
  746. package/lib/module/store/apis/upsertChannelData.js +26 -0
  747. package/lib/module/store/apis/upsertChannelData.js.map +1 -0
  748. package/lib/module/store/apis/upsertChannels.js +83 -0
  749. package/lib/module/store/apis/upsertChannels.js.map +1 -0
  750. package/lib/module/store/apis/upsertCidsForQuery.js +34 -0
  751. package/lib/module/store/apis/upsertCidsForQuery.js.map +1 -0
  752. package/lib/module/store/apis/upsertLastSyncedAt.js +22 -0
  753. package/lib/module/store/apis/upsertLastSyncedAt.js.map +1 -0
  754. package/lib/module/store/apis/upsertMembers.js +39 -0
  755. package/lib/module/store/apis/upsertMembers.js.map +1 -0
  756. package/lib/module/store/apis/upsertMessages.js +52 -0
  757. package/lib/module/store/apis/upsertMessages.js.map +1 -0
  758. package/lib/module/store/apis/upsertReads.js +39 -0
  759. package/lib/module/store/apis/upsertReads.js.map +1 -0
  760. package/lib/module/store/apis/utils/convertFilterSortToQuery.js +13 -0
  761. package/lib/module/store/apis/utils/convertFilterSortToQuery.js.map +1 -0
  762. package/lib/module/store/constants.js +11 -0
  763. package/lib/module/store/constants.js.map +1 -0
  764. package/lib/module/store/mappers/mapChannelDataToStorable.js +67 -0
  765. package/lib/module/store/mappers/mapChannelDataToStorable.js.map +1 -0
  766. package/lib/module/store/mappers/mapDateTimeToStorable.js +12 -0
  767. package/lib/module/store/mappers/mapDateTimeToStorable.js.map +1 -0
  768. package/lib/module/store/mappers/mapMemberToStorable.js +39 -0
  769. package/lib/module/store/mappers/mapMemberToStorable.js.map +1 -0
  770. package/lib/module/store/mappers/mapMessageToStorable.js +42 -0
  771. package/lib/module/store/mappers/mapMessageToStorable.js.map +1 -0
  772. package/lib/module/store/mappers/mapReactionToStorable.js +34 -0
  773. package/lib/module/store/mappers/mapReactionToStorable.js.map +1 -0
  774. package/lib/module/store/mappers/mapReadToStorable.js +23 -0
  775. package/lib/module/store/mappers/mapReadToStorable.js.map +1 -0
  776. package/lib/module/store/mappers/mapStorableToChannel.js +65 -0
  777. package/lib/module/store/mappers/mapStorableToChannel.js.map +1 -0
  778. package/lib/module/store/mappers/mapStorableToMember.js +38 -0
  779. package/lib/module/store/mappers/mapStorableToMember.js.map +1 -0
  780. package/lib/module/store/mappers/mapStorableToMessage.js +50 -0
  781. package/lib/module/store/mappers/mapStorableToMessage.js.map +1 -0
  782. package/lib/module/store/mappers/mapStorableToReaction.js +31 -0
  783. package/lib/module/store/mappers/mapStorableToReaction.js.map +1 -0
  784. package/lib/module/store/mappers/mapStorableToRead.js +20 -0
  785. package/lib/module/store/mappers/mapStorableToRead.js.map +1 -0
  786. package/lib/module/store/mappers/mapStorableToUser.js +31 -0
  787. package/lib/module/store/mappers/mapStorableToUser.js.map +1 -0
  788. package/lib/module/store/mappers/mapUserToStorable.js +34 -0
  789. package/lib/module/store/mappers/mapUserToStorable.js.map +1 -0
  790. package/lib/module/store/schema.js +161 -0
  791. package/lib/module/store/schema.js.map +1 -0
  792. package/lib/module/store/sqlite-utils/appendWhereCluase.js +38 -0
  793. package/lib/module/store/sqlite-utils/appendWhereCluase.js.map +1 -0
  794. package/lib/module/store/sqlite-utils/createCreateTableQuery.js +35 -0
  795. package/lib/module/store/sqlite-utils/createCreateTableQuery.js.map +1 -0
  796. package/lib/module/store/sqlite-utils/createDeleteQuery.js +14 -0
  797. package/lib/module/store/sqlite-utils/createDeleteQuery.js.map +1 -0
  798. package/lib/module/store/sqlite-utils/createSelectQuery.js +26 -0
  799. package/lib/module/store/sqlite-utils/createSelectQuery.js.map +1 -0
  800. package/lib/module/store/sqlite-utils/createUpdateQuery.js +29 -0
  801. package/lib/module/store/sqlite-utils/createUpdateQuery.js.map +1 -0
  802. package/lib/module/store/sqlite-utils/createUpsertQuery.js +30 -0
  803. package/lib/module/store/sqlite-utils/createUpsertQuery.js.map +1 -0
  804. package/lib/module/store/sqlite-utils/printRow.js +23 -0
  805. package/lib/module/store/sqlite-utils/printRow.js.map +1 -0
  806. package/lib/module/store/types.js +4 -0
  807. package/lib/module/store/types.js.map +1 -0
  808. package/lib/module/version.json +1 -1
  809. package/lib/typescript/__tests__/utils/BetterSqlite.d.ts +8 -0
  810. package/lib/typescript/components/Channel/Channel.d.ts +3 -5
  811. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
  812. package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts +1 -1
  813. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +4 -2
  814. package/lib/typescript/components/Chat/Chat.d.ts +4 -0
  815. package/lib/typescript/components/Chat/hooks/handleEventToSyncDB.d.ts +2 -0
  816. package/lib/typescript/components/Chat/hooks/useConnectionRecovered.d.ts +10 -0
  817. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +1 -1
  818. package/lib/typescript/components/Chat/hooks/useSyncDatabase.d.ts +8 -0
  819. package/lib/typescript/components/MessageList/MessageList.d.ts +1 -1
  820. package/lib/typescript/components/index.d.ts +2 -1
  821. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +17 -0
  822. package/lib/typescript/contexts/chatContext/ChatContext.d.ts +3 -1
  823. package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +4 -0
  824. package/lib/typescript/{components/Attachment/hooks → hooks}/useLoadingImage.d.ts +0 -0
  825. package/lib/typescript/index.d.ts +1 -0
  826. package/lib/typescript/store/QuickSqliteClient.d.ts +18 -0
  827. package/lib/typescript/store/apis/deleteChannel.d.ts +4 -0
  828. package/lib/typescript/store/apis/deleteMember.d.ts +6 -0
  829. package/lib/typescript/store/apis/deleteMessagesForChannel.d.ts +4 -0
  830. package/lib/typescript/store/apis/deleteReactions.d.ts +4 -0
  831. package/lib/typescript/store/apis/getAllChannelIds.d.ts +1 -0
  832. package/lib/typescript/store/apis/getChannelMessages.d.ts +6 -0
  833. package/lib/typescript/store/apis/getChannels.d.ts +7 -0
  834. package/lib/typescript/store/apis/getLastSyncedAt.d.ts +3 -0
  835. package/lib/typescript/store/apis/getMembers.d.ts +5 -0
  836. package/lib/typescript/store/apis/getReads.d.ts +5 -0
  837. package/lib/typescript/store/apis/queries/selectChannelIdsForFilterSort.d.ts +6 -0
  838. package/lib/typescript/store/apis/queries/selectChannels.d.ts +4 -0
  839. package/lib/typescript/store/apis/queries/selectMembersForChannels.d.ts +2 -0
  840. package/lib/typescript/store/apis/queries/selectMessagesForChannels.d.ts +2 -0
  841. package/lib/typescript/store/apis/queries/selectReactionsForMessages.d.ts +2 -0
  842. package/lib/typescript/store/apis/queries/selectReadsForChannels.d.ts +2 -0
  843. package/lib/typescript/store/apis/updateMessage.d.ts +6 -0
  844. package/lib/typescript/store/apis/updateReaction.d.ts +7 -0
  845. package/lib/typescript/store/apis/upsertChannelData.d.ts +5 -0
  846. package/lib/typescript/store/apis/upsertChannels.d.ts +9 -0
  847. package/lib/typescript/store/apis/upsertCidsForQuery.d.ts +7 -0
  848. package/lib/typescript/store/apis/upsertLastSyncedAt.d.ts +4 -0
  849. package/lib/typescript/store/apis/upsertMembers.d.ts +7 -0
  850. package/lib/typescript/store/apis/upsertMessages.d.ts +6 -0
  851. package/lib/typescript/store/apis/upsertReads.d.ts +7 -0
  852. package/lib/typescript/store/apis/utils/convertFilterSortToQuery.d.ts +6 -0
  853. package/lib/typescript/store/constants.d.ts +3 -0
  854. package/lib/typescript/store/mappers/mapChannelDataToStorable.d.ts +4 -0
  855. package/lib/typescript/store/mappers/mapDateTimeToStorable.d.ts +1 -0
  856. package/lib/typescript/store/mappers/mapMemberToStorable.d.ts +7 -0
  857. package/lib/typescript/store/mappers/mapMessageToStorable.d.ts +3 -0
  858. package/lib/typescript/store/mappers/mapReactionToStorable.d.ts +3 -0
  859. package/lib/typescript/store/mappers/mapReadToStorable.d.ts +7 -0
  860. package/lib/typescript/store/mappers/mapStorableToChannel.d.ts +4 -0
  861. package/lib/typescript/store/mappers/mapStorableToMember.d.ts +4 -0
  862. package/lib/typescript/store/mappers/mapStorableToMessage.d.ts +8 -0
  863. package/lib/typescript/store/mappers/mapStorableToReaction.d.ts +4 -0
  864. package/lib/typescript/store/mappers/mapStorableToRead.d.ts +4 -0
  865. package/lib/typescript/store/mappers/mapStorableToUser.d.ts +4 -0
  866. package/lib/typescript/store/mappers/mapUserToStorable.d.ts +3 -0
  867. package/lib/typescript/store/schema.d.ts +110 -0
  868. package/lib/typescript/store/sqlite-utils/__tests__/createSelectQuery.test.d.ts +1 -0
  869. package/lib/typescript/store/sqlite-utils/appendWhereCluase.d.ts +3 -0
  870. package/lib/typescript/store/sqlite-utils/createCreateTableQuery.d.ts +2 -0
  871. package/lib/typescript/store/sqlite-utils/createDeleteQuery.d.ts +12 -0
  872. package/lib/typescript/store/sqlite-utils/createSelectQuery.d.ts +13 -0
  873. package/lib/typescript/store/sqlite-utils/createUpdateQuery.d.ts +13 -0
  874. package/lib/typescript/store/sqlite-utils/createUpsertQuery.d.ts +11 -0
  875. package/lib/typescript/store/sqlite-utils/printRow.d.ts +2 -0
  876. package/lib/typescript/store/types.d.ts +9 -0
  877. package/package.json +4 -2
  878. package/src/__tests__/offline-feature.test.js +657 -0
  879. package/src/__tests__/utils/BetterSqlite.js +44 -0
  880. package/src/components/Attachment/Gallery.tsx +1 -1
  881. package/src/components/Attachment/Giphy.tsx +1 -2
  882. package/src/components/Avatar/Avatar.tsx +45 -31
  883. package/src/components/Avatar/GroupAvatar.tsx +46 -35
  884. package/src/components/Channel/Channel.tsx +101 -136
  885. package/src/components/Channel/hooks/useCreateChannelContext.ts +2 -0
  886. package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +2 -0
  887. package/src/components/ChannelList/ChannelList.tsx +28 -8
  888. package/src/components/ChannelList/ChannelListMessenger.tsx +4 -0
  889. package/src/components/ChannelList/hooks/listeners/__tests__/useChannelUpdated.test.tsx +2 -0
  890. package/src/components/ChannelList/hooks/listeners/useAddedToChannelNotification.ts +2 -2
  891. package/src/components/ChannelList/hooks/listeners/useChannelDeleted.ts +2 -2
  892. package/src/components/ChannelList/hooks/listeners/useChannelHidden.ts +2 -2
  893. package/src/components/ChannelList/hooks/listeners/useChannelTruncated.ts +2 -2
  894. package/src/components/ChannelList/hooks/listeners/useChannelUpdated.ts +2 -2
  895. package/src/components/ChannelList/hooks/listeners/useChannelVisible.ts +2 -2
  896. package/src/components/ChannelList/hooks/listeners/useNewMessage.ts +3 -2
  897. package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +2 -2
  898. package/src/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.ts +2 -2
  899. package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +5 -4
  900. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +36 -9
  901. package/src/components/ChannelPreview/ChannelPreview.tsx +2 -2
  902. package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +10 -9
  903. package/src/components/Chat/Chat.tsx +41 -4
  904. package/src/components/Chat/hooks/handleEventToSyncDB.ts +142 -0
  905. package/src/components/Chat/hooks/useConnectionRecovered.ts +92 -0
  906. package/src/components/Chat/hooks/useCreateChatContext.ts +9 -3
  907. package/src/components/Chat/hooks/useMutedUsers.ts +5 -3
  908. package/src/components/Chat/hooks/useSyncDatabase.ts +30 -0
  909. package/src/components/MessageList/MessageList.tsx +157 -101
  910. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +2 -0
  911. package/src/components/index.ts +2 -1
  912. package/src/contexts/channelContext/ChannelContext.tsx +15 -0
  913. package/src/contexts/channelsStateContext/useChannelState.ts +2 -2
  914. package/src/contexts/chatContext/ChatContext.tsx +3 -1
  915. package/src/contexts/overlayContext/OverlayProvider.tsx +1 -5
  916. package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +4 -0
  917. package/src/{components/Attachment/hooks → hooks}/useLoadingImage.tsx +9 -1
  918. package/src/index.ts +1 -0
  919. package/src/mock-builders/DB/consts.ts +2 -0
  920. package/src/mock-builders/DB/mock.ts +112 -0
  921. package/src/mock-builders/event/memberAdded.js +8 -0
  922. package/src/mock-builders/event/memberRemoved.js +8 -0
  923. package/src/mock-builders/event/memberUpdated.js +8 -0
  924. package/src/mock-builders/event/reactionDeleted.js +9 -0
  925. package/src/mock-builders/event/reactionNew.js +9 -0
  926. package/src/mock-builders/event/reactionUpdated.js +9 -0
  927. package/src/mock-builders/generator/reaction.js +1 -1
  928. package/src/store/QuickSqliteClient.ts +140 -0
  929. package/src/store/apis/deleteChannel.ts +14 -0
  930. package/src/store/apis/deleteMember.ts +25 -0
  931. package/src/store/apis/deleteMessagesForChannel.ts +19 -0
  932. package/src/store/apis/deleteReactions.ts +24 -0
  933. package/src/store/apis/getAllChannelIds.ts +7 -0
  934. package/src/store/apis/getChannelMessages.ts +50 -0
  935. package/src/store/apis/getChannels.ts +43 -0
  936. package/src/store/apis/getLastSyncedAt.ts +17 -0
  937. package/src/store/apis/getMembers.ts +26 -0
  938. package/src/store/apis/getReads.ts +26 -0
  939. package/src/store/apis/queries/selectChannelIdsForFilterSort.ts +28 -0
  940. package/src/store/apis/queries/selectChannels.ts +19 -0
  941. package/src/store/apis/queries/selectMembersForChannels.ts +32 -0
  942. package/src/store/apis/queries/selectMessagesForChannels.ts +40 -0
  943. package/src/store/apis/queries/selectReactionsForMessages.ts +33 -0
  944. package/src/store/apis/queries/selectReadsForChannels.ts +30 -0
  945. package/src/store/apis/updateMessage.ts +65 -0
  946. package/src/store/apis/updateReaction.ts +54 -0
  947. package/src/store/apis/upsertChannelData.ts +20 -0
  948. package/src/store/apis/upsertChannels.ts +79 -0
  949. package/src/store/apis/upsertCidsForQuery.ts +30 -0
  950. package/src/store/apis/upsertLastSyncedAt.ts +17 -0
  951. package/src/store/apis/upsertMembers.ts +41 -0
  952. package/src/store/apis/upsertMessages.ts +43 -0
  953. package/src/store/apis/upsertReads.ts +41 -0
  954. package/src/store/apis/utils/convertFilterSortToQuery.ts +14 -0
  955. package/src/store/constants.ts +3 -0
  956. package/src/store/mappers/mapChannelDataToStorable.ts +67 -0
  957. package/src/store/mappers/mapDateTimeToStorable.ts +5 -0
  958. package/src/store/mappers/mapMemberToStorable.ts +45 -0
  959. package/src/store/mappers/mapMessageToStorable.ts +35 -0
  960. package/src/store/mappers/mapReactionToStorable.ts +19 -0
  961. package/src/store/mappers/mapReadToStorable.ts +25 -0
  962. package/src/store/mappers/mapStorableToChannel.ts +69 -0
  963. package/src/store/mappers/mapStorableToMember.ts +42 -0
  964. package/src/store/mappers/mapStorableToMessage.ts +40 -0
  965. package/src/store/mappers/mapStorableToReaction.ts +25 -0
  966. package/src/store/mappers/mapStorableToRead.ts +21 -0
  967. package/src/store/mappers/mapStorableToUser.ts +23 -0
  968. package/src/store/mappers/mapUserToStorable.ts +18 -0
  969. package/src/store/schema.ts +284 -0
  970. package/src/store/sqlite-utils/__tests__/createSelectQuery.test.ts +21 -0
  971. package/src/store/sqlite-utils/appendWhereCluase.ts +33 -0
  972. package/src/store/sqlite-utils/createCreateTableQuery.ts +39 -0
  973. package/src/store/sqlite-utils/createDeleteQuery.ts +23 -0
  974. package/src/store/sqlite-utils/createSelectQuery.ts +25 -0
  975. package/src/store/sqlite-utils/createUpdateQuery.ts +27 -0
  976. package/src/store/sqlite-utils/createUpsertQuery.ts +48 -0
  977. package/src/store/sqlite-utils/printRow.ts +19 -0
  978. package/src/store/types.ts +12 -0
  979. package/src/version.json +1 -1
  980. package/lib/commonjs/components/Attachment/hooks/useLoadingImage.js.map +0 -1
  981. package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js +0 -45
  982. package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +0 -1
  983. package/lib/module/components/Attachment/hooks/useLoadingImage.js.map +0 -1
  984. package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js +0 -45
  985. package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +0 -1
  986. package/lib/typescript/components/ChannelList/hooks/listeners/useConnectionRecovered.d.ts +0 -8
  987. package/src/components/ChannelList/hooks/listeners/useConnectionRecovered.ts +0 -41
@@ -1 +1 @@
1
- {"version":3,"sources":["Giphy.tsx"],"names":["styles","StyleSheet","create","actionsRow","flexDirection","buttonContainer","alignItems","borderTopWidth","flex","justifyContent","cancel","fontSize","fontWeight","paddingVertical","centerChild","display","container","overflow","width","giphy","alignSelf","borderRadius","height","maxWidth","giphyContainer","giphyHeaderText","giphyHeaderTitle","marginLeft","giphyMask","bottom","left","position","giphyMaskText","header","padding","imageErrorIndicatorStyle","imageLoadingIndicatorStyle","selectionContainer","borderBottomRightRadius","borderWidth","selectionImageContainer","margin","send","shuffle","shuffleButton","GiphyWithContext","props","additionalTouchableProps","attachment","giphyVersion","handleAction","ImageLoadingFailedIndicator","ImageLoadingIndicator","isMyMessage","message","onLongPress","onPress","onPressIn","preventPress","setImage","setImages","setOverlay","actions","giphyData","image_url","thumb_url","title","type","isLoadingImage","isLoadingImageError","setLoadingImage","setLoadingImageError","theme","colors","accent_blue","black","grey","grey_dark","grey_gainsboro","label_bg_transparent","white","messageSimple","uri","giphyDimensions","defaultOnPress","messageId","id","url","giphyVersionInfo","parseFloat","backgroundColor","borderColor","color","error","console","warn","name","value","borderRightWidth","text","event","emitter","defaultHandler","toUpperCase","areEqual","prevProps","nextProps","prevActions","prevImageUrl","prevThumbUrl","prevGiphyVersion","prevIsMyMessage","prevMessage","nextActions","nextImageUrl","nextThumbUrl","nextGiphyVersion","nextIsMyMessage","nextMessage","imageUrlEqual","thumbUrlEqual","actionsEqual","Array","isArray","length","giphyVersionEqual","isMyMessageEqual","messageEqual","updated_at","MemoizedGiphy","React","memo","Giphy","ContextImageLoadingFailedIndicator","ContextImageLoadingIndicator","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Image, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport { useLoadingImage } from './hooks/useLoadingImage';\n\nimport {\n ImageGalleryContextValue,\n useImageGalleryContext,\n} from '../../contexts/imageGalleryContext/ImageGalleryContext';\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { GiphyIcon } from '../../icons';\nimport { Lightning } from '../../icons/Lightning';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { makeImageCompatibleUrl } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n actionsRow: {\n flexDirection: 'row',\n },\n buttonContainer: {\n alignItems: 'center',\n borderTopWidth: 1,\n flex: 1,\n justifyContent: 'center',\n },\n cancel: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n centerChild: {\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'center',\n },\n container: {\n overflow: 'hidden',\n width: 270,\n },\n giphy: {\n alignSelf: 'center',\n borderRadius: 2,\n height: 170,\n maxWidth: 270,\n width: 270,\n },\n giphyContainer: {\n alignItems: 'center',\n borderRadius: 12,\n flexDirection: 'row',\n height: 24,\n justifyContent: 'center',\n width: 68,\n },\n giphyHeaderText: {\n fontSize: 16,\n fontWeight: '600',\n },\n giphyHeaderTitle: {\n fontSize: 14,\n marginLeft: 8,\n },\n giphyMask: {\n bottom: 8,\n left: 8,\n position: 'absolute',\n },\n giphyMaskText: {\n fontSize: 13,\n fontWeight: '600',\n },\n header: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n padding: 8,\n width: '60%',\n },\n imageErrorIndicatorStyle: {\n alignItems: 'center',\n flex: 1,\n justifyContent: 'center',\n },\n imageLoadingIndicatorStyle: {\n alignItems: 'center',\n flex: 1,\n justifyContent: 'center',\n position: 'absolute',\n },\n selectionContainer: {\n borderBottomRightRadius: 0,\n borderRadius: 16,\n borderWidth: 1,\n overflow: 'hidden',\n width: 272,\n },\n selectionImageContainer: {\n alignSelf: 'center',\n margin: 1,\n },\n send: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n shuffle: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n shuffleButton: {\n alignItems: 'center',\n borderRadius: 16,\n borderWidth: 1,\n height: 32,\n justifyContent: 'center',\n width: 32,\n },\n});\n\nexport type GiphyPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ImageGalleryContextValue<StreamChatGenerics>, 'setImage' | 'setImages'> &\n Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'handleAction'\n | 'isMyMessage'\n | 'message'\n | 'onLongPress'\n | 'onPress'\n | 'onPressIn'\n | 'preventPress'\n > &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'giphyVersion'\n | 'additionalTouchableProps'\n | 'ImageLoadingIndicator'\n | 'ImageLoadingFailedIndicator'\n > & {\n attachment: Attachment<StreamChatGenerics>;\n } & Pick<OverlayContextValue, 'setOverlay'>;\n\nconst GiphyWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GiphyPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n attachment,\n giphyVersion,\n handleAction,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n isMyMessage,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setImage,\n setImages,\n setOverlay,\n } = props;\n\n const { actions, giphy: giphyData, image_url, thumb_url, title, type } = attachment;\n\n const { isLoadingImage, isLoadingImageError, setLoadingImage, setLoadingImageError } =\n useLoadingImage();\n\n const {\n theme: {\n colors: { accent_blue, black, grey, grey_dark, grey_gainsboro, label_bg_transparent, white },\n messageSimple: {\n giphy: {\n buttonContainer,\n cancel,\n container,\n giphy,\n giphyContainer,\n giphyHeaderText,\n giphyHeaderTitle,\n giphyMask,\n giphyMaskText,\n header,\n selectionContainer,\n send,\n shuffle,\n },\n },\n },\n } = useTheme();\n\n let uri = image_url || thumb_url;\n const giphyDimensions: { height?: number; width?: number } = {};\n\n const defaultOnPress = () => {\n setImages([message]);\n setImage({ messageId: message.id, url: uri });\n setOverlay('gallery');\n };\n\n if (type === 'giphy' && giphyData) {\n const giphyVersionInfo = giphyData[giphyVersion];\n uri = giphyVersionInfo.url;\n giphyDimensions.height = parseFloat(giphyVersionInfo.height);\n giphyDimensions.width = parseFloat(giphyVersionInfo.width);\n }\n\n if (!uri) return null;\n\n return actions ? (\n <View\n style={[\n styles.selectionContainer,\n { backgroundColor: white, borderColor: `${black}0D` },\n selectionContainer,\n ]}\n testID='giphy-action-attachment'\n >\n <View style={[styles.header, header]}>\n <GiphyIcon />\n <Text style={[styles.giphyHeaderText, giphyHeaderText]}>Giphy</Text>\n <Text\n style={[styles.giphyHeaderTitle, giphyHeaderTitle, { color: grey_dark }]}\n >{`/giphy ${title}`}</Text>\n </View>\n <View style={styles.selectionImageContainer}>\n <Image\n onError={(error) => {\n console.warn(error);\n setLoadingImage(false);\n setLoadingImageError(true);\n }}\n onLoadEnd={() => setLoadingImage(false)}\n onLoadStart={() => setLoadingImage(true)}\n resizeMode='contain'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.giphy, giphyDimensions, giphy]}\n />\n </View>\n <View>\n <View style={styles.actionsRow}>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[2].name && actions?.[2].value && handleAction) {\n handleAction(actions[2].name, actions[2].value);\n }\n }}\n style={[\n styles.buttonContainer,\n { borderColor: grey_gainsboro, borderRightWidth: 1 },\n buttonContainer,\n ]}\n testID={`${actions?.[2].value}-action-button`}\n >\n <Text style={[styles.cancel, { color: grey }, cancel]}>{actions?.[2].text}</Text>\n </TouchableOpacity>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[1].name && actions?.[1].value && handleAction) {\n handleAction(actions[1].name, actions[1].value);\n }\n }}\n style={[\n styles.buttonContainer,\n { borderColor: grey_gainsboro, borderRightWidth: 1 },\n buttonContainer,\n ]}\n testID={`${actions?.[1].value}-action-button`}\n >\n <Text style={[styles.shuffle, { color: grey }, shuffle]}>{actions?.[1].text}</Text>\n </TouchableOpacity>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[0].name && actions?.[0].value && handleAction) {\n handleAction(actions[0].name, actions[0].value);\n }\n }}\n style={[styles.buttonContainer, { borderColor: grey_gainsboro }, buttonContainer]}\n testID={`${actions?.[0].value}-action-button`}\n >\n <Text style={[styles.send, { color: accent_blue }, send]}>{actions?.[0].text}</Text>\n </TouchableOpacity>\n </View>\n </View>\n </View>\n ) : (\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'giphy',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: defaultOnPress,\n emitter: 'giphy',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n emitter: 'giphy',\n event,\n });\n }\n }}\n testID='giphy-attachment'\n {...additionalTouchableProps}\n >\n <View\n style={[\n styles.container,\n styles.centerChild,\n { backgroundColor: isMyMessage ? grey_gainsboro : white },\n container,\n ]}\n >\n <Image\n accessibilityLabel='Giphy Attachment Image'\n onError={(error) => {\n console.warn(error);\n setLoadingImage(false);\n setLoadingImageError(true);\n }}\n onLoadEnd={() => setLoadingImage(false)}\n onLoadStart={() => setLoadingImage(true)}\n resizeMode='contain'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.giphy, giphyDimensions, giphy]}\n testID='giphy-attachment-image'\n />\n\n {isLoadingImageError && (\n <View style={{ position: 'absolute' }}>\n <ImageLoadingFailedIndicator style={styles.imageErrorIndicatorStyle} />\n </View>\n )}\n {isLoadingImage && (\n <View style={{ position: 'absolute' }}>\n <ImageLoadingIndicator style={styles.imageLoadingIndicatorStyle} />\n </View>\n )}\n <View style={[styles.giphyMask, giphyMask]}>\n <View\n style={[\n styles.giphyContainer,\n { backgroundColor: label_bg_transparent },\n giphyContainer,\n ]}\n >\n <Lightning height={16} pathFill={white} width={16} />\n <Text style={[styles.giphyMaskText, { color: white }, giphyMaskText]}>\n {type?.toUpperCase()}\n </Text>\n </View>\n </View>\n </View>\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: GiphyPropsWithContext<StreamChatGenerics>,\n nextProps: GiphyPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n attachment: { actions: prevActions, image_url: prevImageUrl, thumb_url: prevThumbUrl },\n giphyVersion: prevGiphyVersion,\n isMyMessage: prevIsMyMessage,\n message: prevMessage,\n } = prevProps;\n const {\n attachment: { actions: nextActions, image_url: nextImageUrl, thumb_url: nextThumbUrl },\n giphyVersion: nextGiphyVersion,\n isMyMessage: nextIsMyMessage,\n message: nextMessage,\n } = nextProps;\n\n const imageUrlEqual = prevImageUrl === nextImageUrl;\n if (!imageUrlEqual) return false;\n\n const thumbUrlEqual = prevThumbUrl === nextThumbUrl;\n if (!thumbUrlEqual) return false;\n\n const actionsEqual =\n Array.isArray(prevActions) === Array.isArray(nextActions) &&\n ((Array.isArray(prevActions) &&\n Array.isArray(nextActions) &&\n prevActions.length === nextActions.length) ||\n prevActions === nextActions);\n if (!actionsEqual) return false;\n\n const giphyVersionEqual = prevGiphyVersion === nextGiphyVersion;\n if (!giphyVersionEqual) return false;\n\n const isMyMessageEqual = prevIsMyMessage === nextIsMyMessage;\n if (!isMyMessageEqual) return false;\n\n const messageEqual =\n prevMessage?.id === nextMessage?.id &&\n `${prevMessage?.updated_at}` === `${nextMessage?.updated_at}`;\n\n if (!messageEqual) return false;\n return true;\n};\n\nconst MemoizedGiphy = React.memo(GiphyWithContext, areEqual) as typeof GiphyWithContext;\n\nexport type GiphyProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<GiphyPropsWithContext<StreamChatGenerics>> & {\n attachment: Attachment<StreamChatGenerics>;\n};\n\n/**\n * UI component for card in attachments.\n */\nexport const Giphy = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GiphyProps<StreamChatGenerics>,\n) => {\n const { handleAction, isMyMessage, message, onLongPress, onPress, onPressIn, preventPress } =\n useMessageContext<StreamChatGenerics>();\n const { additionalTouchableProps, giphyVersion } = useMessagesContext<StreamChatGenerics>();\n const { setImage, setImages } = useImageGalleryContext<StreamChatGenerics>();\n const { setOverlay } = useOverlayContext();\n\n const {\n ImageLoadingFailedIndicator: ContextImageLoadingFailedIndicator,\n ImageLoadingIndicator: ContextImageLoadingIndicator,\n } = useMessagesContext<StreamChatGenerics>();\n const ImageLoadingFailedIndicator =\n ContextImageLoadingFailedIndicator || props.ImageLoadingFailedIndicator;\n const ImageLoadingIndicator = ContextImageLoadingIndicator || props.ImageLoadingIndicator;\n\n return (\n <MemoizedGiphy\n {...{\n additionalTouchableProps,\n giphyVersion,\n handleAction,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n isMyMessage,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setImage,\n setImages,\n setOverlay,\n }}\n {...props}\n />\n );\n};\n\nGiphy.displayName = 'Giphy{messageSimple{giphy}}';\n"]}
1
+ {"version":3,"sources":["Giphy.tsx"],"names":["styles","StyleSheet","create","actionsRow","flexDirection","buttonContainer","alignItems","borderTopWidth","flex","justifyContent","cancel","fontSize","fontWeight","paddingVertical","centerChild","display","container","overflow","width","giphy","alignSelf","borderRadius","height","maxWidth","giphyContainer","giphyHeaderText","giphyHeaderTitle","marginLeft","giphyMask","bottom","left","position","giphyMaskText","header","padding","imageErrorIndicatorStyle","imageLoadingIndicatorStyle","selectionContainer","borderBottomRightRadius","borderWidth","selectionImageContainer","margin","send","shuffle","shuffleButton","GiphyWithContext","props","additionalTouchableProps","attachment","giphyVersion","handleAction","ImageLoadingFailedIndicator","ImageLoadingIndicator","isMyMessage","message","onLongPress","onPress","onPressIn","preventPress","setImage","setImages","setOverlay","actions","giphyData","image_url","thumb_url","title","type","isLoadingImage","isLoadingImageError","setLoadingImage","setLoadingImageError","theme","colors","accent_blue","black","grey","grey_dark","grey_gainsboro","label_bg_transparent","white","messageSimple","uri","giphyDimensions","defaultOnPress","messageId","id","url","giphyVersionInfo","parseFloat","backgroundColor","borderColor","color","error","console","warn","name","value","borderRightWidth","text","event","emitter","defaultHandler","toUpperCase","areEqual","prevProps","nextProps","prevActions","prevImageUrl","prevThumbUrl","prevGiphyVersion","prevIsMyMessage","prevMessage","nextActions","nextImageUrl","nextThumbUrl","nextGiphyVersion","nextIsMyMessage","nextMessage","imageUrlEqual","thumbUrlEqual","actionsEqual","Array","isArray","length","giphyVersionEqual","isMyMessageEqual","messageEqual","updated_at","MemoizedGiphy","React","memo","Giphy","ContextImageLoadingFailedIndicator","ContextImageLoadingIndicator","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Image, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport {\n ImageGalleryContextValue,\n useImageGalleryContext,\n} from '../../contexts/imageGalleryContext/ImageGalleryContext';\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useLoadingImage } from '../../hooks/useLoadingImage';\nimport { GiphyIcon } from '../../icons';\nimport { Lightning } from '../../icons/Lightning';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { makeImageCompatibleUrl } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n actionsRow: {\n flexDirection: 'row',\n },\n buttonContainer: {\n alignItems: 'center',\n borderTopWidth: 1,\n flex: 1,\n justifyContent: 'center',\n },\n cancel: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n centerChild: {\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'center',\n },\n container: {\n overflow: 'hidden',\n width: 270,\n },\n giphy: {\n alignSelf: 'center',\n borderRadius: 2,\n height: 170,\n maxWidth: 270,\n width: 270,\n },\n giphyContainer: {\n alignItems: 'center',\n borderRadius: 12,\n flexDirection: 'row',\n height: 24,\n justifyContent: 'center',\n width: 68,\n },\n giphyHeaderText: {\n fontSize: 16,\n fontWeight: '600',\n },\n giphyHeaderTitle: {\n fontSize: 14,\n marginLeft: 8,\n },\n giphyMask: {\n bottom: 8,\n left: 8,\n position: 'absolute',\n },\n giphyMaskText: {\n fontSize: 13,\n fontWeight: '600',\n },\n header: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n padding: 8,\n width: '60%',\n },\n imageErrorIndicatorStyle: {\n alignItems: 'center',\n flex: 1,\n justifyContent: 'center',\n },\n imageLoadingIndicatorStyle: {\n alignItems: 'center',\n flex: 1,\n justifyContent: 'center',\n position: 'absolute',\n },\n selectionContainer: {\n borderBottomRightRadius: 0,\n borderRadius: 16,\n borderWidth: 1,\n overflow: 'hidden',\n width: 272,\n },\n selectionImageContainer: {\n alignSelf: 'center',\n margin: 1,\n },\n send: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n shuffle: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n shuffleButton: {\n alignItems: 'center',\n borderRadius: 16,\n borderWidth: 1,\n height: 32,\n justifyContent: 'center',\n width: 32,\n },\n});\n\nexport type GiphyPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ImageGalleryContextValue<StreamChatGenerics>, 'setImage' | 'setImages'> &\n Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'handleAction'\n | 'isMyMessage'\n | 'message'\n | 'onLongPress'\n | 'onPress'\n | 'onPressIn'\n | 'preventPress'\n > &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'giphyVersion'\n | 'additionalTouchableProps'\n | 'ImageLoadingIndicator'\n | 'ImageLoadingFailedIndicator'\n > & {\n attachment: Attachment<StreamChatGenerics>;\n } & Pick<OverlayContextValue, 'setOverlay'>;\n\nconst GiphyWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GiphyPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n attachment,\n giphyVersion,\n handleAction,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n isMyMessage,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setImage,\n setImages,\n setOverlay,\n } = props;\n\n const { actions, giphy: giphyData, image_url, thumb_url, title, type } = attachment;\n\n const { isLoadingImage, isLoadingImageError, setLoadingImage, setLoadingImageError } =\n useLoadingImage();\n\n const {\n theme: {\n colors: { accent_blue, black, grey, grey_dark, grey_gainsboro, label_bg_transparent, white },\n messageSimple: {\n giphy: {\n buttonContainer,\n cancel,\n container,\n giphy,\n giphyContainer,\n giphyHeaderText,\n giphyHeaderTitle,\n giphyMask,\n giphyMaskText,\n header,\n selectionContainer,\n send,\n shuffle,\n },\n },\n },\n } = useTheme();\n\n let uri = image_url || thumb_url;\n const giphyDimensions: { height?: number; width?: number } = {};\n\n const defaultOnPress = () => {\n setImages([message]);\n setImage({ messageId: message.id, url: uri });\n setOverlay('gallery');\n };\n\n if (type === 'giphy' && giphyData) {\n const giphyVersionInfo = giphyData[giphyVersion];\n uri = giphyVersionInfo.url;\n giphyDimensions.height = parseFloat(giphyVersionInfo.height);\n giphyDimensions.width = parseFloat(giphyVersionInfo.width);\n }\n\n if (!uri) return null;\n\n return actions ? (\n <View\n style={[\n styles.selectionContainer,\n { backgroundColor: white, borderColor: `${black}0D` },\n selectionContainer,\n ]}\n testID='giphy-action-attachment'\n >\n <View style={[styles.header, header]}>\n <GiphyIcon />\n <Text style={[styles.giphyHeaderText, giphyHeaderText]}>Giphy</Text>\n <Text\n style={[styles.giphyHeaderTitle, giphyHeaderTitle, { color: grey_dark }]}\n >{`/giphy ${title}`}</Text>\n </View>\n <View style={styles.selectionImageContainer}>\n <Image\n onError={(error) => {\n console.warn(error);\n setLoadingImage(false);\n setLoadingImageError(true);\n }}\n onLoadEnd={() => setLoadingImage(false)}\n onLoadStart={() => setLoadingImage(true)}\n resizeMode='contain'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.giphy, giphyDimensions, giphy]}\n />\n </View>\n <View>\n <View style={styles.actionsRow}>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[2].name && actions?.[2].value && handleAction) {\n handleAction(actions[2].name, actions[2].value);\n }\n }}\n style={[\n styles.buttonContainer,\n { borderColor: grey_gainsboro, borderRightWidth: 1 },\n buttonContainer,\n ]}\n testID={`${actions?.[2].value}-action-button`}\n >\n <Text style={[styles.cancel, { color: grey }, cancel]}>{actions?.[2].text}</Text>\n </TouchableOpacity>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[1].name && actions?.[1].value && handleAction) {\n handleAction(actions[1].name, actions[1].value);\n }\n }}\n style={[\n styles.buttonContainer,\n { borderColor: grey_gainsboro, borderRightWidth: 1 },\n buttonContainer,\n ]}\n testID={`${actions?.[1].value}-action-button`}\n >\n <Text style={[styles.shuffle, { color: grey }, shuffle]}>{actions?.[1].text}</Text>\n </TouchableOpacity>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[0].name && actions?.[0].value && handleAction) {\n handleAction(actions[0].name, actions[0].value);\n }\n }}\n style={[styles.buttonContainer, { borderColor: grey_gainsboro }, buttonContainer]}\n testID={`${actions?.[0].value}-action-button`}\n >\n <Text style={[styles.send, { color: accent_blue }, send]}>{actions?.[0].text}</Text>\n </TouchableOpacity>\n </View>\n </View>\n </View>\n ) : (\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'giphy',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: defaultOnPress,\n emitter: 'giphy',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n emitter: 'giphy',\n event,\n });\n }\n }}\n testID='giphy-attachment'\n {...additionalTouchableProps}\n >\n <View\n style={[\n styles.container,\n styles.centerChild,\n { backgroundColor: isMyMessage ? grey_gainsboro : white },\n container,\n ]}\n >\n <Image\n accessibilityLabel='Giphy Attachment Image'\n onError={(error) => {\n console.warn(error);\n setLoadingImage(false);\n setLoadingImageError(true);\n }}\n onLoadEnd={() => setLoadingImage(false)}\n onLoadStart={() => setLoadingImage(true)}\n resizeMode='contain'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.giphy, giphyDimensions, giphy]}\n testID='giphy-attachment-image'\n />\n\n {isLoadingImageError && (\n <View style={{ position: 'absolute' }}>\n <ImageLoadingFailedIndicator style={styles.imageErrorIndicatorStyle} />\n </View>\n )}\n {isLoadingImage && (\n <View style={{ position: 'absolute' }}>\n <ImageLoadingIndicator style={styles.imageLoadingIndicatorStyle} />\n </View>\n )}\n <View style={[styles.giphyMask, giphyMask]}>\n <View\n style={[\n styles.giphyContainer,\n { backgroundColor: label_bg_transparent },\n giphyContainer,\n ]}\n >\n <Lightning height={16} pathFill={white} width={16} />\n <Text style={[styles.giphyMaskText, { color: white }, giphyMaskText]}>\n {type?.toUpperCase()}\n </Text>\n </View>\n </View>\n </View>\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: GiphyPropsWithContext<StreamChatGenerics>,\n nextProps: GiphyPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n attachment: { actions: prevActions, image_url: prevImageUrl, thumb_url: prevThumbUrl },\n giphyVersion: prevGiphyVersion,\n isMyMessage: prevIsMyMessage,\n message: prevMessage,\n } = prevProps;\n const {\n attachment: { actions: nextActions, image_url: nextImageUrl, thumb_url: nextThumbUrl },\n giphyVersion: nextGiphyVersion,\n isMyMessage: nextIsMyMessage,\n message: nextMessage,\n } = nextProps;\n\n const imageUrlEqual = prevImageUrl === nextImageUrl;\n if (!imageUrlEqual) return false;\n\n const thumbUrlEqual = prevThumbUrl === nextThumbUrl;\n if (!thumbUrlEqual) return false;\n\n const actionsEqual =\n Array.isArray(prevActions) === Array.isArray(nextActions) &&\n ((Array.isArray(prevActions) &&\n Array.isArray(nextActions) &&\n prevActions.length === nextActions.length) ||\n prevActions === nextActions);\n if (!actionsEqual) return false;\n\n const giphyVersionEqual = prevGiphyVersion === nextGiphyVersion;\n if (!giphyVersionEqual) return false;\n\n const isMyMessageEqual = prevIsMyMessage === nextIsMyMessage;\n if (!isMyMessageEqual) return false;\n\n const messageEqual =\n prevMessage?.id === nextMessage?.id &&\n `${prevMessage?.updated_at}` === `${nextMessage?.updated_at}`;\n\n if (!messageEqual) return false;\n return true;\n};\n\nconst MemoizedGiphy = React.memo(GiphyWithContext, areEqual) as typeof GiphyWithContext;\n\nexport type GiphyProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<GiphyPropsWithContext<StreamChatGenerics>> & {\n attachment: Attachment<StreamChatGenerics>;\n};\n\n/**\n * UI component for card in attachments.\n */\nexport const Giphy = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GiphyProps<StreamChatGenerics>,\n) => {\n const { handleAction, isMyMessage, message, onLongPress, onPress, onPressIn, preventPress } =\n useMessageContext<StreamChatGenerics>();\n const { additionalTouchableProps, giphyVersion } = useMessagesContext<StreamChatGenerics>();\n const { setImage, setImages } = useImageGalleryContext<StreamChatGenerics>();\n const { setOverlay } = useOverlayContext();\n\n const {\n ImageLoadingFailedIndicator: ContextImageLoadingFailedIndicator,\n ImageLoadingIndicator: ContextImageLoadingIndicator,\n } = useMessagesContext<StreamChatGenerics>();\n const ImageLoadingFailedIndicator =\n ContextImageLoadingFailedIndicator || props.ImageLoadingFailedIndicator;\n const ImageLoadingIndicator = ContextImageLoadingIndicator || props.ImageLoadingIndicator;\n\n return (\n <MemoizedGiphy\n {...{\n additionalTouchableProps,\n giphyVersion,\n handleAction,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n isMyMessage,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setImage,\n setImages,\n setOverlay,\n }}\n {...props}\n />\n );\n};\n\nGiphy.displayName = 'Giphy{messageSimple{giphy}}';\n"]}
@@ -22,7 +22,7 @@ var _icons = require("../../icons");
22
22
  var _excluded = ["style"];
23
23
 
24
24
  var _this = this,
25
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Attachment/ImageLoadingFailedIndicator.tsx";
25
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Attachment/ImageLoadingFailedIndicator.tsx";
26
26
 
27
27
  var WARNING_ICON_SIZE = 14;
28
28
 
@@ -18,7 +18,7 @@ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
18
18
  var _excluded = ["style"];
19
19
 
20
20
  var _this = this,
21
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Attachment/ImageLoadingIndicator.tsx";
21
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Attachment/ImageLoadingIndicator.tsx";
22
22
 
23
23
  var styles = _reactNative.StyleSheet.create({
24
24
  container: {
@@ -14,7 +14,7 @@ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
14
14
  var _icons = require("../../icons");
15
15
 
16
16
  var _this = this,
17
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Attachment/VideoThumbnail.tsx";
17
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Attachment/VideoThumbnail.tsx";
18
18
 
19
19
  var styles = _reactNative.StyleSheet.create({
20
20
  container: {
@@ -38,7 +38,7 @@ var _native = require("../../native");
38
38
  var _utils = require("../../utils/utils");
39
39
 
40
40
  var _this = this,
41
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/AttachmentPicker/AttachmentPicker.tsx";
41
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AttachmentPicker/AttachmentPicker.tsx";
42
42
 
43
43
  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); }
44
44
 
@@ -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/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.tsx";
19
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.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
 
@@ -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/AttachmentPicker/components/AttachmentPickerError.tsx";
23
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AttachmentPicker/components/AttachmentPickerError.tsx";
24
24
 
25
25
  var styles = _reactNative.StyleSheet.create({
26
26
  errorButtonText: {
@@ -12,7 +12,7 @@ var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
12
12
  var _icons = require("../../../icons");
13
13
 
14
14
  var _this = this,
15
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/AttachmentPicker/components/AttachmentPickerErrorImage.tsx";
15
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AttachmentPicker/components/AttachmentPickerErrorImage.tsx";
16
16
 
17
17
  var AttachmentPickerErrorImage = function AttachmentPickerErrorImage() {
18
18
  var _useTheme = (0, _ThemeContext.useTheme)(),
@@ -24,7 +24,7 @@ var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
24
24
  var _native = require("../../../native");
25
25
 
26
26
  var _this = this,
27
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/AttachmentPicker/components/AttachmentSelectionBar.tsx";
27
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AttachmentPicker/components/AttachmentSelectionBar.tsx";
28
28
 
29
29
  var styles = _reactNative.StyleSheet.create({
30
30
  container: {
@@ -12,7 +12,7 @@ var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
12
12
  var _icons = require("../../../icons");
13
13
 
14
14
  var _this = this,
15
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/AttachmentPicker/components/CameraSelectorIcon.tsx";
15
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AttachmentPicker/components/CameraSelectorIcon.tsx";
16
16
 
17
17
  var CameraSelectorIcon = function CameraSelectorIcon() {
18
18
  var _useTheme = (0, _ThemeContext.useTheme)(),
@@ -12,7 +12,7 @@ var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
12
12
  var _icons = require("../../../icons");
13
13
 
14
14
  var _this = this,
15
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/AttachmentPicker/components/FileSelectorIcon.tsx";
15
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AttachmentPicker/components/FileSelectorIcon.tsx";
16
16
 
17
17
  var FileSelectorIcon = function FileSelectorIcon() {
18
18
  var _useTheme = (0, _ThemeContext.useTheme)(),
@@ -14,7 +14,7 @@ var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
14
14
  var _icons = require("../../../icons");
15
15
 
16
16
  var _this = this,
17
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/AttachmentPicker/components/ImageOverlaySelectedComponent.tsx";
17
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AttachmentPicker/components/ImageOverlaySelectedComponent.tsx";
18
18
 
19
19
  var styles = _reactNative.StyleSheet.create({
20
20
  check: {
@@ -12,7 +12,7 @@ var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
12
12
  var _icons = require("../../../icons");
13
13
 
14
14
  var _this = this,
15
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/AttachmentPicker/components/ImageSelectorIcon.tsx";
15
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AttachmentPicker/components/ImageSelectorIcon.tsx";
16
16
 
17
17
  var ImageSelectorIcon = function ImageSelectorIcon(_ref) {
18
18
  var selectedPicker = _ref.selectedPicker;
@@ -34,7 +34,7 @@ var _TranslationContext = require("../../contexts/translationContext/Translation
34
34
  var _utils = require("../../utils/utils");
35
35
 
36
36
  var _this = this,
37
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/AutoCompleteInput/AutoCompleteInput.tsx";
37
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AutoCompleteInput/AutoCompleteInput.tsx";
38
38
 
39
39
  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); }
40
40
 
@@ -14,7 +14,7 @@ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
14
14
  var _icons = require("../../icons");
15
15
 
16
16
  var _this = this,
17
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.tsx";
17
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.tsx";
18
18
 
19
19
  var styles = _reactNative.StyleSheet.create({
20
20
  iconContainer: {
@@ -20,7 +20,7 @@ var _Lightning = require("../../icons/Lightning");
20
20
  var _Smile = require("../../icons/Smile");
21
21
 
22
22
  var _this = this,
23
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/AutoCompleteInput/AutoCompleteSuggestionHeader.tsx";
23
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AutoCompleteInput/AutoCompleteSuggestionHeader.tsx";
24
24
 
25
25
  var styles = _reactNative.StyleSheet.create({
26
26
  container: {
@@ -20,7 +20,7 @@ var _AtMentions = require("../../icons/AtMentions");
20
20
  var _Avatar = require("../Avatar/Avatar");
21
21
 
22
22
  var _this = this,
23
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx";
23
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx";
24
24
 
25
25
  var styles = _reactNative.StyleSheet.create({
26
26
  args: {
@@ -20,7 +20,7 @@ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
20
20
  var _excluded = ["children"];
21
21
 
22
22
  var _this = this,
23
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx";
23
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx";
24
24
 
25
25
  var SuggestionsItem = function SuggestionsItem(props) {
26
26
  var children = props.children,
@@ -9,9 +9,7 @@ exports.Avatar = void 0;
9
9
 
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
 
12
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
-
14
- var _react = _interopRequireWildcard(require("react"));
12
+ var _react = _interopRequireDefault(require("react"));
15
13
 
16
14
  var _reactNative = require("react-native");
17
15
 
@@ -19,10 +17,12 @@ var _reactNativeSvg = _interopRequireWildcard(require("react-native-svg"));
19
17
 
20
18
  var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
21
19
 
20
+ var _useLoadingImage2 = require("../../hooks/useLoadingImage");
21
+
22
22
  var _getResizedImageUrl = require("../../utils/getResizedImageUrl");
23
23
 
24
24
  var _this = this,
25
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Avatar/Avatar.tsx";
25
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Avatar/Avatar.tsx";
26
26
 
27
27
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
28
28
 
@@ -75,16 +75,15 @@ var Avatar = function Avatar(props) {
75
75
  accent_green = _useTheme$theme$color.accent_green,
76
76
  white = _useTheme$theme$color.white;
77
77
 
78
- var _useState = (0, _react.useState)(false),
79
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
80
- imageError = _useState2[0],
81
- setImageError = _useState2[1];
78
+ var _useLoadingImage = (0, _useLoadingImage2.useLoadingImage)(),
79
+ isLoadingImageError = _useLoadingImage.isLoadingImageError,
80
+ setLoadingImageError = _useLoadingImage.setLoadingImageError;
82
81
 
83
82
  return _react["default"].createElement(_reactNative.View, {
84
83
  __self: _this,
85
84
  __source: {
86
85
  fileName: _jsxFileName,
87
- lineNumber: 74,
86
+ lineNumber: 75,
88
87
  columnNumber: 5
89
88
  }
90
89
  }, _react["default"].createElement(_reactNative.View, {
@@ -96,22 +95,36 @@ var Avatar = function Avatar(props) {
96
95
  __self: _this,
97
96
  __source: {
98
97
  fileName: _jsxFileName,
99
- lineNumber: 75,
98
+ lineNumber: 76,
100
99
  columnNumber: 7
101
100
  }
102
- }, _react["default"].createElement(_reactNative.Image, {
101
+ }, isLoadingImageError ? _react["default"].createElement(_reactNative.View, {
102
+ style: {
103
+ backgroundColor: '#ececec',
104
+ borderRadius: size / 2,
105
+ height: size,
106
+ width: size
107
+ },
108
+ __self: _this,
109
+ __source: {
110
+ fileName: _jsxFileName,
111
+ lineNumber: 89,
112
+ columnNumber: 11
113
+ }
114
+ }) : _react["default"].createElement(_reactNative.Image, {
103
115
  accessibilityLabel: testID || 'Avatar Image',
104
116
  onError: function onError() {
105
- return setImageError(true);
117
+ return setLoadingImageError(true);
106
118
  },
107
119
  source: {
108
- uri: imageError || !imageProp || imageProp.includes(randomImageBaseUrl) || imageProp.includes(randomSvgBaseUrl) ? imageProp != null && imageProp.includes(streamCDN) ? imageProp : "" + randomImageBaseUrl + (name ? "?name=" + getInitials(name) + "&size=" + size : '') : (0, _getResizedImageUrl.getResizedImageUrl)({
120
+ uri: !imageProp || imageProp.includes(randomImageBaseUrl) || imageProp.includes(randomSvgBaseUrl) ? imageProp != null && imageProp.includes(streamCDN) ? imageProp : "" + randomImageBaseUrl + (name ? "?name=" + getInitials(name) + "&size=" + size : '') : (0, _getResizedImageUrl.getResizedImageUrl)({
109
121
  height: size,
110
122
  url: imageProp,
111
123
  width: size
112
124
  })
113
125
  },
114
126
  style: [image, size ? {
127
+ backgroundColor: '#ececec',
115
128
  borderRadius: size / 2,
116
129
  height: size,
117
130
  width: size
@@ -120,22 +133,22 @@ var Avatar = function Avatar(props) {
120
133
  __self: _this,
121
134
  __source: {
122
135
  fileName: _jsxFileName,
123
- lineNumber: 87,
124
- columnNumber: 9
136
+ lineNumber: 98,
137
+ columnNumber: 11
125
138
  }
126
139
  })), online && _react["default"].createElement(_reactNative.View, {
127
140
  style: [styles.presenceIndicatorContainer, presenceIndicatorContainer, presenceIndicatorContainerStyle],
128
141
  __self: _this,
129
142
  __source: {
130
143
  fileName: _jsxFileName,
131
- lineNumber: 120,
144
+ lineNumber: 134,
132
145
  columnNumber: 9
133
146
  }
134
147
  }, _react["default"].createElement(_reactNativeSvg["default"], {
135
148
  __self: _this,
136
149
  __source: {
137
150
  fileName: _jsxFileName,
138
- lineNumber: 127,
151
+ lineNumber: 141,
139
152
  columnNumber: 11
140
153
  }
141
154
  }, _react["default"].createElement(_reactNativeSvg.Circle, (0, _extends2["default"])({
@@ -145,7 +158,7 @@ var Avatar = function Avatar(props) {
145
158
  __self: _this,
146
159
  __source: {
147
160
  fileName: _jsxFileName,
148
- lineNumber: 128,
161
+ lineNumber: 142,
149
162
  columnNumber: 13
150
163
  }
151
164
  })))));
@@ -1 +1 @@
1
- {"version":3,"sources":["Avatar.tsx"],"names":["randomImageBaseUrl","randomSvgBaseUrl","streamCDN","styles","StyleSheet","create","container","alignItems","justifyContent","overflow","presenceIndicatorContainer","height","position","right","top","width","getInitials","fullName","split","slice","map","name","charAt","join","Avatar","props","containerStyle","imageProp","image","imageStyle","online","presenceIndicatorProp","presenceIndicator","presenceIndicatorContainerStyle","size","testID","theme","avatar","colors","accent_green","white","imageError","setImageError","borderRadius","uri","includes","url","displayName"],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport { Image, ImageStyle, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\nimport Svg, { Circle, CircleProps } from 'react-native-svg';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { getResizedImageUrl } from '../../utils/getResizedImageUrl';\n\nconst randomImageBaseUrl = 'https://getstream.io/random_png/';\nconst randomSvgBaseUrl = 'https://getstream.io/random_svg/';\nconst streamCDN = 'stream-io-cdn.com';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n justifyContent: 'center',\n overflow: 'hidden',\n },\n presenceIndicatorContainer: {\n height: 12,\n position: 'absolute',\n right: 0,\n top: 0,\n width: 12,\n },\n});\n\nconst getInitials = (fullName: string) =>\n fullName\n .split(' ')\n .slice(0, 2)\n .map((name) => name.charAt(0))\n .join(' ');\n\nexport type AvatarProps = {\n /** size in pixels */\n size: number;\n containerStyle?: StyleProp<ViewStyle>;\n /** image url */\n image?: string;\n /** name of the picture, used for fallback */\n imageStyle?: StyleProp<ImageStyle>;\n name?: string;\n online?: boolean;\n presenceIndicator?: CircleProps;\n presenceIndicatorContainerStyle?: StyleProp<ViewStyle>;\n testID?: string;\n};\n\n/**\n * Avatar - A round avatar image with fallback to user's initials.\n */\nexport const Avatar: React.FC<AvatarProps> = (props) => {\n const {\n containerStyle,\n image: imageProp,\n imageStyle,\n name,\n online,\n presenceIndicator: presenceIndicatorProp,\n presenceIndicatorContainerStyle,\n size,\n testID,\n } = props;\n const {\n theme: {\n avatar: { container, image, presenceIndicator, presenceIndicatorContainer },\n colors: { accent_green, white },\n },\n } = useTheme();\n\n const [imageError, setImageError] = useState(false);\n\n return (\n <View>\n <View\n style={[\n styles.container,\n {\n borderRadius: size / 2,\n height: size,\n width: size,\n },\n container,\n containerStyle,\n ]}\n >\n <Image\n accessibilityLabel={testID || 'Avatar Image'}\n onError={() => setImageError(true)}\n source={{\n uri:\n imageError ||\n !imageProp ||\n imageProp.includes(randomImageBaseUrl) ||\n imageProp.includes(randomSvgBaseUrl)\n ? imageProp?.includes(streamCDN)\n ? imageProp\n : `${randomImageBaseUrl}${name ? `?name=${getInitials(name)}&size=${size}` : ''}`\n : getResizedImageUrl({\n height: size,\n url: imageProp,\n width: size,\n }),\n }}\n style={[\n image,\n size\n ? {\n borderRadius: size / 2,\n height: size,\n width: size,\n }\n : {},\n imageStyle,\n ]}\n testID={testID || 'avatar-image'}\n />\n </View>\n {online && (\n <View\n style={[\n styles.presenceIndicatorContainer,\n presenceIndicatorContainer,\n presenceIndicatorContainerStyle,\n ]}\n >\n <Svg>\n <Circle\n fill={accent_green}\n stroke={white}\n {...presenceIndicator}\n {...presenceIndicatorProp}\n />\n </Svg>\n </View>\n )}\n </View>\n );\n};\n\nAvatar.displayName = 'Avatar{avatar}';\n"]}
1
+ {"version":3,"sources":["Avatar.tsx"],"names":["randomImageBaseUrl","randomSvgBaseUrl","streamCDN","styles","StyleSheet","create","container","alignItems","justifyContent","overflow","presenceIndicatorContainer","height","position","right","top","width","getInitials","fullName","split","slice","map","name","charAt","join","Avatar","props","containerStyle","imageProp","image","imageStyle","online","presenceIndicatorProp","presenceIndicator","presenceIndicatorContainerStyle","size","testID","theme","avatar","colors","accent_green","white","isLoadingImageError","setLoadingImageError","borderRadius","backgroundColor","uri","includes","url","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Image, ImageStyle, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\nimport Svg, { Circle, CircleProps } from 'react-native-svg';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useLoadingImage } from '../../hooks/useLoadingImage';\nimport { getResizedImageUrl } from '../../utils/getResizedImageUrl';\n\nconst randomImageBaseUrl = 'https://getstream.io/random_png/';\nconst randomSvgBaseUrl = 'https://getstream.io/random_svg/';\nconst streamCDN = 'stream-io-cdn.com';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n justifyContent: 'center',\n overflow: 'hidden',\n },\n presenceIndicatorContainer: {\n height: 12,\n position: 'absolute',\n right: 0,\n top: 0,\n width: 12,\n },\n});\n\nconst getInitials = (fullName: string) =>\n fullName\n .split(' ')\n .slice(0, 2)\n .map((name) => name.charAt(0))\n .join(' ');\n\nexport type AvatarProps = {\n /** size in pixels */\n size: number;\n containerStyle?: StyleProp<ViewStyle>;\n /** image url */\n image?: string;\n /** name of the picture, used for fallback */\n imageStyle?: StyleProp<ImageStyle>;\n name?: string;\n online?: boolean;\n presenceIndicator?: CircleProps;\n presenceIndicatorContainerStyle?: StyleProp<ViewStyle>;\n testID?: string;\n};\n\n/**\n * Avatar - A round avatar image with fallback to user's initials.\n */\nexport const Avatar: React.FC<AvatarProps> = (props) => {\n const {\n containerStyle,\n image: imageProp,\n imageStyle,\n name,\n online,\n presenceIndicator: presenceIndicatorProp,\n presenceIndicatorContainerStyle,\n size,\n testID,\n } = props;\n const {\n theme: {\n avatar: { container, image, presenceIndicator, presenceIndicatorContainer },\n colors: { accent_green, white },\n },\n } = useTheme();\n\n const { isLoadingImageError, setLoadingImageError } = useLoadingImage();\n\n return (\n <View>\n <View\n style={[\n styles.container,\n {\n borderRadius: size / 2,\n height: size,\n width: size,\n },\n container,\n containerStyle,\n ]}\n >\n {isLoadingImageError ? (\n <View\n style={{\n backgroundColor: '#ececec',\n borderRadius: size / 2,\n height: size,\n width: size,\n }}\n />\n ) : (\n <Image\n accessibilityLabel={testID || 'Avatar Image'}\n onError={() => setLoadingImageError(true)}\n source={{\n uri:\n !imageProp ||\n imageProp.includes(randomImageBaseUrl) ||\n imageProp.includes(randomSvgBaseUrl)\n ? imageProp?.includes(streamCDN)\n ? imageProp\n : `${randomImageBaseUrl}${\n name ? `?name=${getInitials(name)}&size=${size}` : ''\n }`\n : getResizedImageUrl({\n height: size,\n url: imageProp,\n width: size,\n }),\n }}\n style={[\n image,\n size\n ? {\n backgroundColor: '#ececec',\n borderRadius: size / 2,\n height: size,\n width: size,\n }\n : {},\n imageStyle,\n ]}\n testID={testID || 'avatar-image'}\n />\n )}\n </View>\n {online && (\n <View\n style={[\n styles.presenceIndicatorContainer,\n presenceIndicatorContainer,\n presenceIndicatorContainerStyle,\n ]}\n >\n <Svg>\n <Circle\n fill={accent_green}\n stroke={white}\n {...presenceIndicator}\n {...presenceIndicatorProp}\n />\n </Svg>\n </View>\n )}\n </View>\n );\n};\n\nAvatar.displayName = 'Avatar{avatar}';\n"]}
@@ -1,7 +1,5 @@
1
1
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2
2
 
3
- var _typeof = require("@babel/runtime/helpers/typeof");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
@@ -9,22 +7,18 @@ exports.GroupAvatar = void 0;
9
7
 
10
8
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
9
 
12
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
-
14
- var _react = _interopRequireWildcard(require("react"));
10
+ var _react = _interopRequireDefault(require("react"));
15
11
 
16
12
  var _reactNative = require("react-native");
17
13
 
18
14
  var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
19
15
 
16
+ var _useLoadingImage2 = require("../../hooks/useLoadingImage");
17
+
20
18
  var _getResizedImageUrl = require("../../utils/getResizedImageUrl");
21
19
 
22
20
  var _this = this,
23
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Avatar/GroupAvatar.tsx";
24
-
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
-
27
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Avatar/GroupAvatar.tsx";
28
22
 
29
23
  var randomImageBaseUrl = 'https://getstream.io/random_png/';
30
24
  var randomSvgBaseUrl = 'https://getstream.io/random_svg/';
@@ -57,10 +51,9 @@ var GroupAvatar = function GroupAvatar(props) {
57
51
  container = _useTheme$theme$group.container,
58
52
  image = _useTheme$theme$group.image;
59
53
 
60
- var _useState = (0, _react.useState)(false),
61
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
62
- imageError = _useState2[0],
63
- setImageError = _useState2[1];
54
+ var _useLoadingImage = (0, _useLoadingImage2.useLoadingImage)(),
55
+ isLoadingImageError = _useLoadingImage.isLoadingImageError,
56
+ setLoadingImageError = _useLoadingImage.setLoadingImageError;
64
57
 
65
58
  var imagesOrNames = images || names || [];
66
59
  var avatarImages = imagesOrNames.slice(0, 4).reduce(function (returnArray, currentImage, index) {
@@ -106,7 +99,20 @@ var GroupAvatar = function GroupAvatar(props) {
106
99
  lineNumber: 109,
107
100
  columnNumber: 5
108
101
  }
109
- }, avatarImages.map(function (column, colIndex) {
102
+ }, isLoadingImageError ? _react["default"].createElement(_reactNative.View, {
103
+ style: {
104
+ backgroundColor: '#ececec',
105
+ borderRadius: size / 2,
106
+ height: size,
107
+ width: size
108
+ },
109
+ __self: _this,
110
+ __source: {
111
+ fileName: _jsxFileName,
112
+ lineNumber: 119,
113
+ columnNumber: 9
114
+ }
115
+ }) : avatarImages.map(function (column, colIndex) {
110
116
  return _react["default"].createElement(_reactNative.View, {
111
117
  key: "avatar-column-" + colIndex,
112
118
  style: [styles.flex, {
@@ -115,8 +121,8 @@ var GroupAvatar = function GroupAvatar(props) {
115
121
  __self: _this,
116
122
  __source: {
117
123
  fileName: _jsxFileName,
118
- lineNumber: 119,
119
- columnNumber: 9
124
+ lineNumber: 129,
125
+ columnNumber: 11
120
126
  }
121
127
  }, column.map(function (_ref, rowIndex) {
122
128
  var height = _ref.height,
@@ -127,16 +133,17 @@ var GroupAvatar = function GroupAvatar(props) {
127
133
  accessibilityLabel: testID || 'Avatar Image',
128
134
  key: "avatar-" + url + "-" + rowIndex,
129
135
  onError: function onError() {
130
- return setImageError(true);
136
+ return setLoadingImageError(true);
131
137
  },
132
138
  source: {
133
- uri: imageError || url.includes(randomSvgBaseUrl) ? url.includes(streamCDN) ? url : "" + randomImageBaseUrl + (name ? "?name=" + getInitials(name) + "&size=" + height : '') : (0, _getResizedImageUrl.getResizedImageUrl)({
139
+ uri: url.includes(randomSvgBaseUrl) ? url.includes(streamCDN) ? url : "" + randomImageBaseUrl + (name ? "?name=" + getInitials(name) + "&size=" + height : '') : (0, _getResizedImageUrl.getResizedImageUrl)({
134
140
  height: height,
135
141
  url: url,
136
142
  width: width
137
143
  })
138
144
  },
139
145
  style: [image, size ? {
146
+ backgroundColor: '#ececec',
140
147
  height: height,
141
148
  width: width
142
149
  } : {}],
@@ -144,8 +151,8 @@ var GroupAvatar = function GroupAvatar(props) {
144
151
  __self: _this,
145
152
  __source: {
146
153
  fileName: _jsxFileName,
147
- lineNumber: 129,
148
- columnNumber: 13
154
+ lineNumber: 139,
155
+ columnNumber: 15
149
156
  }
150
157
  });
151
158
  }));