stream-chat-react-native-core 4.0.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1523) hide show
  1. package/README.md +1 -13
  2. package/lib/commonjs/components/Attachment/Attachment.js +17 -16
  3. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  4. package/lib/commonjs/components/Attachment/AttachmentActions.js +5 -5
  5. package/lib/commonjs/components/Attachment/AttachmentActions.js.map +1 -1
  6. package/lib/commonjs/components/Attachment/Card.js +19 -16
  7. package/lib/commonjs/components/Attachment/Card.js.map +1 -1
  8. package/lib/commonjs/components/Attachment/FileAttachment.js +9 -9
  9. package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
  10. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +5 -5
  11. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js.map +1 -1
  12. package/lib/commonjs/components/Attachment/FileIcon.js +1 -1
  13. package/lib/commonjs/components/Attachment/FileIcon.js.map +1 -1
  14. package/lib/commonjs/components/Attachment/Gallery.js +124 -122
  15. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  16. package/lib/commonjs/components/Attachment/Giphy.js +113 -149
  17. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  18. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js +46 -0
  19. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
  20. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
  21. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
  22. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
  23. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
  24. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
  25. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
  26. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
  27. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
  28. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
  29. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
  30. package/lib/commonjs/components/Attachment/utils/buildGallery/types.js +4 -0
  31. package/lib/commonjs/{styleguideComponents/Reanimated.js.map → components/Attachment/utils/buildGallery/types.js.map} +0 -0
  32. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js +14 -0
  33. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -0
  34. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
  35. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
  36. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +10 -9
  37. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  38. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +1 -1
  39. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerError.js +1 -1
  40. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +1 -1
  41. package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js +12 -9
  42. package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
  43. package/lib/commonjs/components/AttachmentPicker/components/CameraSelectorIcon.js +1 -1
  44. package/lib/commonjs/components/AttachmentPicker/components/FileSelectorIcon.js +1 -1
  45. package/lib/commonjs/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +1 -1
  46. package/lib/commonjs/components/AttachmentPicker/components/ImageSelectorIcon.js +1 -1
  47. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +25 -49
  48. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  49. package/lib/commonjs/components/AutoCompleteInput/{CommandsItem.js → AutoCompleteSuggestionCommandIcon.js} +21 -94
  50. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -0
  51. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +145 -0
  52. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -0
  53. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +248 -0
  54. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -0
  55. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +223 -0
  56. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -0
  57. package/lib/commonjs/components/Avatar/Avatar.js +14 -8
  58. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  59. package/lib/commonjs/components/Avatar/GroupAvatar.js +11 -9
  60. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  61. package/lib/commonjs/components/Channel/Channel.js +304 -203
  62. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  63. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +7 -5
  64. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  65. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js +7 -5
  66. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  67. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +13 -31
  68. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  69. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +35 -0
  70. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -0
  71. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  72. package/lib/commonjs/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  73. package/lib/commonjs/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
  74. package/lib/commonjs/components/ChannelList/ChannelList.js +7 -7
  75. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  76. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +6 -5
  77. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  78. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +7 -8
  79. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  80. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +5 -4
  81. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  82. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js +8 -5
  83. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
  84. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +18 -18
  85. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  86. package/lib/commonjs/components/ChannelList/Skeleton.js +15 -14
  87. package/lib/commonjs/components/ChannelList/Skeleton.js.map +1 -1
  88. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  89. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  90. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  91. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  92. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  93. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  94. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  95. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  96. package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js +3 -1
  97. package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +1 -1
  98. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  99. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  100. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
  101. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  102. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  103. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  104. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js +2 -2
  105. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  106. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +96 -63
  107. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  108. package/lib/commonjs/components/ChannelList/utils.js +1 -1
  109. package/lib/commonjs/components/ChannelList/utils.js.map +1 -1
  110. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +3 -3
  111. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  112. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +5 -5
  113. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  114. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +6 -6
  115. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  116. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +50 -21
  117. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  118. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
  119. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
  120. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +5 -5
  121. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  122. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js +2 -2
  123. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  124. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +3 -3
  125. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  126. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js +16 -7
  127. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  128. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  129. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  130. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js +2 -1
  131. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  132. package/lib/commonjs/components/Chat/Chat.js +9 -5
  133. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  134. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  135. package/lib/commonjs/components/Chat/hooks/useIsOnline.js +40 -31
  136. package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
  137. package/lib/commonjs/components/Chat/hooks/useMutedUsers.js.map +1 -1
  138. package/lib/commonjs/components/ImageGallery/ImageGallery.js +91 -59
  139. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  140. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +3 -3
  141. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  142. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +13 -13
  143. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  144. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +32 -17
  145. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  146. package/lib/commonjs/components/ImageGallery/components/ImageGalleryOverlay.js +1 -1
  147. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +8 -8
  148. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  149. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +6 -6
  150. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  151. package/lib/commonjs/components/Indicators/EmptyStateIndicator.js +1 -1
  152. package/lib/commonjs/components/Indicators/LoadingDot.js +1 -1
  153. package/lib/commonjs/components/Indicators/LoadingDots.js +1 -1
  154. package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js +1 -1
  155. package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  156. package/lib/commonjs/components/Indicators/LoadingIndicator.js +10 -10
  157. package/lib/commonjs/components/Indicators/LoadingIndicator.js.map +1 -1
  158. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js +21 -13
  159. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
  160. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +1 -1
  161. package/lib/commonjs/components/Message/Message.js +153 -855
  162. package/lib/commonjs/components/Message/Message.js.map +1 -1
  163. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +7 -7
  164. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  165. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +42 -40
  166. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  167. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +9 -7
  168. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  169. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +35 -23
  170. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  171. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +122 -0
  172. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -0
  173. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +27 -11
  174. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  175. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +6 -6
  176. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  177. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +32 -15
  178. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  179. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +29 -25
  180. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  181. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +8 -4
  182. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  183. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +87 -114
  184. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +1 -1
  185. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js +89 -0
  186. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
  187. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
  188. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
  189. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +208 -27
  190. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  191. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js +240 -0
  192. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js.map +1 -0
  193. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +1 -5
  194. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  195. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js +307 -0
  196. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -0
  197. package/lib/commonjs/components/Message/hooks/useMessageActions.js +563 -0
  198. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -0
  199. package/lib/commonjs/components/Message/utils/messageActions.js +17 -15
  200. package/lib/commonjs/components/Message/utils/messageActions.js.map +1 -1
  201. package/lib/commonjs/components/Message/utils/removeReservedFields.js.map +1 -1
  202. package/lib/commonjs/components/MessageInput/AttachButton.js +7 -5
  203. package/lib/commonjs/components/MessageInput/AttachButton.js.map +1 -1
  204. package/lib/commonjs/components/MessageInput/CommandsButton.js +4 -4
  205. package/lib/commonjs/components/MessageInput/CommandsButton.js.map +1 -1
  206. package/lib/commonjs/components/MessageInput/CooldownTimer.js +78 -0
  207. package/lib/commonjs/components/MessageInput/CooldownTimer.js.map +1 -0
  208. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +33 -28
  209. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  210. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +10 -10
  211. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
  212. package/lib/commonjs/components/MessageInput/InputButtons.js +18 -23
  213. package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
  214. package/lib/commonjs/components/MessageInput/MessageInput.js +94 -66
  215. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  216. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +4 -4
  217. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js.map +1 -1
  218. package/lib/commonjs/components/MessageInput/SendButton.js +9 -7
  219. package/lib/commonjs/components/MessageInput/SendButton.js.map +1 -1
  220. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +71 -0
  221. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -0
  222. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +12 -11
  223. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  224. package/lib/commonjs/components/MessageInput/UploadProgressIndicator.js +1 -1
  225. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js +63 -0
  226. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -0
  227. package/lib/commonjs/components/MessageInput/hooks/useCountdown.js +57 -0
  228. package/lib/commonjs/components/MessageInput/hooks/useCountdown.js.map +1 -0
  229. package/lib/commonjs/components/MessageList/DateHeader.js +3 -3
  230. package/lib/commonjs/components/MessageList/DateHeader.js.map +1 -1
  231. package/lib/commonjs/components/MessageList/InlineDateSeparator.js +5 -4
  232. package/lib/commonjs/components/MessageList/InlineDateSeparator.js.map +1 -1
  233. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +5 -5
  234. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  235. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +5 -5
  236. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  237. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +5 -5
  238. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
  239. package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js +1 -1
  240. package/lib/commonjs/components/MessageList/MessageList.js +101 -62
  241. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  242. package/lib/commonjs/components/MessageList/MessageSystem.js +7 -7
  243. package/lib/commonjs/components/MessageList/MessageSystem.js.map +1 -1
  244. package/lib/commonjs/components/MessageList/NetworkDownIndicator.js +1 -1
  245. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js +8 -6
  246. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js.map +1 -1
  247. package/lib/commonjs/components/MessageList/TypingIndicator.js +6 -6
  248. package/lib/commonjs/components/MessageList/TypingIndicator.js.map +1 -1
  249. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js +3 -3
  250. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  251. package/lib/commonjs/components/MessageList/hooks/useMessageList.js +24 -11
  252. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  253. package/lib/commonjs/components/MessageList/hooks/useTypingString.js +2 -2
  254. package/lib/commonjs/components/MessageList/hooks/useTypingString.js.map +1 -1
  255. package/lib/commonjs/components/MessageList/utils/filterTypingUsers.js.map +1 -1
  256. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js +2 -1
  257. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js.map +1 -1
  258. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js +11 -10
  259. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
  260. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js +3 -1
  261. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  262. package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +1 -1
  263. package/lib/{module/components/MessageOverlay/MessageActions.js → commonjs/components/MessageOverlay/MessageActionList.js} +33 -85
  264. package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -0
  265. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +131 -0
  266. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -0
  267. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +100 -85
  268. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  269. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +38 -0
  270. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js.map +1 -0
  271. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +18 -19
  272. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  273. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +32 -35
  274. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
  275. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
  276. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
  277. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js +37 -0
  278. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -0
  279. package/lib/commonjs/components/Reply/Reply.js +26 -20
  280. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  281. package/lib/commonjs/components/Spinner/Spinner.js +1 -1
  282. package/lib/commonjs/components/Thread/Thread.js +15 -6
  283. package/lib/commonjs/components/Thread/Thread.js.map +1 -1
  284. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +14 -13
  285. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  286. package/lib/commonjs/components/docs/ListProps.md +1 -1
  287. package/lib/commonjs/components/docs/data.js +45 -45
  288. package/lib/commonjs/components/docs/data.js.map +1 -1
  289. package/lib/commonjs/components/index.js +133 -55
  290. package/lib/commonjs/components/index.js.map +1 -1
  291. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +3 -3
  292. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  293. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +3 -3
  294. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  295. package/lib/commonjs/contexts/channelContext/ChannelContext.js +3 -3
  296. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  297. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +3 -3
  298. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  299. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +5 -5
  300. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  301. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +3 -3
  302. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
  303. package/lib/commonjs/contexts/chatContext/ChatContext.js +3 -3
  304. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  305. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +3 -3
  306. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  307. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +3 -3
  308. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  309. package/lib/commonjs/contexts/messageContext/MessageContext.js +3 -3
  310. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  311. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +106 -71
  312. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  313. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +9 -5
  314. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  315. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js +10 -3
  316. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  317. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +6 -20
  318. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  319. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
  320. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
  321. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
  322. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
  323. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +3 -3
  324. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  325. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +2 -2
  326. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  327. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +50 -50
  328. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  329. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +61 -0
  330. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -0
  331. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +3 -3
  332. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  333. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +21 -34
  334. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  335. package/lib/commonjs/contexts/themeContext/ThemeContext.js +3 -3
  336. package/lib/commonjs/contexts/themeContext/ThemeContext.js.map +1 -1
  337. package/lib/commonjs/contexts/themeContext/utils/theme.js +48 -20
  338. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  339. package/lib/commonjs/contexts/threadContext/ThreadContext.js +3 -3
  340. package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
  341. package/lib/commonjs/contexts/translationContext/TranslationContext.js +4 -4
  342. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  343. package/lib/commonjs/contexts/typingContext/TypingContext.js +3 -3
  344. package/lib/commonjs/contexts/typingContext/TypingContext.js.map +1 -1
  345. package/lib/commonjs/contexts/utils/getDisplayName.js.map +1 -1
  346. package/lib/commonjs/emoji-data/compiled.js +0 -315
  347. package/lib/commonjs/emoji-data/compiled.js.map +1 -1
  348. package/lib/commonjs/emoji-data/emojiNames.js +0 -105
  349. package/lib/commonjs/emoji-data/emojiNames.js.map +1 -1
  350. package/lib/commonjs/emoji-data/emojis.js +0 -175
  351. package/lib/commonjs/emoji-data/emojis.js.map +1 -1
  352. package/lib/commonjs/emoji-data/index.js +2 -2
  353. package/lib/commonjs/emoji-data/index.js.map +1 -1
  354. package/lib/commonjs/hooks/useAppStateListener.js +8 -5
  355. package/lib/commonjs/hooks/useAppStateListener.js.map +1 -1
  356. package/lib/commonjs/hooks/useIsMountedRef.js +19 -0
  357. package/lib/commonjs/hooks/useIsMountedRef.js.map +1 -0
  358. package/lib/commonjs/hooks/useStreami18n.js +5 -2
  359. package/lib/commonjs/hooks/useStreami18n.js.map +1 -1
  360. package/lib/commonjs/i18n/en.json +9 -3
  361. package/lib/commonjs/i18n/fr.json +9 -3
  362. package/lib/commonjs/i18n/hi.json +9 -3
  363. package/lib/commonjs/i18n/it.json +9 -3
  364. package/lib/commonjs/i18n/ja.json +67 -0
  365. package/lib/commonjs/i18n/ko.json +67 -0
  366. package/lib/commonjs/i18n/nl.json +9 -3
  367. package/lib/commonjs/i18n/ru.json +9 -3
  368. package/lib/commonjs/i18n/tr.json +10 -4
  369. package/lib/commonjs/icons/ArrowRight.js +1 -1
  370. package/lib/commonjs/icons/AtMentions.js +1 -1
  371. package/lib/commonjs/icons/Attach.js +1 -1
  372. package/lib/commonjs/icons/Audio.js +1 -1
  373. package/lib/commonjs/icons/CSV.js +1 -1
  374. package/lib/commonjs/icons/Camera.js +1 -1
  375. package/lib/commonjs/icons/Check.js +1 -1
  376. package/lib/commonjs/icons/CheckAll.js +1 -1
  377. package/lib/commonjs/icons/CheckSend.js +1 -1
  378. package/lib/commonjs/icons/CircleClose.js +1 -1
  379. package/lib/commonjs/icons/CirclePlus.js +1 -1
  380. package/lib/commonjs/icons/CircleRight.js +1 -1
  381. package/lib/commonjs/icons/Close.js +1 -1
  382. package/lib/commonjs/icons/Copy.js +1 -1
  383. package/lib/commonjs/icons/CurveLineLeftUp.js +1 -1
  384. package/lib/commonjs/icons/DOC.js +1 -1
  385. package/lib/commonjs/icons/DOCX.js +1 -1
  386. package/lib/commonjs/icons/Delete.js +1 -1
  387. package/lib/commonjs/icons/Down.js +1 -1
  388. package/lib/commonjs/icons/DownloadArrow.js +1 -1
  389. package/lib/commonjs/icons/DownloadCloud.js +1 -1
  390. package/lib/commonjs/icons/Edit.js +1 -1
  391. package/lib/commonjs/icons/Error.js +1 -1
  392. package/lib/commonjs/icons/Eye.js +1 -1
  393. package/lib/commonjs/icons/Flag.js +1 -1
  394. package/lib/commonjs/icons/Folder.js +1 -1
  395. package/lib/commonjs/icons/GenericFile.js +1 -1
  396. package/lib/commonjs/icons/GiphyIcon.js +1 -1
  397. package/lib/commonjs/icons/Grid.js +1 -1
  398. package/lib/commonjs/icons/Group.js +1 -1
  399. package/lib/commonjs/icons/HTML.js +1 -1
  400. package/lib/commonjs/icons/Imgur.js +1 -1
  401. package/lib/commonjs/icons/LOLReaction.js +1 -1
  402. package/lib/commonjs/icons/Lightning.js +1 -1
  403. package/lib/commonjs/icons/Link.js +1 -1
  404. package/lib/commonjs/icons/Loading.js +1 -1
  405. package/lib/commonjs/icons/Logo.js +1 -1
  406. package/lib/commonjs/icons/LoveReaction.js +1 -1
  407. package/lib/commonjs/icons/MD.js +1 -1
  408. package/lib/commonjs/icons/MailOpen.js +1 -1
  409. package/lib/commonjs/icons/MenuPointHorizontal.js +1 -1
  410. package/lib/commonjs/icons/MenuPointVertical.js +1 -1
  411. package/lib/commonjs/icons/MessageFlag.js +1 -1
  412. package/lib/commonjs/icons/MessageIcon.js +1 -1
  413. package/lib/commonjs/icons/Mute.js +1 -1
  414. package/lib/commonjs/icons/Notification.js +1 -1
  415. package/lib/commonjs/icons/ODT.js +1 -1
  416. package/lib/commonjs/icons/PDF.js +1 -1
  417. package/lib/commonjs/icons/PPT.js +1 -1
  418. package/lib/commonjs/icons/PPTX.js +1 -1
  419. package/lib/commonjs/icons/Picture.js +1 -1
  420. package/lib/commonjs/icons/Pin.js +42 -0
  421. package/lib/commonjs/icons/Pin.js.map +1 -0
  422. package/lib/commonjs/icons/PinHeader.js +38 -0
  423. package/lib/commonjs/icons/PinHeader.js.map +1 -0
  424. package/lib/commonjs/icons/RAR.js +1 -1
  425. package/lib/commonjs/icons/RTF.js +1 -1
  426. package/lib/commonjs/icons/Refresh.js +1 -1
  427. package/lib/commonjs/icons/SEVEN_Z.js +1 -1
  428. package/lib/commonjs/icons/Search.js +1 -1
  429. package/lib/commonjs/icons/SendRight.js +1 -1
  430. package/lib/commonjs/icons/SendUp.js +1 -1
  431. package/lib/commonjs/icons/Share.js +1 -1
  432. package/lib/commonjs/icons/ShareRightArrow.js +1 -1
  433. package/lib/commonjs/icons/Smile.js +1 -1
  434. package/lib/commonjs/icons/Sound.js +1 -1
  435. package/lib/commonjs/icons/TAR.js +1 -1
  436. package/lib/commonjs/icons/TXT.js +1 -1
  437. package/lib/commonjs/icons/ThreadReply.js +1 -1
  438. package/lib/commonjs/icons/ThumbsDownReaction.js +1 -1
  439. package/lib/commonjs/icons/ThumbsUpReaction.js +1 -1
  440. package/lib/commonjs/icons/Time.js +1 -1
  441. package/lib/commonjs/icons/Unknown.js +1 -1
  442. package/lib/commonjs/icons/Unpin.js +38 -0
  443. package/lib/commonjs/icons/Unpin.js.map +1 -0
  444. package/lib/commonjs/icons/User.js +1 -1
  445. package/lib/commonjs/icons/UserAdd.js +1 -1
  446. package/lib/commonjs/icons/UserAdmin.js +62 -0
  447. package/lib/commonjs/icons/UserAdmin.js.map +1 -0
  448. package/lib/commonjs/icons/UserDelete.js +1 -1
  449. package/lib/commonjs/icons/UserMinus.js +1 -1
  450. package/lib/commonjs/icons/WutReaction.js +1 -1
  451. package/lib/commonjs/icons/XLS.js +1 -1
  452. package/lib/commonjs/icons/XLSX.js +1 -1
  453. package/lib/commonjs/icons/ZIP.js +1 -1
  454. package/lib/commonjs/icons/index.js +39 -26
  455. package/lib/commonjs/icons/index.js.map +1 -1
  456. package/lib/commonjs/icons/utils/base.js +2 -2
  457. package/lib/commonjs/index.js +6 -6
  458. package/lib/commonjs/init.js +13 -0
  459. package/lib/commonjs/init.js.map +1 -0
  460. package/lib/commonjs/mock-builders/api/error.js +1 -1
  461. package/lib/commonjs/mock-builders/api/queryChannels.js +1 -1
  462. package/lib/commonjs/mock-builders/api/queryChannels.js.map +1 -1
  463. package/lib/commonjs/mock-builders/api/sendMessage.js +4 -1
  464. package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
  465. package/lib/commonjs/mock-builders/generator/attachment.js +1 -3
  466. package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
  467. package/lib/commonjs/mock-builders/generator/channel.js +101 -50
  468. package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
  469. package/lib/commonjs/mock-builders/generator/user.js +32 -33
  470. package/lib/commonjs/mock-builders/generator/user.js.map +1 -1
  471. package/lib/commonjs/mock-builders/mock.js +3 -3
  472. package/lib/commonjs/mock-builders/mock.js.map +1 -1
  473. package/lib/commonjs/mock-builders/native/react-native-mock.js +1 -1
  474. package/lib/commonjs/mock-builders/native/react-native-mock.js.map +1 -1
  475. package/lib/commonjs/native.js +1 -7
  476. package/lib/commonjs/native.js.map +1 -1
  477. package/lib/commonjs/utils/Streami18n.js +10 -0
  478. package/lib/commonjs/utils/Streami18n.js.map +1 -1
  479. package/lib/commonjs/utils/date.js +13 -0
  480. package/lib/commonjs/utils/date.js.map +1 -0
  481. package/lib/commonjs/utils/getResizedImageUrl.js +37 -0
  482. package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -0
  483. package/lib/commonjs/utils/getUrlOfImageAttachment.js +9 -0
  484. package/lib/commonjs/utils/getUrlOfImageAttachment.js.map +1 -0
  485. package/lib/commonjs/utils/utils.js +39 -19
  486. package/lib/commonjs/utils/utils.js.map +1 -1
  487. package/lib/commonjs/version.json +1 -1
  488. package/lib/module/components/Attachment/Attachment.js +17 -16
  489. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  490. package/lib/module/components/Attachment/AttachmentActions.js +5 -5
  491. package/lib/module/components/Attachment/AttachmentActions.js.map +1 -1
  492. package/lib/module/components/Attachment/Card.js +19 -16
  493. package/lib/module/components/Attachment/Card.js.map +1 -1
  494. package/lib/module/components/Attachment/FileAttachment.js +9 -9
  495. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  496. package/lib/module/components/Attachment/FileAttachmentGroup.js +5 -5
  497. package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
  498. package/lib/module/components/Attachment/FileIcon.js +1 -1
  499. package/lib/module/components/Attachment/FileIcon.js.map +1 -1
  500. package/lib/module/components/Attachment/Gallery.js +124 -122
  501. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  502. package/lib/module/components/Attachment/Giphy.js +113 -149
  503. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  504. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js +46 -0
  505. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
  506. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
  507. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
  508. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
  509. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
  510. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
  511. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
  512. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
  513. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
  514. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
  515. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
  516. package/lib/module/components/Attachment/utils/buildGallery/types.js +4 -0
  517. package/lib/module/{styleguideComponents/Reanimated.js.map → components/Attachment/utils/buildGallery/types.js.map} +0 -0
  518. package/lib/module/components/Attachment/utils/getAspectRatio.js +14 -0
  519. package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -0
  520. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
  521. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
  522. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +10 -9
  523. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  524. package/lib/module/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +1 -1
  525. package/lib/module/components/AttachmentPicker/components/AttachmentPickerError.js +1 -1
  526. package/lib/module/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +1 -1
  527. package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js +12 -9
  528. package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
  529. package/lib/module/components/AttachmentPicker/components/CameraSelectorIcon.js +1 -1
  530. package/lib/module/components/AttachmentPicker/components/FileSelectorIcon.js +1 -1
  531. package/lib/module/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +1 -1
  532. package/lib/module/components/AttachmentPicker/components/ImageSelectorIcon.js +1 -1
  533. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +25 -49
  534. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  535. package/lib/module/components/AutoCompleteInput/{CommandsItem.js → AutoCompleteSuggestionCommandIcon.js} +21 -94
  536. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -0
  537. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +145 -0
  538. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -0
  539. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +248 -0
  540. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -0
  541. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +223 -0
  542. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -0
  543. package/lib/module/components/Avatar/Avatar.js +14 -8
  544. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  545. package/lib/module/components/Avatar/GroupAvatar.js +11 -9
  546. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  547. package/lib/module/components/Channel/Channel.js +304 -203
  548. package/lib/module/components/Channel/Channel.js.map +1 -1
  549. package/lib/module/components/Channel/hooks/useCreateChannelContext.js +7 -5
  550. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  551. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +7 -5
  552. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  553. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +13 -31
  554. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  555. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +35 -0
  556. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -0
  557. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  558. package/lib/module/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  559. package/lib/module/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
  560. package/lib/module/components/ChannelList/ChannelList.js +7 -7
  561. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  562. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +6 -5
  563. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  564. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +7 -8
  565. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  566. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +5 -4
  567. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  568. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js +8 -5
  569. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
  570. package/lib/module/components/ChannelList/ChannelListMessenger.js +18 -18
  571. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  572. package/lib/module/components/ChannelList/Skeleton.js +15 -14
  573. package/lib/module/components/ChannelList/Skeleton.js.map +1 -1
  574. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  575. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  576. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  577. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  578. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  579. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  580. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  581. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  582. package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js +3 -1
  583. package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +1 -1
  584. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  585. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  586. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
  587. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  588. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  589. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  590. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js +2 -2
  591. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  592. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +96 -63
  593. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  594. package/lib/module/components/ChannelList/utils.js +1 -1
  595. package/lib/module/components/ChannelList/utils.js.map +1 -1
  596. package/lib/module/components/ChannelPreview/ChannelAvatar.js +3 -3
  597. package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  598. package/lib/module/components/ChannelPreview/ChannelPreview.js +5 -5
  599. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  600. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +6 -6
  601. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  602. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +50 -21
  603. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  604. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
  605. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
  606. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +5 -5
  607. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  608. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js +2 -2
  609. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  610. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +3 -3
  611. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  612. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js +16 -7
  613. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  614. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  615. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  616. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js +2 -1
  617. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  618. package/lib/module/components/Chat/Chat.js +9 -5
  619. package/lib/module/components/Chat/Chat.js.map +1 -1
  620. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  621. package/lib/module/components/Chat/hooks/useIsOnline.js +40 -31
  622. package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
  623. package/lib/module/components/Chat/hooks/useMutedUsers.js.map +1 -1
  624. package/lib/module/components/ImageGallery/ImageGallery.js +91 -59
  625. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  626. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +3 -3
  627. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  628. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +13 -13
  629. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  630. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +32 -17
  631. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  632. package/lib/module/components/ImageGallery/components/ImageGalleryOverlay.js +1 -1
  633. package/lib/module/components/ImageGallery/components/ImageGrid.js +8 -8
  634. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  635. package/lib/module/components/ImageGallery/components/ImageGridHandle.js +6 -6
  636. package/lib/module/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  637. package/lib/module/components/Indicators/EmptyStateIndicator.js +1 -1
  638. package/lib/module/components/Indicators/LoadingDot.js +1 -1
  639. package/lib/module/components/Indicators/LoadingDots.js +1 -1
  640. package/lib/module/components/Indicators/LoadingErrorIndicator.js +1 -1
  641. package/lib/module/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  642. package/lib/module/components/Indicators/LoadingIndicator.js +10 -10
  643. package/lib/module/components/Indicators/LoadingIndicator.js.map +1 -1
  644. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js +21 -13
  645. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
  646. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +1 -1
  647. package/lib/module/components/Message/Message.js +153 -855
  648. package/lib/module/components/Message/Message.js.map +1 -1
  649. package/lib/module/components/Message/MessageSimple/MessageAvatar.js +7 -7
  650. package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  651. package/lib/module/components/Message/MessageSimple/MessageContent.js +42 -40
  652. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  653. package/lib/module/components/Message/MessageSimple/MessageDeleted.js +9 -7
  654. package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  655. package/lib/module/components/Message/MessageSimple/MessageFooter.js +35 -23
  656. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  657. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +122 -0
  658. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -0
  659. package/lib/module/components/Message/MessageSimple/MessageReplies.js +27 -11
  660. package/lib/module/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  661. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +6 -6
  662. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  663. package/lib/module/components/Message/MessageSimple/MessageSimple.js +32 -15
  664. package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  665. package/lib/module/components/Message/MessageSimple/MessageStatus.js +29 -25
  666. package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  667. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +8 -4
  668. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  669. package/lib/module/components/Message/MessageSimple/ReactionList.js +87 -114
  670. package/lib/module/components/Message/MessageSimple/ReactionList.js.map +1 -1
  671. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js +89 -0
  672. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
  673. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
  674. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
  675. package/lib/module/components/Message/MessageSimple/utils/renderText.js +208 -27
  676. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  677. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js +240 -0
  678. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js.map +1 -0
  679. package/lib/module/components/Message/hooks/useCreateMessageContext.js +1 -5
  680. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  681. package/lib/module/components/Message/hooks/useMessageActionHandlers.js +307 -0
  682. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -0
  683. package/lib/module/components/Message/hooks/useMessageActions.js +563 -0
  684. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -0
  685. package/lib/module/components/Message/utils/messageActions.js +17 -15
  686. package/lib/module/components/Message/utils/messageActions.js.map +1 -1
  687. package/lib/module/components/Message/utils/removeReservedFields.js.map +1 -1
  688. package/lib/module/components/MessageInput/AttachButton.js +7 -5
  689. package/lib/module/components/MessageInput/AttachButton.js.map +1 -1
  690. package/lib/module/components/MessageInput/CommandsButton.js +4 -4
  691. package/lib/module/components/MessageInput/CommandsButton.js.map +1 -1
  692. package/lib/module/components/MessageInput/CooldownTimer.js +78 -0
  693. package/lib/module/components/MessageInput/CooldownTimer.js.map +1 -0
  694. package/lib/module/components/MessageInput/FileUploadPreview.js +33 -28
  695. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  696. package/lib/module/components/MessageInput/ImageUploadPreview.js +10 -10
  697. package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
  698. package/lib/module/components/MessageInput/InputButtons.js +18 -23
  699. package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
  700. package/lib/module/components/MessageInput/MessageInput.js +94 -66
  701. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  702. package/lib/module/components/MessageInput/MoreOptionsButton.js +4 -4
  703. package/lib/module/components/MessageInput/MoreOptionsButton.js.map +1 -1
  704. package/lib/module/components/MessageInput/SendButton.js +9 -7
  705. package/lib/module/components/MessageInput/SendButton.js.map +1 -1
  706. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +71 -0
  707. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -0
  708. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +12 -11
  709. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  710. package/lib/module/components/MessageInput/UploadProgressIndicator.js +1 -1
  711. package/lib/module/components/MessageInput/hooks/useCooldown.js +63 -0
  712. package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -0
  713. package/lib/module/components/MessageInput/hooks/useCountdown.js +57 -0
  714. package/lib/module/components/MessageInput/hooks/useCountdown.js.map +1 -0
  715. package/lib/module/components/MessageList/DateHeader.js +3 -3
  716. package/lib/module/components/MessageList/DateHeader.js.map +1 -1
  717. package/lib/module/components/MessageList/InlineDateSeparator.js +5 -4
  718. package/lib/module/components/MessageList/InlineDateSeparator.js.map +1 -1
  719. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +5 -5
  720. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  721. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +5 -5
  722. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  723. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +5 -5
  724. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
  725. package/lib/module/components/MessageList/InlineUnreadIndicator.js +1 -1
  726. package/lib/module/components/MessageList/MessageList.js +101 -62
  727. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  728. package/lib/module/components/MessageList/MessageSystem.js +7 -7
  729. package/lib/module/components/MessageList/MessageSystem.js.map +1 -1
  730. package/lib/module/components/MessageList/NetworkDownIndicator.js +1 -1
  731. package/lib/module/components/MessageList/ScrollToBottomButton.js +8 -6
  732. package/lib/module/components/MessageList/ScrollToBottomButton.js.map +1 -1
  733. package/lib/module/components/MessageList/TypingIndicator.js +6 -6
  734. package/lib/module/components/MessageList/TypingIndicator.js.map +1 -1
  735. package/lib/module/components/MessageList/TypingIndicatorContainer.js +3 -3
  736. package/lib/module/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  737. package/lib/module/components/MessageList/hooks/useMessageList.js +24 -11
  738. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  739. package/lib/module/components/MessageList/hooks/useTypingString.js +2 -2
  740. package/lib/module/components/MessageList/hooks/useTypingString.js.map +1 -1
  741. package/lib/module/components/MessageList/utils/filterTypingUsers.js.map +1 -1
  742. package/lib/module/components/MessageList/utils/getDateSeparators.js +2 -1
  743. package/lib/module/components/MessageList/utils/getDateSeparators.js.map +1 -1
  744. package/lib/module/components/MessageList/utils/getGroupStyles.js +11 -10
  745. package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
  746. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js +3 -1
  747. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  748. package/lib/module/components/MessageList/utils/getReadStates.js.map +1 -1
  749. package/lib/{commonjs/components/MessageOverlay/MessageActions.js → module/components/MessageOverlay/MessageActionList.js} +33 -85
  750. package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -0
  751. package/lib/module/components/MessageOverlay/MessageActionListItem.js +131 -0
  752. package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -0
  753. package/lib/module/components/MessageOverlay/MessageOverlay.js +100 -85
  754. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  755. package/lib/module/components/MessageOverlay/OverlayBackdrop.js +38 -0
  756. package/lib/module/components/MessageOverlay/OverlayBackdrop.js.map +1 -0
  757. package/lib/module/components/MessageOverlay/OverlayReactionList.js +18 -19
  758. package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  759. package/lib/module/components/MessageOverlay/OverlayReactions.js +32 -35
  760. package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
  761. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
  762. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
  763. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js +37 -0
  764. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -0
  765. package/lib/module/components/Reply/Reply.js +26 -20
  766. package/lib/module/components/Reply/Reply.js.map +1 -1
  767. package/lib/module/components/Spinner/Spinner.js +1 -1
  768. package/lib/module/components/Thread/Thread.js +15 -6
  769. package/lib/module/components/Thread/Thread.js.map +1 -1
  770. package/lib/module/components/Thread/components/ThreadFooterComponent.js +14 -13
  771. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  772. package/lib/module/components/docs/ListProps.md +1 -1
  773. package/lib/module/components/docs/data.js +45 -45
  774. package/lib/module/components/docs/data.js.map +1 -1
  775. package/lib/module/components/index.js +133 -55
  776. package/lib/module/components/index.js.map +1 -1
  777. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +3 -3
  778. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  779. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +3 -3
  780. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  781. package/lib/module/contexts/channelContext/ChannelContext.js +3 -3
  782. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  783. package/lib/module/contexts/channelsContext/ChannelsContext.js +3 -3
  784. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  785. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +5 -5
  786. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  787. package/lib/module/contexts/channelsStateContext/useChannelState.js +3 -3
  788. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
  789. package/lib/module/contexts/chatContext/ChatContext.js +3 -3
  790. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  791. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +3 -3
  792. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  793. package/lib/module/contexts/keyboardContext/KeyboardContext.js +3 -3
  794. package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  795. package/lib/module/contexts/messageContext/MessageContext.js +3 -3
  796. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  797. package/lib/module/contexts/messageInputContext/MessageInputContext.js +106 -71
  798. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  799. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +9 -5
  800. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  801. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js +10 -3
  802. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  803. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +6 -20
  804. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  805. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
  806. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
  807. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
  808. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
  809. package/lib/module/contexts/messagesContext/MessagesContext.js +3 -3
  810. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  811. package/lib/module/contexts/overlayContext/OverlayContext.js +2 -2
  812. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  813. package/lib/module/contexts/overlayContext/OverlayProvider.js +50 -50
  814. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  815. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +61 -0
  816. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -0
  817. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +3 -3
  818. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  819. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +21 -34
  820. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  821. package/lib/module/contexts/themeContext/ThemeContext.js +3 -3
  822. package/lib/module/contexts/themeContext/ThemeContext.js.map +1 -1
  823. package/lib/module/contexts/themeContext/utils/theme.js +48 -20
  824. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  825. package/lib/module/contexts/threadContext/ThreadContext.js +3 -3
  826. package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
  827. package/lib/module/contexts/translationContext/TranslationContext.js +4 -4
  828. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  829. package/lib/module/contexts/typingContext/TypingContext.js +3 -3
  830. package/lib/module/contexts/typingContext/TypingContext.js.map +1 -1
  831. package/lib/module/contexts/utils/getDisplayName.js.map +1 -1
  832. package/lib/module/emoji-data/compiled.js +0 -315
  833. package/lib/module/emoji-data/compiled.js.map +1 -1
  834. package/lib/module/emoji-data/emojiNames.js +0 -105
  835. package/lib/module/emoji-data/emojiNames.js.map +1 -1
  836. package/lib/module/emoji-data/emojis.js +0 -175
  837. package/lib/module/emoji-data/emojis.js.map +1 -1
  838. package/lib/module/emoji-data/index.js +2 -2
  839. package/lib/module/emoji-data/index.js.map +1 -1
  840. package/lib/module/hooks/useAppStateListener.js +8 -5
  841. package/lib/module/hooks/useAppStateListener.js.map +1 -1
  842. package/lib/module/hooks/useIsMountedRef.js +19 -0
  843. package/lib/module/hooks/useIsMountedRef.js.map +1 -0
  844. package/lib/module/hooks/useStreami18n.js +5 -2
  845. package/lib/module/hooks/useStreami18n.js.map +1 -1
  846. package/lib/module/i18n/en.json +9 -3
  847. package/lib/module/i18n/fr.json +9 -3
  848. package/lib/module/i18n/hi.json +9 -3
  849. package/lib/module/i18n/it.json +9 -3
  850. package/lib/module/i18n/ja.json +67 -0
  851. package/lib/module/i18n/ko.json +67 -0
  852. package/lib/module/i18n/nl.json +9 -3
  853. package/lib/module/i18n/ru.json +9 -3
  854. package/lib/module/i18n/tr.json +10 -4
  855. package/lib/module/icons/ArrowRight.js +1 -1
  856. package/lib/module/icons/AtMentions.js +1 -1
  857. package/lib/module/icons/Attach.js +1 -1
  858. package/lib/module/icons/Audio.js +1 -1
  859. package/lib/module/icons/CSV.js +1 -1
  860. package/lib/module/icons/Camera.js +1 -1
  861. package/lib/module/icons/Check.js +1 -1
  862. package/lib/module/icons/CheckAll.js +1 -1
  863. package/lib/module/icons/CheckSend.js +1 -1
  864. package/lib/module/icons/CircleClose.js +1 -1
  865. package/lib/module/icons/CirclePlus.js +1 -1
  866. package/lib/module/icons/CircleRight.js +1 -1
  867. package/lib/module/icons/Close.js +1 -1
  868. package/lib/module/icons/Copy.js +1 -1
  869. package/lib/module/icons/CurveLineLeftUp.js +1 -1
  870. package/lib/module/icons/DOC.js +1 -1
  871. package/lib/module/icons/DOCX.js +1 -1
  872. package/lib/module/icons/Delete.js +1 -1
  873. package/lib/module/icons/Down.js +1 -1
  874. package/lib/module/icons/DownloadArrow.js +1 -1
  875. package/lib/module/icons/DownloadCloud.js +1 -1
  876. package/lib/module/icons/Edit.js +1 -1
  877. package/lib/module/icons/Error.js +1 -1
  878. package/lib/module/icons/Eye.js +1 -1
  879. package/lib/module/icons/Flag.js +1 -1
  880. package/lib/module/icons/Folder.js +1 -1
  881. package/lib/module/icons/GenericFile.js +1 -1
  882. package/lib/module/icons/GiphyIcon.js +1 -1
  883. package/lib/module/icons/Grid.js +1 -1
  884. package/lib/module/icons/Group.js +1 -1
  885. package/lib/module/icons/HTML.js +1 -1
  886. package/lib/module/icons/Imgur.js +1 -1
  887. package/lib/module/icons/LOLReaction.js +1 -1
  888. package/lib/module/icons/Lightning.js +1 -1
  889. package/lib/module/icons/Link.js +1 -1
  890. package/lib/module/icons/Loading.js +1 -1
  891. package/lib/module/icons/Logo.js +1 -1
  892. package/lib/module/icons/LoveReaction.js +1 -1
  893. package/lib/module/icons/MD.js +1 -1
  894. package/lib/module/icons/MailOpen.js +1 -1
  895. package/lib/module/icons/MenuPointHorizontal.js +1 -1
  896. package/lib/module/icons/MenuPointVertical.js +1 -1
  897. package/lib/module/icons/MessageFlag.js +1 -1
  898. package/lib/module/icons/MessageIcon.js +1 -1
  899. package/lib/module/icons/Mute.js +1 -1
  900. package/lib/module/icons/Notification.js +1 -1
  901. package/lib/module/icons/ODT.js +1 -1
  902. package/lib/module/icons/PDF.js +1 -1
  903. package/lib/module/icons/PPT.js +1 -1
  904. package/lib/module/icons/PPTX.js +1 -1
  905. package/lib/module/icons/Picture.js +1 -1
  906. package/lib/module/icons/Pin.js +42 -0
  907. package/lib/module/icons/Pin.js.map +1 -0
  908. package/lib/module/icons/PinHeader.js +38 -0
  909. package/lib/module/icons/PinHeader.js.map +1 -0
  910. package/lib/module/icons/RAR.js +1 -1
  911. package/lib/module/icons/RTF.js +1 -1
  912. package/lib/module/icons/Refresh.js +1 -1
  913. package/lib/module/icons/SEVEN_Z.js +1 -1
  914. package/lib/module/icons/Search.js +1 -1
  915. package/lib/module/icons/SendRight.js +1 -1
  916. package/lib/module/icons/SendUp.js +1 -1
  917. package/lib/module/icons/Share.js +1 -1
  918. package/lib/module/icons/ShareRightArrow.js +1 -1
  919. package/lib/module/icons/Smile.js +1 -1
  920. package/lib/module/icons/Sound.js +1 -1
  921. package/lib/module/icons/TAR.js +1 -1
  922. package/lib/module/icons/TXT.js +1 -1
  923. package/lib/module/icons/ThreadReply.js +1 -1
  924. package/lib/module/icons/ThumbsDownReaction.js +1 -1
  925. package/lib/module/icons/ThumbsUpReaction.js +1 -1
  926. package/lib/module/icons/Time.js +1 -1
  927. package/lib/module/icons/Unknown.js +1 -1
  928. package/lib/module/icons/Unpin.js +38 -0
  929. package/lib/module/icons/Unpin.js.map +1 -0
  930. package/lib/module/icons/User.js +1 -1
  931. package/lib/module/icons/UserAdd.js +1 -1
  932. package/lib/module/icons/UserAdmin.js +62 -0
  933. package/lib/module/icons/UserAdmin.js.map +1 -0
  934. package/lib/module/icons/UserDelete.js +1 -1
  935. package/lib/module/icons/UserMinus.js +1 -1
  936. package/lib/module/icons/WutReaction.js +1 -1
  937. package/lib/module/icons/XLS.js +1 -1
  938. package/lib/module/icons/XLSX.js +1 -1
  939. package/lib/module/icons/ZIP.js +1 -1
  940. package/lib/module/icons/index.js +39 -26
  941. package/lib/module/icons/index.js.map +1 -1
  942. package/lib/module/icons/utils/base.js +2 -2
  943. package/lib/module/index.js +6 -6
  944. package/lib/module/init.js +13 -0
  945. package/lib/module/init.js.map +1 -0
  946. package/lib/module/mock-builders/api/error.js +1 -1
  947. package/lib/module/mock-builders/api/queryChannels.js +1 -1
  948. package/lib/module/mock-builders/api/queryChannels.js.map +1 -1
  949. package/lib/module/mock-builders/api/sendMessage.js +4 -1
  950. package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
  951. package/lib/module/mock-builders/generator/attachment.js +1 -3
  952. package/lib/module/mock-builders/generator/attachment.js.map +1 -1
  953. package/lib/module/mock-builders/generator/channel.js +101 -50
  954. package/lib/module/mock-builders/generator/channel.js.map +1 -1
  955. package/lib/module/mock-builders/generator/user.js +32 -33
  956. package/lib/module/mock-builders/generator/user.js.map +1 -1
  957. package/lib/module/mock-builders/mock.js +3 -3
  958. package/lib/module/mock-builders/mock.js.map +1 -1
  959. package/lib/module/mock-builders/native/react-native-mock.js +1 -1
  960. package/lib/module/mock-builders/native/react-native-mock.js.map +1 -1
  961. package/lib/module/native.js +1 -7
  962. package/lib/module/native.js.map +1 -1
  963. package/lib/module/utils/Streami18n.js +10 -0
  964. package/lib/module/utils/Streami18n.js.map +1 -1
  965. package/lib/module/utils/date.js +13 -0
  966. package/lib/module/utils/date.js.map +1 -0
  967. package/lib/module/utils/getResizedImageUrl.js +37 -0
  968. package/lib/module/utils/getResizedImageUrl.js.map +1 -0
  969. package/lib/module/utils/getUrlOfImageAttachment.js +9 -0
  970. package/lib/module/utils/getUrlOfImageAttachment.js.map +1 -0
  971. package/lib/module/utils/utils.js +39 -19
  972. package/lib/module/utils/utils.js.map +1 -1
  973. package/lib/module/version.json +1 -1
  974. package/lib/typescript/components/Attachment/Attachment.d.ts +6 -6
  975. package/lib/typescript/components/Attachment/AttachmentActions.d.ts +5 -5
  976. package/lib/typescript/components/Attachment/Card.d.ts +7 -5
  977. package/lib/typescript/components/Attachment/FileAttachment.d.ts +6 -6
  978. package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts +4 -4
  979. package/lib/typescript/components/Attachment/Gallery.d.ts +19 -6
  980. package/lib/typescript/components/Attachment/Giphy.d.ts +7 -7
  981. package/lib/typescript/components/Attachment/utils/buildGallery/buildGallery.d.ts +23 -0
  982. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.d.ts +7 -0
  983. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.d.ts +7 -0
  984. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.d.ts +7 -0
  985. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnail.d.ts +10 -0
  986. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnailGrid.d.ts +137 -0
  987. package/lib/typescript/components/Attachment/utils/buildGallery/types.d.ts +23 -0
  988. package/lib/typescript/components/Attachment/utils/getAspectRatio.d.ts +9 -0
  989. package/lib/typescript/components/Attachment/utils/getGalleryImageBorderRadius.d.ts +22 -0
  990. package/lib/typescript/components/AutoCompleteInput/AutoCompleteInput.d.ts +10 -4
  991. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.d.ts +5 -0
  992. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionHeader.d.ts +8 -0
  993. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionItem.d.ts +10 -0
  994. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts +21 -0
  995. package/lib/typescript/components/Avatar/Avatar.d.ts +1 -1
  996. package/lib/typescript/components/Channel/Channel.d.ts +13 -16
  997. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +2 -2
  998. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +3 -70
  999. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +3 -126
  1000. package/lib/typescript/components/Channel/hooks/useCreateOwnCapabilitiesContext.d.ts +7 -0
  1001. package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts +3 -3
  1002. package/lib/typescript/components/Channel/hooks/useCreateThreadContext.d.ts +2 -2
  1003. package/lib/typescript/components/Channel/hooks/useCreateTypingContext.d.ts +2 -2
  1004. package/lib/typescript/components/ChannelList/ChannelList.d.ts +15 -15
  1005. package/lib/typescript/components/ChannelList/ChannelListMessenger.d.ts +4 -4
  1006. package/lib/typescript/components/ChannelList/hooks/listeners/useAddedToChannelNotification.d.ts +5 -5
  1007. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelDeleted.d.ts +5 -5
  1008. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelHidden.d.ts +5 -5
  1009. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelTruncated.d.ts +5 -5
  1010. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelUpdated.d.ts +5 -5
  1011. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelVisible.d.ts +5 -5
  1012. package/lib/typescript/components/ChannelList/hooks/listeners/useConnectionRecovered.d.ts +2 -2
  1013. package/lib/typescript/components/ChannelList/hooks/listeners/useNewMessage.d.ts +4 -4
  1014. package/lib/typescript/components/ChannelList/hooks/listeners/useNewMessageNotification.d.ts +5 -5
  1015. package/lib/typescript/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.d.ts +5 -5
  1016. package/lib/typescript/components/ChannelList/hooks/listeners/useUserPresence.d.ts +4 -4
  1017. package/lib/typescript/components/ChannelList/hooks/useCreateChannelsContext.d.ts +2 -2
  1018. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +11 -9
  1019. package/lib/typescript/components/ChannelList/utils.d.ts +7 -7
  1020. package/lib/typescript/components/ChannelPreview/ChannelAvatar.d.ts +3 -3
  1021. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +7 -7
  1022. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessage.d.ts +4 -5
  1023. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts +6 -6
  1024. package/lib/typescript/components/ChannelPreview/ChannelPreviewMutedStatus.d.ts +9 -0
  1025. package/lib/typescript/components/ChannelPreview/ChannelPreviewStatus.d.ts +3 -3
  1026. package/lib/typescript/components/ChannelPreview/ChannelPreviewTitle.d.ts +3 -3
  1027. package/lib/typescript/components/ChannelPreview/ChannelPreviewUnreadCount.d.ts +3 -3
  1028. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.d.ts +15 -3
  1029. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayName.d.ts +4 -4
  1030. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.d.ts +2 -2
  1031. package/lib/typescript/components/ChannelPreview/hooks/useLatestMessagePreview.d.ts +5 -5
  1032. package/lib/typescript/components/Chat/Chat.d.ts +3 -3
  1033. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +2 -2
  1034. package/lib/typescript/components/Chat/hooks/useIsOnline.d.ts +2 -2
  1035. package/lib/typescript/components/Chat/hooks/useMutedUsers.d.ts +2 -2
  1036. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +13 -10
  1037. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryImage.d.ts +1 -1
  1038. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +10 -10
  1039. package/lib/typescript/components/ImageGallery/components/ImageGalleryHeader.d.ts +10 -10
  1040. package/lib/typescript/components/ImageGallery/components/ImageGrid.d.ts +10 -10
  1041. package/lib/typescript/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.d.ts +1 -0
  1042. package/lib/typescript/components/Indicators/LoadingErrorIndicator.d.ts +1 -1
  1043. package/lib/typescript/components/KeyboardCompatibleView/KeyboardCompatibleView.d.ts +2 -1
  1044. package/lib/typescript/components/Message/Message.d.ts +14 -13
  1045. package/lib/typescript/components/Message/MessageSimple/MessageAvatar.d.ts +5 -5
  1046. package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts +4 -4
  1047. package/lib/typescript/components/Message/MessageSimple/MessageDeleted.d.ts +6 -6
  1048. package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts +8 -8
  1049. package/lib/typescript/components/Message/MessageSimple/MessagePinnedHeader.d.ts +8 -0
  1050. package/lib/typescript/components/Message/MessageSimple/MessageReplies.d.ts +4 -4
  1051. package/lib/typescript/components/Message/MessageSimple/MessageRepliesAvatars.d.ts +3 -3
  1052. package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts +4 -4
  1053. package/lib/typescript/components/Message/MessageSimple/MessageStatus.d.ts +4 -4
  1054. package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts +7 -6
  1055. package/lib/typescript/components/Message/MessageSimple/ReactionList.d.ts +5 -4
  1056. package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.d.ts +7 -0
  1057. package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.test.d.ts +1 -0
  1058. package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +21 -6
  1059. package/lib/typescript/components/Message/MessageSimple/utils/renderText.test.d.ts +1 -0
  1060. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +2 -2
  1061. package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +15 -0
  1062. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +26 -0
  1063. package/lib/typescript/components/Message/utils/messageActions.d.ts +22 -21
  1064. package/lib/typescript/components/Message/utils/removeReservedFields.d.ts +2 -2
  1065. package/lib/typescript/components/MessageInput/AttachButton.d.ts +5 -5
  1066. package/lib/typescript/components/MessageInput/CommandsButton.d.ts +5 -5
  1067. package/lib/typescript/components/MessageInput/CooldownTimer.d.ts +10 -0
  1068. package/lib/typescript/components/MessageInput/FileUploadPreview.d.ts +4 -4
  1069. package/lib/typescript/components/MessageInput/ImageUploadPreview.d.ts +4 -4
  1070. package/lib/typescript/components/MessageInput/InputButtons.d.ts +5 -5
  1071. package/lib/typescript/components/MessageInput/MessageInput.d.ts +4 -4
  1072. package/lib/typescript/components/MessageInput/MoreOptionsButton.d.ts +5 -5
  1073. package/lib/typescript/components/MessageInput/SendButton.d.ts +4 -4
  1074. package/lib/typescript/components/MessageInput/SendMessageDisallowedIndicator.d.ts +1 -0
  1075. package/lib/typescript/components/MessageInput/ShowThreadMessageInChannelButton.d.ts +2 -2
  1076. package/lib/typescript/components/MessageInput/hooks/useCooldown.d.ts +9 -0
  1077. package/lib/typescript/components/MessageInput/hooks/useCountdown.d.ts +8 -0
  1078. package/lib/typescript/components/MessageList/InlineLoadingMoreIndicator.d.ts +2 -2
  1079. package/lib/typescript/components/MessageList/InlineLoadingMoreRecentIndicator.d.ts +2 -2
  1080. package/lib/typescript/components/MessageList/InlineLoadingMoreThreadIndicator.d.ts +2 -2
  1081. package/lib/typescript/components/MessageList/MessageList.d.ts +8 -7
  1082. package/lib/typescript/components/MessageList/MessageSystem.d.ts +5 -5
  1083. package/lib/typescript/components/MessageList/TypingIndicator.d.ts +2 -2
  1084. package/lib/typescript/components/MessageList/TypingIndicatorContainer.d.ts +4 -4
  1085. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +6 -5
  1086. package/lib/typescript/components/MessageList/hooks/useTypingString.d.ts +2 -2
  1087. package/lib/typescript/components/MessageList/utils/filterTypingUsers.d.ts +3 -3
  1088. package/lib/typescript/components/MessageList/utils/getDateSeparators.d.ts +4 -4
  1089. package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts +5 -5
  1090. package/lib/typescript/components/MessageList/utils/getLastReceivedMessage.d.ts +2 -2
  1091. package/lib/typescript/components/MessageList/utils/getReadStates.d.ts +8 -5
  1092. package/lib/typescript/components/MessageOverlay/MessageActionList.d.ts +12 -0
  1093. package/lib/typescript/components/MessageOverlay/MessageActionListItem.d.ts +21 -0
  1094. package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts +6 -6
  1095. package/lib/typescript/components/MessageOverlay/OverlayBackdrop.d.ts +6 -0
  1096. package/lib/typescript/components/MessageOverlay/OverlayReactionList.d.ts +6 -7
  1097. package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts +3 -1
  1098. package/lib/typescript/components/MessageOverlay/OverlayReactionsAvatar.d.ts +7 -0
  1099. package/lib/typescript/components/MessageOverlay/hooks/useMessageActionAnimation.d.ts +12 -0
  1100. package/lib/typescript/components/Reply/Reply.d.ts +5 -5
  1101. package/lib/typescript/components/Thread/Thread.d.ts +8 -8
  1102. package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts +2 -2
  1103. package/lib/typescript/components/index.d.ts +13 -7
  1104. package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts +2 -2
  1105. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +39 -40
  1106. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +30 -22
  1107. package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts +19 -19
  1108. package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts +17 -17
  1109. package/lib/typescript/contexts/chatContext/ChatContext.d.ts +11 -11
  1110. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts +8 -8
  1111. package/lib/typescript/contexts/keyboardContext/KeyboardContext.d.ts +2 -2
  1112. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +12 -16
  1113. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +53 -42
  1114. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +3 -3
  1115. package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts +3 -3
  1116. package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +31 -32
  1117. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.d.ts +12 -0
  1118. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.test.d.ts +1 -0
  1119. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +77 -166
  1120. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +15 -8
  1121. package/lib/typescript/contexts/overlayContext/OverlayProvider.d.ts +2 -2
  1122. package/lib/typescript/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.d.ts +25 -0
  1123. package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +8 -8
  1124. package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts +29 -28
  1125. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +46 -17
  1126. package/lib/typescript/contexts/threadContext/ThreadContext.d.ts +10 -10
  1127. package/lib/typescript/contexts/translationContext/TranslationContext.d.ts +2 -2
  1128. package/lib/typescript/contexts/typingContext/TypingContext.d.ts +8 -8
  1129. package/lib/typescript/contexts/utils/getDisplayName.d.ts +2 -2
  1130. package/lib/typescript/hooks/useIsMountedRef.d.ts +20 -0
  1131. package/lib/typescript/i18n/en.json +9 -3
  1132. package/lib/typescript/i18n/fr.json +9 -3
  1133. package/lib/typescript/i18n/hi.json +9 -3
  1134. package/lib/typescript/i18n/it.json +9 -3
  1135. package/lib/typescript/i18n/ja.json +67 -0
  1136. package/lib/typescript/i18n/ko.json +67 -0
  1137. package/lib/typescript/i18n/nl.json +9 -3
  1138. package/lib/typescript/i18n/ru.json +9 -3
  1139. package/lib/typescript/i18n/tr.json +10 -4
  1140. package/lib/typescript/icons/{Left.d.ts → Pin.d.ts} +1 -1
  1141. package/lib/typescript/icons/PinHeader.d.ts +3 -0
  1142. package/lib/typescript/icons/{Right.d.ts → Unpin.d.ts} +1 -1
  1143. package/lib/typescript/icons/UserAdmin.d.ts +3 -0
  1144. package/lib/typescript/icons/index.d.ts +3 -2
  1145. package/lib/typescript/init.d.ts +2 -0
  1146. package/lib/typescript/native.d.ts +1 -9
  1147. package/lib/typescript/types/types.d.ts +16 -13
  1148. package/lib/typescript/utils/Streami18n.d.ts +17 -9
  1149. package/lib/typescript/utils/date.d.ts +2 -0
  1150. package/lib/typescript/utils/getResizedImageUrl.d.ts +20 -0
  1151. package/lib/typescript/utils/getUrlOfImageAttachment.d.ts +7 -0
  1152. package/lib/typescript/utils/utils.d.ts +36 -30
  1153. package/package.json +15 -20
  1154. package/src/components/Attachment/Attachment.tsx +20 -61
  1155. package/src/components/Attachment/AttachmentActions.tsx +17 -57
  1156. package/src/components/Attachment/Card.tsx +22 -52
  1157. package/src/components/Attachment/FileAttachment.tsx +16 -51
  1158. package/src/components/Attachment/FileAttachmentGroup.tsx +16 -57
  1159. package/src/components/Attachment/FileIcon.tsx +2 -2
  1160. package/src/components/Attachment/Gallery.tsx +209 -241
  1161. package/src/components/Attachment/Giphy.tsx +84 -128
  1162. package/src/components/Attachment/__tests__/Attachment.test.js +27 -19
  1163. package/src/components/Attachment/__tests__/Gallery.test.js +233 -0
  1164. package/src/components/Attachment/__tests__/buildGallery.test.js +131 -0
  1165. package/src/components/Attachment/utils/buildGallery/buildGallery.ts +77 -0
  1166. package/src/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.ts +91 -0
  1167. package/src/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.ts +99 -0
  1168. package/src/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.ts +66 -0
  1169. package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +48 -0
  1170. package/src/components/Attachment/utils/buildGallery/buildThumbnailGrid.ts +188 -0
  1171. package/src/components/Attachment/utils/buildGallery/types.ts +27 -0
  1172. package/src/components/Attachment/utils/getAspectRatio.ts +21 -0
  1173. package/src/components/Attachment/utils/getGalleryImageBorderRadius.ts +71 -0
  1174. package/src/components/AttachmentPicker/AttachmentPicker.tsx +4 -2
  1175. package/src/components/AttachmentPicker/components/AttachmentSelectionBar.tsx +15 -3
  1176. package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +66 -96
  1177. package/src/components/AutoCompleteInput/{CommandsItem.tsx → AutoCompleteSuggestionCommandIcon.tsx} +7 -59
  1178. package/src/components/AutoCompleteInput/AutoCompleteSuggestionHeader.tsx +102 -0
  1179. package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx +149 -0
  1180. package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +209 -0
  1181. package/src/components/AutoCompleteInput/__tests__/AutoCompleteInput.test.js +10 -16
  1182. package/src/components/Avatar/Avatar.tsx +8 -11
  1183. package/src/components/Avatar/GroupAvatar.tsx +7 -21
  1184. package/src/components/Avatar/__tests__/Avatar.test.js +2 -33
  1185. package/src/components/Channel/Channel.tsx +495 -477
  1186. package/src/components/Channel/__tests__/Channel.test.js +63 -100
  1187. package/src/components/Channel/__tests__/ownCapabilities.test.js +376 -0
  1188. package/src/components/Channel/hooks/useCreateChannelContext.ts +11 -25
  1189. package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +54 -69
  1190. package/src/components/Channel/hooks/useCreateMessagesContext.ts +17 -49
  1191. package/src/components/Channel/hooks/useCreateOwnCapabilitiesContext.ts +39 -0
  1192. package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +16 -32
  1193. package/src/components/Channel/hooks/useCreateThreadContext.ts +4 -19
  1194. package/src/components/Channel/hooks/useCreateTypingContext.ts +4 -19
  1195. package/src/components/ChannelList/ChannelList.tsx +36 -58
  1196. package/src/components/ChannelList/ChannelListFooterLoadingIndicator.tsx +2 -3
  1197. package/src/components/ChannelList/ChannelListHeaderErrorIndicator.tsx +3 -7
  1198. package/src/components/ChannelList/ChannelListHeaderNetworkDownIndicator.tsx +5 -2
  1199. package/src/components/ChannelList/ChannelListLoadingIndicator.tsx +5 -1
  1200. package/src/components/ChannelList/ChannelListMessenger.tsx +22 -74
  1201. package/src/components/ChannelList/Skeleton.tsx +2 -1
  1202. package/src/components/ChannelList/__tests__/ChannelList.test.js +75 -16
  1203. package/src/components/ChannelList/__tests__/ChannelListMessenger.test.js +46 -14
  1204. package/src/components/ChannelList/hooks/listeners/useAddedToChannelNotification.ts +17 -39
  1205. package/src/components/ChannelList/hooks/listeners/useChannelDeleted.ts +15 -37
  1206. package/src/components/ChannelList/hooks/listeners/useChannelHidden.ts +15 -37
  1207. package/src/components/ChannelList/hooks/listeners/useChannelTruncated.ts +17 -39
  1208. package/src/components/ChannelList/hooks/listeners/useChannelUpdated.ts +15 -37
  1209. package/src/components/ChannelList/hooks/listeners/useChannelVisible.ts +17 -39
  1210. package/src/components/ChannelList/hooks/listeners/useConnectionRecovered.ts +8 -20
  1211. package/src/components/ChannelList/hooks/listeners/useNewMessage.ts +13 -36
  1212. package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +17 -39
  1213. package/src/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.ts +15 -37
  1214. package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +11 -33
  1215. package/src/components/ChannelList/hooks/useCreateChannelsContext.ts +5 -21
  1216. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +95 -70
  1217. package/src/components/ChannelList/utils.ts +9 -42
  1218. package/src/components/ChannelPreview/ChannelAvatar.tsx +6 -29
  1219. package/src/components/ChannelPreview/ChannelPreview.tsx +21 -54
  1220. package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +14 -24
  1221. package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +39 -56
  1222. package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx +50 -0
  1223. package/src/components/ChannelPreview/ChannelPreviewStatus.tsx +10 -30
  1224. package/src/components/ChannelPreview/ChannelPreviewTitle.tsx +7 -28
  1225. package/src/components/ChannelPreview/ChannelPreviewUnreadCount.tsx +7 -27
  1226. package/src/components/ChannelPreview/__tests__/ChannelPreview.test.js +16 -22
  1227. package/src/components/ChannelPreview/__tests__/ChannelPreviewMessenger.test.js +23 -14
  1228. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.ts +15 -30
  1229. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +8 -30
  1230. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.ts +9 -30
  1231. package/src/components/ChannelPreview/hooks/useLatestMessagePreview.ts +31 -81
  1232. package/src/components/Chat/Chat.tsx +19 -44
  1233. package/src/components/Chat/__tests__/Chat.test.js +12 -47
  1234. package/src/components/Chat/hooks/useCreateChatContext.ts +4 -19
  1235. package/src/components/Chat/hooks/useIsOnline.ts +45 -56
  1236. package/src/components/Chat/hooks/useMutedUsers.ts +5 -20
  1237. package/src/components/ImageGallery/ImageGallery.tsx +110 -86
  1238. package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +1 -2
  1239. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +20 -15
  1240. package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +45 -25
  1241. package/src/components/ImageGallery/components/ImageGrid.tsx +47 -33
  1242. package/src/components/ImageGallery/components/ImageGridHandle.tsx +1 -0
  1243. package/src/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.tsx +31 -0
  1244. package/src/components/Indicators/LoadingErrorIndicator.tsx +1 -1
  1245. package/src/components/Indicators/LoadingIndicator.tsx +1 -2
  1246. package/src/components/KeyboardCompatibleView/KeyboardCompatibleView.tsx +9 -2
  1247. package/src/components/Message/Message.tsx +196 -688
  1248. package/src/components/Message/MessageSimple/MessageAvatar.tsx +14 -56
  1249. package/src/components/Message/MessageSimple/MessageContent.tsx +42 -87
  1250. package/src/components/Message/MessageSimple/MessageDeleted.tsx +24 -63
  1251. package/src/components/Message/MessageSimple/MessageFooter.tsx +60 -84
  1252. package/src/components/Message/MessageSimple/MessagePinnedHeader.tsx +109 -0
  1253. package/src/components/Message/MessageSimple/MessageReplies.tsx +19 -60
  1254. package/src/components/Message/MessageSimple/MessageRepliesAvatars.tsx +7 -29
  1255. package/src/components/Message/MessageSimple/MessageSimple.tsx +64 -78
  1256. package/src/components/Message/MessageSimple/MessageStatus.tsx +35 -88
  1257. package/src/components/Message/MessageSimple/MessageTextContainer.tsx +24 -66
  1258. package/src/components/Message/MessageSimple/ReactionList.tsx +110 -163
  1259. package/src/components/Message/MessageSimple/__tests__/Message.test.js +24 -258
  1260. package/src/components/Message/MessageSimple/__tests__/MessageAvatar.test.js +9 -8
  1261. package/src/components/Message/MessageSimple/__tests__/MessageContent.test.js +63 -46
  1262. package/src/components/Message/MessageSimple/__tests__/MessagePinnedHeader.test.js +53 -0
  1263. package/src/components/Message/MessageSimple/__tests__/MessageReplies.test.js +13 -9
  1264. package/src/components/Message/MessageSimple/__tests__/MessageStatus.test.js +11 -47
  1265. package/src/components/Message/MessageSimple/__tests__/MessageTextContainer.test.js +2 -2
  1266. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageAvatar.test.js.snap +35 -22
  1267. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessagePinnedHeader.test.js.snap +80 -0
  1268. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageReplies.test.js.snap +72 -46
  1269. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageStatus.test.js.snap +77 -48
  1270. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageTextContainer.test.js.snap +6 -18
  1271. package/src/components/Message/MessageSimple/utils/parseLinks.test.ts +100 -0
  1272. package/src/components/Message/MessageSimple/utils/parseLinks.ts +95 -0
  1273. package/src/components/Message/MessageSimple/utils/renderText.test.tsx +70 -0
  1274. package/src/components/Message/MessageSimple/utils/renderText.tsx +138 -63
  1275. package/src/components/Message/hooks/useCreateMessageContext.ts +5 -26
  1276. package/src/components/Message/hooks/useMessageActionHandlers.ts +157 -0
  1277. package/src/components/Message/hooks/useMessageActions.tsx +371 -0
  1278. package/src/components/Message/utils/messageActions.ts +53 -54
  1279. package/src/components/Message/utils/removeReservedFields.ts +3 -18
  1280. package/src/components/MessageInput/AttachButton.tsx +15 -57
  1281. package/src/components/MessageInput/CommandsButton.tsx +16 -58
  1282. package/src/components/MessageInput/CooldownTimer.tsx +67 -0
  1283. package/src/components/MessageInput/FileUploadPreview.tsx +86 -118
  1284. package/src/components/MessageInput/ImageUploadPreview.tsx +15 -58
  1285. package/src/components/MessageInput/InputButtons.tsx +17 -64
  1286. package/src/components/MessageInput/MessageInput.tsx +83 -97
  1287. package/src/components/MessageInput/MoreOptionsButton.tsx +14 -56
  1288. package/src/components/MessageInput/SendButton.tsx +14 -55
  1289. package/src/components/MessageInput/SendMessageDisallowedIndicator.tsx +47 -0
  1290. package/src/components/MessageInput/ShowThreadMessageInChannelButton.tsx +6 -21
  1291. package/src/components/MessageInput/__tests__/AttachButton.test.js +2 -2
  1292. package/src/components/MessageInput/__tests__/FileUploadPreview.test.js +193 -97
  1293. package/src/components/MessageInput/__tests__/ImageUploadPreview.test.js +35 -35
  1294. package/src/components/MessageInput/__tests__/MessageInput.test.js +29 -17
  1295. package/src/components/MessageInput/__tests__/SendButton.test.js +2 -2
  1296. package/src/components/MessageInput/__tests__/UploadProgressIndicator.test.js +2 -2
  1297. package/src/components/MessageInput/__tests__/__snapshots__/AttachButton.test.js.snap +134 -52
  1298. package/src/components/MessageInput/__tests__/__snapshots__/FileUploadPreview.test.js.snap +3955 -1647
  1299. package/src/components/MessageInput/__tests__/__snapshots__/ImageUploadPreview.test.js.snap +1964 -1464
  1300. package/src/components/MessageInput/__tests__/__snapshots__/MessageInput.test.js.snap +633 -326
  1301. package/src/components/MessageInput/__tests__/__snapshots__/SendButton.test.js.snap +224 -124
  1302. package/src/components/MessageInput/__tests__/__snapshots__/UploadProgressIndicator.test.js.snap +85 -17
  1303. package/src/components/MessageInput/hooks/useCooldown.ts +48 -0
  1304. package/src/components/MessageInput/hooks/useCountdown.ts +48 -0
  1305. package/src/components/MessageList/DateHeader.tsx +2 -2
  1306. package/src/components/MessageList/InlineDateSeparator.tsx +5 -2
  1307. package/src/components/MessageList/InlineLoadingMoreIndicator.tsx +3 -18
  1308. package/src/components/MessageList/InlineLoadingMoreRecentIndicator.tsx +3 -18
  1309. package/src/components/MessageList/InlineLoadingMoreThreadIndicator.tsx +3 -18
  1310. package/src/components/MessageList/MessageList.tsx +181 -159
  1311. package/src/components/MessageList/MessageSystem.tsx +7 -28
  1312. package/src/components/MessageList/ScrollToBottomButton.tsx +6 -1
  1313. package/src/components/MessageList/TypingIndicator.tsx +4 -20
  1314. package/src/components/MessageList/TypingIndicatorContainer.tsx +14 -47
  1315. package/src/components/MessageList/__tests__/MessageList.test.js +231 -152
  1316. package/src/components/MessageList/__tests__/MessageSystem.test.js +3 -3
  1317. package/src/components/MessageList/__tests__/ScrollToBottomButton.test.js +13 -8
  1318. package/src/components/MessageList/__tests__/TypingIndicator.test.js +14 -97
  1319. package/src/components/MessageList/__tests__/__snapshots__/MessageSystem.test.js.snap +9 -4
  1320. package/src/components/MessageList/__tests__/__snapshots__/ScrollToBottomButton.test.js.snap +78 -32
  1321. package/src/components/MessageList/__tests__/__snapshots__/TypingIndicator.test.js.snap +60 -57
  1322. package/src/components/MessageList/hooks/useMessageList.ts +39 -62
  1323. package/src/components/MessageList/hooks/useTypingString.ts +6 -22
  1324. package/src/components/MessageList/utils/filterTypingUsers.ts +7 -28
  1325. package/src/components/MessageList/utils/getDateSeparators.ts +10 -30
  1326. package/src/components/MessageList/utils/getGroupStyles.ts +23 -44
  1327. package/src/components/MessageList/utils/getLastReceivedMessage.ts +9 -19
  1328. package/src/components/MessageList/utils/getReadStates.ts +5 -20
  1329. package/src/components/MessageOverlay/MessageActionList.tsx +170 -0
  1330. package/src/components/MessageOverlay/MessageActionListItem.tsx +124 -0
  1331. package/src/components/MessageOverlay/MessageOverlay.tsx +264 -268
  1332. package/src/components/MessageOverlay/OverlayBackdrop.tsx +18 -0
  1333. package/src/components/MessageOverlay/OverlayReactionList.tsx +24 -82
  1334. package/src/components/MessageOverlay/OverlayReactions.tsx +12 -8
  1335. package/src/components/MessageOverlay/OverlayReactionsAvatar.tsx +27 -0
  1336. package/src/components/MessageOverlay/hooks/useMessageActionAnimation.tsx +44 -0
  1337. package/src/components/Reply/Reply.tsx +44 -81
  1338. package/src/components/Thread/Thread.tsx +31 -57
  1339. package/src/components/Thread/__tests__/Thread.test.js +58 -77
  1340. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +874 -1011
  1341. package/src/components/Thread/components/ThreadFooterComponent.tsx +13 -49
  1342. package/src/components/docs/ListProps.md +1 -1
  1343. package/src/components/docs/data.js +38 -37
  1344. package/src/components/index.ts +13 -7
  1345. package/src/contexts/activeChannelsRefContext/ActiveChannelsRefContext.tsx +1 -2
  1346. package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +10 -9
  1347. package/src/contexts/channelContext/ChannelContext.tsx +43 -79
  1348. package/src/contexts/channelsContext/ChannelsContext.tsx +37 -63
  1349. package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +39 -117
  1350. package/src/contexts/channelsStateContext/useChannelState.ts +29 -61
  1351. package/src/contexts/chatContext/ChatContext.tsx +15 -51
  1352. package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +13 -56
  1353. package/src/contexts/keyboardContext/KeyboardContext.tsx +13 -8
  1354. package/src/contexts/messageContext/MessageContext.tsx +16 -57
  1355. package/src/contexts/messageInputContext/MessageInputContext.tsx +146 -157
  1356. package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +13 -26
  1357. package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +15 -34
  1358. package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +41 -97
  1359. package/src/contexts/messageOverlayContext/hooks/useResettableState.test.tsx +46 -0
  1360. package/src/contexts/messageOverlayContext/hooks/useResettableState.ts +22 -0
  1361. package/src/contexts/messagesContext/MessagesContext.tsx +96 -234
  1362. package/src/contexts/overlayContext/OverlayContext.tsx +35 -35
  1363. package/src/contexts/overlayContext/OverlayProvider.tsx +52 -62
  1364. package/src/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.tsx +38 -0
  1365. package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +14 -55
  1366. package/src/contexts/suggestionsContext/SuggestionsContext.tsx +59 -80
  1367. package/src/contexts/suggestionsContext/__tests__/Suggestions.test.js +4 -2
  1368. package/src/contexts/themeContext/ThemeContext.tsx +1 -0
  1369. package/src/contexts/themeContext/utils/theme.ts +92 -36
  1370. package/src/contexts/threadContext/ThreadContext.tsx +14 -48
  1371. package/src/contexts/translationContext/TranslationContext.tsx +15 -10
  1372. package/src/contexts/typingContext/TypingContext.tsx +12 -46
  1373. package/src/contexts/utils/getDisplayName.ts +3 -1
  1374. package/src/emoji-data/compiled.ts +1830 -9609
  1375. package/src/emoji-data/emojiNames.ts +0 -140
  1376. package/src/emoji-data/emojis.ts +0 -210
  1377. package/src/emoji-data/index.js +1 -1
  1378. package/src/hooks/useAppStateListener.ts +26 -12
  1379. package/src/hooks/useIsMountedRef.ts +36 -0
  1380. package/src/hooks/useStreami18n.ts +5 -3
  1381. package/src/i18n/en.json +9 -3
  1382. package/src/i18n/fr.json +9 -3
  1383. package/src/i18n/hi.json +9 -3
  1384. package/src/i18n/it.json +9 -3
  1385. package/src/i18n/ja.json +67 -0
  1386. package/src/i18n/ko.json +67 -0
  1387. package/src/i18n/nl.json +9 -3
  1388. package/src/i18n/ru.json +9 -3
  1389. package/src/i18n/tr.json +10 -4
  1390. package/src/icons/Pin.tsx +17 -0
  1391. package/src/icons/PinHeader.tsx +12 -0
  1392. package/src/icons/Unpin.tsx +12 -0
  1393. package/src/icons/UserAdmin.tsx +23 -0
  1394. package/src/icons/index.ts +3 -2
  1395. package/src/init.ts +5 -0
  1396. package/src/mock-builders/api/queryChannels.js +1 -1
  1397. package/src/mock-builders/api/sendMessage.js +3 -1
  1398. package/src/mock-builders/generator/attachment.js +0 -2
  1399. package/src/mock-builders/generator/channel.js +101 -46
  1400. package/src/mock-builders/generator/user.js +33 -26
  1401. package/src/mock-builders/mock.js +2 -2
  1402. package/src/mock-builders/native/react-native-mock.js +1 -1
  1403. package/src/native.ts +2 -13
  1404. package/src/types/types.ts +16 -18
  1405. package/src/utils/Streami18n.ts +12 -6
  1406. package/src/utils/__tests__/Streami18n.test.js +9 -45
  1407. package/src/utils/__tests__/getResizedImageUrl.test.js +57 -0
  1408. package/src/utils/__tests__/utils.test.js +19 -0
  1409. package/src/utils/date.ts +4 -0
  1410. package/src/utils/getResizedImageUrl.ts +59 -0
  1411. package/src/utils/getUrlOfImageAttachment.ts +10 -0
  1412. package/src/utils/utils.ts +97 -142
  1413. package/src/version.json +1 -1
  1414. package/lib/commonjs/components/AutoCompleteInput/CommandsHeader.js +0 -78
  1415. package/lib/commonjs/components/AutoCompleteInput/CommandsHeader.js.map +0 -1
  1416. package/lib/commonjs/components/AutoCompleteInput/CommandsItem.js.map +0 -1
  1417. package/lib/commonjs/components/AutoCompleteInput/EmojisHeader.js +0 -81
  1418. package/lib/commonjs/components/AutoCompleteInput/EmojisHeader.js.map +0 -1
  1419. package/lib/commonjs/components/AutoCompleteInput/EmojisItem.js +0 -75
  1420. package/lib/commonjs/components/AutoCompleteInput/EmojisItem.js.map +0 -1
  1421. package/lib/commonjs/components/AutoCompleteInput/MentionsItem.js +0 -125
  1422. package/lib/commonjs/components/AutoCompleteInput/MentionsItem.js.map +0 -1
  1423. package/lib/commonjs/components/AutoCompleteInput/SuggestionsList.js +0 -199
  1424. package/lib/commonjs/components/AutoCompleteInput/SuggestionsList.js.map +0 -1
  1425. package/lib/commonjs/components/Channel/utils/debounce.js +0 -20
  1426. package/lib/commonjs/components/Channel/utils/debounce.js.map +0 -1
  1427. package/lib/commonjs/components/Channel/utils/throttle.js +0 -20
  1428. package/lib/commonjs/components/Channel/utils/throttle.js.map +0 -1
  1429. package/lib/commonjs/components/MessageOverlay/MessageActions.js.map +0 -1
  1430. package/lib/commonjs/icons/Left.js +0 -38
  1431. package/lib/commonjs/icons/Left.js.map +0 -1
  1432. package/lib/commonjs/icons/Right.js +0 -38
  1433. package/lib/commonjs/icons/Right.js.map +0 -1
  1434. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js +0 -100
  1435. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js.map +0 -1
  1436. package/lib/commonjs/styleguideComponents/BottomSheet.js +0 -25
  1437. package/lib/commonjs/styleguideComponents/BottomSheet.js.map +0 -1
  1438. package/lib/commonjs/styleguideComponents/JsDoc.js +0 -87
  1439. package/lib/commonjs/styleguideComponents/JsDoc.js.map +0 -1
  1440. package/lib/commonjs/styleguideComponents/Markdown.js +0 -12
  1441. package/lib/commonjs/styleguideComponents/Markdown.js.map +0 -1
  1442. package/lib/commonjs/styleguideComponents/PathlineRenderer.js +0 -92
  1443. package/lib/commonjs/styleguideComponents/PathlineRenderer.js.map +0 -1
  1444. package/lib/commonjs/styleguideComponents/PropsRenderer.js +0 -267
  1445. package/lib/commonjs/styleguideComponents/PropsRenderer.js.map +0 -1
  1446. package/lib/commonjs/styleguideComponents/Reanimated.js +0 -2
  1447. package/lib/commonjs/styleguideComponents/Wrapper.js +0 -29
  1448. package/lib/commonjs/styleguideComponents/Wrapper.js.map +0 -1
  1449. package/lib/commonjs/styleguideComponents/register-react-native-web.js +0 -44
  1450. package/lib/commonjs/styleguideComponents/register-react-native-web.js.map +0 -1
  1451. package/lib/commonjs/styleguideComponents/resolveAssetSource.js +0 -11
  1452. package/lib/commonjs/styleguideComponents/resolveAssetSource.js.map +0 -1
  1453. package/lib/module/components/AutoCompleteInput/CommandsHeader.js +0 -78
  1454. package/lib/module/components/AutoCompleteInput/CommandsHeader.js.map +0 -1
  1455. package/lib/module/components/AutoCompleteInput/CommandsItem.js.map +0 -1
  1456. package/lib/module/components/AutoCompleteInput/EmojisHeader.js +0 -81
  1457. package/lib/module/components/AutoCompleteInput/EmojisHeader.js.map +0 -1
  1458. package/lib/module/components/AutoCompleteInput/EmojisItem.js +0 -75
  1459. package/lib/module/components/AutoCompleteInput/EmojisItem.js.map +0 -1
  1460. package/lib/module/components/AutoCompleteInput/MentionsItem.js +0 -125
  1461. package/lib/module/components/AutoCompleteInput/MentionsItem.js.map +0 -1
  1462. package/lib/module/components/AutoCompleteInput/SuggestionsList.js +0 -199
  1463. package/lib/module/components/AutoCompleteInput/SuggestionsList.js.map +0 -1
  1464. package/lib/module/components/Channel/utils/debounce.js +0 -20
  1465. package/lib/module/components/Channel/utils/debounce.js.map +0 -1
  1466. package/lib/module/components/Channel/utils/throttle.js +0 -20
  1467. package/lib/module/components/Channel/utils/throttle.js.map +0 -1
  1468. package/lib/module/components/MessageOverlay/MessageActions.js.map +0 -1
  1469. package/lib/module/icons/Left.js +0 -38
  1470. package/lib/module/icons/Left.js.map +0 -1
  1471. package/lib/module/icons/Right.js +0 -38
  1472. package/lib/module/icons/Right.js.map +0 -1
  1473. package/lib/module/styleguideComponents/ArgumentsRenderer.js +0 -100
  1474. package/lib/module/styleguideComponents/ArgumentsRenderer.js.map +0 -1
  1475. package/lib/module/styleguideComponents/BottomSheet.js +0 -25
  1476. package/lib/module/styleguideComponents/BottomSheet.js.map +0 -1
  1477. package/lib/module/styleguideComponents/JsDoc.js +0 -87
  1478. package/lib/module/styleguideComponents/JsDoc.js.map +0 -1
  1479. package/lib/module/styleguideComponents/Markdown.js +0 -12
  1480. package/lib/module/styleguideComponents/Markdown.js.map +0 -1
  1481. package/lib/module/styleguideComponents/PathlineRenderer.js +0 -92
  1482. package/lib/module/styleguideComponents/PathlineRenderer.js.map +0 -1
  1483. package/lib/module/styleguideComponents/PropsRenderer.js +0 -267
  1484. package/lib/module/styleguideComponents/PropsRenderer.js.map +0 -1
  1485. package/lib/module/styleguideComponents/Reanimated.js +0 -2
  1486. package/lib/module/styleguideComponents/Wrapper.js +0 -29
  1487. package/lib/module/styleguideComponents/Wrapper.js.map +0 -1
  1488. package/lib/module/styleguideComponents/register-react-native-web.js +0 -44
  1489. package/lib/module/styleguideComponents/register-react-native-web.js.map +0 -1
  1490. package/lib/module/styleguideComponents/resolveAssetSource.js +0 -11
  1491. package/lib/module/styleguideComponents/resolveAssetSource.js.map +0 -1
  1492. package/lib/typescript/components/AutoCompleteInput/CommandsHeader.d.ts +0 -2
  1493. package/lib/typescript/components/AutoCompleteInput/CommandsItem.d.ts +0 -15
  1494. package/lib/typescript/components/AutoCompleteInput/EmojisHeader.d.ts +0 -5
  1495. package/lib/typescript/components/AutoCompleteInput/EmojisItem.d.ts +0 -12
  1496. package/lib/typescript/components/AutoCompleteInput/MentionsItem.d.ts +0 -16
  1497. package/lib/typescript/components/AutoCompleteInput/SuggestionsList.d.ts +0 -13
  1498. package/lib/typescript/components/Channel/utils/debounce.d.ts +0 -2
  1499. package/lib/typescript/components/Channel/utils/throttle.d.ts +0 -2
  1500. package/lib/typescript/components/MessageOverlay/MessageActions.d.ts +0 -11
  1501. package/src/components/AutoCompleteInput/CommandsHeader.tsx +0 -43
  1502. package/src/components/AutoCompleteInput/EmojisHeader.tsx +0 -45
  1503. package/src/components/AutoCompleteInput/EmojisItem.tsx +0 -52
  1504. package/src/components/AutoCompleteInput/MentionsItem.tsx +0 -74
  1505. package/src/components/AutoCompleteInput/SuggestionsList.tsx +0 -138
  1506. package/src/components/AutoCompleteInput/__tests__/CommandsItem.test.js +0 -29
  1507. package/src/components/AutoCompleteInput/__tests__/MentionsItem.test.js +0 -62
  1508. package/src/components/Channel/utils/debounce.ts +0 -12
  1509. package/src/components/Channel/utils/throttle.ts +0 -12
  1510. package/src/components/MessageList/__tests__/__snapshots__/MessageList.test.js.snap +0 -983
  1511. package/src/components/MessageOverlay/MessageActions.tsx +0 -243
  1512. package/src/icons/Left.tsx +0 -12
  1513. package/src/icons/Right.tsx +0 -12
  1514. package/src/styleguideComponents/ArgumentsRenderer.tsx +0 -59
  1515. package/src/styleguideComponents/BottomSheet.tsx +0 -3
  1516. package/src/styleguideComponents/JsDoc.tsx +0 -43
  1517. package/src/styleguideComponents/Markdown.tsx +0 -1
  1518. package/src/styleguideComponents/PathlineRenderer.tsx +0 -44
  1519. package/src/styleguideComponents/PropsRenderer.tsx +0 -138
  1520. package/src/styleguideComponents/Reanimated.tsx +0 -0
  1521. package/src/styleguideComponents/Wrapper.tsx +0 -6
  1522. package/src/styleguideComponents/register-react-native-web.js +0 -13
  1523. package/src/styleguideComponents/resolveAssetSource.js +0 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["MessageInputContext.tsx"],"names":["MessageInputContext","React","createContext","MessageInputProvider","children","value","closePicker","openPicker","selectedPicker","setSelectedPicker","client","channel","giphyEnabled","thread","inputBoxRef","sending","asyncIds","setAsyncIds","asyncUploads","setAsyncUploads","giphyActive","setGiphyActive","sendThreadMessageInChannel","setSendThreadMessageInChannel","editing","hasFilePicker","hasImagePicker","initialValue","maxNumberOfFiles","fileUploads","imageUploads","mentionedUsers","numberOfUploads","setFileUploads","setImageUploads","setMentionedUsers","setNumberOfUploads","setShowMoreOptions","setText","showMoreOptions","text","threadId","id","appendText","newText","prevText","isValidMessage","trim","image","state","FileState","UPLOAD_FAILED","UPLOADING","file","onChange","current","keystroke","onChangeText","openCommandsPicker","focus","openMentionsPicker","openAttachmentPicker","length","Keyboard","dismiss","setTimeout","pickFile","closeAttachmentPicker","undefined","toggleAttachmentPicker","onSelectItem","item","prevMentionedUsers","result","cancelled","docs","forEach","doc","mimeType","name","startsWith","uploadNewFile","removeFile","some","prevFileUploads","filter","prevNumberOfUploads","removeImage","prevImageUploads","resetInput","pendingAttachments","sendMessage","clear","attachments","sendImageAsync","prevAsyncIds","UPLOADED","FINISHED","push","fallback","image_url","url","type","asset_url","file_size","size","mime_type","title","updatedMessage","mentioned_users","quoted_message","clearEditingState","updateMessagePromise","editMessage","then","parent_id","quoted_message_id","quotedMessage","show_in_channel","clearQuotedMessageState","_error","setQuotedMessageState","slice","console","log","sendMessageAsync","splice","indexOf","prevAsyncUploads","setInputBoxRef","ref","setInputRef","triggerSettings","autoCompleteTriggerSettings","onMentionSelectItem","updateMessage","uploadFile","newFile","map","fileUpload","response","doDocUploadRequest","uri","sendFile","warn","uploadImage","newImage","match","localUri","source","height","width","compressImageQuality","compressedUri","filename","replace","contentType","doImageUploadRequest","sendImage","res","includes","imageUpload","Object","keys","Promise","all","concat","uploadNewImage","messageInputContext","openFilePicker","useMessageInputContext","withMessageInputContext","Component","WithMessageInputContextComponent","props","displayName"],"mappings":"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","sourcesContent":["import React, { PropsWithChildren, useContext, useEffect, useRef, useState } from 'react';\nimport { Keyboard } from 'react-native';\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 { useAttachmentPickerContext } from '../attachmentPickerContext/AttachmentPickerContext';\nimport { useChatContext } from '../chatContext/ChatContext';\nimport { ChannelContextValue, useChannelContext } from '../channelContext/ChannelContext';\nimport { useThreadContext } from '../threadContext/ThreadContext';\nimport { getDisplayName } from '../utils/getDisplayName';\n\nimport {\n ACITriggerSettings,\n ACITriggerSettingsParams,\n FileState,\n generateRandomId,\n TriggerSettings,\n} from '../../utils/utils';\n\nimport { Asset, compressImage, getLocalAssetUri, pickDocument } from '../../native';\n\nimport type { TextInput, TextInputProps } from 'react-native';\n\nimport type { AttachButtonProps } from '../../components/MessageInput/AttachButton';\nimport type { CommandsButtonProps } from '../../components/MessageInput/CommandsButton';\nimport type { FileUploadPreviewProps } from '../../components/MessageInput/FileUploadPreview';\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 type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nexport type FileUpload = {\n file: {\n name: string;\n size?: number | string;\n type?: string;\n uri?: string;\n };\n id: string;\n state: string;\n url?: string;\n};\n\nexport type ImageUpload = {\n file: Partial<Asset> & {\n name?: string;\n };\n id: string;\n state: string;\n url?: string;\n};\n\nexport type InputConfig = {\n maxMessageLength?: number;\n uploadsEnabled?: boolean;\n};\n\nexport type MentionAllAppUsersQuery<Us extends DefaultUserType> = {\n filters?: UserFilters<Us>;\n options?: UserOptions;\n sort?: UserSort<Us>;\n};\n\nexport type LocalMessageInputContext<\n At extends UnknownType = DefaultAttachmentType,\n Co extends string = DefaultCommandType,\n Us extends UnknownType = DefaultUserType,\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 /**\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<Us>) => 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<At>[]) => 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: (ref: TextInput | null) => void;\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<Co, Us>;\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: {\n name: string;\n size?: number | string;\n type?: string;\n uri?: string;\n }) => Promise<void>;\n uploadNewImage: (image: Partial<Asset>) => Promise<void>;\n};\n\nexport type InputMessageInputContextValue<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = {\n /**\n * Custom UI component for attach button.\n *\n * Defaults to and accepts same props as: [AttachButton](https://getstream.github.io/stream-chat-react-native/v3/#attachbutton)\n */\n AttachButton: React.ComponentType<AttachButtonProps<At, Ch, Co, Ev, Me, Re, Us>>;\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.github.io/stream-chat-react-native/v3/#commandsbutton)\n */\n CommandsButton: React.ComponentType<CommandsButtonProps<At, Ch, Co, Ev, Me, Re, Us>>;\n editing: boolean | MessageType<At, Ch, Co, Ev, Me, Re, Us>;\n editMessage: StreamChat<At, Ch, Co, Ev, Me, Re, Us>['updateMessage'];\n /**\n * Custom UI component for FileUploadPreview.\n * Defaults to and accepts same props as: https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/MessageInput/FileUploadPreview.tsx\n */\n FileUploadPreview: React.ComponentType<FileUploadPreviewProps<At, Ch, Co, Ev, Me, Re, Us>>;\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/master/src/components/MessageInput/ImageUploadPreview.tsx\n */\n ImageUploadPreview: React.ComponentType<ImageUploadPreviewProps<At, Ch, Co, Ev, Me, Re, Us>>;\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.github.io/stream-chat-react-native/v3/#moreoptionsbutton)\n */\n MoreOptionsButton: React.ComponentType<MoreOptionsButtonProps<At, Ch, Co, Ev, Me, Re, Us>>;\n /** Limit on the number of lines in the text input before scrolling */\n numberOfLines: number;\n quotedMessage: boolean | MessageType<At, Ch, Co, Ev, Me, Re, Us>;\n /**\n * Custom UI component for send button.\n *\n * Defaults to and accepts same props as: [SendButton](https://getstream.github.io/stream-chat-react-native/v3/#sendbutton)\n */\n SendButton: React.ComponentType<SendButtonProps<At, Ch, Co, Ev, Me, Re, Us>>;\n sendImageAsync: boolean;\n sendMessage: (message: Partial<StreamMessage<At, Me, Us>>) => Promise<void>;\n setQuotedMessageState: (message: MessageType<At, Ch, Co, Ev, Me, Re, Us>) => 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/master/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<At, Ch, Co, Ev, Me, Re, Us>,\n ) => TriggerSettings<Co, Us>;\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: {\n name: string;\n size?: string | number;\n type?: string;\n uri?: string;\n },\n channel: ChannelContextValue<At, Ch, Co, Ev, Me, Re, Us>['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<At, Ch, Co, Ev, Me, Re, Us>['channel'],\n ) => Promise<SendFileAPIResponse>;\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/master/src/contexts/messageInputContext/MessageInputContext.tsx)\n */\n Input?: React.ComponentType<\n Omit<MessageInputProps<At, Ch, Co, Ev, Me, Re, Us>, 'Input'> &\n InputButtonsProps<At, Ch, Co, Ev, Me, Re, Us> & {\n getUsers: () => UserResponse<Us>[];\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/master/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<At, Ch, Co, Ev, Me, Re, Us>>;\n mentionAllAppUsersEnabled?: boolean;\n /** Object containing filters/sort/options overrides for an @mention user query */\n mentionAllAppUsersQuery?: MentionAllAppUsersQuery<Us>;\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 /**\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} & InputConfig;\n\nexport type MessageInputContextValue<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = LocalMessageInputContext<At, Co, Us> &\n Omit<InputMessageInputContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'sendMessage'>;\n\nexport const MessageInputContext = React.createContext({} as MessageInputContextValue);\n\nexport const MessageInputProvider = <\n At extends DefaultAttachmentType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>({\n children,\n value,\n}: PropsWithChildren<{\n value: InputMessageInputContextValue<At, Ch, Co, Ev, Me, Re, Us>;\n}>) => {\n const { closePicker, openPicker, selectedPicker, setSelectedPicker } =\n useAttachmentPickerContext();\n const { client } = useChatContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n const { channel, giphyEnabled } = useChannelContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { thread } = useThreadContext<At, Ch, Co, Ev, Me, Re, Us>();\n\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, maxNumberOfFiles } = 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<At, Ch, Co, Ev, Me, Re, Us>(editing, initialValue);\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 for (const image of imageUploads) {\n if (!image || image.state === FileState.UPLOAD_FAILED) {\n continue;\n }\n if (image.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 for (const file of fileUploads) {\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) {\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 && !fileUploads.length) {\n Keyboard.dismiss();\n openPicker();\n setSelectedPicker('images');\n /**\n * TODO: Remove this, this is the result of\n * the bottom sheet now having some keyboard\n * handling baked in, creating an issue when\n * we call dismiss and open in short order.\n * https://github.com/gorhom/react-native-bottom-sheet/issues/446\n */\n setTimeout(openPicker, 600);\n } else if (hasFilePicker && numberOfUploads < maxNumberOfFiles) {\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<Us>) => {\n setMentionedUsers((prevMentionedUsers) => [...prevMentionedUsers, item.id]);\n };\n\n const pickFile = async () => {\n if (numberOfUploads >= value.maxNumberOfFiles) {\n return;\n }\n\n const result = await pickDocument({\n maxNumberOfFiles: value.maxNumberOfFiles - numberOfUploads,\n });\n if (!result.cancelled && result.docs) {\n result.docs.forEach((doc) => {\n const mimeType = lookup(doc.name);\n\n if (mimeType && mimeType?.startsWith('image/')) {\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 } else {\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<At>[] = []) => {\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 sendMessage = async () => {\n if (sending.current) {\n return;\n }\n sending.current = true;\n\n const prevText = giphyEnabled && giphyActive ? `/giphy ${text}` : text;\n await setText('');\n if (inputBoxRef.current) {\n inputBoxRef.current.clear();\n }\n\n const attachments = [] as Attachment<At>[];\n for (const image of imageUploads) {\n if (!image || image.state === FileState.UPLOAD_FAILED) {\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 if (image.state === FileState.UPLOADED || image.state === FileState.FINISHED) {\n attachments.push({\n fallback: image.file.name,\n image_url: image.url,\n type: 'image',\n } as Attachment<At>);\n }\n }\n\n for (const file of fileUploads) {\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 sending.current = false;\n return;\n }\n if (file.state === FileState.UPLOADED || file.state === FileState.FINISHED) {\n attachments.push({\n asset_url: file.url,\n file_size: file.file.size,\n mime_type: file.file.type,\n title: file.file.name,\n type: 'file',\n } as Attachment<At>);\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<At, Ch, Co, Ev, Me, Re, Us>['updateMessage']>[0];\n\n // TODO: Remove this line and show an error when submit fails\n value.clearEditingState();\n\n const updateMessagePromise = value.editMessage(updatedMessage).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<At, Me, Us>);\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<At, Me, Us>['attachments'];\n\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<At, Me, Us>>);\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 triggerSettings = channel\n ? value.autoCompleteTriggerSettings\n ? value.autoCompleteTriggerSettings({\n channel,\n client,\n onMentionSelectItem: onSelectItem,\n })\n : ACITriggerSettings<At, Ch, Co, Ev, Me, Re, Us>({\n channel,\n client,\n onMentionSelectItem: onSelectItem,\n })\n : ({} as TriggerSettings<Co, Us>);\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<At, Ch, Co, Ev, Me, Re, Us>['updateMessage']>[0]);\n }\n\n resetInput();\n value.clearEditingState();\n } catch (error) {\n console.log(error);\n }\n };\n\n const uploadFile = async ({ newFile }: { newFile: FileUpload }) => {\n if (!newFile) {\n return;\n }\n const { file, id } = newFile;\n\n await setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => {\n if (fileUpload.id === id) {\n return {\n ...fileUpload,\n state: FileState.UPLOADING,\n };\n }\n return fileUpload;\n }),\n );\n\n let response = {} as SendFileAPIResponse;\n try {\n if (value.doDocUploadRequest) {\n response = await value.doDocUploadRequest(file, channel);\n } else if (channel && file.uri) {\n response = await channel.sendFile(file.uri, file.name, file.type);\n }\n } catch (error) {\n console.warn(error);\n if (!newFile) {\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads - 1);\n } else {\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => {\n if (fileUpload.id === id) {\n return {\n ...fileUpload,\n state: FileState.UPLOAD_FAILED,\n };\n }\n return fileUpload;\n }),\n );\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads - 1);\n }\n return;\n }\n\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => {\n if (fileUpload.id === id) {\n return {\n ...fileUpload,\n state: FileState.UPLOADED,\n url: response.file,\n };\n }\n return fileUpload;\n }),\n );\n };\n\n const uploadImage = async ({ newImage }: { newImage: ImageUpload }) => {\n const { file, id } = newImage || {};\n if (!file) {\n return;\n }\n\n let response = {} as SendFileAPIResponse;\n\n try {\n /**\n * Expo now uses the assets-library which is also how remote\n * native files are presented. We now return a file id from Expo\n * only, if that file id exits we call getLocalAssetUri to download\n * the asset for expo before uploading it. We do the same for native\n * if the uri includes assets-library, this uses the CameraRoll.save\n * function to also create a local uri.\n */\n const localUri = file.id\n ? await getLocalAssetUri(file.id)\n : file.uri?.match(/assets-library/)\n ? await getLocalAssetUri(file.uri)\n : file.uri;\n\n const uri = file.name || localUri || '';\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\n const filename = uri.replace(/^(file:\\/\\/|content:\\/\\/|assets-library:\\/\\/)/, '');\n const contentType = lookup(filename) || 'multipart/form-data';\n\n if (value.doImageUploadRequest) {\n response = await value.doImageUploadRequest(file, channel);\n } else if (compressedUri && channel) {\n if (value.sendImageAsync) {\n channel.sendImage(compressedUri, undefined, 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 setImageUploads((prevImageUploads) =>\n prevImageUploads.map((imageUpload) => {\n if (imageUpload.id === id) {\n return {\n ...imageUpload,\n state: FileState.UPLOADED,\n url: res.file,\n };\n }\n return imageUpload;\n }),\n );\n }\n });\n } else {\n response = await channel.sendImage(compressedUri, undefined, contentType);\n }\n }\n\n if (Object.keys(response).length) {\n setImageUploads((prevImageUploads) =>\n prevImageUploads.map((imageUpload) => {\n if (imageUpload.id === id) {\n return {\n ...imageUpload,\n state: FileState.UPLOADED,\n url: response.file,\n };\n }\n return imageUpload;\n }),\n );\n }\n } catch (error) {\n console.warn(error);\n if (newImage) {\n setImageUploads((prevImageUploads) =>\n prevImageUploads.map((imageUpload) => {\n if (imageUpload.id === id) {\n return {\n ...imageUpload,\n state: FileState.UPLOAD_FAILED,\n };\n }\n return imageUpload;\n }),\n );\n }\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads - 1);\n\n return;\n }\n };\n\n const uploadNewFile = async (file: {\n name: string;\n size?: number | string;\n type?: string;\n uri?: string;\n }) => {\n const id = generateRandomId();\n const mimeType = lookup(file.name);\n const newFile = {\n file: { ...file, type: mimeType || file?.type },\n id,\n state: FileState.UPLOADING,\n };\n await Promise.all([\n setFileUploads((prevFileUploads) => prevFileUploads.concat([newFile])),\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads + 1),\n ]);\n\n uploadFile({ newFile });\n };\n\n const uploadNewImage = async (image: Partial<Asset>) => {\n const id = generateRandomId();\n const newImage = {\n file: image,\n id,\n state: FileState.UPLOADING,\n };\n await Promise.all([\n setImageUploads((prevImageUploads) => prevImageUploads.concat([newImage])),\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads + 1),\n ]);\n\n uploadImage({ newImage });\n };\n\n const messageInputContext = useCreateMessageInputContext({\n appendText,\n asyncIds,\n asyncUploads,\n closeAttachmentPicker,\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 At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>() =>\n useContext(MessageInputContext) as unknown as MessageInputContextValue<\n At,\n Ch,\n Co,\n Ev,\n Me,\n Re,\n Us\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 At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n Component: React.ComponentType<P>,\n): React.FC<Omit<P, keyof MessageInputContextValue<At, Ch, Co, Ev, Me, Re, Us>>> => {\n const WithMessageInputContextComponent = (\n props: Omit<P, keyof MessageInputContextValue<At, Ch, Co, Ev, Me, Re, Us>>,\n ) => {\n const messageInputContext = useMessageInputContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return <Component {...(props as P)} {...messageInputContext} />;\n };\n WithMessageInputContextComponent.displayName = `WithMessageInputContext${getDisplayName(\n Component,\n )}`;\n return WithMessageInputContextComponent;\n};\n"]}
