stream-chat-react-native-core 5.5.1-beta.1 → 5.6.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 (739) 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 +1 -1
  9. package/lib/commonjs/components/Attachment/GalleryImage.js +20 -4
  10. package/lib/commonjs/components/Attachment/GalleryImage.js.map +1 -1
  11. package/lib/commonjs/components/Attachment/Giphy.js +1 -1
  12. package/lib/commonjs/components/Attachment/ImageLoadingFailedIndicator.js +1 -1
  13. package/lib/commonjs/components/Attachment/ImageLoadingIndicator.js +1 -1
  14. package/lib/commonjs/components/Attachment/VideoThumbnail.js +1 -1
  15. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +1 -1
  16. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +1 -1
  17. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerError.js +1 -1
  18. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +1 -1
  19. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.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 +1 -1
  31. package/lib/commonjs/components/Avatar/GroupAvatar.js +1 -1
  32. package/lib/commonjs/components/Channel/Channel.js +537 -155
  33. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  34. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +6 -0
  35. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  36. package/lib/commonjs/components/ChannelList/ChannelList.js +5 -16
  37. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  38. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -1
  39. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +1 -1
  40. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +1 -1
  41. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js +1 -1
  42. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +1 -1
  43. package/lib/commonjs/components/ChannelList/Skeleton.js +1 -1
  44. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +112 -42
  45. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  46. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +1 -1
  47. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +1 -1
  48. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +1 -1
  49. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +1 -1
  50. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
  51. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +1 -1
  52. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  53. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +1 -1
  54. package/lib/commonjs/components/Chat/Chat.js +17 -21
  55. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  56. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js +2 -4
  57. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  58. package/lib/commonjs/components/ImageBackground.js +1 -1
  59. package/lib/commonjs/components/ImageGallery/ImageGallery.js +1 -1
  60. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +1 -1
  61. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +1 -1
  62. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +1 -1
  63. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +1 -1
  64. package/lib/commonjs/components/ImageGallery/components/ImageGalleryOverlay.js +1 -1
  65. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js +1 -1
  66. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +1 -1
  67. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +1 -1
  68. package/lib/commonjs/components/Indicators/EmptyStateIndicator.js +1 -1
  69. package/lib/commonjs/components/Indicators/LoadingDot.js +1 -1
  70. package/lib/commonjs/components/Indicators/LoadingDots.js +1 -1
  71. package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js +1 -1
  72. package/lib/commonjs/components/Indicators/LoadingIndicator.js +1 -1
  73. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js +1 -1
  74. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +1 -1
  75. package/lib/commonjs/components/Message/Message.js +22 -11
  76. package/lib/commonjs/components/Message/Message.js.map +1 -1
  77. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +1 -1
  78. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +1 -1
  79. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +1 -1
  80. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +15 -13
  81. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  82. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +1 -1
  83. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +1 -1
  84. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +1 -1
  85. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +1 -1
  86. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +1 -1
  87. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +1 -1
  88. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +1 -1
  89. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +1 -1
  90. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js +1 -1
  91. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js +9 -30
  92. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  93. package/lib/commonjs/components/Message/hooks/useMessageActions.js +20 -18
  94. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
  95. package/lib/commonjs/components/MessageInput/AttachButton.js +1 -1
  96. package/lib/commonjs/components/MessageInput/CommandsButton.js +1 -1
  97. package/lib/commonjs/components/MessageInput/CooldownTimer.js +1 -1
  98. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +32 -22
  99. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  100. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +52 -20
  101. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
  102. package/lib/commonjs/components/MessageInput/InputButtons.js +1 -1
  103. package/lib/commonjs/components/MessageInput/MessageInput.js +40 -28
  104. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  105. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +1 -1
  106. package/lib/commonjs/components/MessageInput/SendButton.js +2 -2
  107. package/lib/commonjs/components/MessageInput/SendButton.js.map +1 -1
  108. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +1 -1
  109. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +1 -1
  110. package/lib/commonjs/components/MessageInput/UploadProgressIndicator.js +1 -1
  111. package/lib/commonjs/components/MessageInput/components/InputEditingStateHeader.js +1 -1
  112. package/lib/commonjs/components/MessageInput/components/InputGiphySearch.js +1 -1
  113. package/lib/commonjs/components/MessageInput/components/InputReplyStateHeader.js +1 -1
  114. package/lib/commonjs/components/MessageList/DateHeader.js +1 -1
  115. package/lib/commonjs/components/MessageList/InlineDateSeparator.js +1 -1
  116. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  117. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  118. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  119. package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js +1 -1
  120. package/lib/commonjs/components/MessageList/MessageList.js +1 -1
  121. package/lib/commonjs/components/MessageList/MessageSystem.js +1 -1
  122. package/lib/commonjs/components/MessageList/NetworkDownIndicator.js +1 -1
  123. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js +1 -1
  124. package/lib/commonjs/components/MessageList/TypingIndicator.js +1 -1
  125. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js +1 -1
  126. package/lib/commonjs/components/MessageOverlay/MessageActionList.js +1 -1
  127. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +1 -1
  128. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +1 -1
  129. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +1 -1
  130. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +1 -1
  131. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +1 -1
  132. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js +1 -1
  133. package/lib/commonjs/components/ProgressControl/ProgressControl.js +1 -1
  134. package/lib/commonjs/components/RTLComponents/WritingDirectionAwareText.js +1 -1
  135. package/lib/commonjs/components/Reply/Reply.js +1 -1
  136. package/lib/commonjs/components/Spinner/Spinner.js +1 -1
  137. package/lib/commonjs/components/Thread/Thread.js +1 -1
  138. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +1 -1
  139. package/lib/commonjs/components/index.js +0 -13
  140. package/lib/commonjs/components/index.js.map +1 -1
  141. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +1 -1
  142. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
  143. package/lib/commonjs/contexts/channelContext/ChannelContext.js +1 -1
  144. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +1 -1
  145. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +1 -1
  146. package/lib/commonjs/contexts/chatContext/ChatContext.js +3 -3
  147. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  148. package/lib/commonjs/contexts/debugContext/DebugContext.js +1 -1
  149. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +1 -1
  150. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +1 -1
  151. package/lib/commonjs/contexts/messageContext/MessageContext.js +1 -1
  152. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +23 -14
  153. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  154. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +1 -1
  155. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +1 -1
  156. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +3 -3
  157. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  158. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -1
  159. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +1 -1
  160. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
  161. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +1 -1
  162. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +1 -1
  163. package/lib/commonjs/contexts/themeContext/ThemeContext.js +1 -1
  164. package/lib/commonjs/contexts/threadContext/ThreadContext.js +1 -1
  165. package/lib/commonjs/contexts/translationContext/TranslationContext.js +1 -1
  166. package/lib/commonjs/contexts/typingContext/TypingContext.js +1 -1
  167. package/lib/commonjs/hooks/useTranslatedMessage.js +1 -1
  168. package/lib/commonjs/hooks/useTranslatedMessage.js.map +1 -1
  169. package/lib/commonjs/icons/ArrowRight.js +1 -1
  170. package/lib/commonjs/icons/AtMentions.js +1 -1
  171. package/lib/commonjs/icons/Attach.js +1 -1
  172. package/lib/commonjs/icons/Audio.js +1 -1
  173. package/lib/commonjs/icons/CSV.js +1 -1
  174. package/lib/commonjs/icons/Camera.js +1 -1
  175. package/lib/commonjs/icons/Check.js +1 -1
  176. package/lib/commonjs/icons/CheckAll.js +1 -1
  177. package/lib/commonjs/icons/CheckSend.js +1 -1
  178. package/lib/commonjs/icons/CircleClose.js +1 -1
  179. package/lib/commonjs/icons/CirclePlus.js +1 -1
  180. package/lib/commonjs/icons/CircleRight.js +1 -1
  181. package/lib/commonjs/icons/Close.js +1 -1
  182. package/lib/commonjs/icons/Copy.js +1 -1
  183. package/lib/commonjs/icons/CurveLineLeftUp.js +1 -1
  184. package/lib/commonjs/icons/DOC.js +1 -1
  185. package/lib/commonjs/icons/DOCX.js +1 -1
  186. package/lib/commonjs/icons/Delete.js +1 -1
  187. package/lib/commonjs/icons/Down.js +1 -1
  188. package/lib/commonjs/icons/DownloadArrow.js +1 -1
  189. package/lib/commonjs/icons/DownloadCloud.js +1 -1
  190. package/lib/commonjs/icons/Edit.js +1 -1
  191. package/lib/commonjs/icons/Error.js +1 -1
  192. package/lib/commonjs/icons/Eye.js +1 -1
  193. package/lib/commonjs/icons/Flag.js +1 -1
  194. package/lib/commonjs/icons/Folder.js +1 -1
  195. package/lib/commonjs/icons/GenericFile.js +1 -1
  196. package/lib/commonjs/icons/GiphyIcon.js +1 -1
  197. package/lib/commonjs/icons/Grid.js +1 -1
  198. package/lib/commonjs/icons/Group.js +1 -1
  199. package/lib/commonjs/icons/HTML.js +1 -1
  200. package/lib/commonjs/icons/Imgur.js +1 -1
  201. package/lib/commonjs/icons/LOLReaction.js +1 -1
  202. package/lib/commonjs/icons/Lightning.js +1 -1
  203. package/lib/commonjs/icons/Link.js +1 -1
  204. package/lib/commonjs/icons/Loading.js +1 -1
  205. package/lib/commonjs/icons/Logo.js +1 -1
  206. package/lib/commonjs/icons/LoveReaction.js +1 -1
  207. package/lib/commonjs/icons/MD.js +1 -1
  208. package/lib/commonjs/icons/MailOpen.js +1 -1
  209. package/lib/commonjs/icons/MenuPointHorizontal.js +1 -1
  210. package/lib/commonjs/icons/MenuPointVertical.js +1 -1
  211. package/lib/commonjs/icons/MessageFlag.js +1 -1
  212. package/lib/commonjs/icons/MessageIcon.js +1 -1
  213. package/lib/commonjs/icons/Mute.js +1 -1
  214. package/lib/commonjs/icons/Notification.js +1 -1
  215. package/lib/commonjs/icons/ODT.js +1 -1
  216. package/lib/commonjs/icons/PDF.js +1 -1
  217. package/lib/commonjs/icons/PPT.js +1 -1
  218. package/lib/commonjs/icons/PPTX.js +1 -1
  219. package/lib/commonjs/icons/Pause.js +1 -1
  220. package/lib/commonjs/icons/Picture.js +1 -1
  221. package/lib/commonjs/icons/Pin.js +1 -1
  222. package/lib/commonjs/icons/PinHeader.js +1 -1
  223. package/lib/commonjs/icons/Play.js +1 -1
  224. package/lib/commonjs/icons/RAR.js +1 -1
  225. package/lib/commonjs/icons/RTF.js +1 -1
  226. package/lib/commonjs/icons/Recorder.js +1 -1
  227. package/lib/commonjs/icons/Refresh.js +1 -1
  228. package/lib/commonjs/icons/SEVEN_Z.js +1 -1
  229. package/lib/commonjs/icons/Search.js +1 -1
  230. package/lib/commonjs/icons/SendRight.js +1 -1
  231. package/lib/commonjs/icons/SendUp.js +1 -1
  232. package/lib/commonjs/icons/Share.js +1 -1
  233. package/lib/commonjs/icons/ShareRightArrow.js +1 -1
  234. package/lib/commonjs/icons/Smile.js +1 -1
  235. package/lib/commonjs/icons/Sound.js +1 -1
  236. package/lib/commonjs/icons/TAR.js +1 -1
  237. package/lib/commonjs/icons/TXT.js +1 -1
  238. package/lib/commonjs/icons/ThreadReply.js +1 -1
  239. package/lib/commonjs/icons/ThumbsDownReaction.js +1 -1
  240. package/lib/commonjs/icons/ThumbsUpReaction.js +1 -1
  241. package/lib/commonjs/icons/Time.js +1 -1
  242. package/lib/commonjs/icons/Unknown.js +1 -1
  243. package/lib/commonjs/icons/Unpin.js +1 -1
  244. package/lib/commonjs/icons/User.js +1 -1
  245. package/lib/commonjs/icons/UserAdd.js +1 -1
  246. package/lib/commonjs/icons/UserAdmin.js +1 -1
  247. package/lib/commonjs/icons/UserDelete.js +1 -1
  248. package/lib/commonjs/icons/UserMinus.js +1 -1
  249. package/lib/commonjs/icons/Video.js +1 -1
  250. package/lib/commonjs/icons/Warning.js +1 -1
  251. package/lib/commonjs/icons/WutReaction.js +1 -1
  252. package/lib/commonjs/icons/XLS.js +1 -1
  253. package/lib/commonjs/icons/XLSX.js +1 -1
  254. package/lib/commonjs/icons/ZIP.js +1 -1
  255. package/lib/commonjs/icons/utils/base.js +1 -1
  256. package/lib/commonjs/mock-builders/DB/mock.js +2 -2
  257. package/lib/commonjs/mock-builders/DB/mock.js.map +1 -1
  258. package/lib/commonjs/mock-builders/api/deleteMessage.js +20 -0
  259. package/lib/commonjs/mock-builders/api/deleteMessage.js.map +1 -0
  260. package/lib/commonjs/mock-builders/api/deleteReaction.js +21 -0
  261. package/lib/commonjs/mock-builders/api/deleteReaction.js.map +1 -0
  262. package/lib/commonjs/mock-builders/api/sendReaction.js +21 -0
  263. package/lib/commonjs/mock-builders/api/sendReaction.js.map +1 -0
  264. package/lib/commonjs/mock-builders/event/connectionChanged.js +2 -0
  265. package/lib/commonjs/mock-builders/event/connectionChanged.js.map +1 -1
  266. package/lib/commonjs/store/QuickSqliteClient.js +40 -51
  267. package/lib/commonjs/store/QuickSqliteClient.js.map +1 -1
  268. package/lib/commonjs/store/apis/addPendingTask.js +37 -0
  269. package/lib/commonjs/store/apis/addPendingTask.js.map +1 -0
  270. package/lib/commonjs/store/apis/deleteMessage.js +26 -0
  271. package/lib/commonjs/store/apis/deleteMessage.js.map +1 -0
  272. package/lib/commonjs/store/apis/deletePendingTask.js +22 -0
  273. package/lib/commonjs/store/apis/deletePendingTask.js.map +1 -0
  274. package/lib/commonjs/store/apis/deleteReaction.js +30 -0
  275. package/lib/commonjs/store/apis/deleteReaction.js.map +1 -0
  276. package/lib/commonjs/store/apis/getChannelMessages.js +3 -3
  277. package/lib/commonjs/store/apis/getChannelMessages.js.map +1 -1
  278. package/lib/commonjs/store/apis/getChannels.js +1 -1
  279. package/lib/commonjs/store/apis/getChannels.js.map +1 -1
  280. package/lib/commonjs/store/apis/getPendingTasks.js +26 -0
  281. package/lib/commonjs/store/apis/getPendingTasks.js.map +1 -0
  282. package/lib/commonjs/store/apis/index.js +13 -0
  283. package/lib/commonjs/store/apis/index.js.map +1 -1
  284. package/lib/commonjs/store/apis/insertReaction.js +28 -0
  285. package/lib/commonjs/store/apis/insertReaction.js.map +1 -0
  286. package/lib/commonjs/store/apis/updateMessage.js.map +1 -1
  287. package/lib/commonjs/store/apis/updateReaction.js.map +1 -1
  288. package/lib/commonjs/store/mappers/mapDateTimeToStorable.js.map +1 -1
  289. package/lib/commonjs/store/mappers/mapMessageToStorable.js +3 -1
  290. package/lib/commonjs/store/mappers/mapMessageToStorable.js.map +1 -1
  291. package/lib/commonjs/store/mappers/mapStorableToTask.js +23 -0
  292. package/lib/commonjs/store/mappers/mapStorableToTask.js.map +1 -0
  293. package/lib/commonjs/store/mappers/mapTaskToStorable.js +18 -0
  294. package/lib/commonjs/store/mappers/mapTaskToStorable.js.map +1 -0
  295. package/lib/commonjs/store/schema.js +11 -0
  296. package/lib/commonjs/store/schema.js.map +1 -1
  297. package/lib/commonjs/store/sqlite-utils/appendOrderByClause.js +24 -0
  298. package/lib/commonjs/store/sqlite-utils/appendOrderByClause.js.map +1 -0
  299. package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js +1 -1
  300. package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
  301. package/lib/commonjs/store/sqlite-utils/createSelectQuery.js +8 -1
  302. package/lib/commonjs/store/sqlite-utils/createSelectQuery.js.map +1 -1
  303. package/lib/commonjs/store/sqlite-utils/createUpdateQuery.js +2 -2
  304. package/lib/commonjs/store/sqlite-utils/createUpdateQuery.js.map +1 -1
  305. package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js +1 -1
  306. package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js.map +1 -1
  307. package/lib/commonjs/utils/DBSyncManager.js +436 -0
  308. package/lib/commonjs/utils/DBSyncManager.js.map +1 -0
  309. package/lib/commonjs/utils/addReactionToLocalState.js +92 -0
  310. package/lib/commonjs/utils/addReactionToLocalState.js.map +1 -0
  311. package/lib/commonjs/utils/pendingTaskUtils.js +302 -0
  312. package/lib/commonjs/utils/pendingTaskUtils.js.map +1 -0
  313. package/lib/commonjs/utils/removeReactionFromLocalState.js +39 -0
  314. package/lib/commonjs/utils/removeReactionFromLocalState.js.map +1 -0
  315. package/lib/commonjs/utils/utils.js +9 -3
  316. package/lib/commonjs/utils/utils.js.map +1 -1
  317. package/lib/commonjs/version.json +1 -1
  318. package/lib/module/components/Attachment/Attachment.js +1 -1
  319. package/lib/module/components/Attachment/AttachmentActions.js +1 -1
  320. package/lib/module/components/Attachment/AudioAttachment.js +1 -1
  321. package/lib/module/components/Attachment/Card.js +1 -1
  322. package/lib/module/components/Attachment/FileAttachment.js +1 -1
  323. package/lib/module/components/Attachment/FileAttachmentGroup.js +1 -1
  324. package/lib/module/components/Attachment/FileIcon.js +1 -1
  325. package/lib/module/components/Attachment/Gallery.js +1 -1
  326. package/lib/module/components/Attachment/GalleryImage.js +20 -4
  327. package/lib/module/components/Attachment/GalleryImage.js.map +1 -1
  328. package/lib/module/components/Attachment/Giphy.js +1 -1
  329. package/lib/module/components/Attachment/ImageLoadingFailedIndicator.js +1 -1
  330. package/lib/module/components/Attachment/ImageLoadingIndicator.js +1 -1
  331. package/lib/module/components/Attachment/VideoThumbnail.js +1 -1
  332. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +1 -1
  333. package/lib/module/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +1 -1
  334. package/lib/module/components/AttachmentPicker/components/AttachmentPickerError.js +1 -1
  335. package/lib/module/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +1 -1
  336. package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js +1 -1
  337. package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js +1 -1
  338. package/lib/module/components/AttachmentPicker/components/CameraSelectorIcon.js +1 -1
  339. package/lib/module/components/AttachmentPicker/components/FileSelectorIcon.js +1 -1
  340. package/lib/module/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +1 -1
  341. package/lib/module/components/AttachmentPicker/components/ImageSelectorIcon.js +1 -1
  342. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +1 -1
  343. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +1 -1
  344. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +1 -1
  345. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +1 -1
  346. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -1
  347. package/lib/module/components/Avatar/Avatar.js +1 -1
  348. package/lib/module/components/Avatar/GroupAvatar.js +1 -1
  349. package/lib/module/components/Channel/Channel.js +537 -155
  350. package/lib/module/components/Channel/Channel.js.map +1 -1
  351. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +6 -0
  352. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  353. package/lib/module/components/ChannelList/ChannelList.js +5 -16
  354. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  355. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -1
  356. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +1 -1
  357. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +1 -1
  358. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js +1 -1
  359. package/lib/module/components/ChannelList/ChannelListMessenger.js +1 -1
  360. package/lib/module/components/ChannelList/Skeleton.js +1 -1
  361. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +112 -42
  362. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  363. package/lib/module/components/ChannelPreview/ChannelAvatar.js +1 -1
  364. package/lib/module/components/ChannelPreview/ChannelPreview.js +1 -1
  365. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +1 -1
  366. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +1 -1
  367. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
  368. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +1 -1
  369. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  370. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +1 -1
  371. package/lib/module/components/Chat/Chat.js +17 -21
  372. package/lib/module/components/Chat/Chat.js.map +1 -1
  373. package/lib/module/components/Chat/hooks/useCreateChatContext.js +2 -4
  374. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  375. package/lib/module/components/ImageBackground.js +1 -1
  376. package/lib/module/components/ImageGallery/ImageGallery.js +1 -1
  377. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +1 -1
  378. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +1 -1
  379. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +1 -1
  380. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +1 -1
  381. package/lib/module/components/ImageGallery/components/ImageGalleryOverlay.js +1 -1
  382. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js +1 -1
  383. package/lib/module/components/ImageGallery/components/ImageGrid.js +1 -1
  384. package/lib/module/components/ImageGallery/components/ImageGridHandle.js +1 -1
  385. package/lib/module/components/Indicators/EmptyStateIndicator.js +1 -1
  386. package/lib/module/components/Indicators/LoadingDot.js +1 -1
  387. package/lib/module/components/Indicators/LoadingDots.js +1 -1
  388. package/lib/module/components/Indicators/LoadingErrorIndicator.js +1 -1
  389. package/lib/module/components/Indicators/LoadingIndicator.js +1 -1
  390. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js +1 -1
  391. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +1 -1
  392. package/lib/module/components/Message/Message.js +22 -11
  393. package/lib/module/components/Message/Message.js.map +1 -1
  394. package/lib/module/components/Message/MessageSimple/MessageAvatar.js +1 -1
  395. package/lib/module/components/Message/MessageSimple/MessageContent.js +1 -1
  396. package/lib/module/components/Message/MessageSimple/MessageDeleted.js +1 -1
  397. package/lib/module/components/Message/MessageSimple/MessageFooter.js +15 -13
  398. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  399. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +1 -1
  400. package/lib/module/components/Message/MessageSimple/MessageReplies.js +1 -1
  401. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +1 -1
  402. package/lib/module/components/Message/MessageSimple/MessageSimple.js +1 -1
  403. package/lib/module/components/Message/MessageSimple/MessageStatus.js +1 -1
  404. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +1 -1
  405. package/lib/module/components/Message/MessageSimple/ReactionList.js +1 -1
  406. package/lib/module/components/Message/MessageSimple/utils/renderText.js +1 -1
  407. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js +1 -1
  408. package/lib/module/components/Message/hooks/useMessageActionHandlers.js +9 -30
  409. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  410. package/lib/module/components/Message/hooks/useMessageActions.js +20 -18
  411. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
  412. package/lib/module/components/MessageInput/AttachButton.js +1 -1
  413. package/lib/module/components/MessageInput/CommandsButton.js +1 -1
  414. package/lib/module/components/MessageInput/CooldownTimer.js +1 -1
  415. package/lib/module/components/MessageInput/FileUploadPreview.js +32 -22
  416. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  417. package/lib/module/components/MessageInput/ImageUploadPreview.js +52 -20
  418. package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
  419. package/lib/module/components/MessageInput/InputButtons.js +1 -1
  420. package/lib/module/components/MessageInput/MessageInput.js +40 -28
  421. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  422. package/lib/module/components/MessageInput/MoreOptionsButton.js +1 -1
  423. package/lib/module/components/MessageInput/SendButton.js +2 -2
  424. package/lib/module/components/MessageInput/SendButton.js.map +1 -1
  425. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +1 -1
  426. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +1 -1
  427. package/lib/module/components/MessageInput/UploadProgressIndicator.js +1 -1
  428. package/lib/module/components/MessageInput/components/InputEditingStateHeader.js +1 -1
  429. package/lib/module/components/MessageInput/components/InputGiphySearch.js +1 -1
  430. package/lib/module/components/MessageInput/components/InputReplyStateHeader.js +1 -1
  431. package/lib/module/components/MessageList/DateHeader.js +1 -1
  432. package/lib/module/components/MessageList/InlineDateSeparator.js +1 -1
  433. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  434. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  435. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  436. package/lib/module/components/MessageList/InlineUnreadIndicator.js +1 -1
  437. package/lib/module/components/MessageList/MessageList.js +1 -1
  438. package/lib/module/components/MessageList/MessageSystem.js +1 -1
  439. package/lib/module/components/MessageList/NetworkDownIndicator.js +1 -1
  440. package/lib/module/components/MessageList/ScrollToBottomButton.js +1 -1
  441. package/lib/module/components/MessageList/TypingIndicator.js +1 -1
  442. package/lib/module/components/MessageList/TypingIndicatorContainer.js +1 -1
  443. package/lib/module/components/MessageOverlay/MessageActionList.js +1 -1
  444. package/lib/module/components/MessageOverlay/MessageActionListItem.js +1 -1
  445. package/lib/module/components/MessageOverlay/MessageOverlay.js +1 -1
  446. package/lib/module/components/MessageOverlay/OverlayBackdrop.js +1 -1
  447. package/lib/module/components/MessageOverlay/OverlayReactionList.js +1 -1
  448. package/lib/module/components/MessageOverlay/OverlayReactions.js +1 -1
  449. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js +1 -1
  450. package/lib/module/components/ProgressControl/ProgressControl.js +1 -1
  451. package/lib/module/components/RTLComponents/WritingDirectionAwareText.js +1 -1
  452. package/lib/module/components/Reply/Reply.js +1 -1
  453. package/lib/module/components/Spinner/Spinner.js +1 -1
  454. package/lib/module/components/Thread/Thread.js +1 -1
  455. package/lib/module/components/Thread/components/ThreadFooterComponent.js +1 -1
  456. package/lib/module/components/index.js +0 -13
  457. package/lib/module/components/index.js.map +1 -1
  458. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +1 -1
  459. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
  460. package/lib/module/contexts/channelContext/ChannelContext.js +1 -1
  461. package/lib/module/contexts/channelsContext/ChannelsContext.js +1 -1
  462. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +1 -1
  463. package/lib/module/contexts/chatContext/ChatContext.js +3 -3
  464. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  465. package/lib/module/contexts/debugContext/DebugContext.js +1 -1
  466. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +1 -1
  467. package/lib/module/contexts/keyboardContext/KeyboardContext.js +1 -1
  468. package/lib/module/contexts/messageContext/MessageContext.js +1 -1
  469. package/lib/module/contexts/messageInputContext/MessageInputContext.js +23 -14
  470. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  471. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +1 -1
  472. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +1 -1
  473. package/lib/module/contexts/messagesContext/MessagesContext.js +3 -3
  474. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  475. package/lib/module/contexts/overlayContext/OverlayContext.js +1 -1
  476. package/lib/module/contexts/overlayContext/OverlayProvider.js +1 -1
  477. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
  478. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +1 -1
  479. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +1 -1
  480. package/lib/module/contexts/themeContext/ThemeContext.js +1 -1
  481. package/lib/module/contexts/threadContext/ThreadContext.js +1 -1
  482. package/lib/module/contexts/translationContext/TranslationContext.js +1 -1
  483. package/lib/module/contexts/typingContext/TypingContext.js +1 -1
  484. package/lib/module/hooks/useTranslatedMessage.js +1 -1
  485. package/lib/module/hooks/useTranslatedMessage.js.map +1 -1
  486. package/lib/module/icons/ArrowRight.js +1 -1
  487. package/lib/module/icons/AtMentions.js +1 -1
  488. package/lib/module/icons/Attach.js +1 -1
  489. package/lib/module/icons/Audio.js +1 -1
  490. package/lib/module/icons/CSV.js +1 -1
  491. package/lib/module/icons/Camera.js +1 -1
  492. package/lib/module/icons/Check.js +1 -1
  493. package/lib/module/icons/CheckAll.js +1 -1
  494. package/lib/module/icons/CheckSend.js +1 -1
  495. package/lib/module/icons/CircleClose.js +1 -1
  496. package/lib/module/icons/CirclePlus.js +1 -1
  497. package/lib/module/icons/CircleRight.js +1 -1
  498. package/lib/module/icons/Close.js +1 -1
  499. package/lib/module/icons/Copy.js +1 -1
  500. package/lib/module/icons/CurveLineLeftUp.js +1 -1
  501. package/lib/module/icons/DOC.js +1 -1
  502. package/lib/module/icons/DOCX.js +1 -1
  503. package/lib/module/icons/Delete.js +1 -1
  504. package/lib/module/icons/Down.js +1 -1
  505. package/lib/module/icons/DownloadArrow.js +1 -1
  506. package/lib/module/icons/DownloadCloud.js +1 -1
  507. package/lib/module/icons/Edit.js +1 -1
  508. package/lib/module/icons/Error.js +1 -1
  509. package/lib/module/icons/Eye.js +1 -1
  510. package/lib/module/icons/Flag.js +1 -1
  511. package/lib/module/icons/Folder.js +1 -1
  512. package/lib/module/icons/GenericFile.js +1 -1
  513. package/lib/module/icons/GiphyIcon.js +1 -1
  514. package/lib/module/icons/Grid.js +1 -1
  515. package/lib/module/icons/Group.js +1 -1
  516. package/lib/module/icons/HTML.js +1 -1
  517. package/lib/module/icons/Imgur.js +1 -1
  518. package/lib/module/icons/LOLReaction.js +1 -1
  519. package/lib/module/icons/Lightning.js +1 -1
  520. package/lib/module/icons/Link.js +1 -1
  521. package/lib/module/icons/Loading.js +1 -1
  522. package/lib/module/icons/Logo.js +1 -1
  523. package/lib/module/icons/LoveReaction.js +1 -1
  524. package/lib/module/icons/MD.js +1 -1
  525. package/lib/module/icons/MailOpen.js +1 -1
  526. package/lib/module/icons/MenuPointHorizontal.js +1 -1
  527. package/lib/module/icons/MenuPointVertical.js +1 -1
  528. package/lib/module/icons/MessageFlag.js +1 -1
  529. package/lib/module/icons/MessageIcon.js +1 -1
  530. package/lib/module/icons/Mute.js +1 -1
  531. package/lib/module/icons/Notification.js +1 -1
  532. package/lib/module/icons/ODT.js +1 -1
  533. package/lib/module/icons/PDF.js +1 -1
  534. package/lib/module/icons/PPT.js +1 -1
  535. package/lib/module/icons/PPTX.js +1 -1
  536. package/lib/module/icons/Pause.js +1 -1
  537. package/lib/module/icons/Picture.js +1 -1
  538. package/lib/module/icons/Pin.js +1 -1
  539. package/lib/module/icons/PinHeader.js +1 -1
  540. package/lib/module/icons/Play.js +1 -1
  541. package/lib/module/icons/RAR.js +1 -1
  542. package/lib/module/icons/RTF.js +1 -1
  543. package/lib/module/icons/Recorder.js +1 -1
  544. package/lib/module/icons/Refresh.js +1 -1
  545. package/lib/module/icons/SEVEN_Z.js +1 -1
  546. package/lib/module/icons/Search.js +1 -1
  547. package/lib/module/icons/SendRight.js +1 -1
  548. package/lib/module/icons/SendUp.js +1 -1
  549. package/lib/module/icons/Share.js +1 -1
  550. package/lib/module/icons/ShareRightArrow.js +1 -1
  551. package/lib/module/icons/Smile.js +1 -1
  552. package/lib/module/icons/Sound.js +1 -1
  553. package/lib/module/icons/TAR.js +1 -1
  554. package/lib/module/icons/TXT.js +1 -1
  555. package/lib/module/icons/ThreadReply.js +1 -1
  556. package/lib/module/icons/ThumbsDownReaction.js +1 -1
  557. package/lib/module/icons/ThumbsUpReaction.js +1 -1
  558. package/lib/module/icons/Time.js +1 -1
  559. package/lib/module/icons/Unknown.js +1 -1
  560. package/lib/module/icons/Unpin.js +1 -1
  561. package/lib/module/icons/User.js +1 -1
  562. package/lib/module/icons/UserAdd.js +1 -1
  563. package/lib/module/icons/UserAdmin.js +1 -1
  564. package/lib/module/icons/UserDelete.js +1 -1
  565. package/lib/module/icons/UserMinus.js +1 -1
  566. package/lib/module/icons/Video.js +1 -1
  567. package/lib/module/icons/Warning.js +1 -1
  568. package/lib/module/icons/WutReaction.js +1 -1
  569. package/lib/module/icons/XLS.js +1 -1
  570. package/lib/module/icons/XLSX.js +1 -1
  571. package/lib/module/icons/ZIP.js +1 -1
  572. package/lib/module/icons/utils/base.js +1 -1
  573. package/lib/module/mock-builders/DB/mock.js +2 -2
  574. package/lib/module/mock-builders/DB/mock.js.map +1 -1
  575. package/lib/module/mock-builders/api/deleteMessage.js +20 -0
  576. package/lib/module/mock-builders/api/deleteMessage.js.map +1 -0
  577. package/lib/module/mock-builders/api/deleteReaction.js +21 -0
  578. package/lib/module/mock-builders/api/deleteReaction.js.map +1 -0
  579. package/lib/module/mock-builders/api/sendReaction.js +21 -0
  580. package/lib/module/mock-builders/api/sendReaction.js.map +1 -0
  581. package/lib/module/mock-builders/event/connectionChanged.js +2 -0
  582. package/lib/module/mock-builders/event/connectionChanged.js.map +1 -1
  583. package/lib/module/store/QuickSqliteClient.js +40 -51
  584. package/lib/module/store/QuickSqliteClient.js.map +1 -1
  585. package/lib/module/store/apis/addPendingTask.js +37 -0
  586. package/lib/module/store/apis/addPendingTask.js.map +1 -0
  587. package/lib/module/store/apis/deleteMessage.js +26 -0
  588. package/lib/module/store/apis/deleteMessage.js.map +1 -0
  589. package/lib/module/store/apis/deletePendingTask.js +22 -0
  590. package/lib/module/store/apis/deletePendingTask.js.map +1 -0
  591. package/lib/module/store/apis/deleteReaction.js +30 -0
  592. package/lib/module/store/apis/deleteReaction.js.map +1 -0
  593. package/lib/module/store/apis/getChannelMessages.js +3 -3
  594. package/lib/module/store/apis/getChannelMessages.js.map +1 -1
  595. package/lib/module/store/apis/getChannels.js +1 -1
  596. package/lib/module/store/apis/getChannels.js.map +1 -1
  597. package/lib/module/store/apis/getPendingTasks.js +26 -0
  598. package/lib/module/store/apis/getPendingTasks.js.map +1 -0
  599. package/lib/module/store/apis/index.js +13 -0
  600. package/lib/module/store/apis/index.js.map +1 -1
  601. package/lib/module/store/apis/insertReaction.js +28 -0
  602. package/lib/module/store/apis/insertReaction.js.map +1 -0
  603. package/lib/module/store/apis/updateMessage.js.map +1 -1
  604. package/lib/module/store/apis/updateReaction.js.map +1 -1
  605. package/lib/module/store/mappers/mapDateTimeToStorable.js.map +1 -1
  606. package/lib/module/store/mappers/mapMessageToStorable.js +3 -1
  607. package/lib/module/store/mappers/mapMessageToStorable.js.map +1 -1
  608. package/lib/module/store/mappers/mapStorableToTask.js +23 -0
  609. package/lib/module/store/mappers/mapStorableToTask.js.map +1 -0
  610. package/lib/module/store/mappers/mapTaskToStorable.js +18 -0
  611. package/lib/module/store/mappers/mapTaskToStorable.js.map +1 -0
  612. package/lib/module/store/schema.js +11 -0
  613. package/lib/module/store/schema.js.map +1 -1
  614. package/lib/module/store/sqlite-utils/appendOrderByClause.js +24 -0
  615. package/lib/module/store/sqlite-utils/appendOrderByClause.js.map +1 -0
  616. package/lib/module/store/sqlite-utils/createCreateTableQuery.js +1 -1
  617. package/lib/module/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
  618. package/lib/module/store/sqlite-utils/createSelectQuery.js +8 -1
  619. package/lib/module/store/sqlite-utils/createSelectQuery.js.map +1 -1
  620. package/lib/module/store/sqlite-utils/createUpdateQuery.js +2 -2
  621. package/lib/module/store/sqlite-utils/createUpdateQuery.js.map +1 -1
  622. package/lib/module/store/sqlite-utils/createUpsertQuery.js +1 -1
  623. package/lib/module/store/sqlite-utils/createUpsertQuery.js.map +1 -1
  624. package/lib/module/utils/DBSyncManager.js +436 -0
  625. package/lib/module/utils/DBSyncManager.js.map +1 -0
  626. package/lib/module/utils/addReactionToLocalState.js +92 -0
  627. package/lib/module/utils/addReactionToLocalState.js.map +1 -0
  628. package/lib/module/utils/pendingTaskUtils.js +302 -0
  629. package/lib/module/utils/pendingTaskUtils.js.map +1 -0
  630. package/lib/module/utils/removeReactionFromLocalState.js +39 -0
  631. package/lib/module/utils/removeReactionFromLocalState.js.map +1 -0
  632. package/lib/module/utils/utils.js +9 -3
  633. package/lib/module/utils/utils.js.map +1 -1
  634. package/lib/module/version.json +1 -1
  635. package/lib/typescript/components/Channel/Channel.d.ts +1 -1
  636. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -1
  637. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +2 -1
  638. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +1 -1
  639. package/lib/typescript/components/Message/Message.d.ts +1 -1
  640. package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +1 -1
  641. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +1 -1
  642. package/lib/typescript/components/MessageInput/FileUploadPreview.d.ts +2 -1
  643. package/lib/typescript/components/MessageInput/ImageUploadPreview.d.ts +2 -1
  644. package/lib/typescript/components/MessageInput/MessageInput.d.ts +2 -1
  645. package/lib/typescript/components/index.d.ts +0 -1
  646. package/lib/typescript/contexts/chatContext/ChatContext.d.ts +1 -2
  647. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +1 -1
  648. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +3 -0
  649. package/lib/typescript/store/apis/addPendingTask.d.ts +2 -0
  650. package/lib/typescript/store/apis/deleteMessage.d.ts +4 -0
  651. package/lib/typescript/store/apis/deletePendingTask.d.ts +3 -0
  652. package/lib/typescript/store/apis/deleteReaction.d.ts +6 -0
  653. package/lib/typescript/store/apis/getChannelMessages.d.ts +1 -1
  654. package/lib/typescript/store/apis/getPendingTasks.d.ts +3 -0
  655. package/lib/typescript/store/apis/index.d.ts +1 -0
  656. package/lib/typescript/store/apis/insertReaction.d.ts +6 -0
  657. package/lib/typescript/store/apis/updateMessage.d.ts +2 -2
  658. package/lib/typescript/store/apis/updateReaction.d.ts +2 -2
  659. package/lib/typescript/store/mappers/mapDateTimeToStorable.d.ts +1 -1
  660. package/lib/typescript/store/mappers/mapMessageToStorable.d.ts +2 -2
  661. package/lib/typescript/store/mappers/mapStorableToTask.d.ts +2 -0
  662. package/lib/typescript/store/mappers/mapTaskToStorable.d.ts +34 -0
  663. package/lib/typescript/store/schema.d.ts +12 -1
  664. package/lib/typescript/store/sqlite-utils/appendOrderByClause.d.ts +3 -0
  665. package/lib/typescript/store/sqlite-utils/createSelectQuery.d.ts +1 -1
  666. package/lib/typescript/store/types.d.ts +25 -0
  667. package/lib/typescript/types/types.d.ts +3 -1
  668. package/lib/typescript/utils/DBSyncManager.d.ts +47 -0
  669. package/lib/typescript/utils/addReactionToLocalState.d.ts +9 -0
  670. package/lib/typescript/utils/pendingTaskUtils.d.ts +13 -0
  671. package/lib/typescript/utils/removeReactionFromLocalState.d.ts +8 -0
  672. package/lib/typescript/utils/utils.d.ts +3 -3
  673. package/package.json +2 -2
  674. package/src/__tests__/offline-feature.test.js +19 -2
  675. package/src/__tests__/optimistic-update.test.js +368 -0
  676. package/src/components/Attachment/GalleryImage.tsx +14 -2
  677. package/src/components/Channel/Channel.tsx +270 -62
  678. package/src/components/Channel/hooks/useCreateMessagesContext.ts +6 -0
  679. package/src/components/ChannelList/ChannelList.tsx +2 -10
  680. package/src/components/ChannelList/hooks/listeners/__tests__/useChannelUpdated.test.tsx +0 -1
  681. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +75 -27
  682. package/src/components/Chat/Chat.tsx +5 -9
  683. package/src/components/Chat/__tests__/Chat.test.js +1 -1
  684. package/src/components/Chat/hooks/useCreateChatContext.ts +0 -2
  685. package/src/components/Message/Message.tsx +18 -2
  686. package/src/components/Message/MessageSimple/MessageFooter.tsx +2 -1
  687. package/src/components/Message/hooks/useMessageActionHandlers.ts +10 -21
  688. package/src/components/Message/hooks/useMessageActions.tsx +9 -4
  689. package/src/components/MessageInput/FileUploadPreview.tsx +8 -2
  690. package/src/components/MessageInput/ImageUploadPreview.tsx +37 -8
  691. package/src/components/MessageInput/MessageInput.tsx +17 -3
  692. package/src/components/MessageInput/SendButton.tsx +1 -1
  693. package/src/components/index.ts +0 -1
  694. package/src/contexts/chatContext/ChatContext.tsx +1 -2
  695. package/src/contexts/messageInputContext/MessageInputContext.tsx +29 -10
  696. package/src/contexts/messageInputContext/__tests__/__snapshots__/sendMessage.test.tsx.snap +29 -0
  697. package/src/contexts/messagesContext/MessagesContext.tsx +4 -1
  698. package/src/hooks/useTranslatedMessage.ts +1 -1
  699. package/src/mock-builders/DB/mock.ts +2 -2
  700. package/src/mock-builders/api/deleteMessage.js +18 -0
  701. package/src/mock-builders/api/deleteReaction.js +19 -0
  702. package/src/mock-builders/api/sendReaction.tsx +19 -0
  703. package/src/mock-builders/event/connectionChanged.js +2 -1
  704. package/src/store/QuickSqliteClient.ts +39 -37
  705. package/src/store/apis/addPendingTask.ts +24 -0
  706. package/src/store/apis/deleteMessage.ts +13 -0
  707. package/src/store/apis/deletePendingTask.ts +12 -0
  708. package/src/store/apis/deleteReaction.ts +26 -0
  709. package/src/store/apis/getChannelMessages.ts +1 -1
  710. package/src/store/apis/getChannels.ts +2 -2
  711. package/src/store/apis/getPendingTasks.ts +13 -0
  712. package/src/store/apis/index.ts +1 -0
  713. package/src/store/apis/insertReaction.ts +29 -0
  714. package/src/store/apis/updateMessage.ts +2 -2
  715. package/src/store/apis/updateReaction.ts +2 -2
  716. package/src/store/mappers/mapDateTimeToStorable.ts +1 -1
  717. package/src/store/mappers/mapMessageToStorable.ts +8 -2
  718. package/src/store/mappers/mapStorableToTask.ts +13 -0
  719. package/src/store/mappers/mapTaskToStorable.ts +7 -0
  720. package/src/store/schema.ts +25 -1
  721. package/src/store/sqlite-utils/appendOrderByClause.ts +24 -0
  722. package/src/store/sqlite-utils/createCreateTableQuery.ts +2 -2
  723. package/src/store/sqlite-utils/createSelectQuery.ts +4 -1
  724. package/src/store/sqlite-utils/createUpdateQuery.ts +3 -2
  725. package/src/store/sqlite-utils/createUpsertQuery.ts +1 -1
  726. package/src/store/types.ts +33 -0
  727. package/src/types/types.ts +4 -1
  728. package/src/utils/DBSyncManager.ts +222 -0
  729. package/src/utils/addReactionToLocalState.ts +87 -0
  730. package/src/utils/pendingTaskUtils.ts +131 -0
  731. package/src/utils/removeReactionFromLocalState.ts +39 -0
  732. package/src/utils/utils.ts +12 -4
  733. package/src/version.json +1 -1
  734. package/lib/commonjs/components/Chat/hooks/useConnectionRecovered.js +0 -171
  735. package/lib/commonjs/components/Chat/hooks/useConnectionRecovered.js.map +0 -1
  736. package/lib/module/components/Chat/hooks/useConnectionRecovered.js +0 -171
  737. package/lib/module/components/Chat/hooks/useConnectionRecovered.js.map +0 -1
  738. package/lib/typescript/components/Chat/hooks/useConnectionRecovered.d.ts +0 -10
  739. package/src/components/Chat/hooks/useConnectionRecovered.ts +0 -92
