stream-chat-react-native-core 5.15.0 → 5.15.1-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (706) hide show
  1. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  2. package/lib/commonjs/components/Attachment/AttachmentActions.js.map +1 -1
  3. package/lib/commonjs/components/Attachment/AudioAttachment.js.map +1 -1
  4. package/lib/commonjs/components/Attachment/Card.js.map +1 -1
  5. package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
  6. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js.map +1 -1
  7. package/lib/commonjs/components/Attachment/FileIcon.js.map +1 -1
  8. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  9. package/lib/commonjs/components/Attachment/GalleryImage.js.map +1 -1
  10. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  11. package/lib/commonjs/components/Attachment/ImageLoadingFailedIndicator.js.map +1 -1
  12. package/lib/commonjs/components/Attachment/ImageLoadingIndicator.js.map +1 -1
  13. package/lib/commonjs/components/Attachment/ImageReloadIndicator.js.map +1 -1
  14. package/lib/commonjs/components/Attachment/VideoThumbnail.js.map +1 -1
  15. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -1
  16. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -1
  17. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -1
  18. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -1
  19. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -1
  20. package/lib/commonjs/components/Attachment/utils/openUrlSafely.js.map +1 -1
  21. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  22. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js.map +1 -1
  23. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerError.js.map +1 -1
  24. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerErrorImage.js.map +1 -1
  25. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js +14 -16
  26. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
  27. package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
  28. package/lib/commonjs/components/AttachmentPicker/components/CameraSelectorIcon.js.map +1 -1
  29. package/lib/commonjs/components/AttachmentPicker/components/FileSelectorIcon.js.map +1 -1
  30. package/lib/commonjs/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js.map +1 -1
  31. package/lib/commonjs/components/AttachmentPicker/components/ImageSelectorIcon.js.map +1 -1
  32. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  33. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  34. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  35. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
  36. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  37. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  38. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  39. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  40. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  41. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  42. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  43. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  44. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  45. package/lib/commonjs/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  46. package/lib/commonjs/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
  47. package/lib/commonjs/components/Channel/hooks/useTargetedMessage.js.map +1 -1
  48. package/lib/commonjs/components/ChannelList/ChannelList.js +4 -2
  49. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  50. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  51. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  52. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  53. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
  54. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  55. package/lib/commonjs/components/ChannelList/Skeleton.js.map +1 -1
  56. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  57. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  58. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  59. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  60. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  61. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  62. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  63. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  64. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  65. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  66. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js +2 -0
  67. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  68. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  69. package/lib/commonjs/components/ChannelList/utils.js.map +1 -1
  70. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  71. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  72. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  73. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +2 -4
  74. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  75. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +4 -5
  76. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
  77. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  78. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  79. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  80. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  81. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  82. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  83. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  84. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  85. package/lib/commonjs/components/Chat/hooks/useAppSettings.js.map +1 -1
  86. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  87. package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
  88. package/lib/commonjs/components/Chat/hooks/useMutedUsers.js.map +1 -1
  89. package/lib/commonjs/components/Chat/hooks/useSyncDatabase.js.map +1 -1
  90. package/lib/commonjs/components/ImageBackground.js.map +1 -1
  91. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  92. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  93. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
  94. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  95. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  96. package/lib/commonjs/components/ImageGallery/components/ImageGalleryOverlay.js.map +1 -1
  97. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -1
  98. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  99. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  100. package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
  101. package/lib/commonjs/components/Indicators/EmptyStateIndicator.js.map +1 -1
  102. package/lib/commonjs/components/Indicators/LoadingDot.js.map +1 -1
  103. package/lib/commonjs/components/Indicators/LoadingDots.js.map +1 -1
  104. package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  105. package/lib/commonjs/components/Indicators/LoadingIndicator.js.map +1 -1
  106. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
  107. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js.map +1 -1
  108. package/lib/commonjs/components/Message/Message.js.map +1 -1
  109. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  110. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  111. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  112. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  113. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  114. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  115. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  116. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  117. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  118. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  119. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +1 -1
  120. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -1
  121. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  122. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js.map +1 -1
  123. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  124. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  125. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
  126. package/lib/commonjs/components/MessageInput/AttachButton.js.map +1 -1
  127. package/lib/commonjs/components/MessageInput/CommandsButton.js.map +1 -1
  128. package/lib/commonjs/components/MessageInput/CooldownTimer.js.map +1 -1
  129. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  130. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
  131. package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
  132. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  133. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js.map +1 -1
  134. package/lib/commonjs/components/MessageInput/SendButton.js.map +1 -1
  135. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
  136. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  137. package/lib/commonjs/components/MessageInput/UploadProgressIndicator.js.map +1 -1
  138. package/lib/commonjs/components/MessageInput/components/InputEditingStateHeader.js.map +1 -1
  139. package/lib/commonjs/components/MessageInput/components/InputGiphySearch.js.map +1 -1
  140. package/lib/commonjs/components/MessageInput/components/InputReplyStateHeader.js.map +1 -1
  141. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -1
  142. package/lib/commonjs/components/MessageList/DateHeader.js.map +1 -1
  143. package/lib/commonjs/components/MessageList/InlineDateSeparator.js.map +1 -1
  144. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  145. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  146. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
  147. package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js.map +1 -1
  148. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  149. package/lib/commonjs/components/MessageList/MessageSystem.js.map +1 -1
  150. package/lib/commonjs/components/MessageList/NetworkDownIndicator.js.map +1 -1
  151. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js.map +1 -1
  152. package/lib/commonjs/components/MessageList/TypingIndicator.js.map +1 -1
  153. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  154. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  155. package/lib/commonjs/components/MessageList/hooks/useTypingString.js.map +1 -1
  156. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js.map +1 -1
  157. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
  158. package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +1 -1
  159. package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -1
  160. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  161. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  162. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js.map +1 -1
  163. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  164. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
  165. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -1
  166. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -1
  167. package/lib/commonjs/components/ProgressControl/ProgressControl.js.map +1 -1
  168. package/lib/commonjs/components/RTLComponents/WritingDirectionAwareText.js.map +1 -1
  169. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  170. package/lib/commonjs/components/Spinner/Spinner.js.map +1 -1
  171. package/lib/commonjs/components/Thread/Thread.js.map +1 -1
  172. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  173. package/lib/commonjs/components/docs/data.js.map +1 -1
  174. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  175. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  176. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  177. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +2 -2
  178. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  179. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  180. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
  181. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  182. package/lib/commonjs/contexts/debugContext/DebugContext.js.map +1 -1
  183. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  184. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  185. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  186. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  187. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  188. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  189. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  190. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -1
  191. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -1
  192. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  193. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  194. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  195. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -1
  196. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  197. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  198. package/lib/commonjs/contexts/themeContext/ThemeContext.js.map +1 -1
  199. package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
  200. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  201. package/lib/commonjs/contexts/typingContext/TypingContext.js.map +1 -1
  202. package/lib/commonjs/emoji-data/compile.js.map +1 -1
  203. package/lib/commonjs/emoji-data/index.js.map +1 -1
  204. package/lib/commonjs/hooks/useAppStateListener.js.map +1 -1
  205. package/lib/commonjs/hooks/useIsMountedRef.js.map +1 -1
  206. package/lib/commonjs/hooks/useLoadingImage.js.map +1 -1
  207. package/lib/commonjs/hooks/useStreami18n.js.map +1 -1
  208. package/lib/commonjs/hooks/useTranslatedMessage.js.map +1 -1
  209. package/lib/commonjs/icons/ArrowRight.js.map +1 -1
  210. package/lib/commonjs/icons/AtMentions.js.map +1 -1
  211. package/lib/commonjs/icons/Attach.js.map +1 -1
  212. package/lib/commonjs/icons/Audio.js.map +1 -1
  213. package/lib/commonjs/icons/CSV.js.map +1 -1
  214. package/lib/commonjs/icons/Camera.js.map +1 -1
  215. package/lib/commonjs/icons/Check.js.map +1 -1
  216. package/lib/commonjs/icons/CheckAll.js.map +1 -1
  217. package/lib/commonjs/icons/CheckSend.js.map +1 -1
  218. package/lib/commonjs/icons/CircleClose.js.map +1 -1
  219. package/lib/commonjs/icons/CirclePlus.js.map +1 -1
  220. package/lib/commonjs/icons/CircleRight.js.map +1 -1
  221. package/lib/commonjs/icons/Close.js.map +1 -1
  222. package/lib/commonjs/icons/Copy.js.map +1 -1
  223. package/lib/commonjs/icons/CurveLineLeftUp.js.map +1 -1
  224. package/lib/commonjs/icons/DOC.js.map +1 -1
  225. package/lib/commonjs/icons/DOCX.js.map +1 -1
  226. package/lib/commonjs/icons/Delete.js.map +1 -1
  227. package/lib/commonjs/icons/Down.js.map +1 -1
  228. package/lib/commonjs/icons/DownloadArrow.js.map +1 -1
  229. package/lib/commonjs/icons/DownloadCloud.js.map +1 -1
  230. package/lib/commonjs/icons/Edit.js.map +1 -1
  231. package/lib/commonjs/icons/Error.js.map +1 -1
  232. package/lib/commonjs/icons/Eye.js.map +1 -1
  233. package/lib/commonjs/icons/Flag.js.map +1 -1
  234. package/lib/commonjs/icons/Folder.js.map +1 -1
  235. package/lib/commonjs/icons/GenericFile.js.map +1 -1
  236. package/lib/commonjs/icons/GiphyIcon.js.map +1 -1
  237. package/lib/commonjs/icons/Grid.js.map +1 -1
  238. package/lib/commonjs/icons/Group.js.map +1 -1
  239. package/lib/commonjs/icons/HTML.js.map +1 -1
  240. package/lib/commonjs/icons/Imgur.js.map +1 -1
  241. package/lib/commonjs/icons/LOLReaction.js.map +1 -1
  242. package/lib/commonjs/icons/Lightning.js.map +1 -1
  243. package/lib/commonjs/icons/Link.js.map +1 -1
  244. package/lib/commonjs/icons/Loading.js.map +1 -1
  245. package/lib/commonjs/icons/Logo.js.map +1 -1
  246. package/lib/commonjs/icons/LoveReaction.js.map +1 -1
  247. package/lib/commonjs/icons/MD.js.map +1 -1
  248. package/lib/commonjs/icons/MailOpen.js.map +1 -1
  249. package/lib/commonjs/icons/MenuPointHorizontal.js.map +1 -1
  250. package/lib/commonjs/icons/MenuPointVertical.js.map +1 -1
  251. package/lib/commonjs/icons/MessageFlag.js.map +1 -1
  252. package/lib/commonjs/icons/MessageIcon.js.map +1 -1
  253. package/lib/commonjs/icons/Mute.js.map +1 -1
  254. package/lib/commonjs/icons/Notification.js.map +1 -1
  255. package/lib/commonjs/icons/ODT.js.map +1 -1
  256. package/lib/commonjs/icons/PDF.js.map +1 -1
  257. package/lib/commonjs/icons/PPT.js.map +1 -1
  258. package/lib/commonjs/icons/PPTX.js.map +1 -1
  259. package/lib/commonjs/icons/Pause.js.map +1 -1
  260. package/lib/commonjs/icons/Picture.js.map +1 -1
  261. package/lib/commonjs/icons/Pin.js.map +1 -1
  262. package/lib/commonjs/icons/PinHeader.js.map +1 -1
  263. package/lib/commonjs/icons/Play.js.map +1 -1
  264. package/lib/commonjs/icons/RAR.js.map +1 -1
  265. package/lib/commonjs/icons/RTF.js.map +1 -1
  266. package/lib/commonjs/icons/Recorder.js.map +1 -1
  267. package/lib/commonjs/icons/Refresh.js.map +1 -1
  268. package/lib/commonjs/icons/SEVEN_Z.js.map +1 -1
  269. package/lib/commonjs/icons/Search.js.map +1 -1
  270. package/lib/commonjs/icons/SendRight.js.map +1 -1
  271. package/lib/commonjs/icons/SendUp.js.map +1 -1
  272. package/lib/commonjs/icons/Share.js.map +1 -1
  273. package/lib/commonjs/icons/ShareRightArrow.js.map +1 -1
  274. package/lib/commonjs/icons/Smile.js.map +1 -1
  275. package/lib/commonjs/icons/Sound.js.map +1 -1
  276. package/lib/commonjs/icons/TAR.js.map +1 -1
  277. package/lib/commonjs/icons/TXT.js.map +1 -1
  278. package/lib/commonjs/icons/ThreadReply.js.map +1 -1
  279. package/lib/commonjs/icons/ThumbsDownReaction.js.map +1 -1
  280. package/lib/commonjs/icons/ThumbsUpReaction.js.map +1 -1
  281. package/lib/commonjs/icons/Time.js.map +1 -1
  282. package/lib/commonjs/icons/Unknown.js.map +1 -1
  283. package/lib/commonjs/icons/Unpin.js.map +1 -1
  284. package/lib/commonjs/icons/User.js.map +1 -1
  285. package/lib/commonjs/icons/UserAdd.js.map +1 -1
  286. package/lib/commonjs/icons/UserAdmin.js.map +1 -1
  287. package/lib/commonjs/icons/UserDelete.js.map +1 -1
  288. package/lib/commonjs/icons/UserMinus.js.map +1 -1
  289. package/lib/commonjs/icons/Video.js.map +1 -1
  290. package/lib/commonjs/icons/Warning.js.map +1 -1
  291. package/lib/commonjs/icons/WutReaction.js.map +1 -1
  292. package/lib/commonjs/icons/XLS.js.map +1 -1
  293. package/lib/commonjs/icons/XLSX.js.map +1 -1
  294. package/lib/commonjs/icons/ZIP.js.map +1 -1
  295. package/lib/commonjs/icons/utils/base.js.map +1 -1
  296. package/lib/commonjs/init.js.map +1 -1
  297. package/lib/commonjs/mock-builders/DB/mock.js.map +1 -1
  298. package/lib/commonjs/mock-builders/api/deleteMessage.js.map +1 -1
  299. package/lib/commonjs/mock-builders/api/deleteReaction.js.map +1 -1
  300. package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
  301. package/lib/commonjs/mock-builders/api/sendReaction.js.map +1 -1
  302. package/lib/commonjs/mock-builders/api/useMockedApis.js.map +1 -1
  303. package/lib/commonjs/mock-builders/event/messageRead.js.map +1 -1
  304. package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
  305. package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
  306. package/lib/commonjs/mock-builders/generator/member.js.map +1 -1
  307. package/lib/commonjs/mock-builders/generator/message.js.map +1 -1
  308. package/lib/commonjs/mock-builders/generator/reaction.js.map +1 -1
  309. package/lib/commonjs/mock-builders/generator/user.js.map +1 -1
  310. package/lib/commonjs/mock-builders/mock.js.map +1 -1
  311. package/lib/commonjs/native.js.map +1 -1
  312. package/lib/commonjs/store/QuickSqliteClient.js.map +1 -1
  313. package/lib/commonjs/store/apis/deleteReactions.js.map +1 -1
  314. package/lib/commonjs/store/apis/getAllChannelIds.js.map +1 -1
  315. package/lib/commonjs/store/apis/getAppSettings.js.map +1 -1
  316. package/lib/commonjs/store/apis/getChannelMessages.js.map +1 -1
  317. package/lib/commonjs/store/apis/getLastSyncedAt.js.map +1 -1
  318. package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -1
  319. package/lib/commonjs/store/apis/queries/selectChannels.js.map +1 -1
  320. package/lib/commonjs/store/apis/queries/selectMembersForChannels.js.map +1 -1
  321. package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js.map +1 -1
  322. package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js.map +1 -1
  323. package/lib/commonjs/store/apis/queries/selectReadsForChannels.js.map +1 -1
  324. package/lib/commonjs/store/apis/updateMessage.js.map +1 -1
  325. package/lib/commonjs/store/apis/updateReaction.js.map +1 -1
  326. package/lib/commonjs/store/apis/upsertChannels.js.map +1 -1
  327. package/lib/commonjs/store/apis/upsertMembers.js.map +1 -1
  328. package/lib/commonjs/store/apis/upsertReads.js.map +1 -1
  329. package/lib/commonjs/store/apis/utils/convertFilterSortToQuery.js.map +1 -1
  330. package/lib/commonjs/store/mappers/mapDateTimeToStorable.js.map +1 -1
  331. package/lib/commonjs/store/mappers/mapTaskToStorable.js.map +1 -1
  332. package/lib/commonjs/store/sqlite-utils/appendOrderByClause.js.map +1 -1
  333. package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js.map +1 -1
  334. package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
  335. package/lib/commonjs/test-utils/BetterSqlite.js.map +1 -1
  336. package/lib/commonjs/types/types.js.map +1 -1
  337. package/lib/commonjs/utils/DBSyncManager.js.map +1 -1
  338. package/lib/commonjs/utils/Streami18n.js.map +1 -1
  339. package/lib/commonjs/utils/addReactionToLocalState.js.map +1 -1
  340. package/lib/commonjs/utils/date.js.map +1 -1
  341. package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -1
  342. package/lib/commonjs/utils/patchMessageTextCommand.js.map +1 -1
  343. package/lib/commonjs/utils/removeReactionFromLocalState.js.map +1 -1
  344. package/lib/commonjs/utils/utils.js.map +1 -1
  345. package/lib/commonjs/version.json +1 -1
  346. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  347. package/lib/module/components/Attachment/AttachmentActions.js.map +1 -1
  348. package/lib/module/components/Attachment/AudioAttachment.js.map +1 -1
  349. package/lib/module/components/Attachment/Card.js.map +1 -1
  350. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  351. package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
  352. package/lib/module/components/Attachment/FileIcon.js.map +1 -1
  353. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  354. package/lib/module/components/Attachment/GalleryImage.js.map +1 -1
  355. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  356. package/lib/module/components/Attachment/ImageLoadingFailedIndicator.js.map +1 -1
  357. package/lib/module/components/Attachment/ImageLoadingIndicator.js.map +1 -1
  358. package/lib/module/components/Attachment/ImageReloadIndicator.js.map +1 -1
  359. package/lib/module/components/Attachment/VideoThumbnail.js.map +1 -1
  360. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -1
  361. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -1
  362. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -1
  363. package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -1
  364. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -1
  365. package/lib/module/components/Attachment/utils/openUrlSafely.js.map +1 -1
  366. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  367. package/lib/module/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js.map +1 -1
  368. package/lib/module/components/AttachmentPicker/components/AttachmentPickerError.js.map +1 -1
  369. package/lib/module/components/AttachmentPicker/components/AttachmentPickerErrorImage.js.map +1 -1
  370. package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js +14 -16
  371. package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
  372. package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
  373. package/lib/module/components/AttachmentPicker/components/CameraSelectorIcon.js.map +1 -1
  374. package/lib/module/components/AttachmentPicker/components/FileSelectorIcon.js.map +1 -1
  375. package/lib/module/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js.map +1 -1
  376. package/lib/module/components/AttachmentPicker/components/ImageSelectorIcon.js.map +1 -1
  377. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  378. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  379. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  380. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
  381. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  382. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  383. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  384. package/lib/module/components/Channel/Channel.js.map +1 -1
  385. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  386. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  387. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  388. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  389. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  390. package/lib/module/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  391. package/lib/module/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
  392. package/lib/module/components/Channel/hooks/useTargetedMessage.js.map +1 -1
  393. package/lib/module/components/ChannelList/ChannelList.js +4 -2
  394. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  395. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  396. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  397. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  398. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
  399. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  400. package/lib/module/components/ChannelList/Skeleton.js.map +1 -1
  401. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  402. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  403. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  404. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  405. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  406. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  407. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  408. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  409. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  410. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  411. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js +2 -0
  412. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  413. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  414. package/lib/module/components/ChannelList/utils.js.map +1 -1
  415. package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  416. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  417. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  418. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +2 -4
  419. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  420. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +4 -5
  421. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
  422. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  423. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  424. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  425. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  426. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  427. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  428. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  429. package/lib/module/components/Chat/Chat.js.map +1 -1
  430. package/lib/module/components/Chat/hooks/useAppSettings.js.map +1 -1
  431. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  432. package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
  433. package/lib/module/components/Chat/hooks/useMutedUsers.js.map +1 -1
  434. package/lib/module/components/Chat/hooks/useSyncDatabase.js.map +1 -1
  435. package/lib/module/components/ImageBackground.js.map +1 -1
  436. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  437. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  438. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
  439. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  440. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  441. package/lib/module/components/ImageGallery/components/ImageGalleryOverlay.js.map +1 -1
  442. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -1
  443. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  444. package/lib/module/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  445. package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
  446. package/lib/module/components/Indicators/EmptyStateIndicator.js.map +1 -1
  447. package/lib/module/components/Indicators/LoadingDot.js.map +1 -1
  448. package/lib/module/components/Indicators/LoadingDots.js.map +1 -1
  449. package/lib/module/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  450. package/lib/module/components/Indicators/LoadingIndicator.js.map +1 -1
  451. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
  452. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js.map +1 -1
  453. package/lib/module/components/Message/Message.js.map +1 -1
  454. package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  455. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  456. package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  457. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  458. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  459. package/lib/module/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  460. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  461. package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  462. package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  463. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  464. package/lib/module/components/Message/MessageSimple/ReactionList.js.map +1 -1
  465. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -1
  466. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  467. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js.map +1 -1
  468. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  469. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  470. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
  471. package/lib/module/components/MessageInput/AttachButton.js.map +1 -1
  472. package/lib/module/components/MessageInput/CommandsButton.js.map +1 -1
  473. package/lib/module/components/MessageInput/CooldownTimer.js.map +1 -1
  474. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  475. package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
  476. package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
  477. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  478. package/lib/module/components/MessageInput/MoreOptionsButton.js.map +1 -1
  479. package/lib/module/components/MessageInput/SendButton.js.map +1 -1
  480. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
  481. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  482. package/lib/module/components/MessageInput/UploadProgressIndicator.js.map +1 -1
  483. package/lib/module/components/MessageInput/components/InputEditingStateHeader.js.map +1 -1
  484. package/lib/module/components/MessageInput/components/InputGiphySearch.js.map +1 -1
  485. package/lib/module/components/MessageInput/components/InputReplyStateHeader.js.map +1 -1
  486. package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -1
  487. package/lib/module/components/MessageList/DateHeader.js.map +1 -1
  488. package/lib/module/components/MessageList/InlineDateSeparator.js.map +1 -1
  489. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  490. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  491. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
  492. package/lib/module/components/MessageList/InlineUnreadIndicator.js.map +1 -1
  493. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  494. package/lib/module/components/MessageList/MessageSystem.js.map +1 -1
  495. package/lib/module/components/MessageList/NetworkDownIndicator.js.map +1 -1
  496. package/lib/module/components/MessageList/ScrollToBottomButton.js.map +1 -1
  497. package/lib/module/components/MessageList/TypingIndicator.js.map +1 -1
  498. package/lib/module/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  499. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  500. package/lib/module/components/MessageList/hooks/useTypingString.js.map +1 -1
  501. package/lib/module/components/MessageList/utils/getDateSeparators.js.map +1 -1
  502. package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
  503. package/lib/module/components/MessageList/utils/getReadStates.js.map +1 -1
  504. package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -1
  505. package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  506. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  507. package/lib/module/components/MessageOverlay/OverlayBackdrop.js.map +1 -1
  508. package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  509. package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
  510. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -1
  511. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -1
  512. package/lib/module/components/ProgressControl/ProgressControl.js.map +1 -1
  513. package/lib/module/components/RTLComponents/WritingDirectionAwareText.js.map +1 -1
  514. package/lib/module/components/Reply/Reply.js.map +1 -1
  515. package/lib/module/components/Spinner/Spinner.js.map +1 -1
  516. package/lib/module/components/Thread/Thread.js.map +1 -1
  517. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  518. package/lib/module/components/docs/data.js.map +1 -1
  519. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  520. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  521. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  522. package/lib/module/contexts/channelsContext/ChannelsContext.js +2 -2
  523. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  524. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  525. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
  526. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  527. package/lib/module/contexts/debugContext/DebugContext.js.map +1 -1
  528. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  529. package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  530. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  531. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  532. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  533. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  534. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  535. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -1
  536. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -1
  537. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  538. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  539. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  540. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -1
  541. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  542. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  543. package/lib/module/contexts/themeContext/ThemeContext.js.map +1 -1
  544. package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
  545. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  546. package/lib/module/contexts/typingContext/TypingContext.js.map +1 -1
  547. package/lib/module/emoji-data/compile.js.map +1 -1
  548. package/lib/module/emoji-data/index.js.map +1 -1
  549. package/lib/module/hooks/useAppStateListener.js.map +1 -1
  550. package/lib/module/hooks/useIsMountedRef.js.map +1 -1
  551. package/lib/module/hooks/useLoadingImage.js.map +1 -1
  552. package/lib/module/hooks/useStreami18n.js.map +1 -1
  553. package/lib/module/hooks/useTranslatedMessage.js.map +1 -1
  554. package/lib/module/icons/ArrowRight.js.map +1 -1
  555. package/lib/module/icons/AtMentions.js.map +1 -1
  556. package/lib/module/icons/Attach.js.map +1 -1
  557. package/lib/module/icons/Audio.js.map +1 -1
  558. package/lib/module/icons/CSV.js.map +1 -1
  559. package/lib/module/icons/Camera.js.map +1 -1
  560. package/lib/module/icons/Check.js.map +1 -1
  561. package/lib/module/icons/CheckAll.js.map +1 -1
  562. package/lib/module/icons/CheckSend.js.map +1 -1
  563. package/lib/module/icons/CircleClose.js.map +1 -1
  564. package/lib/module/icons/CirclePlus.js.map +1 -1
  565. package/lib/module/icons/CircleRight.js.map +1 -1
  566. package/lib/module/icons/Close.js.map +1 -1
  567. package/lib/module/icons/Copy.js.map +1 -1
  568. package/lib/module/icons/CurveLineLeftUp.js.map +1 -1
  569. package/lib/module/icons/DOC.js.map +1 -1
  570. package/lib/module/icons/DOCX.js.map +1 -1
  571. package/lib/module/icons/Delete.js.map +1 -1
  572. package/lib/module/icons/Down.js.map +1 -1
  573. package/lib/module/icons/DownloadArrow.js.map +1 -1
  574. package/lib/module/icons/DownloadCloud.js.map +1 -1
  575. package/lib/module/icons/Edit.js.map +1 -1
  576. package/lib/module/icons/Error.js.map +1 -1
  577. package/lib/module/icons/Eye.js.map +1 -1
  578. package/lib/module/icons/Flag.js.map +1 -1
  579. package/lib/module/icons/Folder.js.map +1 -1
  580. package/lib/module/icons/GenericFile.js.map +1 -1
  581. package/lib/module/icons/GiphyIcon.js.map +1 -1
  582. package/lib/module/icons/Grid.js.map +1 -1
  583. package/lib/module/icons/Group.js.map +1 -1
  584. package/lib/module/icons/HTML.js.map +1 -1
  585. package/lib/module/icons/Imgur.js.map +1 -1
  586. package/lib/module/icons/LOLReaction.js.map +1 -1
  587. package/lib/module/icons/Lightning.js.map +1 -1
  588. package/lib/module/icons/Link.js.map +1 -1
  589. package/lib/module/icons/Loading.js.map +1 -1
  590. package/lib/module/icons/Logo.js.map +1 -1
  591. package/lib/module/icons/LoveReaction.js.map +1 -1
  592. package/lib/module/icons/MD.js.map +1 -1
  593. package/lib/module/icons/MailOpen.js.map +1 -1
  594. package/lib/module/icons/MenuPointHorizontal.js.map +1 -1
  595. package/lib/module/icons/MenuPointVertical.js.map +1 -1
  596. package/lib/module/icons/MessageFlag.js.map +1 -1
  597. package/lib/module/icons/MessageIcon.js.map +1 -1
  598. package/lib/module/icons/Mute.js.map +1 -1
  599. package/lib/module/icons/Notification.js.map +1 -1
  600. package/lib/module/icons/ODT.js.map +1 -1
  601. package/lib/module/icons/PDF.js.map +1 -1
  602. package/lib/module/icons/PPT.js.map +1 -1
  603. package/lib/module/icons/PPTX.js.map +1 -1
  604. package/lib/module/icons/Pause.js.map +1 -1
  605. package/lib/module/icons/Picture.js.map +1 -1
  606. package/lib/module/icons/Pin.js.map +1 -1
  607. package/lib/module/icons/PinHeader.js.map +1 -1
  608. package/lib/module/icons/Play.js.map +1 -1
  609. package/lib/module/icons/RAR.js.map +1 -1
  610. package/lib/module/icons/RTF.js.map +1 -1
  611. package/lib/module/icons/Recorder.js.map +1 -1
  612. package/lib/module/icons/Refresh.js.map +1 -1
  613. package/lib/module/icons/SEVEN_Z.js.map +1 -1
  614. package/lib/module/icons/Search.js.map +1 -1
  615. package/lib/module/icons/SendRight.js.map +1 -1
  616. package/lib/module/icons/SendUp.js.map +1 -1
  617. package/lib/module/icons/Share.js.map +1 -1
  618. package/lib/module/icons/ShareRightArrow.js.map +1 -1
  619. package/lib/module/icons/Smile.js.map +1 -1
  620. package/lib/module/icons/Sound.js.map +1 -1
  621. package/lib/module/icons/TAR.js.map +1 -1
  622. package/lib/module/icons/TXT.js.map +1 -1
  623. package/lib/module/icons/ThreadReply.js.map +1 -1
  624. package/lib/module/icons/ThumbsDownReaction.js.map +1 -1
  625. package/lib/module/icons/ThumbsUpReaction.js.map +1 -1
  626. package/lib/module/icons/Time.js.map +1 -1
  627. package/lib/module/icons/Unknown.js.map +1 -1
  628. package/lib/module/icons/Unpin.js.map +1 -1
  629. package/lib/module/icons/User.js.map +1 -1
  630. package/lib/module/icons/UserAdd.js.map +1 -1
  631. package/lib/module/icons/UserAdmin.js.map +1 -1
  632. package/lib/module/icons/UserDelete.js.map +1 -1
  633. package/lib/module/icons/UserMinus.js.map +1 -1
  634. package/lib/module/icons/Video.js.map +1 -1
  635. package/lib/module/icons/Warning.js.map +1 -1
  636. package/lib/module/icons/WutReaction.js.map +1 -1
  637. package/lib/module/icons/XLS.js.map +1 -1
  638. package/lib/module/icons/XLSX.js.map +1 -1
  639. package/lib/module/icons/ZIP.js.map +1 -1
  640. package/lib/module/icons/utils/base.js.map +1 -1
  641. package/lib/module/init.js.map +1 -1
  642. package/lib/module/mock-builders/DB/mock.js.map +1 -1
  643. package/lib/module/mock-builders/api/deleteMessage.js.map +1 -1
  644. package/lib/module/mock-builders/api/deleteReaction.js.map +1 -1
  645. package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
  646. package/lib/module/mock-builders/api/sendReaction.js.map +1 -1
  647. package/lib/module/mock-builders/api/useMockedApis.js.map +1 -1
  648. package/lib/module/mock-builders/event/messageRead.js.map +1 -1
  649. package/lib/module/mock-builders/generator/attachment.js.map +1 -1
  650. package/lib/module/mock-builders/generator/channel.js.map +1 -1
  651. package/lib/module/mock-builders/generator/member.js.map +1 -1
  652. package/lib/module/mock-builders/generator/message.js.map +1 -1
  653. package/lib/module/mock-builders/generator/reaction.js.map +1 -1
  654. package/lib/module/mock-builders/generator/user.js.map +1 -1
  655. package/lib/module/mock-builders/mock.js.map +1 -1
  656. package/lib/module/native.js.map +1 -1
  657. package/lib/module/store/QuickSqliteClient.js.map +1 -1
  658. package/lib/module/store/apis/deleteReactions.js.map +1 -1
  659. package/lib/module/store/apis/getAllChannelIds.js.map +1 -1
  660. package/lib/module/store/apis/getAppSettings.js.map +1 -1
  661. package/lib/module/store/apis/getChannelMessages.js.map +1 -1
  662. package/lib/module/store/apis/getLastSyncedAt.js.map +1 -1
  663. package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -1
  664. package/lib/module/store/apis/queries/selectChannels.js.map +1 -1
  665. package/lib/module/store/apis/queries/selectMembersForChannels.js.map +1 -1
  666. package/lib/module/store/apis/queries/selectMessagesForChannels.js.map +1 -1
  667. package/lib/module/store/apis/queries/selectReactionsForMessages.js.map +1 -1
  668. package/lib/module/store/apis/queries/selectReadsForChannels.js.map +1 -1
  669. package/lib/module/store/apis/updateMessage.js.map +1 -1
  670. package/lib/module/store/apis/updateReaction.js.map +1 -1
  671. package/lib/module/store/apis/upsertChannels.js.map +1 -1
  672. package/lib/module/store/apis/upsertMembers.js.map +1 -1
  673. package/lib/module/store/apis/upsertReads.js.map +1 -1
  674. package/lib/module/store/apis/utils/convertFilterSortToQuery.js.map +1 -1
  675. package/lib/module/store/mappers/mapDateTimeToStorable.js.map +1 -1
  676. package/lib/module/store/mappers/mapTaskToStorable.js.map +1 -1
  677. package/lib/module/store/sqlite-utils/appendOrderByClause.js.map +1 -1
  678. package/lib/module/store/sqlite-utils/appendWhereCluase.js.map +1 -1
  679. package/lib/module/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
  680. package/lib/module/test-utils/BetterSqlite.js.map +1 -1
  681. package/lib/module/types/types.js.map +1 -1
  682. package/lib/module/utils/DBSyncManager.js.map +1 -1
  683. package/lib/module/utils/Streami18n.js.map +1 -1
  684. package/lib/module/utils/addReactionToLocalState.js.map +1 -1
  685. package/lib/module/utils/date.js.map +1 -1
  686. package/lib/module/utils/getResizedImageUrl.js.map +1 -1
  687. package/lib/module/utils/patchMessageTextCommand.js.map +1 -1
  688. package/lib/module/utils/removeReactionFromLocalState.js.map +1 -1
  689. package/lib/module/utils/utils.js.map +1 -1
  690. package/lib/module/version.json +1 -1
  691. package/lib/typescript/components/ChannelList/ChannelList.d.ts +1 -1
  692. package/lib/typescript/components/ChannelList/hooks/useCreateChannelsContext.d.ts +1 -1
  693. package/lib/typescript/components/ChannelPreview/ChannelPreviewMutedStatus.d.ts +1 -6
  694. package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +1 -1
  695. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +1 -1
  696. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +1 -2
  697. package/lib/typescript/types/types.d.ts +1 -2
  698. package/package.json +1 -1
  699. package/src/components/AttachmentPicker/components/AttachmentPickerItem.tsx +1 -3
  700. package/src/components/ChannelList/ChannelList.tsx +3 -0
  701. package/src/components/ChannelList/hooks/useCreateChannelsContext.ts +2 -0
  702. package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +1 -1
  703. package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx +3 -18
  704. package/src/contexts/channelsContext/ChannelsContext.tsx +1 -3
  705. package/src/types/types.ts +1 -2
  706. package/src/version.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uniq","_interopRequireDefault","_mimeTypes","_streamChat","_useCreateMessageInputContext","_useMessageDetailsForState","_useCooldown2","_native","_removeReservedFields","_utils","_AttachmentPickerContext","_ChannelContext","_ChatContext","_OwnCapabilitiesContext","_ThreadContext","_TranslationContext","_defaultBaseContextValue","_getDisplayName","_isTestEnvironment","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof3","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","next","bind","Array","isArray","_unsupportedIterableToArray","length","i","done","value","TypeError","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","from","test","arr","len","arr2","MessageInputContext","React","createContext","DEFAULT_BASE_CONTEXT_VALUE","exports","MessageInputProvider","_ref","_getFileUploadConfig","_getFileUploadConfig2","_getImageUploadConfig","_getImageUploadConfig2","children","_useAttachmentPickerC","useAttachmentPickerContext","closePicker","openPicker","selectedPicker","setSelectedPicker","_useChatContext","useChatContext","appSettings","client","enableOfflineSupport","getFileUploadConfig","_appSettings$app","fileConfig","app","file_upload_config","undefined","blockedFileExtensionTypes","blocked_file_extensions","blockedFileMimeTypes","blocked_mime_types","getImageUploadConfig","_appSettings$app2","imageConfig","image_upload_config","blockedImageExtensionTypes","blockedImageMimeTypes","channelCapabities","useOwnCapabilitiesContext","_useChannelContext","useChannelContext","channel","giphyEnabled","_useThreadContext","useThreadContext","thread","_useTranslationContex","useTranslationContext","t","inputBoxRef","useRef","sending","_useState","useState","_useState2","_slicedToArray2","asyncIds","setAsyncIds","_useState3","_useState4","asyncUploads","setAsyncUploads","_useState5","_useState6","giphyActive","setGiphyActive","_useState7","_useState8","sendThreadMessageInChannel","setSendThreadMessageInChannel","editing","hasFilePicker","hasImagePicker","initialValue","_useMessageDetailsFor","useMessageDetailsForState","fileUploads","imageUploads","mentionedUsers","numberOfUploads","setFileUploads","setImageUploads","setMentionedUsers","setNumberOfUploads","setShowMoreOptions","setText","showMoreOptions","text","_useCooldown","useCooldown","cooldownEndsAt","endsAt","startCooldown","start","threadId","id","useEffect","appendText","newText","prevText","isValidMessage","trim","imagesAndFiles","concat","_toConsumableArray2","_iterator","_step","file","state","FileState","NOT_SUPPORTED","_iterator2","_step2","UPLOAD_FAILED","UPLOADING","onChange","current","sendTypingEvents","logChatPromiseExecution","keystroke","onChangeText","openCommandsPicker","focus","openMentionsPicker","openAttachmentPicker","Keyboard","dismiss","pickFile","closeAttachmentPicker","toggleAttachmentPicker","onSelectItem","item","prevMentionedUsers","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","result","MEGA_BYTES_TO_BYTES","MAX_FILE_SIZE_TO_UPLOAD_IN_MB","totalFileSize","wrap","_callee$","_context","prev","pickDocument","console","log","abrupt","maxNumberOfFiles","Alert","alert","sent","cancelled","docs","reduce","acc","doc","Number","size","forEach","uploadNewFile","stop","apply","arguments","removeFile","some","prevFileUploads","filter","prevNumberOfUploads","removeImage","image","prevImageUploads","resetInput","pendingAttachments","mapImageUploadToAttachment","mime_type","lookup","filename","fallback","image_url","url","original_height","height","original_width","width","originalFile","type","mapFileUploadToAttachment","_file$file$type","_file$file$type2","_file$file$type3","startsWith","asset_url","uri","duration","file_size","title","thumb_url","sendMessage","_ref3","_callee3","attachments","_loop","_iterator3","_step3","_image","_ret","_iterator4","_step4","_file3","updatedMessage","updateMessagePromise","_callee3$","_context3","sendLinks","match","urlRegex","clear","_callee2","_callee2$","_context2","v","push","sendImageAsync","prevAsyncIds","UPLOADED","FINISHED","delegateYield","t0","_typeof2","isEditingBoolean","_extends2","mentioned_users","quoted_message","clearEditingState","editMessage","removeReservedFields","then","uniq","parent_id","quoted_message_id","quotedMessage","show_in_channel","clearQuotedMessageState","_error","setQuotedMessageState","sendMessageAsync","splice","indexOf","prevAsyncUploads","setInputBoxRef","ref","setInputRef","getTriggerSettings","triggerSettings","autoCompleteTriggerSettings","onMentionSelectItem","ACITriggerSettings","updateMessage","_ref4","_callee4","_callee4$","_context4","regExcondition","getUploadSetStateAction","fileState","extraData","uploads","prevUploads","map","prevUpload","handleFileOrImageUploadError","error","isImageError","Error","message","uploadFile","_ref6","_callee5","_ref5","newFile","response","localAssetURI","_callee5$","_context5","doDocUploadRequest","Platform","OS","getLocalAssetUri","sendFile","t1","_x","uploadImage","_ref8","_callee6","_ref7","newImage","_ref9","compressedUri","contentType","newImageUploads","_callee6$","_context6","source","compressImageQuality","compressImage","replace","doImageUploadRequest","sendImage","res","includes","keys","_x2","_ref10","_callee7","mimeType","isBlockedFileExtension","isBlockedFileMimeType","_callee7$","_context7","generateRandomId","fileExtensionType","_file$name","_file$name2","paused","progress","Promise","all","_x3","uploadNewImage","_ref11","_callee8","isBlockedImageMimeType","isBlockedImageExtension","imageState","_callee8$","_context8","_image$uri","imageExtensionType","_image$uri2","_x4","messageInputContext","useCreateMessageInputContext","openFilePicker","createElement","Provider","__self","__source","fileName","lineNumber","columnNumber","useMessageInputContext","contextValue","useContext","isTestEnvironment","withMessageInputContext","Component","WithMessageInputContextComponent","props","displayName","getDisplayName"],"sources":["MessageInputContext.tsx"],"sourcesContent":["import React, { PropsWithChildren, useContext, useEffect, useRef, useState } from 'react';\n\nimport type { LegacyRef } from 'react';\nimport type { TextInput, TextInputProps } from 'react-native';\nimport { Alert, Keyboard, Platform } from 'react-native';\n\nimport uniq from 'lodash/uniq';\nimport { lookup } from 'mime-types';\nimport {\n Attachment,\n logChatPromiseExecution,\n SendFileAPIResponse,\n StreamChat,\n Message as StreamMessage,\n UserFilters,\n UserOptions,\n UserResponse,\n UserSort,\n} from 'stream-chat';\n\nimport { useCreateMessageInputContext } from './hooks/useCreateMessageInputContext';\nimport { isEditingBoolean, useMessageDetailsForState } from './hooks/useMessageDetailsForState';\n\nimport type { AttachButtonProps } from '../../components/MessageInput/AttachButton';\nimport type { CommandsButtonProps } from '../../components/MessageInput/CommandsButton';\nimport type { InputEditingStateHeaderProps } from '../../components/MessageInput/components/InputEditingStateHeader';\nimport type { InputGiphySearchProps } from '../../components/MessageInput/components/InputGiphySearch';\nimport type { InputReplyStateHeaderProps } from '../../components/MessageInput/components/InputReplyStateHeader';\nimport type { CooldownTimerProps } from '../../components/MessageInput/CooldownTimer';\nimport type { FileUploadPreviewProps } from '../../components/MessageInput/FileUploadPreview';\nimport { useCooldown } from '../../components/MessageInput/hooks/useCooldown';\nimport type { ImageUploadPreviewProps } from '../../components/MessageInput/ImageUploadPreview';\nimport type { InputButtonsProps } from '../../components/MessageInput/InputButtons';\nimport type { MessageInputProps } from '../../components/MessageInput/MessageInput';\nimport type { MoreOptionsButtonProps } from '../../components/MessageInput/MoreOptionsButton';\nimport type { SendButtonProps } from '../../components/MessageInput/SendButton';\nimport type { UploadProgressIndicatorProps } from '../../components/MessageInput/UploadProgressIndicator';\nimport type { MessageType } from '../../components/MessageList/hooks/useMessageList';\nimport { compressImage, getLocalAssetUri, pickDocument } from '../../native';\nimport type { Asset, DefaultStreamChatGenerics, File, UnknownType } from '../../types/types';\nimport { removeReservedFields } from '../../utils/removeReservedFields';\nimport {\n ACITriggerSettings,\n ACITriggerSettingsParams,\n FileState,\n FileStateValue,\n generateRandomId,\n TriggerSettings,\n urlRegex,\n} from '../../utils/utils';\nimport { useAttachmentPickerContext } from '../attachmentPickerContext/AttachmentPickerContext';\nimport { ChannelContextValue, useChannelContext } from '../channelContext/ChannelContext';\nimport { useChatContext } from '../chatContext/ChatContext';\nimport { useOwnCapabilitiesContext } from '../ownCapabilitiesContext/OwnCapabilitiesContext';\nimport { useThreadContext } from '../threadContext/ThreadContext';\nimport { useTranslationContext } from '../translationContext/TranslationContext';\nimport { DEFAULT_BASE_CONTEXT_VALUE } from '../utils/defaultBaseContextValue';\n\nimport { getDisplayName } from '../utils/getDisplayName';\nimport { isTestEnvironment } from '../utils/isTestEnvironment';\n\nexport type FileUpload = {\n file: File;\n id: string;\n state: FileStateValue;\n duration?: number;\n paused?: boolean;\n progress?: number;\n thumb_url?: string;\n url?: string;\n};\n\nexport type ImageUpload = {\n file: Partial<Asset> & {\n name?: string;\n };\n id: string;\n state: FileStateValue;\n height?: number;\n url?: string;\n width?: number;\n};\n\nexport type MentionAllAppUsersQuery<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n filters?: UserFilters<StreamChatGenerics>;\n options?: UserOptions;\n sort?: UserSort<StreamChatGenerics>;\n};\n\nexport type LocalMessageInputContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n appendText: (newText: string) => void;\n asyncIds: string[];\n asyncUploads: {\n [key: string]: {\n state: string;\n url: string;\n };\n };\n closeAttachmentPicker: () => void;\n /** The time at which the active cooldown will end */\n cooldownEndsAt: Date;\n /**\n * An array of file objects which are set for upload. It has the following structure:\n *\n * ```json\n * [\n * {\n * \"file\": // File object,\n * \"id\": \"randomly_generated_temp_id_1\",\n * \"state\": \"uploading\" // or \"finished\",\n * \"url\": \"https://url1.com\",\n * },\n * {\n * \"file\": // File object,\n * \"id\": \"randomly_generated_temp_id_2\",\n * \"state\": \"uploading\" // or \"finished\",\n * \"url\": \"https://url1.com\",\n * },\n * ]\n * ```\n *\n */\n fileUploads: FileUpload[];\n giphyActive: boolean;\n /**\n * An array of image objects which are set for upload. It has the following structure:\n *\n * ```json\n * [\n * {\n * \"file\": // File object,\n * \"id\": \"randomly_generated_temp_id_1\",\n * \"state\": \"uploading\" // or \"finished\",\n * },\n * {\n * \"file\": // File object,\n * \"id\": \"randomly_generated_temp_id_2\",\n * \"state\": \"uploading\" // or \"finished\",\n * },\n * ]\n * ```\n *\n */\n imageUploads: ImageUpload[];\n inputBoxRef: React.MutableRefObject<TextInput | null>;\n isValidMessage: () => boolean;\n mentionedUsers: string[];\n numberOfUploads: number;\n onChange: (newText: string) => void;\n onSelectItem: (item: UserResponse<StreamChatGenerics>) => void;\n openAttachmentPicker: () => void;\n openCommandsPicker: () => void;\n openFilePicker: () => void;\n openMentionsPicker: () => void;\n pickFile: () => Promise<void>;\n /**\n * Function for removing a file from the upload preview\n *\n * @param id string ID of file in `fileUploads` object in state of MessageInput\n */\n removeFile: (id: string) => void;\n /**\n * Function for removing an image from the upload preview\n *\n * @param id string ID of image in `imageUploads` object in state of MessageInput\n */\n removeImage: (id: string) => void;\n resetInput: (pendingAttachments?: Attachment<StreamChatGenerics>[]) => void;\n selectedPicker: string | undefined;\n sending: React.MutableRefObject<boolean>;\n sendMessage: () => Promise<void>;\n sendMessageAsync: (id: string) => void;\n sendThreadMessageInChannel: boolean;\n setAsyncIds: React.Dispatch<React.SetStateAction<string[]>>;\n setAsyncUploads: React.Dispatch<\n React.SetStateAction<{\n [key: string]: {\n state: string;\n url: string;\n };\n }>\n >;\n setFileUploads: React.Dispatch<React.SetStateAction<FileUpload[]>>;\n setGiphyActive: React.Dispatch<React.SetStateAction<boolean>>;\n setImageUploads: React.Dispatch<React.SetStateAction<ImageUpload[]>>;\n /**\n * Ref callback to set reference on input box\n */\n setInputBoxRef: LegacyRef<TextInput> | undefined;\n setMentionedUsers: React.Dispatch<React.SetStateAction<string[]>>;\n setNumberOfUploads: React.Dispatch<React.SetStateAction<number>>;\n setSendThreadMessageInChannel: React.Dispatch<React.SetStateAction<boolean>>;\n setShowMoreOptions: React.Dispatch<React.SetStateAction<boolean>>;\n setText: React.Dispatch<React.SetStateAction<string>>;\n showMoreOptions: boolean;\n /**\n * Text value of the TextInput\n */\n text: string;\n toggleAttachmentPicker: () => void;\n /**\n * Mapping of input triggers to the outputs to be displayed by the AutoCompleteInput\n */\n triggerSettings: TriggerSettings<StreamChatGenerics>;\n updateMessage: () => Promise<void>;\n /** Function for attempting to upload a file */\n uploadFile: ({ newFile }: { newFile: FileUpload }) => Promise<void>;\n /** Function for attempting to upload an image */\n uploadImage: ({ newImage }: { newImage: ImageUpload }) => Promise<void>;\n uploadNewFile: (file: File) => Promise<void>;\n uploadNewImage: (image: Partial<Asset>) => Promise<void>;\n};\n\nexport type InputMessageInputContextValue<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n /**\n * Custom UI component for attach button.\n *\n * Defaults to and accepts same props as: [AttachButton](https://getstream.io/chat/docs/sdk/reactnative/ui-components/attach-button/)\n */\n AttachButton: React.ComponentType<AttachButtonProps<StreamChatGenerics>>;\n\n clearEditingState: () => void;\n clearQuotedMessageState: () => void;\n /**\n * Custom UI component for commands button.\n *\n * Defaults to and accepts same props as: [CommandsButton](https://getstream.io/chat/docs/sdk/reactnative/ui-components/commands-button/)\n */\n CommandsButton: React.ComponentType<CommandsButtonProps<StreamChatGenerics>>;\n /**\n * Custom UI component to display the remaining cooldown a user will have to wait before\n * being allowed to send another message. This component is displayed in place of the\n * send button for the MessageInput component.\n *\n * **default** [CooldownTimer](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/MessageInput/CooldownTimer.tsx)\n */\n CooldownTimer: React.ComponentType<CooldownTimerProps>;\n editing: boolean | MessageType<StreamChatGenerics>;\n editMessage: StreamChat<StreamChatGenerics>['updateMessage'];\n\n /**\n * Custom UI component for FileUploadPreview.\n * Defaults to and accepts same props as: https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/MessageInput/FileUploadPreview.tsx\n */\n FileUploadPreview: React.ComponentType<FileUploadPreviewProps<StreamChatGenerics>>;\n\n /** When false, CommandsButton will be hidden */\n hasCommands: boolean;\n /** When false, FileSelectorIcon will be hidden */\n hasFilePicker: boolean;\n /** When false, ImageSelectorIcon will be hidden */\n hasImagePicker: boolean;\n /**\n * Custom UI component for ImageUploadPreview.\n * Defaults to and accepts same props as: https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/MessageInput/ImageUploadPreview.tsx\n */\n ImageUploadPreview: React.ComponentType<ImageUploadPreviewProps<StreamChatGenerics>>;\n InputEditingStateHeader: React.ComponentType<InputEditingStateHeaderProps<StreamChatGenerics>>;\n InputGiphySearch: React.ComponentType<InputGiphySearchProps<StreamChatGenerics>>;\n InputReplyStateHeader: React.ComponentType<InputReplyStateHeaderProps<StreamChatGenerics>>;\n /** Limit on allowed number of files to attach at a time. */\n maxNumberOfFiles: number;\n /**\n * Custom UI component for more options button.\n *\n * Defaults to and accepts same props as: [MoreOptionsButton](https://getstream.io/chat/docs/sdk/reactnative/ui-components/more-options-button/)\n */\n MoreOptionsButton: React.ComponentType<MoreOptionsButtonProps<StreamChatGenerics>>;\n /** Limit on the number of lines in the text input before scrolling */\n numberOfLines: number;\n quotedMessage: boolean | MessageType<StreamChatGenerics>;\n /**\n * Custom UI component for send button.\n *\n * Defaults to and accepts same props as: [SendButton](https://getstream.io/chat/docs/sdk/reactnative/ui-components/send-button/)\n */\n SendButton: React.ComponentType<SendButtonProps<StreamChatGenerics>>;\n sendImageAsync: boolean;\n sendMessage: (message: Partial<StreamMessage<StreamChatGenerics>>) => Promise<void>;\n setQuotedMessageState: (message: MessageType<StreamChatGenerics>) => void;\n /**\n * Custom UI component to render checkbox with text (\"Also send to channel\") in Thread's input box.\n * When ticked, message will also be sent in parent channel.\n */\n ShowThreadMessageInChannelButton: React.ComponentType<{\n threadList?: boolean;\n }>;\n /**\n * Custom UI component to render upload progress indicator on attachment preview.\n *\n * **Default** [UploadProgressIndicator](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/MessageInput/UploadProgressIndicator.tsx)\n */\n UploadProgressIndicator: React.ComponentType<UploadProgressIndicatorProps>;\n /**\n * Additional props for underlying TextInput component. These props will be forwarded as it is to TextInput component.\n *\n * @see See https://reactnative.dev/docs/textinput#reference\n */\n additionalTextInputProps?: TextInputProps;\n /** Max number of suggestions to display in autocomplete list. Defaults to 10. */\n autoCompleteSuggestionsLimit?: number;\n /**\n * Mapping of input triggers to the outputs to be displayed by the AutoCompleteInput\n */\n autoCompleteTriggerSettings?: (\n settings: ACITriggerSettingsParams<StreamChatGenerics>,\n ) => TriggerSettings<StreamChatGenerics>;\n /**\n * Compress image with quality (from 0 to 1, where 1 is best quality).\n * On iOS, values larger than 0.8 don't produce a noticeable quality increase in most images,\n * while a value of 0.8 will reduce the file size by about half or less compared to a value of 1.\n * Image picker defaults to 0.8 for iOS and 1 for Android\n */\n compressImageQuality?: number;\n /**\n * Override file upload request\n *\n * @param file File object - { uri: '', name: '' }\n * @param channel Current channel object\n *\n * @overrideType Function\n */\n doDocUploadRequest?: (\n file: File,\n channel: ChannelContextValue<StreamChatGenerics>['channel'],\n ) => Promise<SendFileAPIResponse>;\n /**\n * Override image upload request\n *\n * @param file File object - { uri: '' }\n * @param channel Current channel object\n *\n * @overrideType Function\n */\n doImageUploadRequest?: (\n file: {\n name?: string;\n uri?: string;\n },\n channel: ChannelContextValue<StreamChatGenerics>['channel'],\n ) => Promise<SendFileAPIResponse>;\n\n /** Initial value to set on input */\n initialValue?: string;\n /**\n * Custom UI component for AutoCompleteInput.\n * Has access to all of [MessageInputContext](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/contexts/messageInputContext/MessageInputContext.tsx)\n */\n Input?: React.ComponentType<\n Omit<MessageInputProps<StreamChatGenerics>, 'Input'> &\n InputButtonsProps<StreamChatGenerics> & {\n getUsers: () => UserResponse<StreamChatGenerics>[];\n }\n >;\n /**\n * Custom UI component to override buttons on left side of input box\n * Defaults to [InputButtons](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/MessageInput/InputButtons.tsx),\n * which contain following components/buttons:\n *\n * - AttachButton\n * - CommandsButtom\n *\n * You have access to following prop functions:\n *\n * - closeAttachmentPicker\n * - openAttachmentPicker\n * - openCommandsPicker\n * - toggleAttachmentPicker\n */\n InputButtons?: React.ComponentType<InputButtonsProps<StreamChatGenerics>>;\n maxMessageLength?: number;\n mentionAllAppUsersEnabled?: boolean;\n /** Object containing filters/sort/options overrides for an @mention user query */\n mentionAllAppUsersQuery?: MentionAllAppUsersQuery<StreamChatGenerics>;\n /**\n * Callback that is called when the text input's text changes. Changed text is passed as a single string argument to the callback handler.\n */\n onChangeText?: (newText: string) => void;\n SendMessageDisallowedIndicator?: React.ComponentType;\n /**\n * ref for input setter function\n *\n * @param ref [Ref object](https://reactjs.org/docs/refs-and-the-dom.html) for underling `TextInput` component.\n *\n * @overrideType Function\n */\n setInputRef?: (ref: TextInput | null) => void;\n};\n\nexport type MessageInputContextValue<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = LocalMessageInputContext<StreamChatGenerics> &\n Omit<InputMessageInputContextValue<StreamChatGenerics>, 'sendMessage'>;\n\nexport const MessageInputContext = React.createContext(\n DEFAULT_BASE_CONTEXT_VALUE as MessageInputContextValue,\n);\n\nexport const MessageInputProvider = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n children,\n value,\n}: PropsWithChildren<{\n value: InputMessageInputContextValue<StreamChatGenerics>;\n}>) => {\n const { closePicker, openPicker, selectedPicker, setSelectedPicker } =\n useAttachmentPickerContext();\n const { appSettings, client, enableOfflineSupport } = useChatContext<StreamChatGenerics>();\n\n const getFileUploadConfig = () => {\n const fileConfig = appSettings?.app?.file_upload_config;\n if (fileConfig !== null || fileConfig !== undefined) {\n return fileConfig;\n } else {\n return {};\n }\n };\n\n const blockedFileExtensionTypes = getFileUploadConfig()?.blocked_file_extensions;\n const blockedFileMimeTypes = getFileUploadConfig()?.blocked_mime_types;\n\n const getImageUploadConfig = () => {\n const imageConfig = appSettings?.app?.image_upload_config;\n if (imageConfig !== null || imageConfig !== undefined) {\n return imageConfig;\n }\n return {};\n };\n\n const blockedImageExtensionTypes = getImageUploadConfig()?.blocked_file_extensions;\n const blockedImageMimeTypes = getImageUploadConfig()?.blocked_mime_types;\n\n const channelCapabities = useOwnCapabilitiesContext();\n\n const { channel, giphyEnabled } = useChannelContext<StreamChatGenerics>();\n const { thread } = useThreadContext<StreamChatGenerics>();\n const { t } = useTranslationContext();\n const inputBoxRef = useRef<TextInput | null>(null);\n const sending = useRef(false);\n\n const [asyncIds, setAsyncIds] = useState<string[]>([]);\n const [asyncUploads, setAsyncUploads] = useState<{\n [key: string]: {\n state: string;\n url: string;\n };\n }>({});\n const [giphyActive, setGiphyActive] = useState(false);\n const [sendThreadMessageInChannel, setSendThreadMessageInChannel] = useState(false);\n const { editing, hasFilePicker, hasImagePicker, initialValue } = value;\n const {\n fileUploads,\n imageUploads,\n mentionedUsers,\n numberOfUploads,\n setFileUploads,\n setImageUploads,\n setMentionedUsers,\n setNumberOfUploads,\n setShowMoreOptions,\n setText,\n showMoreOptions,\n text,\n } = useMessageDetailsForState<StreamChatGenerics>(editing, initialValue);\n const { endsAt: cooldownEndsAt, start: startCooldown } = useCooldown<StreamChatGenerics>();\n\n const threadId = thread?.id;\n useEffect(() => {\n setSendThreadMessageInChannel(false);\n }, [threadId]);\n\n const appendText = (newText: string) => {\n setText((prevText) => `${prevText}${newText}`);\n };\n\n /** Checks if the message is valid or not. Accordingly we can enable/disable send button */\n const isValidMessage = () => {\n if (text && text.trim()) {\n return true;\n }\n\n const imagesAndFiles = [...imageUploads, ...fileUploads];\n if (imagesAndFiles.length === 0) return false;\n\n if (enableOfflineSupport) {\n // Allow only if none of the attachments have unsupported status\n for (const file of imagesAndFiles) {\n if (file.state === FileState.NOT_SUPPORTED) {\n return false;\n }\n }\n\n return true;\n }\n\n for (const file of imagesAndFiles) {\n if (!file || file.state === FileState.UPLOAD_FAILED) {\n continue;\n }\n if (file.state === FileState.UPLOADING) {\n // TODO: show error to user that they should wait until image is uploaded\n return false;\n }\n\n return true;\n }\n\n return false;\n };\n\n const onChange = (newText: string) => {\n if (sending.current) {\n return;\n }\n setText(newText);\n\n if (newText && channel && channelCapabities.sendTypingEvents) {\n logChatPromiseExecution(channel.keystroke(thread?.id), 'start typing event');\n }\n\n if (value.onChangeText) {\n value.onChangeText(newText);\n }\n };\n\n const openCommandsPicker = () => {\n appendText('/');\n if (inputBoxRef.current) {\n inputBoxRef.current.focus();\n }\n };\n\n const openMentionsPicker = () => {\n appendText('@');\n if (inputBoxRef.current) {\n inputBoxRef.current.focus();\n }\n };\n\n const openAttachmentPicker = () => {\n if (hasImagePicker) {\n Keyboard.dismiss();\n setSelectedPicker('images');\n openPicker();\n } else if (hasFilePicker) {\n pickFile();\n }\n };\n\n const closeAttachmentPicker = () => {\n setSelectedPicker(undefined);\n closePicker();\n };\n\n const toggleAttachmentPicker = () => {\n if (selectedPicker) {\n closeAttachmentPicker();\n } else {\n openAttachmentPicker();\n }\n };\n\n const onSelectItem = (item: UserResponse<StreamChatGenerics>) => {\n setMentionedUsers((prevMentionedUsers) => [...prevMentionedUsers, item.id]);\n };\n\n const pickFile = async () => {\n if (pickDocument === null) {\n console.log(\n 'The file picker is not installed. Check our Getting Started documentation to install it.',\n );\n return;\n }\n\n if (numberOfUploads >= value.maxNumberOfFiles) {\n Alert.alert('Maximum number of files reached');\n return;\n }\n\n const result = await pickDocument({\n maxNumberOfFiles: value.maxNumberOfFiles - numberOfUploads,\n });\n\n const MEGA_BYTES_TO_BYTES = 1024 * 1024;\n const MAX_FILE_SIZE_TO_UPLOAD_IN_MB = 100;\n\n if (!result.cancelled && result.docs) {\n const totalFileSize = result.docs.reduce((acc, doc) => acc + Number(doc.size), 0);\n if (totalFileSize / MEGA_BYTES_TO_BYTES > MAX_FILE_SIZE_TO_UPLOAD_IN_MB) {\n Alert.alert(\n `Maximum file size upload limit reached, please upload files below ${MAX_FILE_SIZE_TO_UPLOAD_IN_MB}MB.`,\n );\n } else {\n result.docs.forEach((doc) => {\n /**\n * TODO: The current tight coupling of images to the image\n * picker does not allow images picked from the file picker\n * to be rendered in a preview via the uploadNewImage call.\n * This should be updated alongside allowing image a file\n * uploads together.\n */\n uploadNewFile(doc);\n });\n }\n }\n };\n\n const removeFile = (id: string) => {\n if (fileUploads.some((file) => file.id === id)) {\n setFileUploads((prevFileUploads) => prevFileUploads.filter((file) => file.id !== id));\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads - 1);\n }\n };\n\n const removeImage = (id: string) => {\n if (imageUploads.some((image) => image.id === id)) {\n setImageUploads((prevImageUploads) => prevImageUploads.filter((image) => image.id !== id));\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads - 1);\n }\n };\n\n const resetInput = (pendingAttachments: Attachment<StreamChatGenerics>[] = []) => {\n setFileUploads([]);\n setGiphyActive(false);\n setShowMoreOptions(true);\n setImageUploads([]);\n setMentionedUsers([]);\n setNumberOfUploads(\n (prevNumberOfUploads) => prevNumberOfUploads - (pendingAttachments?.length || 0),\n );\n setText('');\n };\n\n const mapImageUploadToAttachment = (image: ImageUpload) => {\n const mime_type: string | boolean = lookup(image.file.filename as string);\n return {\n fallback: image.file.name,\n image_url: image.url,\n mime_type: mime_type ? mime_type : undefined,\n original_height: image.height,\n original_width: image.width,\n originalFile: image.file,\n type: 'image',\n } as Attachment;\n };\n\n const mapFileUploadToAttachment = (file: FileUpload) => {\n const mime_type: string | boolean = lookup(file.file.name as string);\n if (file.file.type?.startsWith('image/')) {\n return {\n fallback: file.file.name,\n image_url: file.url,\n mime_type: mime_type ? mime_type : undefined,\n originalFile: file.file,\n type: 'image',\n };\n } else if (file.file.type?.startsWith('audio/')) {\n return {\n asset_url: file.url || file.file.uri,\n duration: file.file.duration,\n file_size: file.file.size,\n mime_type: file.file.type,\n originalFile: file.file,\n title: file.file.name,\n type: 'audio',\n };\n } else if (file.file.type?.startsWith('video/')) {\n return {\n asset_url: file.url || file.file.uri,\n duration: file.file.duration,\n file_size: file.file.size,\n mime_type: file.file.type,\n originalFile: file.file,\n thumb_url: file.thumb_url,\n title: file.file.name,\n type: 'video',\n };\n } else {\n return {\n asset_url: file.url || file.file.uri,\n file_size: file.file.size,\n mime_type: file.file.type,\n originalFile: file.file,\n title: file.file.name,\n type: 'file',\n };\n }\n };\n\n // TODO: Figure out why this is async, as it doesn't await any promise.\n // eslint-disable-next-line require-await\n const sendMessage = async () => {\n if (sending.current) {\n return;\n }\n\n if (!channelCapabities.sendLinks && !!text.match(urlRegex)) {\n Alert.alert(t('Links are disabled'), t('Sending links is not allowed in this conversation'));\n\n return;\n }\n\n sending.current = true;\n\n startCooldown();\n\n const prevText = giphyEnabled && giphyActive ? `/giphy ${text}` : text;\n setText('');\n if (inputBoxRef.current) {\n inputBoxRef.current.clear();\n }\n\n const attachments = [] as Attachment<StreamChatGenerics>[];\n for (const image of imageUploads) {\n if (enableOfflineSupport) {\n if (image.state === FileState.NOT_SUPPORTED) {\n return;\n }\n attachments.push(mapImageUploadToAttachment(image));\n continue;\n }\n\n if ((!image || image.state === FileState.UPLOAD_FAILED) && !enableOfflineSupport) {\n continue;\n }\n\n if (image.state === FileState.UPLOADING) {\n // TODO: show error to user that they should wait until image is uploaded\n if (value.sendImageAsync) {\n /**\n * If user hit send before image uploaded, push ID into a queue to later\n * be matched with the successful CDN response\n */\n setAsyncIds((prevAsyncIds) => [...prevAsyncIds, image.id]);\n } else {\n sending.current = false;\n return setText(prevText);\n }\n }\n\n // To get the mime type of the image from the file name and send it as an response for an image\n if (image.state === FileState.UPLOADED || image.state === FileState.FINISHED) {\n attachments.push(mapImageUploadToAttachment(image));\n }\n }\n\n for (const file of fileUploads) {\n if (enableOfflineSupport) {\n if (file.state === FileState.NOT_SUPPORTED) {\n return;\n }\n attachments.push(mapFileUploadToAttachment(file));\n continue;\n }\n\n if (!file || file.state === FileState.UPLOAD_FAILED) {\n continue;\n }\n\n if (file.state === FileState.UPLOADING) {\n // TODO: show error to user that they should wait until image is uploaded\n sending.current = false;\n return;\n }\n\n if (file.state === FileState.UPLOADED || file.state === FileState.FINISHED) {\n attachments.push(mapFileUploadToAttachment(file));\n }\n }\n\n // Disallow sending message if its empty.\n if (!prevText && attachments.length === 0) {\n sending.current = false;\n return;\n }\n\n if (value.editing && !isEditingBoolean(value.editing)) {\n const updatedMessage = {\n ...value.editing,\n attachments,\n mentioned_users: mentionedUsers,\n quoted_message: undefined,\n text: prevText,\n } as Parameters<StreamChat<StreamChatGenerics>['updateMessage']>[0];\n\n // TODO: Remove this line and show an error when submit fails\n value.clearEditingState();\n\n const updateMessagePromise = value\n .editMessage(\n // @ts-ignore\n removeReservedFields(updatedMessage),\n )\n .then(value.clearEditingState);\n resetInput(attachments);\n logChatPromiseExecution(updateMessagePromise, 'update message');\n\n sending.current = false;\n } else {\n try {\n value.sendMessage({\n attachments,\n mentioned_users: uniq(mentionedUsers),\n /** Parent message id - in case of thread */\n parent_id: thread?.id,\n quoted_message_id:\n typeof value.quotedMessage === 'boolean' ? undefined : value.quotedMessage.id,\n show_in_channel: sendThreadMessageInChannel || undefined,\n text: prevText,\n } as unknown as StreamMessage<StreamChatGenerics>);\n\n value.clearQuotedMessageState();\n sending.current = false;\n resetInput(attachments);\n } catch (_error) {\n sending.current = false;\n if (value.quotedMessage && typeof value.quotedMessage !== 'boolean') {\n value.setQuotedMessageState(value.quotedMessage);\n }\n setText(prevText.slice(giphyEnabled && giphyActive ? 7 : 0)); // 7 because of '/giphy ' length\n console.log('Failed to send message');\n }\n }\n };\n\n const sendMessageAsync = (id: string) => {\n const image = asyncUploads[id];\n if (!image || image.state === FileState.UPLOAD_FAILED) {\n return;\n }\n\n if (image.state === FileState.UPLOADED || image.state === FileState.FINISHED) {\n const attachments = [\n {\n image_url: image.url,\n type: 'image',\n },\n ] as StreamMessage<StreamChatGenerics>['attachments'];\n\n startCooldown();\n try {\n value.sendMessage({\n attachments,\n mentioned_users: [],\n parent_id: thread?.id,\n quoted_message_id:\n typeof value.quotedMessage === 'boolean' ? undefined : value.quotedMessage.id,\n show_in_channel: sendThreadMessageInChannel || undefined,\n text: '',\n } as unknown as Partial<StreamMessage<StreamChatGenerics>>);\n\n setAsyncIds((prevAsyncIds) => prevAsyncIds.splice(prevAsyncIds.indexOf(id), 1));\n setAsyncUploads((prevAsyncUploads) => {\n delete prevAsyncUploads[id];\n return prevAsyncUploads;\n });\n\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads - 1);\n } catch (_error) {\n console.log('Failed');\n }\n }\n };\n\n const setInputBoxRef = (ref: TextInput | null) => {\n inputBoxRef.current = ref;\n if (value.setInputRef) {\n value.setInputRef(ref);\n }\n };\n\n const getTriggerSettings = () => {\n let triggerSettings: TriggerSettings<StreamChatGenerics> = {};\n if (channel) {\n if (value.autoCompleteTriggerSettings) {\n triggerSettings = value.autoCompleteTriggerSettings({\n channel,\n client,\n onMentionSelectItem: onSelectItem,\n });\n } else {\n triggerSettings = ACITriggerSettings<StreamChatGenerics>({\n channel,\n client,\n onMentionSelectItem: onSelectItem,\n });\n }\n }\n return triggerSettings;\n };\n\n const triggerSettings = getTriggerSettings();\n\n const updateMessage = async () => {\n try {\n if (!isEditingBoolean(value.editing)) {\n await client.updateMessage({\n ...value.editing,\n quoted_message: undefined,\n text: giphyEnabled && giphyActive ? `/giphy ${text}` : text,\n } as Parameters<StreamChat<StreamChatGenerics>['updateMessage']>[0]);\n }\n\n resetInput();\n value.clearEditingState();\n } catch (error) {\n console.log(error);\n }\n };\n\n const regExcondition = /File (extension \\.\\w{2,4}|type \\S+) is not supported/;\n\n const getUploadSetStateAction = <UploadType extends ImageUpload | FileUpload>(\n id: string,\n fileState: FileStateValue,\n extraData: Partial<UploadType> = {},\n ): React.SetStateAction<UploadType[]> => {\n const uploads: (prevUploads: UploadType[]) => UploadType[] = (prevUploads: UploadType[]) =>\n prevUploads.map((prevUpload) => {\n if (prevUpload.id === id) {\n return {\n ...prevUpload,\n ...extraData,\n state: fileState,\n };\n }\n return prevUpload;\n });\n\n return uploads;\n };\n\n const handleFileOrImageUploadError = (error: unknown, isImageError: boolean, id: string) => {\n if (isImageError) {\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads - 1);\n if (error instanceof Error) {\n if (regExcondition.test(error.message)) {\n return setImageUploads(getUploadSetStateAction(id, FileState.NOT_SUPPORTED));\n }\n\n return setImageUploads(getUploadSetStateAction(id, FileState.UPLOAD_FAILED));\n }\n } else {\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads - 1);\n\n if (error instanceof Error) {\n if (regExcondition.test(error.message)) {\n return setFileUploads(getUploadSetStateAction(id, FileState.NOT_SUPPORTED));\n }\n return setFileUploads(getUploadSetStateAction(id, FileState.UPLOAD_FAILED));\n }\n }\n };\n\n const uploadFile = async ({ newFile }: { newFile: FileUpload }) => {\n const { file, id } = newFile;\n\n setFileUploads(getUploadSetStateAction(id, FileState.UPLOADING));\n\n let response: Partial<SendFileAPIResponse> = {};\n try {\n if (value.doDocUploadRequest) {\n response = await value.doDocUploadRequest(file, channel);\n } else if (channel && file.uri) {\n // For the case of expo messaging app where you need to fetch the file uri from file id. Here it is only done for iOS since for android the file.uri is fine.\n const localAssetURI = Platform.OS === 'ios' && file.id && (await getLocalAssetUri(file.id));\n response = await channel.sendFile(localAssetURI || file.uri, file.name, file.type);\n }\n const extraData: Partial<FileUpload> = { thumb_url: response.thumb_url, url: response.file };\n setFileUploads(getUploadSetStateAction(id, FileState.UPLOADED, extraData));\n } catch (error: unknown) {\n handleFileOrImageUploadError(error, false, id);\n }\n };\n\n const uploadImage = async ({ newImage }: { newImage: ImageUpload }) => {\n const { file, id } = newImage || {};\n\n if (!file) {\n return;\n }\n\n let response = {} as SendFileAPIResponse;\n\n try {\n // For the case of expo messaging app where you need to fetch the file uri from file id. Here it is only done for iOS since for android the file.uri is fine.\n const localAssetURI = Platform.OS === 'ios' && file.id && (await getLocalAssetUri(file.id));\n const uri = localAssetURI || file.uri || '';\n /**\n * We skip compression if:\n * - the file is from the camera as that should already be compressed\n * - the file has not height/width value to maintain for compression\n * - the compressImageQuality number is not present or is 1 (meaning no compression)\n */\n const compressedUri = await (file.source === 'camera' ||\n !file.height ||\n !file.width ||\n typeof value.compressImageQuality !== 'number' ||\n value.compressImageQuality === 1\n ? uri\n : compressImage({\n compressImageQuality: value.compressImageQuality,\n height: file.height,\n uri,\n width: file.width,\n }));\n const filename = uri.replace(/^(file:\\/\\/|content:\\/\\/|assets-library:\\/\\/)/, '');\n const contentType = lookup(filename) || 'multipart/form-data';\n if (value.doImageUploadRequest) {\n response = await value.doImageUploadRequest(file, channel);\n } else if (compressedUri && channel) {\n if (value.sendImageAsync) {\n channel.sendImage(compressedUri, file.filename, contentType).then((res) => {\n if (asyncIds.includes(id)) {\n // Evaluates to true if user hit send before image successfully uploaded\n setAsyncUploads((prevAsyncUploads) => {\n prevAsyncUploads[id] = {\n ...prevAsyncUploads[id],\n state: FileState.UPLOADED,\n url: res.file,\n };\n return prevAsyncUploads;\n });\n } else {\n const newImageUploads = getUploadSetStateAction<ImageUpload>(id, FileState.UPLOADED, {\n url: res.file,\n });\n setImageUploads(newImageUploads);\n }\n });\n } else {\n response = await channel.sendImage(compressedUri, file.filename, contentType);\n }\n }\n\n if (Object.keys(response).length) {\n const newImageUploads = getUploadSetStateAction<ImageUpload>(id, FileState.UPLOADED, {\n height: file.height,\n url: response.file,\n width: file.width,\n });\n setImageUploads(newImageUploads);\n }\n } catch (error) {\n handleFileOrImageUploadError(error, true, id);\n }\n };\n\n const uploadNewFile = async (file: File) => {\n const id: string = generateRandomId();\n const mimeType: string | boolean = lookup(file.name);\n\n const isBlockedFileExtension: boolean | undefined = blockedFileExtensionTypes?.some(\n (fileExtensionType: string) => file.name?.includes(fileExtensionType),\n );\n const isBlockedFileMimeType: boolean | undefined = blockedFileMimeTypes?.some(\n (mimeType: string) => file.name?.includes(mimeType),\n );\n\n const fileState =\n isBlockedFileExtension || isBlockedFileMimeType\n ? FileState.NOT_SUPPORTED\n : FileState.UPLOADING;\n\n const newFile: FileUpload = {\n duration: 0,\n file: { ...file, type: mimeType || file?.type },\n id: file.id || id,\n paused: true,\n progress: 0,\n state: fileState,\n };\n\n await Promise.all([\n setFileUploads((prevFileUploads) => prevFileUploads.concat([newFile])),\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads + 1),\n ]);\n\n if (!isBlockedFileExtension) {\n uploadFile({ newFile });\n }\n };\n\n const uploadNewImage = async (image: Partial<Asset>) => {\n const id = generateRandomId();\n\n const isBlockedImageMimeType = blockedImageMimeTypes?.some((mimeType: string) =>\n image.uri?.includes(mimeType),\n );\n\n const isBlockedImageExtension = blockedImageExtensionTypes?.some((imageExtensionType: string) =>\n image.uri?.includes(imageExtensionType),\n );\n\n const imageState =\n isBlockedImageExtension || isBlockedImageMimeType\n ? FileState.NOT_SUPPORTED\n : FileState.UPLOADING;\n\n const newImage: ImageUpload = {\n file: image,\n height: image.height,\n id,\n state: imageState,\n url: image.uri,\n width: image.width,\n };\n\n await Promise.all([\n setImageUploads((prevImageUploads) => prevImageUploads.concat([newImage])),\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads + 1),\n ]);\n\n if (!isBlockedImageExtension) {\n uploadImage({ newImage });\n }\n };\n\n const messageInputContext = useCreateMessageInputContext({\n appendText,\n asyncIds,\n asyncUploads,\n closeAttachmentPicker,\n cooldownEndsAt,\n fileUploads,\n giphyActive,\n imageUploads,\n inputBoxRef,\n isValidMessage,\n mentionedUsers,\n numberOfUploads,\n onChange,\n onSelectItem,\n openAttachmentPicker,\n openCommandsPicker,\n openFilePicker: pickFile,\n openMentionsPicker,\n pickFile,\n removeFile,\n removeImage,\n resetInput,\n selectedPicker,\n sending,\n sendMessageAsync,\n sendThreadMessageInChannel,\n setAsyncIds,\n setAsyncUploads,\n setFileUploads,\n setGiphyActive,\n setImageUploads,\n setInputBoxRef,\n setMentionedUsers,\n setNumberOfUploads,\n setSendThreadMessageInChannel,\n setShowMoreOptions,\n setText,\n showMoreOptions,\n text,\n thread,\n toggleAttachmentPicker,\n triggerSettings,\n updateMessage,\n uploadFile,\n uploadImage,\n uploadNewFile,\n uploadNewImage,\n ...value,\n sendMessage, // overriding the originally passed in sendMessage\n });\n\n return (\n <MessageInputContext.Provider\n value={messageInputContext as unknown as MessageInputContextValue}\n >\n {children}\n </MessageInputContext.Provider>\n );\n};\n\nexport const useMessageInputContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>() => {\n const contextValue = useContext(\n MessageInputContext,\n ) as unknown as MessageInputContextValue<StreamChatGenerics>;\n\n if (contextValue === DEFAULT_BASE_CONTEXT_VALUE && !isTestEnvironment()) {\n throw new Error(\n `The useMessageInputContext hook was called outside of the MessageInputContext provider. Make sure you have configured Channel component correctly - https://getstream.io/chat/docs/sdk/reactnative/basics/hello_stream_chat/#channel`,\n );\n }\n\n return contextValue;\n};\n\n/**\n * Typescript currently does not support partial inference so if MessageInputContext\n * typing is desired while using the HOC withMessageInputContext the Props for the\n * wrapped component must be provided as the first generic.\n */\nexport const withMessageInputContext = <\n P extends UnknownType,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n Component: React.ComponentType<P>,\n): React.FC<Omit<P, keyof MessageInputContextValue<StreamChatGenerics>>> => {\n const WithMessageInputContextComponent = (\n props: Omit<P, keyof MessageInputContextValue<StreamChatGenerics>>,\n ) => {\n const messageInputContext = useMessageInputContext<StreamChatGenerics>();\n\n return <Component {...(props as P)} {...messageInputContext} />;\n };\n WithMessageInputContextComponent.displayName = `WithMessageInputContext${getDisplayName(\n Component,\n )}`;\n return WithMessageInputContextComponent;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uniq","_interopRequireDefault","_mimeTypes","_streamChat","_useCreateMessageInputContext","_useMessageDetailsForState","_useCooldown2","_native","_removeReservedFields","_utils","_AttachmentPickerContext","_ChannelContext","_ChatContext","_OwnCapabilitiesContext","_ThreadContext","_TranslationContext","_defaultBaseContextValue","_getDisplayName","_isTestEnvironment","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof3","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","next","bind","Array","isArray","_unsupportedIterableToArray","length","i","done","value","TypeError","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","from","test","arr","len","arr2","MessageInputContext","React","createContext","DEFAULT_BASE_CONTEXT_VALUE","exports","MessageInputProvider","_ref","_getFileUploadConfig","_getFileUploadConfig2","_getImageUploadConfig","_getImageUploadConfig2","children","_useAttachmentPickerC","useAttachmentPickerContext","closePicker","openPicker","selectedPicker","setSelectedPicker","_useChatContext","useChatContext","appSettings","client","enableOfflineSupport","getFileUploadConfig","_appSettings$app","fileConfig","app","file_upload_config","undefined","blockedFileExtensionTypes","blocked_file_extensions","blockedFileMimeTypes","blocked_mime_types","getImageUploadConfig","_appSettings$app2","imageConfig","image_upload_config","blockedImageExtensionTypes","blockedImageMimeTypes","channelCapabities","useOwnCapabilitiesContext","_useChannelContext","useChannelContext","channel","giphyEnabled","_useThreadContext","useThreadContext","thread","_useTranslationContex","useTranslationContext","t","inputBoxRef","useRef","sending","_useState","useState","_useState2","_slicedToArray2","asyncIds","setAsyncIds","_useState3","_useState4","asyncUploads","setAsyncUploads","_useState5","_useState6","giphyActive","setGiphyActive","_useState7","_useState8","sendThreadMessageInChannel","setSendThreadMessageInChannel","editing","hasFilePicker","hasImagePicker","initialValue","_useMessageDetailsFor","useMessageDetailsForState","fileUploads","imageUploads","mentionedUsers","numberOfUploads","setFileUploads","setImageUploads","setMentionedUsers","setNumberOfUploads","setShowMoreOptions","setText","showMoreOptions","text","_useCooldown","useCooldown","cooldownEndsAt","endsAt","startCooldown","start","threadId","id","useEffect","appendText","newText","prevText","isValidMessage","trim","imagesAndFiles","concat","_toConsumableArray2","_iterator","_step","file","state","FileState","NOT_SUPPORTED","_iterator2","_step2","UPLOAD_FAILED","UPLOADING","onChange","current","sendTypingEvents","logChatPromiseExecution","keystroke","onChangeText","openCommandsPicker","focus","openMentionsPicker","openAttachmentPicker","Keyboard","dismiss","pickFile","closeAttachmentPicker","toggleAttachmentPicker","onSelectItem","item","prevMentionedUsers","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","result","MEGA_BYTES_TO_BYTES","MAX_FILE_SIZE_TO_UPLOAD_IN_MB","totalFileSize","wrap","_callee$","_context","prev","pickDocument","console","log","abrupt","maxNumberOfFiles","Alert","alert","sent","cancelled","docs","reduce","acc","doc","Number","size","forEach","uploadNewFile","stop","apply","arguments","removeFile","some","prevFileUploads","filter","prevNumberOfUploads","removeImage","image","prevImageUploads","resetInput","pendingAttachments","mapImageUploadToAttachment","mime_type","lookup","filename","fallback","image_url","url","original_height","height","original_width","width","originalFile","type","mapFileUploadToAttachment","_file$file$type","_file$file$type2","_file$file$type3","startsWith","asset_url","uri","duration","file_size","title","thumb_url","sendMessage","_ref3","_callee3","attachments","_loop","_iterator3","_step3","_image","_ret","_iterator4","_step4","_file3","updatedMessage","updateMessagePromise","_callee3$","_context3","sendLinks","match","urlRegex","clear","_callee2","_callee2$","_context2","v","push","sendImageAsync","prevAsyncIds","UPLOADED","FINISHED","delegateYield","t0","_typeof2","isEditingBoolean","_extends2","mentioned_users","quoted_message","clearEditingState","editMessage","removeReservedFields","then","uniq","parent_id","quoted_message_id","quotedMessage","show_in_channel","clearQuotedMessageState","_error","setQuotedMessageState","sendMessageAsync","splice","indexOf","prevAsyncUploads","setInputBoxRef","ref","setInputRef","getTriggerSettings","triggerSettings","autoCompleteTriggerSettings","onMentionSelectItem","ACITriggerSettings","updateMessage","_ref4","_callee4","_callee4$","_context4","regExcondition","getUploadSetStateAction","fileState","extraData","uploads","prevUploads","map","prevUpload","handleFileOrImageUploadError","error","isImageError","Error","message","uploadFile","_ref6","_callee5","_ref5","newFile","response","localAssetURI","_callee5$","_context5","doDocUploadRequest","Platform","OS","getLocalAssetUri","sendFile","t1","_x","uploadImage","_ref8","_callee6","_ref7","newImage","_ref9","compressedUri","contentType","newImageUploads","_callee6$","_context6","source","compressImageQuality","compressImage","replace","doImageUploadRequest","sendImage","res","includes","keys","_x2","_ref10","_callee7","mimeType","isBlockedFileExtension","isBlockedFileMimeType","_callee7$","_context7","generateRandomId","fileExtensionType","_file$name","_file$name2","paused","progress","Promise","all","_x3","uploadNewImage","_ref11","_callee8","isBlockedImageMimeType","isBlockedImageExtension","imageState","_callee8$","_context8","_image$uri","imageExtensionType","_image$uri2","_x4","messageInputContext","useCreateMessageInputContext","openFilePicker","createElement","Provider","__self","__source","fileName","lineNumber","columnNumber","useMessageInputContext","contextValue","useContext","isTestEnvironment","withMessageInputContext","Component","WithMessageInputContextComponent","props","displayName","getDisplayName"],"sources":["MessageInputContext.tsx"],"sourcesContent":["import React, { PropsWithChildren, useContext, useEffect, useRef, useState } from 'react';\n\nimport type { LegacyRef } from 'react';\nimport type { TextInput, TextInputProps } from 'react-native';\nimport { Alert, Keyboard, Platform } from 'react-native';\n\nimport uniq from 'lodash/uniq';\nimport { lookup } from 'mime-types';\nimport {\n Attachment,\n logChatPromiseExecution,\n SendFileAPIResponse,\n StreamChat,\n Message as StreamMessage,\n UserFilters,\n UserOptions,\n UserResponse,\n UserSort,\n} from 'stream-chat';\n\nimport { useCreateMessageInputContext } from './hooks/useCreateMessageInputContext';\nimport { isEditingBoolean, useMessageDetailsForState } from './hooks/useMessageDetailsForState';\n\nimport type { AttachButtonProps } from '../../components/MessageInput/AttachButton';\nimport type { CommandsButtonProps } from '../../components/MessageInput/CommandsButton';\nimport type { InputEditingStateHeaderProps } from '../../components/MessageInput/components/InputEditingStateHeader';\nimport type { InputGiphySearchProps } from '../../components/MessageInput/components/InputGiphySearch';\nimport type { InputReplyStateHeaderProps } from '../../components/MessageInput/components/InputReplyStateHeader';\nimport type { CooldownTimerProps } from '../../components/MessageInput/CooldownTimer';\nimport type { FileUploadPreviewProps } from '../../components/MessageInput/FileUploadPreview';\nimport { useCooldown } from '../../components/MessageInput/hooks/useCooldown';\nimport type { ImageUploadPreviewProps } from '../../components/MessageInput/ImageUploadPreview';\nimport type { InputButtonsProps } from '../../components/MessageInput/InputButtons';\nimport type { MessageInputProps } from '../../components/MessageInput/MessageInput';\nimport type { MoreOptionsButtonProps } from '../../components/MessageInput/MoreOptionsButton';\nimport type { SendButtonProps } from '../../components/MessageInput/SendButton';\nimport type { UploadProgressIndicatorProps } from '../../components/MessageInput/UploadProgressIndicator';\nimport type { MessageType } from '../../components/MessageList/hooks/useMessageList';\nimport { compressImage, getLocalAssetUri, pickDocument } from '../../native';\nimport type { Asset, DefaultStreamChatGenerics, File, UnknownType } from '../../types/types';\nimport { removeReservedFields } from '../../utils/removeReservedFields';\nimport {\n ACITriggerSettings,\n ACITriggerSettingsParams,\n FileState,\n FileStateValue,\n generateRandomId,\n TriggerSettings,\n urlRegex,\n} from '../../utils/utils';\nimport { useAttachmentPickerContext } from '../attachmentPickerContext/AttachmentPickerContext';\nimport { ChannelContextValue, useChannelContext } from '../channelContext/ChannelContext';\nimport { useChatContext } from '../chatContext/ChatContext';\nimport { useOwnCapabilitiesContext } from '../ownCapabilitiesContext/OwnCapabilitiesContext';\nimport { useThreadContext } from '../threadContext/ThreadContext';\nimport { useTranslationContext } from '../translationContext/TranslationContext';\nimport { DEFAULT_BASE_CONTEXT_VALUE } from '../utils/defaultBaseContextValue';\n\nimport { getDisplayName } from '../utils/getDisplayName';\nimport { isTestEnvironment } from '../utils/isTestEnvironment';\n\nexport type FileUpload = {\n file: File;\n id: string;\n state: FileStateValue;\n duration?: number;\n paused?: boolean;\n progress?: number;\n thumb_url?: string;\n url?: string;\n};\n\nexport type ImageUpload = {\n file: Partial<Asset> & {\n name?: string;\n };\n id: string;\n state: FileStateValue;\n height?: number;\n url?: string;\n width?: number;\n};\n\nexport type MentionAllAppUsersQuery<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n filters?: UserFilters<StreamChatGenerics>;\n options?: UserOptions;\n sort?: UserSort<StreamChatGenerics>;\n};\n\nexport type LocalMessageInputContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n appendText: (newText: string) => void;\n asyncIds: string[];\n asyncUploads: {\n [key: string]: {\n state: string;\n url: string;\n };\n };\n closeAttachmentPicker: () => void;\n /** The time at which the active cooldown will end */\n cooldownEndsAt: Date;\n /**\n * An array of file objects which are set for upload. It has the following structure:\n *\n * ```json\n * [\n * {\n * \"file\": // File object,\n * \"id\": \"randomly_generated_temp_id_1\",\n * \"state\": \"uploading\" // or \"finished\",\n * \"url\": \"https://url1.com\",\n * },\n * {\n * \"file\": // File object,\n * \"id\": \"randomly_generated_temp_id_2\",\n * \"state\": \"uploading\" // or \"finished\",\n * \"url\": \"https://url1.com\",\n * },\n * ]\n * ```\n *\n */\n fileUploads: FileUpload[];\n giphyActive: boolean;\n /**\n * An array of image objects which are set for upload. It has the following structure:\n *\n * ```json\n * [\n * {\n * \"file\": // File object,\n * \"id\": \"randomly_generated_temp_id_1\",\n * \"state\": \"uploading\" // or \"finished\",\n * },\n * {\n * \"file\": // File object,\n * \"id\": \"randomly_generated_temp_id_2\",\n * \"state\": \"uploading\" // or \"finished\",\n * },\n * ]\n * ```\n *\n */\n imageUploads: ImageUpload[];\n inputBoxRef: React.MutableRefObject<TextInput | null>;\n isValidMessage: () => boolean;\n mentionedUsers: string[];\n numberOfUploads: number;\n onChange: (newText: string) => void;\n onSelectItem: (item: UserResponse<StreamChatGenerics>) => void;\n openAttachmentPicker: () => void;\n openCommandsPicker: () => void;\n openFilePicker: () => void;\n openMentionsPicker: () => void;\n pickFile: () => Promise<void>;\n /**\n * Function for removing a file from the upload preview\n *\n * @param id string ID of file in `fileUploads` object in state of MessageInput\n */\n removeFile: (id: string) => void;\n /**\n * Function for removing an image from the upload preview\n *\n * @param id string ID of image in `imageUploads` object in state of MessageInput\n */\n removeImage: (id: string) => void;\n resetInput: (pendingAttachments?: Attachment<StreamChatGenerics>[]) => void;\n selectedPicker: string | undefined;\n sending: React.MutableRefObject<boolean>;\n sendMessage: () => Promise<void>;\n sendMessageAsync: (id: string) => void;\n sendThreadMessageInChannel: boolean;\n setAsyncIds: React.Dispatch<React.SetStateAction<string[]>>;\n setAsyncUploads: React.Dispatch<\n React.SetStateAction<{\n [key: string]: {\n state: string;\n url: string;\n };\n }>\n >;\n setFileUploads: React.Dispatch<React.SetStateAction<FileUpload[]>>;\n setGiphyActive: React.Dispatch<React.SetStateAction<boolean>>;\n setImageUploads: React.Dispatch<React.SetStateAction<ImageUpload[]>>;\n /**\n * Ref callback to set reference on input box\n */\n setInputBoxRef: LegacyRef<TextInput> | undefined;\n setMentionedUsers: React.Dispatch<React.SetStateAction<string[]>>;\n setNumberOfUploads: React.Dispatch<React.SetStateAction<number>>;\n setSendThreadMessageInChannel: React.Dispatch<React.SetStateAction<boolean>>;\n setShowMoreOptions: React.Dispatch<React.SetStateAction<boolean>>;\n setText: React.Dispatch<React.SetStateAction<string>>;\n showMoreOptions: boolean;\n /**\n * Text value of the TextInput\n */\n text: string;\n toggleAttachmentPicker: () => void;\n /**\n * Mapping of input triggers to the outputs to be displayed by the AutoCompleteInput\n */\n triggerSettings: TriggerSettings<StreamChatGenerics>;\n updateMessage: () => Promise<void>;\n /** Function for attempting to upload a file */\n uploadFile: ({ newFile }: { newFile: FileUpload }) => Promise<void>;\n /** Function for attempting to upload an image */\n uploadImage: ({ newImage }: { newImage: ImageUpload }) => Promise<void>;\n uploadNewFile: (file: File) => Promise<void>;\n uploadNewImage: (image: Partial<Asset>) => Promise<void>;\n};\n\nexport type InputMessageInputContextValue<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n /**\n * Custom UI component for attach button.\n *\n * Defaults to and accepts same props as: [AttachButton](https://getstream.io/chat/docs/sdk/reactnative/ui-components/attach-button/)\n */\n AttachButton: React.ComponentType<AttachButtonProps<StreamChatGenerics>>;\n\n clearEditingState: () => void;\n clearQuotedMessageState: () => void;\n /**\n * Custom UI component for commands button.\n *\n * Defaults to and accepts same props as: [CommandsButton](https://getstream.io/chat/docs/sdk/reactnative/ui-components/commands-button/)\n */\n CommandsButton: React.ComponentType<CommandsButtonProps<StreamChatGenerics>>;\n /**\n * Custom UI component to display the remaining cooldown a user will have to wait before\n * being allowed to send another message. This component is displayed in place of the\n * send button for the MessageInput component.\n *\n * **default** [CooldownTimer](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/MessageInput/CooldownTimer.tsx)\n */\n CooldownTimer: React.ComponentType<CooldownTimerProps>;\n editing: boolean | MessageType<StreamChatGenerics>;\n editMessage: StreamChat<StreamChatGenerics>['updateMessage'];\n\n /**\n * Custom UI component for FileUploadPreview.\n * Defaults to and accepts same props as: https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/MessageInput/FileUploadPreview.tsx\n */\n FileUploadPreview: React.ComponentType<FileUploadPreviewProps<StreamChatGenerics>>;\n\n /** When false, CommandsButton will be hidden */\n hasCommands: boolean;\n /** When false, FileSelectorIcon will be hidden */\n hasFilePicker: boolean;\n /** When false, ImageSelectorIcon will be hidden */\n hasImagePicker: boolean;\n /**\n * Custom UI component for ImageUploadPreview.\n * Defaults to and accepts same props as: https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/MessageInput/ImageUploadPreview.tsx\n */\n ImageUploadPreview: React.ComponentType<ImageUploadPreviewProps<StreamChatGenerics>>;\n InputEditingStateHeader: React.ComponentType<InputEditingStateHeaderProps<StreamChatGenerics>>;\n InputGiphySearch: React.ComponentType<InputGiphySearchProps<StreamChatGenerics>>;\n InputReplyStateHeader: React.ComponentType<InputReplyStateHeaderProps<StreamChatGenerics>>;\n /** Limit on allowed number of files to attach at a time. */\n maxNumberOfFiles: number;\n /**\n * Custom UI component for more options button.\n *\n * Defaults to and accepts same props as: [MoreOptionsButton](https://getstream.io/chat/docs/sdk/reactnative/ui-components/more-options-button/)\n */\n MoreOptionsButton: React.ComponentType<MoreOptionsButtonProps<StreamChatGenerics>>;\n /** Limit on the number of lines in the text input before scrolling */\n numberOfLines: number;\n quotedMessage: boolean | MessageType<StreamChatGenerics>;\n /**\n * Custom UI component for send button.\n *\n * Defaults to and accepts same props as: [SendButton](https://getstream.io/chat/docs/sdk/reactnative/ui-components/send-button/)\n */\n SendButton: React.ComponentType<SendButtonProps<StreamChatGenerics>>;\n sendImageAsync: boolean;\n sendMessage: (message: Partial<StreamMessage<StreamChatGenerics>>) => Promise<void>;\n setQuotedMessageState: (message: MessageType<StreamChatGenerics>) => void;\n /**\n * Custom UI component to render checkbox with text (\"Also send to channel\") in Thread's input box.\n * When ticked, message will also be sent in parent channel.\n */\n ShowThreadMessageInChannelButton: React.ComponentType<{\n threadList?: boolean;\n }>;\n /**\n * Custom UI component to render upload progress indicator on attachment preview.\n *\n * **Default** [UploadProgressIndicator](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/MessageInput/UploadProgressIndicator.tsx)\n */\n UploadProgressIndicator: React.ComponentType<UploadProgressIndicatorProps>;\n /**\n * Additional props for underlying TextInput component. These props will be forwarded as it is to TextInput component.\n *\n * @see See https://reactnative.dev/docs/textinput#reference\n */\n additionalTextInputProps?: TextInputProps;\n /** Max number of suggestions to display in autocomplete list. Defaults to 10. */\n autoCompleteSuggestionsLimit?: number;\n /**\n * Mapping of input triggers to the outputs to be displayed by the AutoCompleteInput\n */\n autoCompleteTriggerSettings?: (\n settings: ACITriggerSettingsParams<StreamChatGenerics>,\n ) => TriggerSettings<StreamChatGenerics>;\n /**\n * Compress image with quality (from 0 to 1, where 1 is best quality).\n * On iOS, values larger than 0.8 don't produce a noticeable quality increase in most images,\n * while a value of 0.8 will reduce the file size by about half or less compared to a value of 1.\n * Image picker defaults to 0.8 for iOS and 1 for Android\n */\n compressImageQuality?: number;\n /**\n * Override file upload request\n *\n * @param file File object - { uri: '', name: '' }\n * @param channel Current channel object\n *\n * @overrideType Function\n */\n doDocUploadRequest?: (\n file: File,\n channel: ChannelContextValue<StreamChatGenerics>['channel'],\n ) => Promise<SendFileAPIResponse>;\n /**\n * Override image upload request\n *\n * @param file File object - { uri: '' }\n * @param channel Current channel object\n *\n * @overrideType Function\n */\n doImageUploadRequest?: (\n file: {\n name?: string;\n uri?: string;\n },\n channel: ChannelContextValue<StreamChatGenerics>['channel'],\n ) => Promise<SendFileAPIResponse>;\n\n /** Initial value to set on input */\n initialValue?: string;\n /**\n * Custom UI component for AutoCompleteInput.\n * Has access to all of [MessageInputContext](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/contexts/messageInputContext/MessageInputContext.tsx)\n */\n Input?: React.ComponentType<\n Omit<MessageInputProps<StreamChatGenerics>, 'Input'> &\n InputButtonsProps<StreamChatGenerics> & {\n getUsers: () => UserResponse<StreamChatGenerics>[];\n }\n >;\n /**\n * Custom UI component to override buttons on left side of input box\n * Defaults to [InputButtons](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/MessageInput/InputButtons.tsx),\n * which contain following components/buttons:\n *\n * - AttachButton\n * - CommandsButtom\n *\n * You have access to following prop functions:\n *\n * - closeAttachmentPicker\n * - openAttachmentPicker\n * - openCommandsPicker\n * - toggleAttachmentPicker\n */\n InputButtons?: React.ComponentType<InputButtonsProps<StreamChatGenerics>>;\n maxMessageLength?: number;\n mentionAllAppUsersEnabled?: boolean;\n /** Object containing filters/sort/options overrides for an @mention user query */\n mentionAllAppUsersQuery?: MentionAllAppUsersQuery<StreamChatGenerics>;\n /**\n * Callback that is called when the text input's text changes. Changed text is passed as a single string argument to the callback handler.\n */\n onChangeText?: (newText: string) => void;\n SendMessageDisallowedIndicator?: React.ComponentType;\n /**\n * ref for input setter function\n *\n * @param ref [Ref object](https://reactjs.org/docs/refs-and-the-dom.html) for underling `TextInput` component.\n *\n * @overrideType Function\n */\n setInputRef?: (ref: TextInput | null) => void;\n};\n\nexport type MessageInputContextValue<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = LocalMessageInputContext<StreamChatGenerics> &\n Omit<InputMessageInputContextValue<StreamChatGenerics>, 'sendMessage'>;\n\nexport const MessageInputContext = React.createContext(\n DEFAULT_BASE_CONTEXT_VALUE as MessageInputContextValue,\n);\n\nexport const MessageInputProvider = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n children,\n value,\n}: PropsWithChildren<{\n value: InputMessageInputContextValue<StreamChatGenerics>;\n}>) => {\n const { closePicker, openPicker, selectedPicker, setSelectedPicker } =\n useAttachmentPickerContext();\n const { appSettings, client, enableOfflineSupport } = useChatContext<StreamChatGenerics>();\n\n const getFileUploadConfig = () => {\n const fileConfig = appSettings?.app?.file_upload_config;\n if (fileConfig !== null || fileConfig !== undefined) {\n return fileConfig;\n } else {\n return {};\n }\n };\n\n const blockedFileExtensionTypes = getFileUploadConfig()?.blocked_file_extensions;\n const blockedFileMimeTypes = getFileUploadConfig()?.blocked_mime_types;\n\n const getImageUploadConfig = () => {\n const imageConfig = appSettings?.app?.image_upload_config;\n if (imageConfig !== null || imageConfig !== undefined) {\n return imageConfig;\n }\n return {};\n };\n\n const blockedImageExtensionTypes = getImageUploadConfig()?.blocked_file_extensions;\n const blockedImageMimeTypes = getImageUploadConfig()?.blocked_mime_types;\n\n const channelCapabities = useOwnCapabilitiesContext();\n\n const { channel, giphyEnabled } = useChannelContext<StreamChatGenerics>();\n const { thread } = useThreadContext<StreamChatGenerics>();\n const { t } = useTranslationContext();\n const inputBoxRef = useRef<TextInput | null>(null);\n const sending = useRef(false);\n\n const [asyncIds, setAsyncIds] = useState<string[]>([]);\n const [asyncUploads, setAsyncUploads] = useState<{\n [key: string]: {\n state: string;\n url: string;\n };\n }>({});\n const [giphyActive, setGiphyActive] = useState(false);\n const [sendThreadMessageInChannel, setSendThreadMessageInChannel] = useState(false);\n const { editing, hasFilePicker, hasImagePicker, initialValue } = value;\n const {\n fileUploads,\n imageUploads,\n mentionedUsers,\n numberOfUploads,\n setFileUploads,\n setImageUploads,\n setMentionedUsers,\n setNumberOfUploads,\n setShowMoreOptions,\n setText,\n showMoreOptions,\n text,\n } = useMessageDetailsForState<StreamChatGenerics>(editing, initialValue);\n const { endsAt: cooldownEndsAt, start: startCooldown } = useCooldown<StreamChatGenerics>();\n\n const threadId = thread?.id;\n useEffect(() => {\n setSendThreadMessageInChannel(false);\n }, [threadId]);\n\n const appendText = (newText: string) => {\n setText((prevText) => `${prevText}${newText}`);\n };\n\n /** Checks if the message is valid or not. Accordingly we can enable/disable send button */\n const isValidMessage = () => {\n if (text && text.trim()) {\n return true;\n }\n\n const imagesAndFiles = [...imageUploads, ...fileUploads];\n if (imagesAndFiles.length === 0) return false;\n\n if (enableOfflineSupport) {\n // Allow only if none of the attachments have unsupported status\n for (const file of imagesAndFiles) {\n if (file.state === FileState.NOT_SUPPORTED) {\n return false;\n }\n }\n\n return true;\n }\n\n for (const file of imagesAndFiles) {\n if (!file || file.state === FileState.UPLOAD_FAILED) {\n continue;\n }\n if (file.state === FileState.UPLOADING) {\n // TODO: show error to user that they should wait until image is uploaded\n return false;\n }\n\n return true;\n }\n\n return false;\n };\n\n const onChange = (newText: string) => {\n if (sending.current) {\n return;\n }\n setText(newText);\n\n if (newText && channel && channelCapabities.sendTypingEvents) {\n logChatPromiseExecution(channel.keystroke(thread?.id), 'start typing event');\n }\n\n if (value.onChangeText) {\n value.onChangeText(newText);\n }\n };\n\n const openCommandsPicker = () => {\n appendText('/');\n if (inputBoxRef.current) {\n inputBoxRef.current.focus();\n }\n };\n\n const openMentionsPicker = () => {\n appendText('@');\n if (inputBoxRef.current) {\n inputBoxRef.current.focus();\n }\n };\n\n const openAttachmentPicker = () => {\n if (hasImagePicker) {\n Keyboard.dismiss();\n setSelectedPicker('images');\n openPicker();\n } else if (hasFilePicker) {\n pickFile();\n }\n };\n\n const closeAttachmentPicker = () => {\n setSelectedPicker(undefined);\n closePicker();\n };\n\n const toggleAttachmentPicker = () => {\n if (selectedPicker) {\n closeAttachmentPicker();\n } else {\n openAttachmentPicker();\n }\n };\n\n const onSelectItem = (item: UserResponse<StreamChatGenerics>) => {\n setMentionedUsers((prevMentionedUsers) => [...prevMentionedUsers, item.id]);\n };\n\n const pickFile = async () => {\n if (pickDocument === null) {\n console.log(\n 'The file picker is not installed. Check our Getting Started documentation to install it.',\n );\n return;\n }\n\n if (numberOfUploads >= value.maxNumberOfFiles) {\n Alert.alert('Maximum number of files reached');\n return;\n }\n\n const result = await pickDocument({\n maxNumberOfFiles: value.maxNumberOfFiles - numberOfUploads,\n });\n\n const MEGA_BYTES_TO_BYTES = 1024 * 1024;\n const MAX_FILE_SIZE_TO_UPLOAD_IN_MB = 100;\n\n if (!result.cancelled && result.docs) {\n const totalFileSize = result.docs.reduce((acc, doc) => acc + Number(doc.size), 0);\n if (totalFileSize / MEGA_BYTES_TO_BYTES > MAX_FILE_SIZE_TO_UPLOAD_IN_MB) {\n Alert.alert(\n `Maximum file size upload limit reached, please upload files below ${MAX_FILE_SIZE_TO_UPLOAD_IN_MB}MB.`,\n );\n } else {\n result.docs.forEach((doc) => {\n /**\n * TODO: The current tight coupling of images to the image\n * picker does not allow images picked from the file picker\n * to be rendered in a preview via the uploadNewImage call.\n * This should be updated alongside allowing image a file\n * uploads together.\n */\n uploadNewFile(doc);\n });\n }\n }\n };\n\n const removeFile = (id: string) => {\n if (fileUploads.some((file) => file.id === id)) {\n setFileUploads((prevFileUploads) => prevFileUploads.filter((file) => file.id !== id));\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads - 1);\n }\n };\n\n const removeImage = (id: string) => {\n if (imageUploads.some((image) => image.id === id)) {\n setImageUploads((prevImageUploads) => prevImageUploads.filter((image) => image.id !== id));\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads - 1);\n }\n };\n\n const resetInput = (pendingAttachments: Attachment<StreamChatGenerics>[] = []) => {\n setFileUploads([]);\n setGiphyActive(false);\n setShowMoreOptions(true);\n setImageUploads([]);\n setMentionedUsers([]);\n setNumberOfUploads(\n (prevNumberOfUploads) => prevNumberOfUploads - (pendingAttachments?.length || 0),\n );\n setText('');\n };\n\n const mapImageUploadToAttachment = (image: ImageUpload) => {\n const mime_type: string | boolean = lookup(image.file.filename as string);\n return {\n fallback: image.file.name,\n image_url: image.url,\n mime_type: mime_type ? mime_type : undefined,\n original_height: image.height,\n original_width: image.width,\n originalFile: image.file,\n type: 'image',\n } as Attachment;\n };\n\n const mapFileUploadToAttachment = (file: FileUpload) => {\n const mime_type: string | boolean = lookup(file.file.name as string);\n if (file.file.type?.startsWith('image/')) {\n return {\n fallback: file.file.name,\n image_url: file.url,\n mime_type: mime_type ? mime_type : undefined,\n originalFile: file.file,\n type: 'image',\n };\n } else if (file.file.type?.startsWith('audio/')) {\n return {\n asset_url: file.url || file.file.uri,\n duration: file.file.duration,\n file_size: file.file.size,\n mime_type: file.file.type,\n originalFile: file.file,\n title: file.file.name,\n type: 'audio',\n };\n } else if (file.file.type?.startsWith('video/')) {\n return {\n asset_url: file.url || file.file.uri,\n duration: file.file.duration,\n file_size: file.file.size,\n mime_type: file.file.type,\n originalFile: file.file,\n thumb_url: file.thumb_url,\n title: file.file.name,\n type: 'video',\n };\n } else {\n return {\n asset_url: file.url || file.file.uri,\n file_size: file.file.size,\n mime_type: file.file.type,\n originalFile: file.file,\n title: file.file.name,\n type: 'file',\n };\n }\n };\n\n // TODO: Figure out why this is async, as it doesn't await any promise.\n // eslint-disable-next-line require-await\n const sendMessage = async () => {\n if (sending.current) {\n return;\n }\n\n if (!channelCapabities.sendLinks && !!text.match(urlRegex)) {\n Alert.alert(t('Links are disabled'), t('Sending links is not allowed in this conversation'));\n\n return;\n }\n\n sending.current = true;\n\n startCooldown();\n\n const prevText = giphyEnabled && giphyActive ? `/giphy ${text}` : text;\n setText('');\n if (inputBoxRef.current) {\n inputBoxRef.current.clear();\n }\n\n const attachments = [] as Attachment<StreamChatGenerics>[];\n for (const image of imageUploads) {\n if (enableOfflineSupport) {\n if (image.state === FileState.NOT_SUPPORTED) {\n return;\n }\n attachments.push(mapImageUploadToAttachment(image));\n continue;\n }\n\n if ((!image || image.state === FileState.UPLOAD_FAILED) && !enableOfflineSupport) {\n continue;\n }\n\n if (image.state === FileState.UPLOADING) {\n // TODO: show error to user that they should wait until image is uploaded\n if (value.sendImageAsync) {\n /**\n * If user hit send before image uploaded, push ID into a queue to later\n * be matched with the successful CDN response\n */\n setAsyncIds((prevAsyncIds) => [...prevAsyncIds, image.id]);\n } else {\n sending.current = false;\n return setText(prevText);\n }\n }\n\n // To get the mime type of the image from the file name and send it as an response for an image\n if (image.state === FileState.UPLOADED || image.state === FileState.FINISHED) {\n attachments.push(mapImageUploadToAttachment(image));\n }\n }\n\n for (const file of fileUploads) {\n if (enableOfflineSupport) {\n if (file.state === FileState.NOT_SUPPORTED) {\n return;\n }\n attachments.push(mapFileUploadToAttachment(file));\n continue;\n }\n\n if (!file || file.state === FileState.UPLOAD_FAILED) {\n continue;\n }\n\n if (file.state === FileState.UPLOADING) {\n // TODO: show error to user that they should wait until image is uploaded\n sending.current = false;\n return;\n }\n\n if (file.state === FileState.UPLOADED || file.state === FileState.FINISHED) {\n attachments.push(mapFileUploadToAttachment(file));\n }\n }\n\n // Disallow sending message if its empty.\n if (!prevText && attachments.length === 0) {\n sending.current = false;\n return;\n }\n\n if (value.editing && !isEditingBoolean(value.editing)) {\n const updatedMessage = {\n ...value.editing,\n attachments,\n mentioned_users: mentionedUsers,\n quoted_message: undefined,\n text: prevText,\n } as Parameters<StreamChat<StreamChatGenerics>['updateMessage']>[0];\n\n // TODO: Remove this line and show an error when submit fails\n value.clearEditingState();\n\n const updateMessagePromise = value\n .editMessage(\n // @ts-ignore\n removeReservedFields(updatedMessage),\n )\n .then(value.clearEditingState);\n resetInput(attachments);\n logChatPromiseExecution(updateMessagePromise, 'update message');\n\n sending.current = false;\n } else {\n try {\n value.sendMessage({\n attachments,\n mentioned_users: uniq(mentionedUsers),\n /** Parent message id - in case of thread */\n parent_id: thread?.id,\n quoted_message_id:\n typeof value.quotedMessage === 'boolean' ? undefined : value.quotedMessage.id,\n show_in_channel: sendThreadMessageInChannel || undefined,\n text: prevText,\n } as unknown as StreamMessage<StreamChatGenerics>);\n\n value.clearQuotedMessageState();\n sending.current = false;\n resetInput(attachments);\n } catch (_error) {\n sending.current = false;\n if (value.quotedMessage && typeof value.quotedMessage !== 'boolean') {\n value.setQuotedMessageState(value.quotedMessage);\n }\n setText(prevText.slice(giphyEnabled && giphyActive ? 7 : 0)); // 7 because of '/giphy ' length\n console.log('Failed to send message');\n }\n }\n };\n\n const sendMessageAsync = (id: string) => {\n const image = asyncUploads[id];\n if (!image || image.state === FileState.UPLOAD_FAILED) {\n return;\n }\n\n if (image.state === FileState.UPLOADED || image.state === FileState.FINISHED) {\n const attachments = [\n {\n image_url: image.url,\n type: 'image',\n },\n ] as StreamMessage<StreamChatGenerics>['attachments'];\n\n startCooldown();\n try {\n value.sendMessage({\n attachments,\n mentioned_users: [],\n parent_id: thread?.id,\n quoted_message_id:\n typeof value.quotedMessage === 'boolean' ? undefined : value.quotedMessage.id,\n show_in_channel: sendThreadMessageInChannel || undefined,\n text: '',\n } as unknown as Partial<StreamMessage<StreamChatGenerics>>);\n\n setAsyncIds((prevAsyncIds) => prevAsyncIds.splice(prevAsyncIds.indexOf(id), 1));\n setAsyncUploads((prevAsyncUploads) => {\n delete prevAsyncUploads[id];\n return prevAsyncUploads;\n });\n\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads - 1);\n } catch (_error) {\n console.log('Failed');\n }\n }\n };\n\n const setInputBoxRef = (ref: TextInput | null) => {\n inputBoxRef.current = ref;\n if (value.setInputRef) {\n value.setInputRef(ref);\n }\n };\n\n const getTriggerSettings = () => {\n let triggerSettings: TriggerSettings<StreamChatGenerics> = {};\n if (channel) {\n if (value.autoCompleteTriggerSettings) {\n triggerSettings = value.autoCompleteTriggerSettings({\n channel,\n client,\n onMentionSelectItem: onSelectItem,\n });\n } else {\n triggerSettings = ACITriggerSettings<StreamChatGenerics>({\n channel,\n client,\n onMentionSelectItem: onSelectItem,\n });\n }\n }\n return triggerSettings;\n };\n\n const triggerSettings = getTriggerSettings();\n\n const updateMessage = async () => {\n try {\n if (!isEditingBoolean(value.editing)) {\n await client.updateMessage({\n ...value.editing,\n quoted_message: undefined,\n text: giphyEnabled && giphyActive ? `/giphy ${text}` : text,\n } as Parameters<StreamChat<StreamChatGenerics>['updateMessage']>[0]);\n }\n\n resetInput();\n value.clearEditingState();\n } catch (error) {\n console.log(error);\n }\n };\n\n const regExcondition = /File (extension \\.\\w{2,4}|type \\S+) is not supported/;\n\n const getUploadSetStateAction = <UploadType extends ImageUpload | FileUpload>(\n id: string,\n fileState: FileStateValue,\n extraData: Partial<UploadType> = {},\n ): React.SetStateAction<UploadType[]> => {\n const uploads: (prevUploads: UploadType[]) => UploadType[] = (prevUploads: UploadType[]) =>\n prevUploads.map((prevUpload) => {\n if (prevUpload.id === id) {\n return {\n ...prevUpload,\n ...extraData,\n state: fileState,\n };\n }\n return prevUpload;\n });\n\n return uploads;\n };\n\n const handleFileOrImageUploadError = (error: unknown, isImageError: boolean, id: string) => {\n if (isImageError) {\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads - 1);\n if (error instanceof Error) {\n if (regExcondition.test(error.message)) {\n return setImageUploads(getUploadSetStateAction(id, FileState.NOT_SUPPORTED));\n }\n\n return setImageUploads(getUploadSetStateAction(id, FileState.UPLOAD_FAILED));\n }\n } else {\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads - 1);\n\n if (error instanceof Error) {\n if (regExcondition.test(error.message)) {\n return setFileUploads(getUploadSetStateAction(id, FileState.NOT_SUPPORTED));\n }\n return setFileUploads(getUploadSetStateAction(id, FileState.UPLOAD_FAILED));\n }\n }\n };\n\n const uploadFile = async ({ newFile }: { newFile: FileUpload }) => {\n const { file, id } = newFile;\n\n setFileUploads(getUploadSetStateAction(id, FileState.UPLOADING));\n\n let response: Partial<SendFileAPIResponse> = {};\n try {\n if (value.doDocUploadRequest) {\n response = await value.doDocUploadRequest(file, channel);\n } else if (channel && file.uri) {\n // For the case of expo messaging app where you need to fetch the file uri from file id. Here it is only done for iOS since for android the file.uri is fine.\n const localAssetURI = Platform.OS === 'ios' && file.id && (await getLocalAssetUri(file.id));\n response = await channel.sendFile(localAssetURI || file.uri, file.name, file.type);\n }\n const extraData: Partial<FileUpload> = { thumb_url: response.thumb_url, url: response.file };\n setFileUploads(getUploadSetStateAction(id, FileState.UPLOADED, extraData));\n } catch (error: unknown) {\n handleFileOrImageUploadError(error, false, id);\n }\n };\n\n const uploadImage = async ({ newImage }: { newImage: ImageUpload }) => {\n const { file, id } = newImage || {};\n\n if (!file) {\n return;\n }\n\n let response = {} as SendFileAPIResponse;\n\n try {\n // For the case of expo messaging app where you need to fetch the file uri from file id. Here it is only done for iOS since for android the file.uri is fine.\n const localAssetURI = Platform.OS === 'ios' && file.id && (await getLocalAssetUri(file.id));\n const uri = localAssetURI || file.uri || '';\n /**\n * We skip compression if:\n * - the file is from the camera as that should already be compressed\n * - the file has not height/width value to maintain for compression\n * - the compressImageQuality number is not present or is 1 (meaning no compression)\n */\n const compressedUri = await (file.source === 'camera' ||\n !file.height ||\n !file.width ||\n typeof value.compressImageQuality !== 'number' ||\n value.compressImageQuality === 1\n ? uri\n : compressImage({\n compressImageQuality: value.compressImageQuality,\n height: file.height,\n uri,\n width: file.width,\n }));\n const filename = uri.replace(/^(file:\\/\\/|content:\\/\\/|assets-library:\\/\\/)/, '');\n const contentType = lookup(filename) || 'multipart/form-data';\n if (value.doImageUploadRequest) {\n response = await value.doImageUploadRequest(file, channel);\n } else if (compressedUri && channel) {\n if (value.sendImageAsync) {\n channel.sendImage(compressedUri, file.filename, contentType).then((res) => {\n if (asyncIds.includes(id)) {\n // Evaluates to true if user hit send before image successfully uploaded\n setAsyncUploads((prevAsyncUploads) => {\n prevAsyncUploads[id] = {\n ...prevAsyncUploads[id],\n state: FileState.UPLOADED,\n url: res.file,\n };\n return prevAsyncUploads;\n });\n } else {\n const newImageUploads = getUploadSetStateAction<ImageUpload>(id, FileState.UPLOADED, {\n url: res.file,\n });\n setImageUploads(newImageUploads);\n }\n });\n } else {\n response = await channel.sendImage(compressedUri, file.filename, contentType);\n }\n }\n\n if (Object.keys(response).length) {\n const newImageUploads = getUploadSetStateAction<ImageUpload>(id, FileState.UPLOADED, {\n height: file.height,\n url: response.file,\n width: file.width,\n });\n setImageUploads(newImageUploads);\n }\n } catch (error) {\n handleFileOrImageUploadError(error, true, id);\n }\n };\n\n const uploadNewFile = async (file: File) => {\n const id: string = generateRandomId();\n const mimeType: string | boolean = lookup(file.name);\n\n const isBlockedFileExtension: boolean | undefined = blockedFileExtensionTypes?.some(\n (fileExtensionType: string) => file.name?.includes(fileExtensionType),\n );\n const isBlockedFileMimeType: boolean | undefined = blockedFileMimeTypes?.some(\n (mimeType: string) => file.name?.includes(mimeType),\n );\n\n const fileState =\n isBlockedFileExtension || isBlockedFileMimeType\n ? FileState.NOT_SUPPORTED\n : FileState.UPLOADING;\n\n const newFile: FileUpload = {\n duration: 0,\n file: { ...file, type: mimeType || file?.type },\n id: file.id || id,\n paused: true,\n progress: 0,\n state: fileState,\n };\n\n await Promise.all([\n setFileUploads((prevFileUploads) => prevFileUploads.concat([newFile])),\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads + 1),\n ]);\n\n if (!isBlockedFileExtension) {\n uploadFile({ newFile });\n }\n };\n\n const uploadNewImage = async (image: Partial<Asset>) => {\n const id = generateRandomId();\n\n const isBlockedImageMimeType = blockedImageMimeTypes?.some((mimeType: string) =>\n image.uri?.includes(mimeType),\n );\n\n const isBlockedImageExtension = blockedImageExtensionTypes?.some((imageExtensionType: string) =>\n image.uri?.includes(imageExtensionType),\n );\n\n const imageState =\n isBlockedImageExtension || isBlockedImageMimeType\n ? FileState.NOT_SUPPORTED\n : FileState.UPLOADING;\n\n const newImage: ImageUpload = {\n file: image,\n height: image.height,\n id,\n state: imageState,\n url: image.uri,\n width: image.width,\n };\n\n await Promise.all([\n setImageUploads((prevImageUploads) => prevImageUploads.concat([newImage])),\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads + 1),\n ]);\n\n if (!isBlockedImageExtension) {\n uploadImage({ newImage });\n }\n };\n\n const messageInputContext = useCreateMessageInputContext({\n appendText,\n asyncIds,\n asyncUploads,\n closeAttachmentPicker,\n cooldownEndsAt,\n fileUploads,\n giphyActive,\n imageUploads,\n inputBoxRef,\n isValidMessage,\n mentionedUsers,\n numberOfUploads,\n onChange,\n onSelectItem,\n openAttachmentPicker,\n openCommandsPicker,\n openFilePicker: pickFile,\n openMentionsPicker,\n pickFile,\n removeFile,\n removeImage,\n resetInput,\n selectedPicker,\n sending,\n sendMessageAsync,\n sendThreadMessageInChannel,\n setAsyncIds,\n setAsyncUploads,\n setFileUploads,\n setGiphyActive,\n setImageUploads,\n setInputBoxRef,\n setMentionedUsers,\n setNumberOfUploads,\n setSendThreadMessageInChannel,\n setShowMoreOptions,\n setText,\n showMoreOptions,\n text,\n thread,\n toggleAttachmentPicker,\n triggerSettings,\n updateMessage,\n uploadFile,\n uploadImage,\n uploadNewFile,\n uploadNewImage,\n ...value,\n sendMessage, // overriding the originally passed in sendMessage\n });\n\n return (\n <MessageInputContext.Provider\n value={messageInputContext as unknown as MessageInputContextValue}\n >\n {children}\n </MessageInputContext.Provider>\n );\n};\n\nexport const useMessageInputContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>() => {\n const contextValue = useContext(\n MessageInputContext,\n ) as unknown as MessageInputContextValue<StreamChatGenerics>;\n\n if (contextValue === DEFAULT_BASE_CONTEXT_VALUE && !isTestEnvironment()) {\n throw new Error(\n `The useMessageInputContext hook was called outside of the MessageInputContext provider. Make sure you have configured Channel component correctly - https://getstream.io/chat/docs/sdk/reactnative/basics/hello_stream_chat/#channel`,\n );\n }\n\n return contextValue;\n};\n\n/**\n * Typescript currently does not support partial inference so if MessageInputContext\n * typing is desired while using the HOC withMessageInputContext the Props for the\n * wrapped component must be provided as the first generic.\n */\nexport const withMessageInputContext = <\n P extends UnknownType,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n Component: React.ComponentType<P>,\n): React.FC<Omit<P, keyof MessageInputContextValue<StreamChatGenerics>>> => {\n const WithMessageInputContextComponent = (\n props: Omit<P, keyof MessageInputContextValue<StreamChatGenerics>>,\n ) => {\n const messageInputContext = useMessageInputContext<StreamChatGenerics>();\n\n return <Component {...(props as P)} {...messageInputContext} />;\n };\n WithMessageInputContextComponent.displayName = `WithMessageInputContext${getDisplayName(\n Component,\n )}`;\n return WithMessageInputContextComponent;\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","useCreateMessageInputContext","_ref","additionalTextInputProps","appendText","asyncIds","asyncUploads","AttachButton","autoCompleteSuggestionsLimit","clearEditingState","clearQuotedMessageState","closeAttachmentPicker","CommandsButton","compressImageQuality","cooldownEndsAt","CooldownTimer","doDocUploadRequest","doImageUploadRequest","editing","editMessage","FileUploadPreview","fileUploads","giphyActive","hasCommands","hasFilePicker","hasImagePicker","ImageUploadPreview","imageUploads","initialValue","Input","inputBoxRef","InputButtons","InputEditingStateHeader","InputGiphySearch","InputReplyStateHeader","isValidMessage","maxMessageLength","maxNumberOfFiles","mentionAllAppUsersEnabled","mentionAllAppUsersQuery","mentionedUsers","MoreOptionsButton","numberOfLines","numberOfUploads","onChange","onChangeText","onSelectItem","openAttachmentPicker","openCommandsPicker","openFilePicker","openMentionsPicker","pickFile","quotedMessage","removeFile","removeImage","resetInput","selectedPicker","SendButton","sendImageAsync","sending","sendMessage","sendMessageAsync","SendMessageDisallowedIndicator","sendThreadMessageInChannel","setAsyncIds","setAsyncUploads","setFileUploads","setGiphyActive","setImageUploads","setInputBoxRef","setInputRef","setMentionedUsers","setNumberOfUploads","setQuotedMessageState","setSendThreadMessageInChannel","setShowMoreOptions","setText","showMoreOptions","ShowThreadMessageInChannelButton","text","thread","toggleAttachmentPicker","triggerSettings","updateMessage","uploadFile","uploadImage","uploadNewFile","uploadNewImage","UploadProgressIndicator","editingExists","fileUploadsValue","map","_ref2","duration","paused","progress","state","join","imageUploadsValue","_ref3","mentionedUsersLength","length","quotedMessageId","id","threadId","messageInputContext","useMemo","exports"],"sources":["useCreateMessageInputContext.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport type { ThreadContextValue } from '../../threadContext/ThreadContext';\nimport type { MessageInputContextValue } from '../MessageInputContext';\n\nexport const useCreateMessageInputContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n additionalTextInputProps,\n appendText,\n asyncIds,\n asyncUploads,\n AttachButton,\n autoCompleteSuggestionsLimit,\n clearEditingState,\n clearQuotedMessageState,\n closeAttachmentPicker,\n CommandsButton,\n compressImageQuality,\n cooldownEndsAt,\n CooldownTimer,\n doDocUploadRequest,\n doImageUploadRequest,\n editing,\n editMessage,\n FileUploadPreview,\n fileUploads,\n giphyActive,\n hasCommands,\n hasFilePicker,\n hasImagePicker,\n ImageUploadPreview,\n imageUploads,\n initialValue,\n Input,\n inputBoxRef,\n InputButtons,\n InputEditingStateHeader,\n InputGiphySearch,\n InputReplyStateHeader,\n isValidMessage,\n maxMessageLength,\n maxNumberOfFiles,\n mentionAllAppUsersEnabled,\n mentionAllAppUsersQuery,\n mentionedUsers,\n MoreOptionsButton,\n numberOfLines,\n numberOfUploads,\n onChange,\n onChangeText,\n onSelectItem,\n openAttachmentPicker,\n openCommandsPicker,\n openFilePicker,\n openMentionsPicker,\n pickFile,\n quotedMessage,\n removeFile,\n removeImage,\n resetInput,\n selectedPicker,\n SendButton,\n sendImageAsync,\n sending,\n sendMessage,\n sendMessageAsync,\n SendMessageDisallowedIndicator,\n sendThreadMessageInChannel,\n setAsyncIds,\n setAsyncUploads,\n setFileUploads,\n setGiphyActive,\n setImageUploads,\n setInputBoxRef,\n setInputRef,\n setMentionedUsers,\n setNumberOfUploads,\n setQuotedMessageState,\n setSendThreadMessageInChannel,\n setShowMoreOptions,\n setText,\n showMoreOptions,\n ShowThreadMessageInChannelButton,\n text,\n thread,\n toggleAttachmentPicker,\n triggerSettings,\n updateMessage,\n uploadFile,\n uploadImage,\n uploadNewFile,\n uploadNewImage,\n UploadProgressIndicator,\n}: MessageInputContextValue<StreamChatGenerics> &\n Pick<ThreadContextValue<StreamChatGenerics>, 'thread'>) => {\n const editingExists = !!editing;\n const fileUploadsValue = fileUploads\n .map(({ duration, paused, progress, state }) => `${state},${paused},${progress},${duration}`)\n .join();\n const imageUploadsValue = imageUploads.map(({ state }) => state).join();\n const mentionedUsersLength = mentionedUsers.length;\n const quotedMessageId = quotedMessage\n ? typeof quotedMessage === 'boolean'\n ? ''\n : quotedMessage.id\n : '';\n const threadId = thread?.id;\n\n const messageInputContext: MessageInputContextValue<StreamChatGenerics> = useMemo(\n () => ({\n additionalTextInputProps,\n appendText,\n asyncIds,\n asyncUploads,\n AttachButton,\n autoCompleteSuggestionsLimit,\n clearEditingState,\n clearQuotedMessageState,\n closeAttachmentPicker,\n CommandsButton,\n compressImageQuality,\n cooldownEndsAt,\n CooldownTimer,\n doDocUploadRequest,\n doImageUploadRequest,\n editing,\n editMessage,\n FileUploadPreview,\n fileUploads,\n giphyActive,\n hasCommands,\n hasFilePicker,\n hasImagePicker,\n ImageUploadPreview,\n imageUploads,\n initialValue,\n Input,\n inputBoxRef,\n InputButtons,\n InputEditingStateHeader,\n InputGiphySearch,\n InputReplyStateHeader,\n isValidMessage,\n maxMessageLength,\n maxNumberOfFiles,\n mentionAllAppUsersEnabled,\n mentionAllAppUsersQuery,\n mentionedUsers,\n MoreOptionsButton,\n numberOfLines,\n numberOfUploads,\n onChange,\n onChangeText,\n onSelectItem,\n openAttachmentPicker,\n openCommandsPicker,\n openFilePicker,\n openMentionsPicker,\n pickFile,\n quotedMessage,\n removeFile,\n removeImage,\n resetInput,\n selectedPicker,\n SendButton,\n sendImageAsync,\n sending,\n sendMessage,\n sendMessageAsync,\n SendMessageDisallowedIndicator,\n sendThreadMessageInChannel,\n setAsyncIds,\n setAsyncUploads,\n setFileUploads,\n setGiphyActive,\n setImageUploads,\n setInputBoxRef,\n setInputRef,\n setMentionedUsers,\n setNumberOfUploads,\n setQuotedMessageState,\n setSendThreadMessageInChannel,\n setShowMoreOptions,\n setText,\n showMoreOptions,\n ShowThreadMessageInChannelButton,\n text,\n toggleAttachmentPicker,\n triggerSettings,\n updateMessage,\n uploadFile,\n uploadImage,\n uploadNewFile,\n uploadNewImage,\n UploadProgressIndicator,\n }),\n [\n cooldownEndsAt,\n editingExists,\n fileUploadsValue,\n giphyActive,\n imageUploadsValue,\n maxMessageLength,\n mentionedUsersLength,\n quotedMessageId,\n selectedPicker,\n sendThreadMessageInChannel,\n showMoreOptions,\n text,\n threadId,\n ],\n );\n\n return messageInputContext;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","require","useCreateMessageInputContext","_ref","additionalTextInputProps","appendText","asyncIds","asyncUploads","AttachButton","autoCompleteSuggestionsLimit","clearEditingState","clearQuotedMessageState","closeAttachmentPicker","CommandsButton","compressImageQuality","cooldownEndsAt","CooldownTimer","doDocUploadRequest","doImageUploadRequest","editing","editMessage","FileUploadPreview","fileUploads","giphyActive","hasCommands","hasFilePicker","hasImagePicker","ImageUploadPreview","imageUploads","initialValue","Input","inputBoxRef","InputButtons","InputEditingStateHeader","InputGiphySearch","InputReplyStateHeader","isValidMessage","maxMessageLength","maxNumberOfFiles","mentionAllAppUsersEnabled","mentionAllAppUsersQuery","mentionedUsers","MoreOptionsButton","numberOfLines","numberOfUploads","onChange","onChangeText","onSelectItem","openAttachmentPicker","openCommandsPicker","openFilePicker","openMentionsPicker","pickFile","quotedMessage","removeFile","removeImage","resetInput","selectedPicker","SendButton","sendImageAsync","sending","sendMessage","sendMessageAsync","SendMessageDisallowedIndicator","sendThreadMessageInChannel","setAsyncIds","setAsyncUploads","setFileUploads","setGiphyActive","setImageUploads","setInputBoxRef","setInputRef","setMentionedUsers","setNumberOfUploads","setQuotedMessageState","setSendThreadMessageInChannel","setShowMoreOptions","setText","showMoreOptions","ShowThreadMessageInChannelButton","text","thread","toggleAttachmentPicker","triggerSettings","updateMessage","uploadFile","uploadImage","uploadNewFile","uploadNewImage","UploadProgressIndicator","editingExists","fileUploadsValue","map","_ref2","duration","paused","progress","state","join","imageUploadsValue","_ref3","mentionedUsersLength","length","quotedMessageId","id","threadId","messageInputContext","useMemo","exports"],"sources":["useCreateMessageInputContext.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport type { ThreadContextValue } from '../../threadContext/ThreadContext';\nimport type { MessageInputContextValue } from '../MessageInputContext';\n\nexport const useCreateMessageInputContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n additionalTextInputProps,\n appendText,\n asyncIds,\n asyncUploads,\n AttachButton,\n autoCompleteSuggestionsLimit,\n clearEditingState,\n clearQuotedMessageState,\n closeAttachmentPicker,\n CommandsButton,\n compressImageQuality,\n cooldownEndsAt,\n CooldownTimer,\n doDocUploadRequest,\n doImageUploadRequest,\n editing,\n editMessage,\n FileUploadPreview,\n fileUploads,\n giphyActive,\n hasCommands,\n hasFilePicker,\n hasImagePicker,\n ImageUploadPreview,\n imageUploads,\n initialValue,\n Input,\n inputBoxRef,\n InputButtons,\n InputEditingStateHeader,\n InputGiphySearch,\n InputReplyStateHeader,\n isValidMessage,\n maxMessageLength,\n maxNumberOfFiles,\n mentionAllAppUsersEnabled,\n mentionAllAppUsersQuery,\n mentionedUsers,\n MoreOptionsButton,\n numberOfLines,\n numberOfUploads,\n onChange,\n onChangeText,\n onSelectItem,\n openAttachmentPicker,\n openCommandsPicker,\n openFilePicker,\n openMentionsPicker,\n pickFile,\n quotedMessage,\n removeFile,\n removeImage,\n resetInput,\n selectedPicker,\n SendButton,\n sendImageAsync,\n sending,\n sendMessage,\n sendMessageAsync,\n SendMessageDisallowedIndicator,\n sendThreadMessageInChannel,\n setAsyncIds,\n setAsyncUploads,\n setFileUploads,\n setGiphyActive,\n setImageUploads,\n setInputBoxRef,\n setInputRef,\n setMentionedUsers,\n setNumberOfUploads,\n setQuotedMessageState,\n setSendThreadMessageInChannel,\n setShowMoreOptions,\n setText,\n showMoreOptions,\n ShowThreadMessageInChannelButton,\n text,\n thread,\n toggleAttachmentPicker,\n triggerSettings,\n updateMessage,\n uploadFile,\n uploadImage,\n uploadNewFile,\n uploadNewImage,\n UploadProgressIndicator,\n}: MessageInputContextValue<StreamChatGenerics> &\n Pick<ThreadContextValue<StreamChatGenerics>, 'thread'>) => {\n const editingExists = !!editing;\n const fileUploadsValue = fileUploads\n .map(({ duration, paused, progress, state }) => `${state},${paused},${progress},${duration}`)\n .join();\n const imageUploadsValue = imageUploads.map(({ state }) => state).join();\n const mentionedUsersLength = mentionedUsers.length;\n const quotedMessageId = quotedMessage\n ? typeof quotedMessage === 'boolean'\n ? ''\n : quotedMessage.id\n : '';\n const threadId = thread?.id;\n\n const messageInputContext: MessageInputContextValue<StreamChatGenerics> = useMemo(\n () => ({\n additionalTextInputProps,\n appendText,\n asyncIds,\n asyncUploads,\n AttachButton,\n autoCompleteSuggestionsLimit,\n clearEditingState,\n clearQuotedMessageState,\n closeAttachmentPicker,\n CommandsButton,\n compressImageQuality,\n cooldownEndsAt,\n CooldownTimer,\n doDocUploadRequest,\n doImageUploadRequest,\n editing,\n editMessage,\n FileUploadPreview,\n fileUploads,\n giphyActive,\n hasCommands,\n hasFilePicker,\n hasImagePicker,\n ImageUploadPreview,\n imageUploads,\n initialValue,\n Input,\n inputBoxRef,\n InputButtons,\n InputEditingStateHeader,\n InputGiphySearch,\n InputReplyStateHeader,\n isValidMessage,\n maxMessageLength,\n maxNumberOfFiles,\n mentionAllAppUsersEnabled,\n mentionAllAppUsersQuery,\n mentionedUsers,\n MoreOptionsButton,\n numberOfLines,\n numberOfUploads,\n onChange,\n onChangeText,\n onSelectItem,\n openAttachmentPicker,\n openCommandsPicker,\n openFilePicker,\n openMentionsPicker,\n pickFile,\n quotedMessage,\n removeFile,\n removeImage,\n resetInput,\n selectedPicker,\n SendButton,\n sendImageAsync,\n sending,\n sendMessage,\n sendMessageAsync,\n SendMessageDisallowedIndicator,\n sendThreadMessageInChannel,\n setAsyncIds,\n setAsyncUploads,\n setFileUploads,\n setGiphyActive,\n setImageUploads,\n setInputBoxRef,\n setInputRef,\n setMentionedUsers,\n setNumberOfUploads,\n setQuotedMessageState,\n setSendThreadMessageInChannel,\n setShowMoreOptions,\n setText,\n showMoreOptions,\n ShowThreadMessageInChannelButton,\n text,\n toggleAttachmentPicker,\n triggerSettings,\n updateMessage,\n uploadFile,\n uploadImage,\n uploadNewFile,\n uploadNewImage,\n UploadProgressIndicator,\n }),\n [\n cooldownEndsAt,\n editingExists,\n fileUploadsValue,\n giphyActive,\n imageUploadsValue,\n maxMessageLength,\n mentionedUsersLength,\n quotedMessageId,\n selectedPicker,\n sendThreadMessageInChannel,\n showMoreOptions,\n text,\n threadId,\n ],\n );\n\n return messageInputContext;\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_utils","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","call","next","bind","Array","isArray","_unsupportedIterableToArray","length","i","done","value","TypeError","minLen","_arrayLikeToArray","n","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","isEditingBoolean","editing","exports","useMessageDetailsForState","message","initialValue","_useState","useState","_useState2","_slicedToArray2","fileUploads","setFileUploads","_useState3","_useState4","imageUploads","setImageUploads","_useState5","_useState6","mentionedUsers","setMentionedUsers","_useState7","_useState8","numberOfUploads","setNumberOfUploads","_useState9","_useState10","showMoreOptions","setShowMoreOptions","initialTextValue","_useState11","_useState12","text","setText","useEffect","messageValue","id","updated_at","mentioned_users","map","user","newFileUploads","newImageUploads","attachments","_iterator","_step","attachment","type","generateRandomId","push","file","title","size","file_size","mime_type","state","url","asset_url","fallback","image_url","thumb_url"],"sources":["useMessageDetailsForState.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { generateRandomId } from '../../../utils/utils';\n\nimport type { FileUpload, ImageUpload, MessageInputContextValue } from '../MessageInputContext';\n\nexport const isEditingBoolean = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n editing: MessageInputContextValue<StreamChatGenerics>['editing'],\n): editing is boolean => typeof editing === 'boolean';\n\nexport const useMessageDetailsForState = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n message: MessageInputContextValue<StreamChatGenerics>['editing'],\n initialValue?: string,\n) => {\n const [fileUploads, setFileUploads] = useState<FileUpload[]>([]);\n const [imageUploads, setImageUploads] = useState<ImageUpload[]>([]);\n const [mentionedUsers, setMentionedUsers] = useState<string[]>([]);\n const [numberOfUploads, setNumberOfUploads] = useState(0);\n const [showMoreOptions, setShowMoreOptions] = useState(true);\n const initialTextValue = initialValue || '';\n const [text, setText] = useState(initialTextValue);\n\n useEffect(() => {\n if (text !== initialTextValue) {\n setShowMoreOptions(false);\n }\n }, [text]);\n\n const messageValue =\n typeof message === 'boolean' ? '' : `${message.id}${message.text}${message.updated_at}`;\n\n useEffect(() => {\n if (!isEditingBoolean<StreamChatGenerics>(message) && Array.isArray(message?.mentioned_users)) {\n const mentionedUsers = message.mentioned_users.map((user) => user.id);\n setMentionedUsers(mentionedUsers);\n }\n }, [messageValue]);\n\n useEffect(() => {\n if (message && !isEditingBoolean<StreamChatGenerics>(message)) {\n setText(message?.text || '');\n const newFileUploads: FileUpload[] = [];\n const newImageUploads: ImageUpload[] = [];\n\n const attachments = Array.isArray(message.attachments) ? message.attachments : [];\n\n for (const attachment of attachments) {\n if (attachment.type === 'file') {\n const id = generateRandomId();\n newFileUploads.push({\n file: {\n name: attachment.title || '',\n size: attachment.file_size,\n type: attachment.mime_type,\n },\n id,\n state: 'finished',\n url: attachment.asset_url,\n });\n } else if (attachment.type === 'image') {\n const id = generateRandomId();\n newImageUploads.push({\n file: {\n name: attachment.fallback,\n size: attachment.file_size,\n type: attachment.type,\n },\n id,\n state: 'finished',\n url: attachment.image_url || attachment.asset_url || attachment.thumb_url,\n });\n } else if (attachment.type === 'video') {\n const id = generateRandomId();\n newFileUploads.push({\n file: {\n name: attachment.title || '',\n size: attachment.file_size,\n type: attachment.mime_type,\n },\n id,\n state: 'finished',\n thumb_url: attachment.thumb_url,\n url: attachment.asset_url,\n });\n }\n }\n if (newFileUploads.length) {\n setFileUploads(newFileUploads);\n }\n if (newImageUploads.length) {\n setImageUploads(newImageUploads);\n }\n }\n }, [messageValue]);\n\n return {\n fileUploads,\n imageUploads,\n mentionedUsers,\n numberOfUploads,\n setFileUploads,\n setImageUploads,\n setMentionedUsers,\n setNumberOfUploads,\n setShowMoreOptions,\n setText,\n showMoreOptions,\n text,\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","require","_utils","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","call","next","bind","Array","isArray","_unsupportedIterableToArray","length","i","done","value","TypeError","minLen","_arrayLikeToArray","n","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","isEditingBoolean","editing","exports","useMessageDetailsForState","message","initialValue","_useState","useState","_useState2","_slicedToArray2","fileUploads","setFileUploads","_useState3","_useState4","imageUploads","setImageUploads","_useState5","_useState6","mentionedUsers","setMentionedUsers","_useState7","_useState8","numberOfUploads","setNumberOfUploads","_useState9","_useState10","showMoreOptions","setShowMoreOptions","initialTextValue","_useState11","_useState12","text","setText","useEffect","messageValue","id","updated_at","mentioned_users","map","user","newFileUploads","newImageUploads","attachments","_iterator","_step","attachment","type","generateRandomId","push","file","title","size","file_size","mime_type","state","url","asset_url","fallback","image_url","thumb_url"],"sources":["useMessageDetailsForState.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { generateRandomId } from '../../../utils/utils';\n\nimport type { FileUpload, ImageUpload, MessageInputContextValue } from '../MessageInputContext';\n\nexport const isEditingBoolean = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n editing: MessageInputContextValue<StreamChatGenerics>['editing'],\n): editing is boolean => typeof editing === 'boolean';\n\nexport const useMessageDetailsForState = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n message: MessageInputContextValue<StreamChatGenerics>['editing'],\n initialValue?: string,\n) => {\n const [fileUploads, setFileUploads] = useState<FileUpload[]>([]);\n const [imageUploads, setImageUploads] = useState<ImageUpload[]>([]);\n const [mentionedUsers, setMentionedUsers] = useState<string[]>([]);\n const [numberOfUploads, setNumberOfUploads] = useState(0);\n const [showMoreOptions, setShowMoreOptions] = useState(true);\n const initialTextValue = initialValue || '';\n const [text, setText] = useState(initialTextValue);\n\n useEffect(() => {\n if (text !== initialTextValue) {\n setShowMoreOptions(false);\n }\n }, [text]);\n\n const messageValue =\n typeof message === 'boolean' ? '' : `${message.id}${message.text}${message.updated_at}`;\n\n useEffect(() => {\n if (!isEditingBoolean<StreamChatGenerics>(message) && Array.isArray(message?.mentioned_users)) {\n const mentionedUsers = message.mentioned_users.map((user) => user.id);\n setMentionedUsers(mentionedUsers);\n }\n }, [messageValue]);\n\n useEffect(() => {\n if (message && !isEditingBoolean<StreamChatGenerics>(message)) {\n setText(message?.text || '');\n const newFileUploads: FileUpload[] = [];\n const newImageUploads: ImageUpload[] = [];\n\n const attachments = Array.isArray(message.attachments) ? message.attachments : [];\n\n for (const attachment of attachments) {\n if (attachment.type === 'file') {\n const id = generateRandomId();\n newFileUploads.push({\n file: {\n name: attachment.title || '',\n size: attachment.file_size,\n type: attachment.mime_type,\n },\n id,\n state: 'finished',\n url: attachment.asset_url,\n });\n } else if (attachment.type === 'image') {\n const id = generateRandomId();\n newImageUploads.push({\n file: {\n name: attachment.fallback,\n size: attachment.file_size,\n type: attachment.type,\n },\n id,\n state: 'finished',\n url: attachment.image_url || attachment.asset_url || attachment.thumb_url,\n });\n } else if (attachment.type === 'video') {\n const id = generateRandomId();\n newFileUploads.push({\n file: {\n name: attachment.title || '',\n size: attachment.file_size,\n type: attachment.mime_type,\n },\n id,\n state: 'finished',\n thumb_url: attachment.thumb_url,\n url: attachment.asset_url,\n });\n }\n }\n if (newFileUploads.length) {\n setFileUploads(newFileUploads);\n }\n if (newImageUploads.length) {\n setImageUploads(newImageUploads);\n }\n }\n }, [messageValue]);\n\n return {\n fileUploads,\n imageUploads,\n mentionedUsers,\n numberOfUploads,\n setFileUploads,\n setImageUploads,\n setMentionedUsers,\n setNumberOfUploads,\n setShowMoreOptions,\n setText,\n showMoreOptions,\n text,\n };\n};\n"],"mappings":"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"}