1
+ {"version":3,"sources":["MessageInputContext.tsx"],"names":["MessageInputContext","React","createContext","MessageInputProvider","children","value","closePicker","openPicker","selectedPicker","setSelectedPicker","client","channelCapabities","channel","giphyEnabled","thread","t","inputBoxRef","sending","asyncIds","setAsyncIds","asyncUploads","setAsyncUploads","giphyActive","setGiphyActive","sendThreadMessageInChannel","setSendThreadMessageInChannel","editing","hasFilePicker","hasImagePicker","initialValue","maxNumberOfFiles","fileUploads","imageUploads","mentionedUsers","numberOfUploads","setFileUploads","setImageUploads","setMentionedUsers","setNumberOfUploads","setShowMoreOptions","setText","showMoreOptions","text","cooldownEndsAt","endsAt","startCooldown","start","threadId","id","appendText","newText","prevText","isValidMessage","trim","image","state","FileState","UPLOAD_FAILED","UPLOADING","file","onChange","current","sendTypingEvents","keystroke","onChangeText","openCommandsPicker","focus","openMentionsPicker","openAttachmentPicker","length","Keyboard","dismiss","setTimeout","pickFile","closeAttachmentPicker","undefined","toggleAttachmentPicker","onSelectItem","item","prevMentionedUsers","result","cancelled","docs","forEach","doc","uploadNewFile","removeFile","some","prevFileUploads","filter","prevNumberOfUploads","removeImage","prevImageUploads","resetInput","pendingAttachments","sendMessage","sendLinks","match","urlRegex","Alert","alert","clear","attachments","sendImageAsync","prevAsyncIds","UPLOADED","FINISHED","push","fallback","name","image_url","url","type","startsWith","asset_url","file_size","size","mime_type","title","updatedMessage","mentioned_users","quoted_message","clearEditingState","updateMessagePromise","editMessage","then","parent_id","quoted_message_id","quotedMessage","show_in_channel","clearQuotedMessageState","_error","setQuotedMessageState","slice","console","log","sendMessageAsync","splice","indexOf","prevAsyncUploads","setInputBoxRef","ref","setInputRef","triggerSettings","autoCompleteTriggerSettings","onMentionSelectItem","updateMessage","uploadFile","newFile","map","fileUpload","response","doDocUploadRequest","uri","sendFile","warn","uploadImage","newImage","localUri","source","height","width","compressImageQuality","compressedUri","filename","replace","contentType","doImageUploadRequest","sendImage","res","includes","imageUpload","Object","keys","mimeType","Promise","all","concat","uploadNewImage","messageInputContext","openFilePicker","useMessageInputContext","withMessageInputContext","Component","WithMessageInputContextComponent","props","displayName"],"mappings":"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","sourcesContent":["import React, { PropsWithChildren, useContext, useEffect, useRef, useState } from 'react';\nimport { Alert, Keyboard } from 'react-native';\n\nimport type { TextInput, TextInputProps } 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 { 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 { Asset, compressImage, getLocalAssetUri, pickDocument } from '../../native';\nimport type { DefaultStreamChatGenerics, UnknownType } from '../../types/types';\nimport {\n ACITriggerSettings,\n ACITriggerSettingsParams,\n FileState,\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 { getDisplayName } from '../utils/getDisplayName';\n\nexport type FileUpload = {\n file: {\n name: string;\n size?: number | string;\n type?: string;\n uri?: string;\n };\n id: string;\n state: string;\n url?: string;\n};\n\nexport type ImageUpload = {\n file: Partial<Asset> & {\n name?: string;\n };\n id: string;\n state: string;\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: (ref: TextInput | null) => void;\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: {\n name: string;\n size?: number | string;\n type?: string;\n uri?: string;\n }) => 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.github.io/stream-chat-react-native/v3/#attachbutton)\n */\n AttachButton: React.ComponentType<AttachButtonProps<StreamChatGenerics>>;\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.github.io/stream-chat-react-native/v3/#commandsbutton)\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/master/src/components/MessageInput/CooldownTimer.tsx)\n */\n CooldownTimer: React.ComponentType<CooldownTimerProps>;\n editing: boolean | MessageType<StreamChatGenerics>;\n editMessage: StreamChat<StreamChatGenerics>['updateMessage'];\n /**\n * Custom UI component for FileUploadPreview.\n * Defaults to and accepts same props as: https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/MessageInput/FileUploadPreview.tsx\n */\n FileUploadPreview: React.ComponentType<FileUploadPreviewProps<StreamChatGenerics>>;\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/master/src/components/MessageInput/ImageUploadPreview.tsx\n */\n ImageUploadPreview: React.ComponentType<ImageUploadPreviewProps<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.github.io/stream-chat-react-native/v3/#moreoptionsbutton)\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.github.io/stream-chat-react-native/v3/#sendbutton)\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/master/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: {\n name: string;\n size?: string | number;\n type?: string;\n uri?: string;\n },\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 /** 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/master/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/master/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({} as MessageInputContextValue);\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 { client } = useChatContext<StreamChatGenerics>();\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, maxNumberOfFiles } = 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 for (const image of imageUploads) {\n if (!image || image.state === FileState.UPLOAD_FAILED) {\n continue;\n }\n if (image.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 for (const file of fileUploads) {\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 && !fileUploads.length) {\n Keyboard.dismiss();\n openPicker();\n setSelectedPicker('images');\n /**\n * TODO: Remove this, this is the result of\n * the bottom sheet now having some keyboard\n * handling baked in, creating an issue when\n * we call dismiss and open in short order.\n * https://github.com/gorhom/react-native-bottom-sheet/issues/446\n */\n setTimeout(openPicker, 600);\n } else if (hasFilePicker && numberOfUploads < maxNumberOfFiles) {\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 (numberOfUploads >= value.maxNumberOfFiles) {\n return;\n }\n\n const result = await pickDocument({\n maxNumberOfFiles: value.maxNumberOfFiles - numberOfUploads,\n });\n if (!result.cancelled && result.docs) {\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 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 // 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 (!image || image.state === FileState.UPLOAD_FAILED) {\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 if (image.state === FileState.UPLOADED || image.state === FileState.FINISHED) {\n attachments.push({\n fallback: image.file.name,\n image_url: image.url,\n type: 'image',\n } as Attachment<StreamChatGenerics>);\n }\n }\n\n for (const file of fileUploads) {\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 sending.current = false;\n return;\n }\n if (file.state === FileState.UPLOADED || file.state === FileState.FINISHED) {\n if (file.file.type?.startsWith('image/')) {\n attachments.push({\n fallback: file.file.name,\n image_url: file.url,\n type: 'image',\n } as Attachment<StreamChatGenerics>);\n } else if (file.file.type?.startsWith('video/')) {\n attachments.push({\n asset_url: file.url,\n file_size: file.file.size,\n mime_type: file.file.type,\n title: file.file.name,\n type: 'video',\n } as Attachment<StreamChatGenerics>);\n } else {\n attachments.push({\n asset_url: file.url,\n file_size: file.file.size,\n mime_type: file.file.type,\n title: file.file.name,\n type: 'file',\n } as Attachment<StreamChatGenerics>);\n }\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.editMessage(updatedMessage).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 triggerSettings = channel\n ? value.autoCompleteTriggerSettings\n ? value.autoCompleteTriggerSettings({\n channel,\n client,\n onMentionSelectItem: onSelectItem,\n })\n : ACITriggerSettings<StreamChatGenerics>({\n channel,\n client,\n onMentionSelectItem: onSelectItem,\n })\n : ({} as TriggerSettings<StreamChatGenerics>);\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 uploadFile = async ({ newFile }: { newFile: FileUpload }) => {\n if (!newFile) {\n return;\n }\n const { file, id } = newFile;\n\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => {\n if (fileUpload.id === id) {\n return {\n ...fileUpload,\n state: FileState.UPLOADING,\n };\n }\n return fileUpload;\n }),\n );\n\n let response = {} as SendFileAPIResponse;\n try {\n if (value.doDocUploadRequest) {\n response = await value.doDocUploadRequest(file, channel);\n } else if (channel && file.uri) {\n response = await channel.sendFile(file.uri, file.name, file.type);\n }\n } catch (error) {\n console.warn(error);\n if (!newFile) {\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads - 1);\n } else {\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => {\n if (fileUpload.id === id) {\n return {\n ...fileUpload,\n state: FileState.UPLOAD_FAILED,\n };\n }\n return fileUpload;\n }),\n );\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads - 1);\n }\n return;\n }\n\n setFileUploads((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => {\n if (fileUpload.id === id) {\n return {\n ...fileUpload,\n state: FileState.UPLOADED,\n url: response.file,\n };\n }\n return fileUpload;\n }),\n );\n };\n\n const uploadImage = async ({ newImage }: { newImage: ImageUpload }) => {\n const { file, id } = newImage || {};\n if (!file) {\n return;\n }\n\n let response = {} as SendFileAPIResponse;\n\n try {\n /**\n * Expo now uses the assets-library which is also how remote\n * native files are presented. We now return a file id from Expo\n * only, if that file id exits we call getLocalAssetUri to download\n * the asset for expo before uploading it. We do the same for native\n * if the uri includes assets-library, this uses the CameraRoll.save\n * function to also create a local uri.\n */\n const localUri = file.id\n ? await getLocalAssetUri(file.id)\n : file.uri?.match(/assets-library/)\n ? await getLocalAssetUri(file.uri)\n : file.uri;\n\n const uri = file.name || localUri || '';\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, undefined, 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 setImageUploads((prevImageUploads) =>\n prevImageUploads.map((imageUpload) => {\n if (imageUpload.id === id) {\n return {\n ...imageUpload,\n state: FileState.UPLOADED,\n url: res.file,\n };\n }\n return imageUpload;\n }),\n );\n }\n });\n } else {\n response = await channel.sendImage(compressedUri, undefined, contentType);\n }\n }\n\n if (Object.keys(response).length) {\n setImageUploads((prevImageUploads) =>\n prevImageUploads.map((imageUpload) => {\n if (imageUpload.id === id) {\n return {\n ...imageUpload,\n height: file.height,\n state: FileState.UPLOADED,\n url: response.file,\n width: file.width,\n };\n }\n return imageUpload;\n }),\n );\n }\n } catch (error) {\n console.warn(error);\n if (newImage) {\n setImageUploads((prevImageUploads) =>\n prevImageUploads.map((imageUpload) => {\n if (imageUpload.id === id) {\n return {\n ...imageUpload,\n state: FileState.UPLOAD_FAILED,\n };\n }\n return imageUpload;\n }),\n );\n }\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads - 1);\n\n return;\n }\n };\n\n const uploadNewFile = async (file: {\n name: string;\n size?: number | string;\n type?: string;\n uri?: string;\n }) => {\n const id = generateRandomId();\n const mimeType = lookup(file.name);\n const newFile = {\n file: { ...file, type: mimeType || file?.type },\n id,\n state: FileState.UPLOADING,\n };\n await Promise.all([\n setFileUploads((prevFileUploads) => prevFileUploads.concat([newFile])),\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads + 1),\n ]);\n\n uploadFile({ newFile });\n };\n\n const uploadNewImage = async (image: Partial<Asset>) => {\n const id = generateRandomId();\n const newImage = {\n file: image,\n id,\n state: FileState.UPLOADING,\n };\n await Promise.all([\n setImageUploads((prevImageUploads) => prevImageUploads.concat([newImage])),\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads + 1),\n ]);\n\n uploadImage({ newImage });\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>() => useContext(MessageInputContext) as unknown as MessageInputContextValue<StreamChatGenerics>;\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"]}
@@ -17,6 +17,8 @@ var useCreateMessageInputContext = function useCreateMessageInputContext(_ref) {
17
17
  closeAttachmentPicker = _ref.closeAttachmentPicker,
18
18
  CommandsButton = _ref.CommandsButton,
19
19
  compressImageQuality = _ref.compressImageQuality,
20
+ cooldownEndsAt = _ref.cooldownEndsAt,
21
+ CooldownTimer = _ref.CooldownTimer,
20
22
  doDocUploadRequest = _ref.doDocUploadRequest,
21
23
  doImageUploadRequest = _ref.doImageUploadRequest,
22
24
  editing = _ref.editing,
@@ -60,6 +62,7 @@ var useCreateMessageInputContext = function useCreateMessageInputContext(_ref) {
60
62
  sending = _ref.sending,
61
63
  sendMessage = _ref.sendMessage,
62
64
  sendMessageAsync = _ref.sendMessageAsync,
65
+ SendMessageDisallowedIndicator = _ref.SendMessageDisallowedIndicator,
63
66
  sendThreadMessageInChannel = _ref.sendThreadMessageInChannel,
64
67
  setAsyncIds = _ref.setAsyncIds,
65
68
  setAsyncUploads = _ref.setAsyncUploads,
@@ -85,8 +88,7 @@ var useCreateMessageInputContext = function useCreateMessageInputContext(_ref) {
85
88
  uploadImage = _ref.uploadImage,
86
89
  uploadNewFile = _ref.uploadNewFile,
87
90
  uploadNewImage = _ref.uploadNewImage,
88
- UploadProgressIndicator = _ref.UploadProgressIndicator,
89
- uploadsEnabled = _ref.uploadsEnabled;
91
+ UploadProgressIndicator = _ref.UploadProgressIndicator;
90
92
  var editingExists = !!editing;
91
93
  var fileUploadsValue = fileUploads.map(function (_ref2) {
92
94
  var state = _ref2.state;
@@ -112,6 +114,8 @@ var useCreateMessageInputContext = function useCreateMessageInputContext(_ref) {
112
114
  closeAttachmentPicker: closeAttachmentPicker,
113
115
  CommandsButton: CommandsButton,
114
116
  compressImageQuality: compressImageQuality,
117
+ cooldownEndsAt: cooldownEndsAt,
118
+ CooldownTimer: CooldownTimer,
115
119
  doDocUploadRequest: doDocUploadRequest,
116
120
  doImageUploadRequest: doImageUploadRequest,
117
121
  editing: editing,
@@ -155,6 +159,7 @@ var useCreateMessageInputContext = function useCreateMessageInputContext(_ref) {
155
159
  sending: sending,
156
160
  sendMessage: sendMessage,
157
161
  sendMessageAsync: sendMessageAsync,
162
+ SendMessageDisallowedIndicator: SendMessageDisallowedIndicator,
158
163
  sendThreadMessageInChannel: sendThreadMessageInChannel,
159
164
  setAsyncIds: setAsyncIds,
160
165
  setAsyncUploads: setAsyncUploads,
@@ -179,10 +184,9 @@ var useCreateMessageInputContext = function useCreateMessageInputContext(_ref) {
179
184
  uploadImage: uploadImage,
180
185
  uploadNewFile: uploadNewFile,
181
186
  uploadNewImage: uploadNewImage,
182
- UploadProgressIndicator: UploadProgressIndicator,
183
- uploadsEnabled: uploadsEnabled
187
+ UploadProgressIndicator: UploadProgressIndicator
184
188
  };
185
- }, [editingExists, fileUploadsValue, giphyActive, imageUploadsValue, maxMessageLength, mentionedUsersLength, quotedMessageId, selectedPicker, sendThreadMessageInChannel, showMoreOptions, text, threadId, uploadsEnabled]);
189
+ }, [cooldownEndsAt, editingExists, fileUploadsValue, giphyActive, imageUploadsValue, maxMessageLength, mentionedUsersLength, quotedMessageId, selectedPicker, sendThreadMessageInChannel, showMoreOptions, text, threadId]);
186
190
  return messageInputContext;
187
191
  };
188
192
 
@@ -1 +1 @@
1
- {"version":3,"sources":["useCreateMessageInputContext.ts"],"names":["useCreateMessageInputContext","additionalTextInputProps","appendText","asyncIds","asyncUploads","AttachButton","autoCompleteSuggestionsLimit","clearEditingState","clearQuotedMessageState","closeAttachmentPicker","CommandsButton","compressImageQuality","doDocUploadRequest","doImageUploadRequest","editing","editMessage","FileUploadPreview","fileUploads","giphyActive","hasCommands","hasFilePicker","hasImagePicker","ImageUploadPreview","imageUploads","initialValue","Input","inputBoxRef","InputButtons","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","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","uploadsEnabled","editingExists","fileUploadsValue","map","state","join","imageUploadsValue","mentionedUsersLength","length","quotedMessageId","id","threadId","messageInputContext"],"mappings":"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","sourcesContent":["import { useMemo } from 'react';\n\nimport type { MessageInputContextValue } from '../MessageInputContext';\n\nimport type { ThreadContextValue } from '../../threadContext/ThreadContext';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../types/types';\n\nexport const useCreateMessageInputContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>({\n additionalTextInputProps,\n appendText,\n asyncIds,\n asyncUploads,\n AttachButton,\n autoCompleteSuggestionsLimit,\n clearEditingState,\n clearQuotedMessageState,\n closeAttachmentPicker,\n CommandsButton,\n compressImageQuality,\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 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 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 uploadsEnabled,\n}: MessageInputContextValue<At, Ch, Co, Ev, Me, Re, Us> &\n Pick<ThreadContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'thread'>) => {\n const editingExists = !!editing;\n const fileUploadsValue = fileUploads.map(({ state }) => state).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<At, Ch, Co, Ev, Me, Re, Us> = 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 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 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 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 uploadsEnabled,\n }),\n [\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 uploadsEnabled,\n ],\n );\n\n return messageInputContext;\n};\n"]}
1
+ {"version":3,"sources":["useCreateMessageInputContext.ts"],"names":["useCreateMessageInputContext","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","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","state","join","imageUploadsValue","mentionedUsersLength","length","quotedMessageId","id","threadId","messageInputContext"],"mappings":"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","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 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.map(({ state }) => state).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 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"]}
@@ -34,9 +34,7 @@ var useMessageDetailsForState = function useMessageDetailsForState(message, init
34
34
  imageUploads = _useState4[0],
35
35
  setImageUploads = _useState4[1];
36
36
 
37
- var _useState5 = (0, _react.useState)(!isEditingBoolean(message) && Array.isArray(message == null ? void 0 : message.mentioned_users) && message.mentioned_users.map(function (user) {
38
- return user.id;
39
- }) || []),
37
+ var _useState5 = (0, _react.useState)([]),
40
38
  _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
41
39
  mentionedUsers = _useState6[0],
42
40
  setMentionedUsers = _useState6[1];
@@ -64,6 +62,15 @@ var useMessageDetailsForState = function useMessageDetailsForState(message, init
64
62
  }
65
63
  }, [text]);