@@ -0,0 +1,302 @@
1
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.queueTask = exports.executePendingTasks = exports.dropPendingTasks = void 0;
7
+
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _addPendingTask = require("../store/apis/addPendingTask");
15
+
16
+ var _deletePendingTask = require("../store/apis/deletePendingTask");
17
+
18
+ var _getPendingTasks = require("../store/apis/getPendingTasks");
19
+
20
+ function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
21
+
22
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
23
+
24
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
25
+
26
+ var queueTask = function () {
27
+ var _ref2 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(_ref) {
28
+ var client, task, removeFromApi, response, _response, _response$data;
29
+
30
+ return _regenerator["default"].wrap(function _callee$(_context) {
31
+ while (1) {
32
+ switch (_context.prev = _context.next) {
33
+ case 0:
34
+ client = _ref.client, task = _ref.task;
35
+ removeFromApi = (0, _addPendingTask.addPendingTask)(task);
36
+ _context.prev = 2;
37
+ _context.next = 5;
38
+ return executeTask({
39
+ client: client,
40
+ task: task
41
+ });
42
+
43
+ case 5:
44
+ response = _context.sent;
45
+ _context.next = 14;
46
+ break;
47
+
48
+ case 8:
49
+ _context.prev = 8;
50
+ _context.t0 = _context["catch"](2);
51
+
52
+ if (!((_context.t0 == null ? void 0 : (_response = _context.t0.response) == null ? void 0 : (_response$data = _response.data) == null ? void 0 : _response$data.code) === 4)) {
53
+ _context.next = 13;
54
+ break;
55
+ }
56
+
57
+ _context.next = 14;
58
+ break;
59
+
60
+ case 13:
61
+ throw _context.t0;
62
+
63
+ case 14:
64
+ removeFromApi();
65
+ return _context.abrupt("return", response);
66
+
67
+ case 16:
68
+ case "end":
69
+ return _context.stop();
70
+ }
71
+ }
72
+ }, _callee, null, [[2, 8]]);
73
+ }));
74
+
75
+ return function queueTask(_x) {
76
+ return _ref2.apply(this, arguments);
77
+ };
78
+ }();
79
+
80
+ exports.queueTask = queueTask;
81
+
82
+ var executeTask = function () {
83
+ var _ref4 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(_ref3) {
84
+ var client, task, channel, _message$attachments, message, i, _message$attachments2, attachment, response, _response2;
85
+
86
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
87
+ while (1) {
88
+ switch (_context2.prev = _context2.next) {
89
+ case 0:
90
+ client = _ref3.client, task = _ref3.task;
91
+ channel = client.channel(task.channelType, task.channelId);
92
+
93
+ if (!(task.type === 'send-reaction')) {
94
+ _context2.next = 6;
95
+ break;
96
+ }
97
+
98
+ _context2.next = 5;
99
+ return channel.sendReaction.apply(channel, (0, _toConsumableArray2["default"])(task.payload));
100
+
101
+ case 5:
102
+ return _context2.abrupt("return", _context2.sent);
103
+
104
+ case 6:
105
+ if (!(task.type === 'delete-reaction')) {
106
+ _context2.next = 10;
107
+ break;
108
+ }
109
+
110
+ _context2.next = 9;
111
+ return channel.deleteReaction.apply(channel, (0, _toConsumableArray2["default"])(task.payload));
112
+
113
+ case 9:
114
+ return _context2.abrupt("return", _context2.sent);
115
+
116
+ case 10:
117
+ if (!(task.type === 'delete-message')) {
118
+ _context2.next = 14;
119
+ break;
120
+ }
121
+
122
+ _context2.next = 13;
123
+ return client.deleteMessage.apply(client, (0, _toConsumableArray2["default"])(task.payload));
124
+
125
+ case 13:
126
+ return _context2.abrupt("return", _context2.sent);
127
+
128
+ case 14:
129
+ if (!(task.type === 'send-message')) {
130
+ _context2.next = 36;
131
+ break;
132
+ }
133
+
134
+ message = task.payload[0];
135
+
136
+ if (!((_message$attachments = message.attachments) != null && _message$attachments.length)) {
137
+ _context2.next = 33;
138
+ break;
139
+ }
140
+
141
+ i = 0;
142
+
143
+ case 18:
144
+ if (!(i < ((_message$attachments2 = message.attachments) == null ? void 0 : _message$attachments2.length))) {
145
+ _context2.next = 33;
146
+ break;
147
+ }
148
+
149
+ attachment = message.attachments[i];
150
+
151
+ if (!(attachment.type === 'image' && attachment.image_url)) {
152
+ _context2.next = 25;
153
+ break;
154
+ }
155
+
156
+ _context2.next = 23;
157
+ return channel.sendImage(attachment.image_url);
158
+
159
+ case 23:
160
+ response = _context2.sent;
161
+ attachment.image_url = response.file;
162
+
163
+ case 25:
164
+ if (!((attachment.type === 'file' || attachment.type === 'audio' || attachment.type === 'video') && attachment.asset_url)) {
165
+ _context2.next = 30;
166
+ break;
167
+ }
168
+
169
+ _context2.next = 28;
170
+ return channel.sendFile(attachment.asset_url);
171
+
172
+ case 28:
173
+ _response2 = _context2.sent;
174
+ attachment.asset_url = _response2.file;
175
+
176
+ case 30:
177
+ i++;
178
+ _context2.next = 18;
179
+ break;
180
+
181
+ case 33:
182
+ _context2.next = 35;
183
+ return channel.sendMessage.apply(channel, (0, _toConsumableArray2["default"])(task.payload));
184
+
185
+ case 35:
186
+ return _context2.abrupt("return", _context2.sent);
187
+
188
+ case 36:
189
+ throw new Error('Invalid task type');
190
+
191
+ case 37:
192
+ case "end":
193
+ return _context2.stop();
194
+ }
195
+ }
196
+ }, _callee2);
197
+ }));
198
+
199
+ return function executeTask(_x2) {
200
+ return _ref4.apply(this, arguments);
201
+ };
202
+ }();
203
+
204
+ var restBeforeNextTask = function restBeforeNextTask() {
205
+ return new Promise(function (resolve) {
206
+ return setTimeout(resolve, 500);
207
+ });
208
+ };
209
+
210
+ var executePendingTasks = function () {
211
+ var _ref5 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3(client) {
212
+ var queue, _iterator, _step, task, _response3, _response3$data;
213
+
214
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
215
+ while (1) {
216
+ switch (_context3.prev = _context3.next) {
217
+ case 0:
218
+ queue = (0, _getPendingTasks.getPendingTasks)();
219
+ _iterator = _createForOfIteratorHelperLoose(queue);
220
+
221
+ case 2:
222
+ if ((_step = _iterator()).done) {
223
+ _context3.next = 22;
224
+ break;
225
+ }
226
+
227
+ task = _step.value;
228
+
229
+ if (task.id) {
230
+ _context3.next = 6;
231
+ break;
232
+ }
233
+
234
+ return _context3.abrupt("continue", 20);
235
+
236
+ case 6:
237
+ _context3.prev = 6;
238
+ _context3.next = 9;
239
+ return executeTask({
240
+ client: client,
241
+ task: task
242
+ });
243
+
244
+ case 9:
245
+ _context3.next = 17;
246
+ break;
247
+
248
+ case 11:
249
+ _context3.prev = 11;
250
+ _context3.t0 = _context3["catch"](6);
251
+
252
+ if (!((_context3.t0 == null ? void 0 : (_response3 = _context3.t0.response) == null ? void 0 : (_response3$data = _response3.data) == null ? void 0 : _response3$data.code) === 4)) {
253
+ _context3.next = 16;
254
+ break;
255
+ }
256
+
257
+ _context3.next = 17;
258
+ break;
259
+
260
+ case 16:
261
+ throw _context3.t0;
262
+
263
+ case 17:
264
+ (0, _deletePendingTask.deletePendingTask)({
265
+ id: task.id
266
+ });
267
+ _context3.next = 20;
268
+ return restBeforeNextTask();
269
+
270
+ case 20:
271
+ _context3.next = 2;
272
+ break;
273
+
274
+ case 22:
275
+ case "end":
276
+ return _context3.stop();
277
+ }
278
+ }
279
+ }, _callee3, null, [[6, 11]]);
280
+ }));
281
+
282
+ return function executePendingTasks(_x3) {
283
+ return _ref5.apply(this, arguments);
284
+ };
285
+ }();
286
+
287
+ exports.executePendingTasks = executePendingTasks;
288
+
289
+ var dropPendingTasks = function dropPendingTasks(conditions) {
290
+ var tasks = (0, _getPendingTasks.getPendingTasks)(conditions);
291
+
292
+ for (var _iterator2 = _createForOfIteratorHelperLoose(tasks), _step2; !(_step2 = _iterator2()).done;) {
293
+ var task = _step2.value;
294
+ if (!task.id) continue;
295
+ (0, _deletePendingTask.deletePendingTask)({
296
+ id: task.id
297
+ });
298
+ }
299
+ };
300
+
301
+ exports.dropPendingTasks = dropPendingTasks;
302
+ //# sourceMappingURL=pendingTaskUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["pendingTaskUtils.ts"],"names":["queueTask","client","task","removeFromApi","executeTask","response","data","code","channel","channelType","channelId","type","sendReaction","payload","deleteReaction","deleteMessage","message","attachments","length","i","attachment","image_url","sendImage","file","asset_url","sendFile","sendMessage","Error","restBeforeNextTask","Promise","resolve","setTimeout","executePendingTasks","queue","id","dropPendingTasks","conditions","tasks"],"mappings":";;;;;;;;;;;;;AAIA;;AACA;;AACA;;;;;;;;AAIO,IAAMA,SAAS;AAAA,8EAAG;AAAA;;AAAA;AAAA;AAAA;AAAA;AAGvBC,YAAAA,MAHuB,QAGvBA,MAHuB,EAIvBC,IAJuB,QAIvBA,IAJuB;AASjBC,YAAAA,aATiB,GASD,oCAAeD,IAAf,CATC;AAAA;AAAA;AAAA,mBAaJE,WAAW,CAAqB;AAAEH,cAAAA,MAAM,EAANA,MAAF;AAAUC,cAAAA,IAAI,EAAJA;AAAV,aAArB,CAbP;;AAAA;AAarBG,YAAAA,QAbqB;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA,kBAejB,yDAAqCA,QAArC,iDAA+CC,IAA/C,oCAAqDC,IAArD,MAA8D,CAf7C;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAuBvBJ,YAAAA,aAAa;AAvBU,6CAyBhBE,QAzBgB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAATL,SAAS;AAAA;AAAA;AAAA,GAAf;;;;AA4BP,IAAMI,WAAW;AAAA,8EAAG;AAAA;;AAAA;AAAA;AAAA;AAAA;AAGlBH,YAAAA,MAHkB,SAGlBA,MAHkB,EAIlBC,IAJkB,SAIlBA,IAJkB;AASZM,YAAAA,OATY,GASFP,MAAM,CAACO,OAAP,CAAeN,IAAI,CAACO,WAApB,EAAiCP,IAAI,CAACQ,SAAtC,CATE;;AAAA,kBAWdR,IAAI,CAACS,IAAL,KAAc,eAXA;AAAA;AAAA;AAAA;;AAAA;AAAA,mBAYHH,OAAO,CAACI,YAAR,OAAAJ,OAAO,sCAAiBN,IAAI,CAACW,OAAtB,EAZJ;;AAAA;AAAA;;AAAA;AAAA,kBAedX,IAAI,CAACS,IAAL,KAAc,iBAfA;AAAA;AAAA;AAAA;;AAAA;AAAA,mBAgBHH,OAAO,CAACM,cAAR,OAAAN,OAAO,sCAAmBN,IAAI,CAACW,OAAxB,EAhBJ;;AAAA;AAAA;;AAAA;AAAA,kBAmBdX,IAAI,CAACS,IAAL,KAAc,gBAnBA;AAAA;AAAA;AAAA;;AAAA;AAAA,mBAoBHV,MAAM,CAACc,aAAP,OAAAd,MAAM,sCAAkBC,IAAI,CAACW,OAAvB,EApBH;;AAAA;AAAA;;AAAA;AAAA,kBAuBdX,IAAI,CAACS,IAAL,KAAc,cAvBA;AAAA;AAAA;AAAA;;AAwBVK,YAAAA,OAxBU,GAwBAd,IAAI,CAACW,OAAL,CAAa,CAAb,CAxBA;;AAAA,0CAyBZG,OAAO,CAACC,WAzBI,aAyBZ,qBAAqBC,MAzBT;AAAA;AAAA;AAAA;;AA0BLC,YAAAA,CA1BK,GA0BD,CA1BC;;AAAA;AAAA,kBA0BEA,CAAC,6BAAGH,OAAO,CAACC,WAAX,qBAAG,sBAAqBC,MAAxB,CA1BH;AAAA;AAAA;AAAA;;AA2BNE,YAAAA,UA3BM,GA2BOJ,OAAO,CAACC,WAAR,CAAoBE,CAApB,CA3BP;;AAAA,kBA4BRC,UAAU,CAACT,IAAX,KAAoB,OAApB,IAA+BS,UAAU,CAACC,SA5BlC;AAAA;AAAA;AAAA;;AAAA;AAAA,mBA6Bab,OAAO,CAACc,SAAR,CAAkBF,UAAU,CAACC,SAA7B,CA7Bb;;AAAA;AA6BJhB,YAAAA,QA7BI;AA8BVe,YAAAA,UAAU,CAACC,SAAX,GAAuBhB,QAAQ,CAACkB,IAAhC;;AA9BU;AAAA,kBAkCV,CAACH,UAAU,CAACT,IAAX,KAAoB,MAApB,IACCS,UAAU,CAACT,IAAX,KAAoB,OADrB,IAECS,UAAU,CAACT,IAAX,KAAoB,OAFtB,KAGAS,UAAU,CAACI,SArCD;AAAA;AAAA;AAAA;;AAAA;AAAA,mBAuCahB,OAAO,CAACiB,QAAR,CAAiBL,UAAU,CAACI,SAA5B,CAvCb;;AAAA;AAuCJnB,YAAAA,UAvCI;AAwCVe,YAAAA,UAAU,CAACI,SAAX,GAAuBnB,UAAQ,CAACkB,IAAhC;;AAxCU;AA0BmCJ,YAAAA,CAAC,EA1BpC;AAAA;AAAA;;AAAA;AAAA;AAAA,mBA6CHX,OAAO,CAACkB,WAAR,OAAAlB,OAAO,sCAAgBN,IAAI,CAACW,OAArB,EA7CJ;;AAAA;AAAA;;AAAA;AAAA,kBAgDZ,IAAIc,KAAJ,CAAU,mBAAV,CAhDY;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAXvB,WAAW;AAAA;AAAA;AAAA,GAAjB;;AAmDA,IAAMwB,kBAAkB,GAAG,SAArBA,kBAAqB;AAAA,SAAM,IAAIC,OAAJ,CAAY,UAACC,OAAD;AAAA,WAAaC,UAAU,CAACD,OAAD,EAAU,GAAV,CAAvB;AAAA,GAAZ,CAAN;AAAA,CAA3B;;AACO,IAAME,mBAAmB;AAAA,8EAAG,kBAGjC/B,MAHiC;AAAA;;AAAA;AAAA;AAAA;AAAA;AAK3BgC,YAAAA,KAL2B,GAKnB,uCALmB;AAAA,wDAMdA,KANc;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAMtB/B,YAAAA,IANsB;;AAAA,gBAO1BA,IAAI,CAACgC,EAPqB;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA,mBAUvB9B,WAAW,CAAqB;AACpCH,cAAAA,MAAM,EAANA,MADoC;AAEpCC,cAAAA,IAAI,EAAJA;AAFoC,aAArB,CAVY;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA,kBAezB,4DAAqCG,QAArC,mDAA+CC,IAA/C,qCAAqDC,IAArD,MAA8D,CAfrC;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAuB/B,sDAAkB;AAChB2B,cAAAA,EAAE,EAAEhC,IAAI,CAACgC;AADO,aAAlB;AAvB+B;AAAA,mBA0BzBN,kBAAkB,EA1BO;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAnBI,mBAAmB;AAAA;AAAA;AAAA,GAAzB;;;;AA8BA,IAAMG,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,UAAD,EAAuC;AACrE,MAAMC,KAAK,GAAG,sCAAgBD,UAAhB,CAAd;;AAEA,wDAAmBC,KAAnB,2CAA0B;AAAA,QAAfnC,IAAe;AACxB,QAAI,CAACA,IAAI,CAACgC,EAAV,EAAc;AAEd,8CAAkB;AAChBA,MAAAA,EAAE,EAAEhC,IAAI,CAACgC;AADO,KAAlB;AAGD;AACF,CAVM","sourcesContent":["import type { AxiosError } from 'axios';\n\nimport type { APIErrorResponse, StreamChat } from 'stream-chat';\n\nimport { addPendingTask } from '../store/apis/addPendingTask';\nimport { deletePendingTask } from '../store/apis/deletePendingTask';\nimport { getPendingTasks } from '../store/apis/getPendingTasks';\nimport type { PendingTask } from '../store/types';\nimport type { DefaultStreamChatGenerics } from '../types/types';\n\nexport const queueTask = async <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n client,\n task,\n}: {\n client: StreamChat<StreamChatGenerics>;\n task: PendingTask;\n}) => {\n const removeFromApi = addPendingTask(task);\n\n let response;\n try {\n response = await executeTask<StreamChatGenerics>({ client, task });\n } catch (e) {\n if ((e as AxiosError<APIErrorResponse>)?.response?.data?.code === 4) {\n // Error code 16 - message already exists\n // ignore\n } else {\n throw e;\n }\n }\n\n removeFromApi();\n\n return response;\n};\n\nconst executeTask = async <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n client,\n task,\n}: {\n client: StreamChat<StreamChatGenerics>;\n task: PendingTask;\n}) => {\n const channel = client.channel(task.channelType, task.channelId);\n\n if (task.type === 'send-reaction') {\n return await channel.sendReaction(...task.payload);\n }\n\n if (task.type === 'delete-reaction') {\n return await channel.deleteReaction(...task.payload);\n }\n\n if (task.type === 'delete-message') {\n return await client.deleteMessage(...task.payload);\n }\n\n if (task.type === 'send-message') {\n const message = task.payload[0];\n if (message.attachments?.length) {\n for (let i = 0; i < message.attachments?.length; i++) {\n const attachment = message.attachments[i];\n if (attachment.type === 'image' && attachment.image_url) {\n const response = await channel.sendImage(attachment.image_url);\n attachment.image_url = response.file;\n }\n\n if (\n (attachment.type === 'file' ||\n attachment.type === 'audio' ||\n attachment.type === 'video') &&\n attachment.asset_url\n ) {\n const response = await channel.sendFile(attachment.asset_url);\n attachment.asset_url = response.file;\n }\n }\n }\n\n return await channel.sendMessage(...task.payload);\n }\n\n throw new Error('Invalid task type');\n};\n\nconst restBeforeNextTask = () => new Promise((resolve) => setTimeout(resolve, 500));\nexport const executePendingTasks = async <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n client: StreamChat<StreamChatGenerics>,\n) => {\n const queue = getPendingTasks();\n for (const task of queue) {\n if (!task.id) continue;\n\n try {\n await executeTask<StreamChatGenerics>({\n client,\n task,\n });\n } catch (e) {\n if ((e as AxiosError<APIErrorResponse>)?.response?.data?.code === 4) {\n // Error code 16 - message already exists\n // ignore\n } else {\n throw e;\n }\n }\n\n deletePendingTask({\n id: task.id,\n });\n await restBeforeNextTask();\n }\n};\n\nexport const dropPendingTasks = (conditions: { messageId: string }) => {\n const tasks = getPendingTasks(conditions);\n\n for (const task of tasks) {\n if (!task.id) continue;\n\n deletePendingTask({\n id: task.id,\n });\n }\n};\n"]}
@@ -0,0 +1,39 @@
1
+ Object.defineProperty(exports, "__esModule", {
2
+ value: true
3
+ });
4
+ exports.removeReactionFromLocalState = void 0;
5
+
6
+ var _deleteReaction = require("../store/apis/deleteReaction");
7
+
8
+ var removeReactionFromLocalState = function removeReactionFromLocalState(_ref) {
9
+ var _message$own_reaction, _message$latest_react, _message$reaction_cou, _message$reaction_cou2;
10
+
11
+ var channel = _ref.channel,
12
+ messageId = _ref.messageId,
13
+ reactionType = _ref.reactionType,
14
+ user = _ref.user;
15
+ var message = channel.state.messages.find(function (_ref2) {
16
+ var id = _ref2.id;
17
+ return id === messageId;
18
+ });
19
+ if (!message || !(channel != null && channel.id) || !(user != null && user.id)) return;
20
+ message.own_reactions = (_message$own_reaction = message.own_reactions) == null ? void 0 : _message$own_reaction.filter(function (reaction) {
21
+ return reaction.type !== reactionType;
22
+ });
23
+ message.latest_reactions = (_message$latest_react = message.latest_reactions) == null ? void 0 : _message$latest_react.filter(function (r) {
24
+ return !(r.user_id === (user == null ? void 0 : user.id) && r.type === reactionType);
25
+ });
26
+
27
+ if ((_message$reaction_cou = message.reaction_counts) != null && _message$reaction_cou[reactionType] && ((_message$reaction_cou2 = message.reaction_counts) == null ? void 0 : _message$reaction_cou2[reactionType]) > 0) {
28
+ message.reaction_counts[reactionType] = message.reaction_counts[reactionType] - 1;
29
+ }
30
+
31
+ (0, _deleteReaction.deleteReaction)({
32
+ messageId: messageId,
33
+ reactionType: reactionType,
34
+ userId: user.id
35
+ });
36
+ };
37
+
38
+ exports.removeReactionFromLocalState = removeReactionFromLocalState;
39
+ //# sourceMappingURL=removeReactionFromLocalState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["removeReactionFromLocalState.ts"],"names":["removeReactionFromLocalState","channel","messageId","reactionType","user","message","state","messages","find","id","own_reactions","filter","reaction","type","latest_reactions","r","user_id","reaction_counts","userId"],"mappings":";;;;;AAEA;;AAIO,IAAMA,4BAA4B,GAAG,SAA/BA,4BAA+B,OAYtC;AAAA;;AAAA,MATJC,OASI,QATJA,OASI;AAAA,MARJC,SAQI,QARJA,SAQI;AAAA,MAPJC,YAOI,QAPJA,YAOI;AAAA,MANJC,IAMI,QANJA,IAMI;AACJ,MAAMC,OAAO,GAAGJ,OAAO,CAACK,KAAR,CAAcC,QAAd,CAAuBC,IAAvB,CAA4B;AAAA,QAAGC,EAAH,SAAGA,EAAH;AAAA,WAAYA,EAAE,KAAKP,SAAnB;AAAA,GAA5B,CAAhB;AACA,MAAI,CAACG,OAAD,IAAY,EAACJ,OAAD,YAACA,OAAO,CAAEQ,EAAV,CAAZ,IAA4B,EAACL,IAAD,YAACA,IAAI,CAAEK,EAAP,CAAhC,EAA2C;AAE3CJ,EAAAA,OAAO,CAACK,aAAR,4BAAwBL,OAAO,CAACK,aAAhC,qBAAwB,sBAAuBC,MAAvB,CACtB,UAACC,QAAD;AAAA,WAAcA,QAAQ,CAACC,IAAT,KAAkBV,YAAhC;AAAA,GADsB,CAAxB;AAGAE,EAAAA,OAAO,CAACS,gBAAR,4BAA2BT,OAAO,CAACS,gBAAnC,qBAA2B,sBAA0BH,MAA1B,CACzB,UAACI,CAAD;AAAA,WAAO,EAAEA,CAAC,CAACC,OAAF,MAAcZ,IAAd,oBAAcA,IAAI,CAAEK,EAApB,KAA0BM,CAAC,CAACF,IAAF,KAAWV,YAAvC,CAAP;AAAA,GADyB,CAA3B;;AAIA,MAAI,yBAAAE,OAAO,CAACY,eAAR,mCAA0Bd,YAA1B,KAA2C,2BAAAE,OAAO,CAACY,eAAR,4CAA0Bd,YAA1B,KAA0C,CAAzF,EAA4F;AAC1FE,IAAAA,OAAO,CAACY,eAAR,CAAwBd,YAAxB,IAAwCE,OAAO,CAACY,eAAR,CAAwBd,YAAxB,IAAwC,CAAhF;AACD;;AAED,sCAAe;AACbD,IAAAA,SAAS,EAATA,SADa;AAEbC,IAAAA,YAAY,EAAZA,YAFa;AAGbe,IAAAA,MAAM,EAAEd,IAAI,CAACK;AAHA,GAAf;AAKD,CAhCM","sourcesContent":["import type { Channel, UserResponse } from 'stream-chat';\n\nimport { deleteReaction } from '../store/apis/deleteReaction';\n\nimport type { DefaultStreamChatGenerics } from '../types/types';\n\nexport const removeReactionFromLocalState = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n channel,\n messageId,\n reactionType,\n user,\n}: {\n channel: Channel<StreamChatGenerics>;\n messageId: string;\n reactionType: string;\n user: UserResponse<StreamChatGenerics>;\n}) => {\n const message = channel.state.messages.find(({ id }) => id === messageId);\n if (!message || !channel?.id || !user?.id) return;\n\n message.own_reactions = message.own_reactions?.filter(\n (reaction) => reaction.type !== reactionType,\n );\n message.latest_reactions = message.latest_reactions?.filter(\n (r) => !(r.user_id === user?.id && r.type === reactionType),\n );\n\n if (message.reaction_counts?.[reactionType] && message.reaction_counts?.[reactionType] > 0) {\n message.reaction_counts[reactionType] = message.reaction_counts[reactionType] - 1;\n }\n\n deleteReaction({\n messageId,\n reactionType,\n userId: user.id,\n });\n};\n"]}
@@ -3,7 +3,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.vw = exports.vh = exports.urlRegex = exports.reduceMessagesToString = exports.queryUsersDebounced = exports.queryMembersDebounced = exports.makeImageCompatibleUrl = exports.isMentionTrigger = exports.isEmojiTrigger = exports.isCommandTrigger = exports.getUrlWithoutParams = exports.getIndicatorTypeForFileState = exports.generateRandomId = exports.emojiRegex = exports.ProgressIndicatorTypes = exports.MessageStatusTypes = exports.FileState = exports.ACITriggerSettings = void 0;
6
+ exports.vw = exports.vh = exports.urlRegex = exports.reduceMessagesToString = exports.queryUsersDebounced = exports.queryMembersDebounced = exports.makeImageCompatibleUrl = exports.isMentionTrigger = exports.isLocalUrl = exports.isEmojiTrigger = exports.isCommandTrigger = exports.getUrlWithoutParams = exports.getIndicatorTypeForFileState = exports.generateRandomId = exports.emojiRegex = exports.ProgressIndicatorTypes = exports.MessageStatusTypes = exports.FileState = exports.ACITriggerSettings = void 0;
7
7
 
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
 
@@ -43,10 +43,10 @@ var MessageStatusTypes = {
43
43
  };
44
44
  exports.MessageStatusTypes = MessageStatusTypes;
45
45
 
46
- var getIndicatorTypeForFileState = function getIndicatorTypeForFileState(fileState) {
46
+ var getIndicatorTypeForFileState = function getIndicatorTypeForFileState(fileState, isOnline, enableOfflineSupport) {
47
47
  var _indicatorMap;
48
48
 
49
- var indicatorMap = (_indicatorMap = {}, (0, _defineProperty2["default"])(_indicatorMap, FileState.UPLOADING, ProgressIndicatorTypes.IN_PROGRESS), (0, _defineProperty2["default"])(_indicatorMap, FileState.UPLOAD_FAILED, ProgressIndicatorTypes.RETRY), (0, _defineProperty2["default"])(_indicatorMap, FileState.NOT_SUPPORTED, ProgressIndicatorTypes.NOT_SUPPORTED), (0, _defineProperty2["default"])(_indicatorMap, FileState.UPLOADED, ProgressIndicatorTypes.INACTIVE), (0, _defineProperty2["default"])(_indicatorMap, FileState.FINISHED, ProgressIndicatorTypes.INACTIVE), _indicatorMap);
49
+ var indicatorMap = (_indicatorMap = {}, (0, _defineProperty2["default"])(_indicatorMap, FileState.UPLOADING, ProgressIndicatorTypes.IN_PROGRESS), (0, _defineProperty2["default"])(_indicatorMap, FileState.UPLOAD_FAILED, !isOnline && enableOfflineSupport ? ProgressIndicatorTypes.INACTIVE : ProgressIndicatorTypes.RETRY), (0, _defineProperty2["default"])(_indicatorMap, FileState.NOT_SUPPORTED, ProgressIndicatorTypes.NOT_SUPPORTED), (0, _defineProperty2["default"])(_indicatorMap, FileState.UPLOADED, ProgressIndicatorTypes.INACTIVE), (0, _defineProperty2["default"])(_indicatorMap, FileState.FINISHED, ProgressIndicatorTypes.INACTIVE), _indicatorMap);
50
50
  return indicatorMap[fileState];
51
51
  };
52
52
 
@@ -435,6 +435,12 @@ var getUrlWithoutParams = function getUrlWithoutParams(url) {
435
435
 
436
436
  exports.getUrlWithoutParams = getUrlWithoutParams;
437
437
 
438
+ var isLocalUrl = function isLocalUrl(url) {
439
+ return url.indexOf('http') !== 0;
440
+ };
441
+
442
+ exports.isLocalUrl = isLocalUrl;
443
+
438
444
  var vw = function vw(percentageWidth) {
439
445
  var rounded = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
440
446
  var value = _reactNative.Dimensions.get('window').width * (percentageWidth / 100);
@@ -1 +1 @@
1
- {"version":3,"sources":["utils.ts"],"names":["FileState","Object","freeze","FINISHED","NOT_SUPPORTED","UPLOAD_FAILED","UPLOADED","UPLOADING","ProgressIndicatorTypes","IN_PROGRESS","INACTIVE","RETRY","MessageStatusTypes","FAILED","RECEIVED","SENDING","getIndicatorTypeForFileState","fileState","indicatorMap","defaultAutoCompleteSuggestionsLimit","defaultMentionAllAppUsersQuery","filters","options","sort","isUserResponse","user","undefined","getCommands","channel","getConfig","commands","getMembers","members","state","values","length","filter","member","map","getWatchers","watchers","getMembersAndWatchers","users","reduce","acc","cur","id","queryMembers","query","onReady","limit","name","$autocomplete","response","forEach","push","queryMembersDebounced","leading","trailing","queryUsers","client","mentionAllAppUsersQuery","$ne","userID","$or","queryUsersDebounced","isCommandTrigger","trigger","isEmojiTrigger","isMentionTrigger","ACITriggerSettings","onMentionSelectItem","dataProvider","text","indexOf","selectedCommands","command","a","b","nameA","toLowerCase","nameB","result","slice","output","entity","caretPosition","key","type","_","compiledEmojis","emojiArray","names","some","includes","emoji","emojiLib","skin_variations","tone","index","unicode","callback","item","mentionAllAppUsersEnabled","data","matchingUsers","makeImageCompatibleUrl","url","trim","getUrlWithoutParams","indexOfQuestion","substring","vw","percentageWidth","rounded","value","Dimensions","get","width","Math","round","vh","percentageHeight","height","generateRandomId","Number","random","toString","replace","emojiRegex","urlRegex","stringifyMessage","deleted_at","latest_reactions","reply_count","status","updated_at","join","toISOString","reduceMessagesToString","messages"],"mappings":"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","sourcesContent":["import type React from 'react';\nimport { Dimensions } from 'react-native';\n\nimport type { DebouncedFunc } from 'lodash';\nimport debounce from 'lodash/debounce';\nimport type {\n Channel,\n ChannelMemberAPIResponse,\n ChannelMemberResponse,\n CommandResponse,\n FormatMessageResponse,\n StreamChat,\n UserResponse,\n} from 'stream-chat';\n\nimport type { MentionAllAppUsersQuery } from '../contexts/messageInputContext/MessageInputContext';\nimport type {\n SuggestionCommand,\n SuggestionComponentType,\n SuggestionUser,\n} from '../contexts/suggestionsContext/SuggestionsContext';\nimport { compiledEmojis, Emoji } from '../emoji-data/compiled';\nimport type { IconProps } from '../icons/utils/base';\nimport type { DefaultStreamChatGenerics } from '../types/types';\n\nexport type ReactionData = {\n Icon: React.FC<IconProps>;\n type: string;\n};\n\nexport const FileState = Object.freeze({\n // finished and uploaded state are the same thing. First is set on frontend,\n // while later is set on backend side\n // TODO: Unify both of them\n FINISHED: 'finished',\n NOT_SUPPORTED: 'not_supported',\n UPLOAD_FAILED: 'upload_failed',\n UPLOADED: 'uploaded',\n UPLOADING: 'uploading',\n});\n\nexport const ProgressIndicatorTypes: {\n IN_PROGRESS: 'in_progress';\n INACTIVE: 'inactive';\n NOT_SUPPORTED: 'not_supported';\n RETRY: 'retry';\n} = Object.freeze({\n IN_PROGRESS: 'in_progress',\n INACTIVE: 'inactive',\n NOT_SUPPORTED: 'not_supported',\n RETRY: 'retry',\n});\n\nexport const MessageStatusTypes = {\n FAILED: 'failed',\n RECEIVED: 'received',\n SENDING: 'sending',\n};\n\nexport type FileStateValue = typeof FileState[keyof typeof FileState];\n\ntype ValueOf<T> = T[keyof T];\ntype Progress = ValueOf<typeof ProgressIndicatorTypes>;\ntype IndicatorStatesMap = Record<ValueOf<typeof FileState>, Progress | null>;\n\nexport const getIndicatorTypeForFileState = (fileState: FileStateValue): Progress | null => {\n const indicatorMap: IndicatorStatesMap = {\n [FileState.UPLOADING]: ProgressIndicatorTypes.IN_PROGRESS,\n [FileState.UPLOAD_FAILED]: ProgressIndicatorTypes.RETRY,\n [FileState.NOT_SUPPORTED]: ProgressIndicatorTypes.NOT_SUPPORTED,\n [FileState.UPLOADED]: ProgressIndicatorTypes.INACTIVE,\n [FileState.FINISHED]: ProgressIndicatorTypes.INACTIVE,\n };\n\n return indicatorMap[fileState];\n};\n\nconst defaultAutoCompleteSuggestionsLimit = 10;\nconst defaultMentionAllAppUsersQuery = {\n filters: {},\n options: {},\n sort: {},\n};\n\nconst isUserResponse = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n user: SuggestionUser<StreamChatGenerics> | undefined,\n): user is SuggestionUser<StreamChatGenerics> =>\n (user as SuggestionUser<StreamChatGenerics>) !== undefined;\n\nconst getCommands = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n) => channel.getConfig()?.commands || [];\n\nconst getMembers = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n) => {\n const members = channel.state.members;\n\n return Object.values(members).length\n ? (\n Object.values(members).filter((member) => member.user) as Array<\n ChannelMemberResponse<StreamChatGenerics> & { user: UserResponse<StreamChatGenerics> }\n >\n ).map((member) => member.user)\n : [];\n};\n\nconst getWatchers = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n) => {\n const watchers = channel.state.watchers;\n return Object.values(watchers).length ? [...Object.values(watchers)] : [];\n};\n\nconst getMembersAndWatchers = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n) => {\n const users = [...getMembers(channel), ...getWatchers(channel)];\n\n return Object.values(\n users.reduce((acc, cur) => {\n if (!acc[cur.id]) {\n acc[cur.id] = cur;\n }\n\n return acc;\n }, {} as { [key: string]: SuggestionUser<StreamChatGenerics> }),\n );\n};\n\nconst queryMembers = async <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n query: SuggestionUser<StreamChatGenerics>['name'],\n onReady?: (users: SuggestionUser<StreamChatGenerics>[]) => void,\n options: {\n limit?: number;\n } = {},\n): Promise<void> => {\n const { limit = defaultAutoCompleteSuggestionsLimit } = options;\n\n if (typeof query === 'string') {\n const response = (await (channel as unknown as Channel).queryMembers(\n {\n name: { $autocomplete: query },\n },\n {},\n { limit },\n )) as ChannelMemberAPIResponse<StreamChatGenerics>;\n\n const users: SuggestionUser<StreamChatGenerics>[] = [];\n response.members.forEach((member) => isUserResponse(member.user) && users.push(member.user));\n if (onReady && users) {\n onReady(users);\n }\n }\n};\n\nexport const queryMembersDebounced = debounce(queryMembers, 200, {\n leading: false,\n trailing: true,\n});\n\nconst queryUsers = async <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n client: StreamChat<StreamChatGenerics>,\n query: SuggestionUser<StreamChatGenerics>['name'],\n onReady?: (users: SuggestionUser<StreamChatGenerics>[]) => void,\n options: {\n limit?: number;\n mentionAllAppUsersQuery?: MentionAllAppUsersQuery<StreamChatGenerics>;\n } = {},\n): Promise<void> => {\n if (typeof query === 'string') {\n const {\n limit = defaultAutoCompleteSuggestionsLimit,\n mentionAllAppUsersQuery = defaultMentionAllAppUsersQuery,\n } = options;\n const filters = {\n id: { $ne: client.userID },\n ...mentionAllAppUsersQuery?.filters,\n };\n\n if (query) {\n // @ts-ignore\n filters.$or = [{ id: { $autocomplete: query } }, { name: { $autocomplete: query } }];\n }\n\n const response = await client.queryUsers(\n // @ts-ignore\n filters,\n { id: 1, ...mentionAllAppUsersQuery?.sort },\n { limit, ...mentionAllAppUsersQuery?.options },\n );\n const users: SuggestionUser<StreamChatGenerics>[] = [];\n response.users.forEach((user) => isUserResponse(user) && users.push(user));\n if (onReady && users) {\n onReady(users);\n }\n }\n};\n\nexport const queryUsersDebounced = debounce(queryUsers, 200, {\n leading: false,\n trailing: true,\n});\n\nexport const isCommandTrigger = (trigger: Trigger): trigger is '/' => trigger === '/';\n\nexport const isEmojiTrigger = (trigger: Trigger): trigger is ':' => trigger === ':';\n\nexport const isMentionTrigger = (trigger: Trigger): trigger is '@' => trigger === '@';\n\nexport type Trigger = '/' | '@' | ':';\n\nexport type TriggerSettings<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n '/'?: {\n dataProvider: (\n query: CommandResponse<StreamChatGenerics>['name'],\n text: string,\n onReady?: (\n data: CommandResponse<StreamChatGenerics>[],\n q: CommandResponse<StreamChatGenerics>['name'],\n ) => void,\n options?: {\n limit?: number;\n },\n ) => SuggestionCommand<StreamChatGenerics>[];\n output: (entity: CommandResponse<StreamChatGenerics>) => {\n caretPosition: string;\n key: string;\n text: string;\n };\n type: SuggestionComponentType;\n };\n ':'?: {\n dataProvider: (\n query: Emoji['name'],\n _: string,\n onReady?: (data: Emoji[], q: Emoji['name']) => void,\n ) => Emoji[];\n output: (entity: Emoji) => {\n caretPosition: string;\n key: string;\n text: string;\n };\n type: SuggestionComponentType;\n };\n '@'?: {\n callback: (item: SuggestionUser<StreamChatGenerics>) => void;\n dataProvider: (\n query: SuggestionUser<StreamChatGenerics>['name'],\n _: string,\n onReady?: (\n data: SuggestionUser<StreamChatGenerics>[],\n q: SuggestionUser<StreamChatGenerics>['name'],\n ) => void,\n options?: {\n limit?: number;\n mentionAllAppUsersEnabled?: boolean;\n mentionAllAppUsersQuery?: MentionAllAppUsersQuery<StreamChatGenerics>;\n },\n ) => SuggestionUser<StreamChatGenerics>[] | Promise<void> | void;\n output: (entity: SuggestionUser<StreamChatGenerics>) => {\n caretPosition: string;\n key: string;\n text: string;\n };\n type: SuggestionComponentType;\n };\n};\n\nexport type ACITriggerSettingsParams<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n channel: Channel<StreamChatGenerics>;\n client: StreamChat<StreamChatGenerics>;\n onMentionSelectItem: (item: SuggestionUser<StreamChatGenerics>) => void;\n};\n\nexport type QueryUsersFunction<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = (\n client: StreamChat<StreamChatGenerics>,\n query: SuggestionUser<StreamChatGenerics>['name'],\n onReady?: (users: SuggestionUser<StreamChatGenerics>[]) => void,\n options?: {\n limit?: number;\n mentionAllAppUsersQuery?: MentionAllAppUsersQuery<StreamChatGenerics>;\n },\n) => Promise<void>;\n\nexport type QueryMembersFunction<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = (\n channel: Channel<StreamChatGenerics>,\n query: SuggestionUser<StreamChatGenerics>['name'],\n onReady?: (users: SuggestionUser<StreamChatGenerics>[]) => void,\n options?: {\n limit?: number;\n },\n) => Promise<void>;\n\n/**\n * ACI = AutoCompleteInput\n *\n * DataProvider accepts `onReady` function, which will execute once the data is ready.\n * Another approach would have been to simply return the data from dataProvider and let the\n * component await for it and then execute the required logic. We are going for callback instead\n * of async-await since we have debounce function in dataProvider. Which will delay the execution\n * of api call on trailing end of debounce (lets call it a1) but will return with result of\n * previous call without waiting for a1. So in this case, we want to execute onReady, when trailing\n * end of debounce executes.\n */\nexport const ACITriggerSettings = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n channel,\n client,\n onMentionSelectItem,\n}: ACITriggerSettingsParams<StreamChatGenerics>): TriggerSettings<StreamChatGenerics> => ({\n '/': {\n dataProvider: (query, text, onReady, options = {}) => {\n if (text.indexOf('/') !== 0) return [];\n\n const { limit = defaultAutoCompleteSuggestionsLimit } = options;\n const selectedCommands = !query\n ? getCommands(channel)\n : getCommands(channel).filter((command) => query && command.name?.indexOf(query) !== -1);\n\n // sort alphabetically unless the you're matching the first char\n selectedCommands.sort((a, b) => {\n let nameA = a.name?.toLowerCase() || '';\n let nameB = b.name?.toLowerCase() || '';\n if (query && nameA.indexOf(query) === 0) {\n nameA = `0${nameA}`;\n }\n if (query && nameB.indexOf(query) === 0) {\n nameB = `0${nameB}`;\n }\n if (nameA < nameB) return -1;\n if (nameA > nameB) return 1;\n\n return 0;\n });\n\n const result = selectedCommands.slice(0, limit);\n\n if (onReady) {\n onReady(result, query);\n }\n\n return result;\n },\n output: (entity) => ({\n caretPosition: 'next',\n key: `${entity.name}`,\n text: `/${entity.name}`,\n }),\n type: 'command',\n },\n ':': {\n dataProvider: (query, _, onReady) => {\n if (!query) return [];\n\n const result = compiledEmojis.emojiArray.reduce((acc, cur) => {\n if (acc.length >= 10) return acc;\n\n if (cur.names.some((name) => name.includes(query))) {\n const emoji = compiledEmojis.emojiLib[cur.name];\n if (emoji.skin_variations) {\n acc.push({\n ...emoji,\n name: `${emoji.name}-tone-1`,\n skin_variations: undefined,\n });\n emoji.skin_variations.forEach((tone, index) =>\n acc.push({\n ...emoji,\n name: `${emoji.name}-tone-${index + 2}`,\n skin_variations: undefined,\n unicode: tone,\n }),\n );\n } else {\n acc.push(emoji);\n }\n }\n\n return acc;\n }, [] as Emoji[]);\n\n if (onReady) {\n onReady(result, query);\n }\n\n return result;\n },\n output: (entity) => ({\n caretPosition: 'next',\n key: entity.name,\n text: entity.unicode,\n }),\n type: 'emoji',\n },\n '@': {\n callback: (item) => {\n onMentionSelectItem(item);\n },\n dataProvider: (\n query,\n _,\n onReady,\n options = {\n limit: defaultAutoCompleteSuggestionsLimit,\n mentionAllAppUsersEnabled: false,\n mentionAllAppUsersQuery: defaultMentionAllAppUsersQuery,\n },\n ) => {\n if (options?.mentionAllAppUsersEnabled) {\n return (queryUsersDebounced as DebouncedFunc<QueryUsersFunction<StreamChatGenerics>>)(\n client,\n query,\n (data) => {\n if (onReady) {\n onReady(data, query);\n }\n },\n {\n limit: options.limit,\n mentionAllAppUsersQuery: options.mentionAllAppUsersQuery,\n },\n );\n }\n\n /**\n * By default, we return maximum 100 members via queryChannels api call.\n * Thus it is safe to assume, that if number of members in channel.state is < 100,\n * then all the members are already available on client side and we don't need to\n * make any api call to queryMembers endpoint.\n */\n if (!query || Object.values(channel.state.members).length < 100) {\n const users = getMembersAndWatchers(channel);\n\n const matchingUsers = users.filter((user) => {\n if (!query) return true;\n if (user.name?.toLowerCase().indexOf(query.toLowerCase()) !== -1) {\n return true;\n }\n if (user.id.toLowerCase().indexOf(query.toLowerCase()) !== -1) {\n return true;\n }\n return false;\n });\n\n const data = matchingUsers.slice(0, options?.limit);\n\n if (onReady) {\n onReady(data, query);\n }\n\n return data;\n }\n\n return (queryMembersDebounced as DebouncedFunc<QueryMembersFunction<StreamChatGenerics>>)(\n channel,\n query,\n (data) => {\n if (onReady) {\n onReady(data, query);\n }\n },\n {\n limit: options.limit,\n },\n );\n },\n output: (entity) => ({\n caretPosition: 'next',\n key: entity.id,\n text: `@${entity.name || entity.id}`,\n }),\n type: 'mention',\n },\n});\n\nexport const makeImageCompatibleUrl = (url: string) =>\n (url.indexOf('//') === 0 ? `https:${url}` : url).trim();\n\nexport const getUrlWithoutParams = (url?: string) => {\n if (!url) return url;\n\n const indexOfQuestion = url.indexOf('?');\n if (indexOfQuestion === -1) return url;\n\n return url.substring(0, url.indexOf('?'));\n};\n\nexport const vw = (percentageWidth: number, rounded = false) => {\n const value = Dimensions.get('window').width * (percentageWidth / 100);\n return rounded ? Math.round(value) : value;\n};\n\nexport const vh = (percentageHeight: number, rounded = false) => {\n const height = Dimensions.get('window').height;\n\n const value = height * (percentageHeight / 100);\n return rounded ? Math.round(value) : value;\n};\n\nexport const generateRandomId = (a = ''): string =>\n a\n ? /* eslint-disable no-bitwise */\n ((Number(a) ^ (Math.random() * 16)) >> (Number(a) / 4)).toString(16)\n : `${1e7}-${1e3}-${4e3}-${8e3}-${1e11}`.replace(/[018]/g, generateRandomId);\n\n// source: https://raw.githubusercontent.com/mathiasbynens/emoji-regex/master/RGI_Emoji.js\n// [#\\*0-9]\\uFE0F\\u20E3 was replaced with [#*0-9]\\uFE0F\\u20E3 due to a lint warning\nexport const emojiRegex =\n /^(\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67)\\uDB40\\uDC7F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC68(?:\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC|\\uD83C\\uDFFB)?|\\uD83E\\uDDD1(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69(?:\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|\\uD83C\\uDFF3\\uFE0F\\u200D\\u26A7|\\uD83E\\uDDD1(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|\\uD83D\\uDC3B\\u200D\\u2744|(?:(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\uD83C\\uDFF4\\u200D\\u2620|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])\\u200D[\\u2640\\u2642]|[\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u2328\\u23CF\\u23ED-\\u23EF\\u23F1\\u23F2\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC\\u2600-\\u2604\\u260E\\u2611\\u2618\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u2692\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A7\\u26B0\\u26B1\\u26C8\\u26CF\\u26D1\\u26D3\\u26E9\\u26F0\\u26F1\\u26F4\\u26F7\\u26F8\\u2702\\u2708\\u2709\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2733\\u2734\\u2744\\u2747\\u2763\\u2764\\u27A1\\u2934\\u2935\\u2B05-\\u2B07\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDE02\\uDE37\\uDF21\\uDF24-\\uDF2C\\uDF36\\uDF7D\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F\\uDFCD\\uDFCE\\uDFD4-\\uDFDF\\uDFF5\\uDFF7]|\\uD83D[\\uDC3F\\uDCFD\\uDD49\\uDD4A\\uDD6F\\uDD70\\uDD73\\uDD76-\\uDD79\\uDD87\\uDD8A-\\uDD8D\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA\\uDECB\\uDECD-\\uDECF\\uDEE0-\\uDEE5\\uDEE9\\uDEF0\\uDEF3])\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69(?:\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC|\\uD83C\\uDFFB)?|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF6\\uD83C\\uDDE6|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83D\\uDC08\\u200D\\u2B1B|\\uD83D\\uDC41\\uFE0F|\\uD83C\\uDFF3\\uFE0F|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|[#*0-9]\\uFE0F\\u20E3|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDFF4|(?:[\\u270A\\u270B]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270C\\u270D]|\\uD83D[\\uDD74\\uDD90])(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])|[\\u270A\\u270B]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC08\\uDC15\\uDC3B\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5]|\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD]|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF]|[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF84\\uDF86-\\uDF93\\uDFA0-\\uDFC1\\uDFC5\\uDFC6\\uDFC8\\uDFC9\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC07\\uDC09-\\uDC14\\uDC16-\\uDC3A\\uDC3C-\\uDC3E\\uDC40\\uDC44\\uDC45\\uDC51-\\uDC65\\uDC6A\\uDC79-\\uDC7B\\uDC7D-\\uDC80\\uDC84\\uDC88-\\uDCA9\\uDCAB-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDDA4\\uDDFB-\\uDE44\\uDE48-\\uDE4A\\uDE80-\\uDEA2\\uDEA4-\\uDEB3\\uDEB7-\\uDEBF\\uDEC1-\\uDEC5\\uDED0-\\uDED2\\uDED5-\\uDED7\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D\\uDD0E\\uDD10-\\uDD17\\uDD1D\\uDD20-\\uDD25\\uDD27-\\uDD2F\\uDD3A\\uDD3F-\\uDD45\\uDD47-\\uDD76\\uDD78\\uDD7A-\\uDDB4\\uDDB7\\uDDBA\\uDDBC-\\uDDCB\\uDDD0\\uDDE0-\\uDDFF\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6])+$/;\n\nexport const urlRegex =\n /(?:\\s|^)((?:https?:\\/\\/)?(?:[a-z0-9-]+(?:\\.[a-z0-9-]+)+)(?::[0-9]+)?(?:\\/(?:[^\\s]+)?)?)/g;\n\n/**\n * Stringifies a message object\n * @param {FormatMessageResponse<StreamChatGenerics>} message - the message object to be stringified\n * @returns {string} The stringified message\n */\nconst stringifyMessage = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n deleted_at,\n latest_reactions,\n reply_count,\n status,\n updated_at,\n}: FormatMessageResponse<StreamChatGenerics>): string =>\n `${deleted_at}${\n latest_reactions ? latest_reactions.map(({ type }) => type).join() : ''\n }${reply_count}${status}${updated_at?.toISOString?.() || updated_at}`;\n\n/**\n * Reduces a list of messages to strings that are used in useEffect & useMemo\n * @param {messages} messages - the array of messages to be compared\n * @returns {string} The mapped message string\n */\nexport const reduceMessagesToString = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n messages: FormatMessageResponse<StreamChatGenerics>[],\n): string => messages.map(stringifyMessage).join();\n"]}
1
+ {"version":3,"sources":["utils.ts"],"names":["FileState","Object","freeze","FINISHED","NOT_SUPPORTED","UPLOAD_FAILED","UPLOADED","UPLOADING","ProgressIndicatorTypes","IN_PROGRESS","INACTIVE","RETRY","MessageStatusTypes","FAILED","RECEIVED","SENDING","getIndicatorTypeForFileState","fileState","isOnline","enableOfflineSupport","indicatorMap","defaultAutoCompleteSuggestionsLimit","defaultMentionAllAppUsersQuery","filters","options","sort","isUserResponse","user","undefined","getCommands","channel","getConfig","commands","getMembers","members","state","values","length","filter","member","map","getWatchers","watchers","getMembersAndWatchers","users","reduce","acc","cur","id","queryMembers","query","onReady","limit","name","$autocomplete","response","forEach","push","queryMembersDebounced","leading","trailing","queryUsers","client","mentionAllAppUsersQuery","$ne","userID","$or","queryUsersDebounced","isCommandTrigger","trigger","isEmojiTrigger","isMentionTrigger","ACITriggerSettings","onMentionSelectItem","dataProvider","text","indexOf","selectedCommands","command","a","b","nameA","toLowerCase","nameB","result","slice","output","entity","caretPosition","key","type","_","compiledEmojis","emojiArray","names","some","includes","emoji","emojiLib","skin_variations","tone","index","unicode","callback","item","mentionAllAppUsersEnabled","data","matchingUsers","makeImageCompatibleUrl","url","trim","getUrlWithoutParams","indexOfQuestion","substring","isLocalUrl","vw","percentageWidth","rounded","value","Dimensions","get","width","Math","round","vh","percentageHeight","height","generateRandomId","Number","random","toString","replace","emojiRegex","urlRegex","stringifyMessage","deleted_at","latest_reactions","reply_count","status","updated_at","join","toISOString","reduceMessagesToString","messages"],"mappings":"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","sourcesContent":["import type React from 'react';\nimport { Dimensions } from 'react-native';\n\nimport type { DebouncedFunc } from 'lodash';\nimport debounce from 'lodash/debounce';\nimport type {\n Channel,\n ChannelMemberAPIResponse,\n ChannelMemberResponse,\n CommandResponse,\n FormatMessageResponse,\n StreamChat,\n UserResponse,\n} from 'stream-chat';\n\nimport type { MentionAllAppUsersQuery } from '../contexts/messageInputContext/MessageInputContext';\nimport type {\n SuggestionCommand,\n SuggestionComponentType,\n SuggestionUser,\n} from '../contexts/suggestionsContext/SuggestionsContext';\nimport { compiledEmojis, Emoji } from '../emoji-data/compiled';\nimport type { IconProps } from '../icons/utils/base';\nimport type { DefaultStreamChatGenerics, ValueOf } from '../types/types';\n\nexport type ReactionData = {\n Icon: React.FC<IconProps>;\n type: string;\n};\n\nexport const FileState = Object.freeze({\n // finished and uploaded state are the same thing. First is set on frontend,\n // while later is set on backend side\n // TODO: Unify both of them\n FINISHED: 'finished',\n NOT_SUPPORTED: 'not_supported',\n UPLOAD_FAILED: 'upload_failed',\n UPLOADED: 'uploaded',\n UPLOADING: 'uploading',\n});\n\nexport const ProgressIndicatorTypes: {\n IN_PROGRESS: 'in_progress';\n INACTIVE: 'inactive';\n NOT_SUPPORTED: 'not_supported';\n RETRY: 'retry';\n} = Object.freeze({\n IN_PROGRESS: 'in_progress',\n INACTIVE: 'inactive',\n NOT_SUPPORTED: 'not_supported',\n RETRY: 'retry',\n});\n\nexport const MessageStatusTypes = {\n FAILED: 'failed',\n RECEIVED: 'received',\n SENDING: 'sending',\n};\n\nexport type FileStateValue = typeof FileState[keyof typeof FileState];\n\ntype Progress = ValueOf<typeof ProgressIndicatorTypes>;\ntype IndicatorStatesMap = Record<ValueOf<typeof FileState>, Progress | null>;\n\nexport const getIndicatorTypeForFileState = (\n fileState: FileStateValue,\n isOnline: boolean,\n enableOfflineSupport: boolean,\n): Progress | null => {\n const indicatorMap: IndicatorStatesMap = {\n [FileState.UPLOADING]: ProgressIndicatorTypes.IN_PROGRESS,\n [FileState.UPLOAD_FAILED]:\n !isOnline && enableOfflineSupport\n ? ProgressIndicatorTypes.INACTIVE\n : ProgressIndicatorTypes.RETRY,\n [FileState.NOT_SUPPORTED]: ProgressIndicatorTypes.NOT_SUPPORTED,\n [FileState.UPLOADED]: ProgressIndicatorTypes.INACTIVE,\n [FileState.FINISHED]: ProgressIndicatorTypes.INACTIVE,\n };\n\n return indicatorMap[fileState];\n};\n\nconst defaultAutoCompleteSuggestionsLimit = 10;\nconst defaultMentionAllAppUsersQuery = {\n filters: {},\n options: {},\n sort: {},\n};\n\nconst isUserResponse = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n user: SuggestionUser<StreamChatGenerics> | undefined,\n): user is SuggestionUser<StreamChatGenerics> =>\n (user as SuggestionUser<StreamChatGenerics>) !== undefined;\n\nconst getCommands = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n) => channel.getConfig()?.commands || [];\n\nconst getMembers = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n) => {\n const members = channel.state.members;\n\n return Object.values(members).length\n ? (\n Object.values(members).filter((member) => member.user) as Array<\n ChannelMemberResponse<StreamChatGenerics> & { user: UserResponse<StreamChatGenerics> }\n >\n ).map((member) => member.user)\n : [];\n};\n\nconst getWatchers = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n) => {\n const watchers = channel.state.watchers;\n return Object.values(watchers).length ? [...Object.values(watchers)] : [];\n};\n\nconst getMembersAndWatchers = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n) => {\n const users = [...getMembers(channel), ...getWatchers(channel)];\n\n return Object.values(\n users.reduce((acc, cur) => {\n if (!acc[cur.id]) {\n acc[cur.id] = cur;\n }\n\n return acc;\n }, {} as { [key: string]: SuggestionUser<StreamChatGenerics> }),\n );\n};\n\nconst queryMembers = async <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: Channel<StreamChatGenerics>,\n query: SuggestionUser<StreamChatGenerics>['name'],\n onReady?: (users: SuggestionUser<StreamChatGenerics>[]) => void,\n options: {\n limit?: number;\n } = {},\n): Promise<void> => {\n const { limit = defaultAutoCompleteSuggestionsLimit } = options;\n\n if (typeof query === 'string') {\n const response = (await (channel as unknown as Channel).queryMembers(\n {\n name: { $autocomplete: query },\n },\n {},\n { limit },\n )) as ChannelMemberAPIResponse<StreamChatGenerics>;\n\n const users: SuggestionUser<StreamChatGenerics>[] = [];\n response.members.forEach((member) => isUserResponse(member.user) && users.push(member.user));\n if (onReady && users) {\n onReady(users);\n }\n }\n};\n\nexport const queryMembersDebounced = debounce(queryMembers, 200, {\n leading: false,\n trailing: true,\n});\n\nconst queryUsers = async <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n client: StreamChat<StreamChatGenerics>,\n query: SuggestionUser<StreamChatGenerics>['name'],\n onReady?: (users: SuggestionUser<StreamChatGenerics>[]) => void,\n options: {\n limit?: number;\n mentionAllAppUsersQuery?: MentionAllAppUsersQuery<StreamChatGenerics>;\n } = {},\n): Promise<void> => {\n if (typeof query === 'string') {\n const {\n limit = defaultAutoCompleteSuggestionsLimit,\n mentionAllAppUsersQuery = defaultMentionAllAppUsersQuery,\n } = options;\n const filters = {\n id: { $ne: client.userID },\n ...mentionAllAppUsersQuery?.filters,\n };\n\n if (query) {\n // @ts-ignore\n filters.$or = [{ id: { $autocomplete: query } }, { name: { $autocomplete: query } }];\n }\n\n const response = await client.queryUsers(\n // @ts-ignore\n filters,\n { id: 1, ...mentionAllAppUsersQuery?.sort },\n { limit, ...mentionAllAppUsersQuery?.options },\n );\n const users: SuggestionUser<StreamChatGenerics>[] = [];\n response.users.forEach((user) => isUserResponse(user) && users.push(user));\n if (onReady && users) {\n onReady(users);\n }\n }\n};\n\nexport const queryUsersDebounced = debounce(queryUsers, 200, {\n leading: false,\n trailing: true,\n});\n\nexport const isCommandTrigger = (trigger: Trigger): trigger is '/' => trigger === '/';\n\nexport const isEmojiTrigger = (trigger: Trigger): trigger is ':' => trigger === ':';\n\nexport const isMentionTrigger = (trigger: Trigger): trigger is '@' => trigger === '@';\n\nexport type Trigger = '/' | '@' | ':';\n\nexport type TriggerSettings<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n '/'?: {\n dataProvider: (\n query: CommandResponse<StreamChatGenerics>['name'],\n text: string,\n onReady?: (\n data: CommandResponse<StreamChatGenerics>[],\n q: CommandResponse<StreamChatGenerics>['name'],\n ) => void,\n options?: {\n limit?: number;\n },\n ) => SuggestionCommand<StreamChatGenerics>[];\n output: (entity: CommandResponse<StreamChatGenerics>) => {\n caretPosition: string;\n key: string;\n text: string;\n };\n type: SuggestionComponentType;\n };\n ':'?: {\n dataProvider: (\n query: Emoji['name'],\n _: string,\n onReady?: (data: Emoji[], q: Emoji['name']) => void,\n ) => Emoji[];\n output: (entity: Emoji) => {\n caretPosition: string;\n key: string;\n text: string;\n };\n type: SuggestionComponentType;\n };\n '@'?: {\n callback: (item: SuggestionUser<StreamChatGenerics>) => void;\n dataProvider: (\n query: SuggestionUser<StreamChatGenerics>['name'],\n _: string,\n onReady?: (\n data: SuggestionUser<StreamChatGenerics>[],\n q: SuggestionUser<StreamChatGenerics>['name'],\n ) => void,\n options?: {\n limit?: number;\n mentionAllAppUsersEnabled?: boolean;\n mentionAllAppUsersQuery?: MentionAllAppUsersQuery<StreamChatGenerics>;\n },\n ) => SuggestionUser<StreamChatGenerics>[] | Promise<void> | void;\n output: (entity: SuggestionUser<StreamChatGenerics>) => {\n caretPosition: string;\n key: string;\n text: string;\n };\n type: SuggestionComponentType;\n };\n};\n\nexport type ACITriggerSettingsParams<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n channel: Channel<StreamChatGenerics>;\n client: StreamChat<StreamChatGenerics>;\n onMentionSelectItem: (item: SuggestionUser<StreamChatGenerics>) => void;\n};\n\nexport type QueryUsersFunction<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = (\n client: StreamChat<StreamChatGenerics>,\n query: SuggestionUser<StreamChatGenerics>['name'],\n onReady?: (users: SuggestionUser<StreamChatGenerics>[]) => void,\n options?: {\n limit?: number;\n mentionAllAppUsersQuery?: MentionAllAppUsersQuery<StreamChatGenerics>;\n },\n) => Promise<void>;\n\nexport type QueryMembersFunction<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = (\n channel: Channel<StreamChatGenerics>,\n query: SuggestionUser<StreamChatGenerics>['name'],\n onReady?: (users: SuggestionUser<StreamChatGenerics>[]) => void,\n options?: {\n limit?: number;\n },\n) => Promise<void>;\n\n/**\n * ACI = AutoCompleteInput\n *\n * DataProvider accepts `onReady` function, which will execute once the data is ready.\n * Another approach would have been to simply return the data from dataProvider and let the\n * component await for it and then execute the required logic. We are going for callback instead\n * of async-await since we have debounce function in dataProvider. Which will delay the execution\n * of api call on trailing end of debounce (lets call it a1) but will return with result of\n * previous call without waiting for a1. So in this case, we want to execute onReady, when trailing\n * end of debounce executes.\n */\nexport const ACITriggerSettings = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n channel,\n client,\n onMentionSelectItem,\n}: ACITriggerSettingsParams<StreamChatGenerics>): TriggerSettings<StreamChatGenerics> => ({\n '/': {\n dataProvider: (query, text, onReady, options = {}) => {\n if (text.indexOf('/') !== 0) return [];\n\n const { limit = defaultAutoCompleteSuggestionsLimit } = options;\n const selectedCommands = !query\n ? getCommands(channel)\n : getCommands(channel).filter((command) => query && command.name?.indexOf(query) !== -1);\n\n // sort alphabetically unless the you're matching the first char\n selectedCommands.sort((a, b) => {\n let nameA = a.name?.toLowerCase() || '';\n let nameB = b.name?.toLowerCase() || '';\n if (query && nameA.indexOf(query) === 0) {\n nameA = `0${nameA}`;\n }\n if (query && nameB.indexOf(query) === 0) {\n nameB = `0${nameB}`;\n }\n if (nameA < nameB) return -1;\n if (nameA > nameB) return 1;\n\n return 0;\n });\n\n const result = selectedCommands.slice(0, limit);\n\n if (onReady) {\n onReady(result, query);\n }\n\n return result;\n },\n output: (entity) => ({\n caretPosition: 'next',\n key: `${entity.name}`,\n text: `/${entity.name}`,\n }),\n type: 'command',\n },\n ':': {\n dataProvider: (query, _, onReady) => {\n if (!query) return [];\n\n const result = compiledEmojis.emojiArray.reduce((acc, cur) => {\n if (acc.length >= 10) return acc;\n\n if (cur.names.some((name) => name.includes(query))) {\n const emoji = compiledEmojis.emojiLib[cur.name];\n if (emoji.skin_variations) {\n acc.push({\n ...emoji,\n name: `${emoji.name}-tone-1`,\n skin_variations: undefined,\n });\n emoji.skin_variations.forEach((tone, index) =>\n acc.push({\n ...emoji,\n name: `${emoji.name}-tone-${index + 2}`,\n skin_variations: undefined,\n unicode: tone,\n }),\n );\n } else {\n acc.push(emoji);\n }\n }\n\n return acc;\n }, [] as Emoji[]);\n\n if (onReady) {\n onReady(result, query);\n }\n\n return result;\n },\n output: (entity) => ({\n caretPosition: 'next',\n key: entity.name,\n text: entity.unicode,\n }),\n type: 'emoji',\n },\n '@': {\n callback: (item) => {\n onMentionSelectItem(item);\n },\n dataProvider: (\n query,\n _,\n onReady,\n options = {\n limit: defaultAutoCompleteSuggestionsLimit,\n mentionAllAppUsersEnabled: false,\n mentionAllAppUsersQuery: defaultMentionAllAppUsersQuery,\n },\n ) => {\n if (options?.mentionAllAppUsersEnabled) {\n return (queryUsersDebounced as DebouncedFunc<QueryUsersFunction<StreamChatGenerics>>)(\n client,\n query,\n (data) => {\n if (onReady) {\n onReady(data, query);\n }\n },\n {\n limit: options.limit,\n mentionAllAppUsersQuery: options.mentionAllAppUsersQuery,\n },\n );\n }\n\n /**\n * By default, we return maximum 100 members via queryChannels api call.\n * Thus it is safe to assume, that if number of members in channel.state is < 100,\n * then all the members are already available on client side and we don't need to\n * make any api call to queryMembers endpoint.\n */\n if (!query || Object.values(channel.state.members).length < 100) {\n const users = getMembersAndWatchers(channel);\n\n const matchingUsers = users.filter((user) => {\n if (!query) return true;\n if (user.name?.toLowerCase().indexOf(query.toLowerCase()) !== -1) {\n return true;\n }\n if (user.id.toLowerCase().indexOf(query.toLowerCase()) !== -1) {\n return true;\n }\n return false;\n });\n\n const data = matchingUsers.slice(0, options?.limit);\n\n if (onReady) {\n onReady(data, query);\n }\n\n return data;\n }\n\n return (queryMembersDebounced as DebouncedFunc<QueryMembersFunction<StreamChatGenerics>>)(\n channel,\n query,\n (data) => {\n if (onReady) {\n onReady(data, query);\n }\n },\n {\n limit: options.limit,\n },\n );\n },\n output: (entity) => ({\n caretPosition: 'next',\n key: entity.id,\n text: `@${entity.name || entity.id}`,\n }),\n type: 'mention',\n },\n});\n\nexport const makeImageCompatibleUrl = (url: string) =>\n (url.indexOf('//') === 0 ? `https:${url}` : url).trim();\n\nexport const getUrlWithoutParams = (url?: string) => {\n if (!url) return url;\n\n const indexOfQuestion = url.indexOf('?');\n if (indexOfQuestion === -1) return url;\n\n return url.substring(0, url.indexOf('?'));\n};\n\nexport const isLocalUrl = (url: string) => url.indexOf('http') !== 0;\n\nexport const vw = (percentageWidth: number, rounded = false) => {\n const value = Dimensions.get('window').width * (percentageWidth / 100);\n return rounded ? Math.round(value) : value;\n};\n\nexport const vh = (percentageHeight: number, rounded = false) => {\n const height = Dimensions.get('window').height;\n\n const value = height * (percentageHeight / 100);\n return rounded ? Math.round(value) : value;\n};\n\nexport const generateRandomId = (a = ''): string =>\n a\n ? /* eslint-disable no-bitwise */\n ((Number(a) ^ (Math.random() * 16)) >> (Number(a) / 4)).toString(16)\n : `${1e7}-${1e3}-${4e3}-${8e3}-${1e11}`.replace(/[018]/g, generateRandomId);\n\n// source: https://raw.githubusercontent.com/mathiasbynens/emoji-regex/master/RGI_Emoji.js\n// [#\\*0-9]\\uFE0F\\u20E3 was replaced with [#*0-9]\\uFE0F\\u20E3 due to a lint warning\nexport const emojiRegex =\n /^(\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67)\\uDB40\\uDC7F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC68(?:\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC|\\uD83C\\uDFFB)?|\\uD83E\\uDDD1(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69(?:\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69])(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|\\uD83C\\uDFF3\\uFE0F\\u200D\\u26A7|\\uD83E\\uDDD1(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|\\uD83D\\uDC3B\\u200D\\u2744|(?:(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\uD83C\\uDFF4\\u200D\\u2620|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])\\u200D[\\u2640\\u2642]|[\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u2328\\u23CF\\u23ED-\\u23EF\\u23F1\\u23F2\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC\\u2600-\\u2604\\u260E\\u2611\\u2618\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u2692\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A7\\u26B0\\u26B1\\u26C8\\u26CF\\u26D1\\u26D3\\u26E9\\u26F0\\u26F1\\u26F4\\u26F7\\u26F8\\u2702\\u2708\\u2709\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2733\\u2734\\u2744\\u2747\\u2763\\u2764\\u27A1\\u2934\\u2935\\u2B05-\\u2B07\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDE02\\uDE37\\uDF21\\uDF24-\\uDF2C\\uDF36\\uDF7D\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F\\uDFCD\\uDFCE\\uDFD4-\\uDFDF\\uDFF5\\uDFF7]|\\uD83D[\\uDC3F\\uDCFD\\uDD49\\uDD4A\\uDD6F\\uDD70\\uDD73\\uDD76-\\uDD79\\uDD87\\uDD8A-\\uDD8D\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA\\uDECB\\uDECD-\\uDECF\\uDEE0-\\uDEE5\\uDEE9\\uDEF0\\uDEF3])\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69(?:\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC|\\uD83C\\uDFFB)?|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF6\\uD83C\\uDDE6|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83D\\uDC08\\u200D\\u2B1B|\\uD83D\\uDC41\\uFE0F|\\uD83C\\uDFF3\\uFE0F|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])?|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|[#*0-9]\\uFE0F\\u20E3|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDFF4|(?:[\\u270A\\u270B]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270C\\u270D]|\\uD83D[\\uDD74\\uDD90])(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])|[\\u270A\\u270B]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC08\\uDC15\\uDC3B\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5]|\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD]|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF]|[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF84\\uDF86-\\uDF93\\uDFA0-\\uDFC1\\uDFC5\\uDFC6\\uDFC8\\uDFC9\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC07\\uDC09-\\uDC14\\uDC16-\\uDC3A\\uDC3C-\\uDC3E\\uDC40\\uDC44\\uDC45\\uDC51-\\uDC65\\uDC6A\\uDC79-\\uDC7B\\uDC7D-\\uDC80\\uDC84\\uDC88-\\uDCA9\\uDCAB-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDDA4\\uDDFB-\\uDE44\\uDE48-\\uDE4A\\uDE80-\\uDEA2\\uDEA4-\\uDEB3\\uDEB7-\\uDEBF\\uDEC1-\\uDEC5\\uDED0-\\uDED2\\uDED5-\\uDED7\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D\\uDD0E\\uDD10-\\uDD17\\uDD1D\\uDD20-\\uDD25\\uDD27-\\uDD2F\\uDD3A\\uDD3F-\\uDD45\\uDD47-\\uDD76\\uDD78\\uDD7A-\\uDDB4\\uDDB7\\uDDBA\\uDDBC-\\uDDCB\\uDDD0\\uDDE0-\\uDDFF\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6])+$/;\n\nexport const urlRegex =\n /(?:\\s|^)((?:https?:\\/\\/)?(?:[a-z0-9-]+(?:\\.[a-z0-9-]+)+)(?::[0-9]+)?(?:\\/(?:[^\\s]+)?)?)/g;\n\n/**\n * Stringifies a message object\n * @param {FormatMessageResponse<StreamChatGenerics>} message - the message object to be stringified\n * @returns {string} The stringified message\n */\nconst stringifyMessage = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n deleted_at,\n latest_reactions,\n reply_count,\n status,\n updated_at,\n}: FormatMessageResponse<StreamChatGenerics>): string =>\n `${deleted_at}${\n latest_reactions ? latest_reactions.map(({ type }) => type).join() : ''\n }${reply_count}${status}${updated_at?.toISOString?.() || updated_at}`;\n\n/**\n * Reduces a list of messages to strings that are used in useEffect & useMemo\n * @param {messages} messages - the array of messages to be compared\n * @returns {string} The mapped message string\n */\nexport const reduceMessagesToString = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n messages: FormatMessageResponse<StreamChatGenerics>[],\n): string => messages.map(stringifyMessage).join();\n"]}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.5.1-beta.1"
2
+ "version": "5.6.0-beta.0"
3
3
  }
@@ -24,7 +24,7 @@ var _MessagesContext = require("../../contexts/messagesContext/MessagesContext")
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/Attachment/Attachment.tsx";
27
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Attachment/Attachment.tsx";
28
28
 
29
29
  var AttachmentWithContext = function AttachmentWithContext(props) {
30
30
  var _attachment$actions;