66
64
  var messageValue = typeof message === 'boolean' ? '' : "" + message.id + message.text + message.updated_at;
65
+ (0, _react.useEffect)(function () {
66
+ if (!isEditingBoolean(message) && Array.isArray(message == null ? void 0 : message.mentioned_users)) {
67
+ var _mentionedUsers = message.mentioned_users.map(function (user) {
68
+ return user.id;
69
+ });
70
+
71
+ setMentionedUsers(_mentionedUsers);
72
+ }
73
+ }, [messageValue]);
67
74
  (0, _react.useEffect)(function () {
68
75
  if (message && !isEditingBoolean(message)) {
69
76
  setText((message == null ? void 0 : message.text) || '');
@@ -1 +1 @@
1
- {"version":3,"sources":["useMessageDetailsForState.ts"],"names":["isEditingBoolean","editing","useMessageDetailsForState","message","initialValue","fileUploads","setFileUploads","imageUploads","setImageUploads","Array","isArray","mentioned_users","map","user","id","mentionedUsers","setMentionedUsers","numberOfUploads","setNumberOfUploads","showMoreOptions","setShowMoreOptions","initialTextValue","text","setText","messageValue","updated_at","newFileUploads","newImageUploads","attachments","attachment","type","push","file","name","title","size","file_size","mime_type","state","url","asset_url","fallback","image_url","thumb_url","length"],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { generateRandomId } from '../../../utils/utils';\n\nimport type { FileUpload, ImageUpload, MessageInputContextValue } from '../MessageInputContext';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../types/types';\n\nexport const isEditingBoolean = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n editing: MessageInputContextValue<At, Ch, Co, Ev, Me, Re, Us>['editing'],\n): editing is boolean => typeof editing === 'boolean';\n\nexport const useMessageDetailsForState = <\n At extends DefaultAttachmentType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n message: MessageInputContextValue<At, Ch, Co, Ev, Me, Re, Us>['editing'],\n initialValue?: string,\n) => {\n const [fileUploads, setFileUploads] = useState<FileUpload[]>([]);\n const [imageUploads, setImageUploads] = useState<ImageUpload[]>([]);\n const [mentionedUsers, setMentionedUsers] = useState(\n (!isEditingBoolean<At, Ch, Co, Ev, Me, Re, Us>(message) &&\n Array.isArray(message?.mentioned_users) &&\n message.mentioned_users.map((user) => user.id)) ||\n [],\n );\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 useEffect(() => {\n if (message && !isEditingBoolean<At, Ch, Co, Ev, Me, Re, Us>(message)) {\n setText(message?.text || '');\n const newFileUploads = [];\n const newImageUploads = [];\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: { name: attachment.fallback },\n id,\n state: 'finished',\n url: attachment.image_url || attachment.asset_url || attachment.thumb_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"]}
1
+ {"version":3,"sources":["useMessageDetailsForState.ts"],"names":["isEditingBoolean","editing","useMessageDetailsForState","message","initialValue","fileUploads","setFileUploads","imageUploads","setImageUploads","mentionedUsers","setMentionedUsers","numberOfUploads","setNumberOfUploads","showMoreOptions","setShowMoreOptions","initialTextValue","text","setText","messageValue","id","updated_at","Array","isArray","mentioned_users","map","user","newFileUploads","newImageUploads","attachments","attachment","type","push","file","name","title","size","file_size","mime_type","state","url","asset_url","fallback","image_url","thumb_url","length"],"mappings":"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","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 = [];\n const newImageUploads = [];\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: { name: attachment.fallback },\n id,\n state: 'finished',\n url: attachment.image_url || attachment.asset_url || attachment.thumb_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"]}
@@ -9,14 +9,14 @@ exports.withMessageOverlayContext = exports.useMessageOverlayContext = exports.M
9
9
 
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
 
12
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
-
14
12
  var _react = _interopRequireWildcard(require("react"));
15
13
 
14
+ var _useResettableState = require("./hooks/useResettableState");
15
+
16
16
  var _getDisplayName = require("../utils/getDisplayName");
17
17
 
18
18
  var _this = this,
19
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx";
19
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx";
20
20
 
21
21
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
22
22
 
@@ -29,27 +29,13 @@ exports.MessageOverlayContext = MessageOverlayContext;
29
29
  var MessageOverlayProvider = function MessageOverlayProvider(_ref) {
30
30
  var children = _ref.children,
31
31
  value = _ref.value;
32
-
33
- var _useState = (0, _react.useState)(value == null ? void 0 : value.data),
34
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
35
- data = _useState2[0],
36
- setData = _useState2[1];
37
-
38
- var reset = function reset() {
39
- setData(value == null ? void 0 : value.data);
40
- };
41
-
42
- var messageOverlayContext = {
43
- data: data,
44
- reset: reset,
45
- setData: setData
46
- };
32
+ var messageOverlayContext = (0, _useResettableState.useResettableState)(value);
47
33
  return _react["default"].createElement(MessageOverlayContext.Provider, {
48
34
  value: messageOverlayContext,
49
35
  __self: _this,
50
36
  __source: {
51
37
  fileName: _jsxFileName,
52
- lineNumber: 121,
38
+ lineNumber: 85,
53
39
  columnNumber: 5
54
40
  }
55
41
  }, children);
@@ -70,7 +56,7 @@ var withMessageOverlayContext = function withMessageOverlayContext(Component) {
70
56
  __self: _this,
71
57
  __source: {
72
58
  fileName: _jsxFileName,
73
- lineNumber: 168,
59
+ lineNumber: 112,
74
60
  columnNumber: 12
75
61
  }
76
62
  }));