stream-chat-react-native-core 3.8.2 → 3.9.0-next.1

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 (280) hide show
  1. package/lib/commonjs/components/Channel/Channel.js +42 -30
  2. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  3. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +28 -23
  4. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  5. package/lib/commonjs/version.json +1 -1
  6. package/lib/module/components/Channel/Channel.js +42 -30
  7. package/lib/module/components/Channel/Channel.js.map +1 -1
  8. package/lib/module/components/MessageInput/FileUploadPreview.js +28 -23
  9. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  10. package/lib/module/version.json +1 -1
  11. package/lib/typescript/{src/components → components}/Attachment/Attachment.d.ts +0 -0
  12. package/lib/typescript/{src/components → components}/Attachment/AttachmentActions.d.ts +0 -0
  13. package/lib/typescript/{src/components → components}/Attachment/Card.d.ts +0 -0
  14. package/lib/typescript/{src/components → components}/Attachment/FileAttachment.d.ts +0 -0
  15. package/lib/typescript/{src/components → components}/Attachment/FileAttachmentGroup.d.ts +0 -0
  16. package/lib/typescript/{src/components → components}/Attachment/FileIcon.d.ts +0 -0
  17. package/lib/typescript/{src/components → components}/Attachment/Gallery.d.ts +0 -0
  18. package/lib/typescript/{src/components → components}/Attachment/Giphy.d.ts +0 -0
  19. package/lib/typescript/{src/components → components}/AttachmentPicker/AttachmentPicker.d.ts +0 -0
  20. package/lib/typescript/{src/components → components}/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.d.ts +0 -0
  21. package/lib/typescript/{src/components → components}/AttachmentPicker/components/AttachmentPickerError.d.ts +0 -0
  22. package/lib/typescript/{src/components → components}/AttachmentPicker/components/AttachmentPickerErrorImage.d.ts +0 -0
  23. package/lib/typescript/{src/components → components}/AttachmentPicker/components/AttachmentSelectionBar.d.ts +0 -0
  24. package/lib/typescript/{src/components → components}/AttachmentPicker/components/CameraSelectorIcon.d.ts +0 -0
  25. package/lib/typescript/{src/components → components}/AttachmentPicker/components/FileSelectorIcon.d.ts +0 -0
  26. package/lib/typescript/{src/components → components}/AttachmentPicker/components/ImageOverlaySelectedComponent.d.ts +0 -0
  27. package/lib/typescript/{src/components → components}/AttachmentPicker/components/ImageSelectorIcon.d.ts +0 -0
  28. package/lib/typescript/{src/components → components}/AutoCompleteInput/AutoCompleteInput.d.ts +0 -0
  29. package/lib/typescript/{src/components → components}/AutoCompleteInput/CommandsHeader.d.ts +0 -0
  30. package/lib/typescript/{src/components → components}/AutoCompleteInput/CommandsItem.d.ts +0 -0
  31. package/lib/typescript/{src/components → components}/AutoCompleteInput/EmojisHeader.d.ts +0 -0
  32. package/lib/typescript/{src/components → components}/AutoCompleteInput/EmojisItem.d.ts +0 -0
  33. package/lib/typescript/{src/components → components}/AutoCompleteInput/MentionsItem.d.ts +0 -0
  34. package/lib/typescript/{src/components → components}/AutoCompleteInput/SuggestionsList.d.ts +0 -0
  35. package/lib/typescript/{src/components → components}/Avatar/Avatar.d.ts +0 -0
  36. package/lib/typescript/{src/components → components}/Avatar/GroupAvatar.d.ts +0 -0
  37. package/lib/typescript/{src/components → components}/Channel/Channel.d.ts +1 -0
  38. package/lib/typescript/{src/components → components}/Channel/hooks/useCreateChannelContext.d.ts +0 -0
  39. package/lib/typescript/{src/components → components}/Channel/hooks/useCreateInputMessageInputContext.d.ts +0 -0
  40. package/lib/typescript/{src/components → components}/Channel/hooks/useCreateMessagesContext.d.ts +0 -0
  41. package/lib/typescript/{src/components → components}/Channel/hooks/useCreatePaginatedMessageListContext.d.ts +0 -0
  42. package/lib/typescript/{src/components → components}/Channel/hooks/useCreateThreadContext.d.ts +0 -0
  43. package/lib/typescript/{src/components → components}/Channel/hooks/useCreateTypingContext.d.ts +0 -0
  44. package/lib/typescript/{src/components → components}/Channel/hooks/useTargetedMessage.d.ts +0 -0
  45. package/lib/typescript/{src/components → components}/ChannelList/ChannelList.d.ts +0 -0
  46. package/lib/typescript/{src/components → components}/ChannelList/ChannelListFooterLoadingIndicator.d.ts +0 -0
  47. package/lib/typescript/{src/components → components}/ChannelList/ChannelListHeaderErrorIndicator.d.ts +0 -0
  48. package/lib/typescript/{src/components → components}/ChannelList/ChannelListHeaderNetworkDownIndicator.d.ts +0 -0
  49. package/lib/typescript/{src/components → components}/ChannelList/ChannelListLoadingIndicator.d.ts +0 -0
  50. package/lib/typescript/{src/components → components}/ChannelList/ChannelListMessenger.d.ts +0 -0
  51. package/lib/typescript/{src/components → components}/ChannelList/Skeleton.d.ts +0 -0
  52. package/lib/typescript/{src/components → components}/ChannelList/hooks/listeners/useAddedToChannelNotification.d.ts +0 -0
  53. package/lib/typescript/{src/components → components}/ChannelList/hooks/listeners/useChannelDeleted.d.ts +0 -0
  54. package/lib/typescript/{src/components → components}/ChannelList/hooks/listeners/useChannelHidden.d.ts +0 -0
  55. package/lib/typescript/{src/components → components}/ChannelList/hooks/listeners/useChannelTruncated.d.ts +0 -0
  56. package/lib/typescript/{src/components → components}/ChannelList/hooks/listeners/useChannelUpdated.d.ts +0 -0
  57. package/lib/typescript/{src/components → components}/ChannelList/hooks/listeners/useChannelVisible.d.ts +0 -0
  58. package/lib/typescript/{src/components → components}/ChannelList/hooks/listeners/useConnectionRecovered.d.ts +0 -0
  59. package/lib/typescript/{src/components → components}/ChannelList/hooks/listeners/useNewMessage.d.ts +0 -0
  60. package/lib/typescript/{src/components → components}/ChannelList/hooks/listeners/useNewMessageNotification.d.ts +0 -0
  61. package/lib/typescript/{src/components → components}/ChannelList/hooks/listeners/useRemovedFromChannelNotification.d.ts +0 -0
  62. package/lib/typescript/{src/components → components}/ChannelList/hooks/listeners/useUserPresence.d.ts +0 -0
  63. package/lib/typescript/{src/components → components}/ChannelList/hooks/useCreateChannelsContext.d.ts +0 -0
  64. package/lib/typescript/{src/components → components}/ChannelList/hooks/usePaginatedChannels.d.ts +0 -0
  65. package/lib/typescript/{src/components → components}/ChannelList/utils.d.ts +0 -0
  66. package/lib/typescript/{src/components → components}/ChannelPreview/ChannelAvatar.d.ts +0 -0
  67. package/lib/typescript/{src/components → components}/ChannelPreview/ChannelPreview.d.ts +0 -0
  68. package/lib/typescript/{src/components → components}/ChannelPreview/ChannelPreviewMessage.d.ts +0 -0
  69. package/lib/typescript/{src/components → components}/ChannelPreview/ChannelPreviewMessenger.d.ts +0 -0
  70. package/lib/typescript/{src/components → components}/ChannelPreview/ChannelPreviewStatus.d.ts +0 -0
  71. package/lib/typescript/{src/components → components}/ChannelPreview/ChannelPreviewTitle.d.ts +0 -0
  72. package/lib/typescript/{src/components → components}/ChannelPreview/ChannelPreviewUnreadCount.d.ts +0 -0
  73. package/lib/typescript/{src/components → components}/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.d.ts +0 -0
  74. package/lib/typescript/{src/components → components}/ChannelPreview/hooks/useChannelPreviewDisplayName.d.ts +0 -0
  75. package/lib/typescript/{src/components → components}/ChannelPreview/hooks/useChannelPreviewDisplayPresence.d.ts +0 -0
  76. package/lib/typescript/{src/components → components}/ChannelPreview/hooks/useLatestMessagePreview.d.ts +0 -0
  77. package/lib/typescript/{src/components → components}/Chat/Chat.d.ts +0 -0
  78. package/lib/typescript/{src/components → components}/Chat/hooks/useCreateChatContext.d.ts +0 -0
  79. package/lib/typescript/{src/components → components}/Chat/hooks/useIsOnline.d.ts +0 -0
  80. package/lib/typescript/{src/components → components}/Chat/hooks/useMutedUsers.d.ts +0 -0
  81. package/lib/typescript/{src/components → components}/ImageGallery/ImageGallery.d.ts +0 -0
  82. package/lib/typescript/{src/components → components}/ImageGallery/components/AnimatedGalleryImage.d.ts +0 -0
  83. package/lib/typescript/{src/components → components}/ImageGallery/components/ImageGalleryFooter.d.ts +0 -0
  84. package/lib/typescript/{src/components → components}/ImageGallery/components/ImageGalleryHeader.d.ts +0 -0
  85. package/lib/typescript/{src/components → components}/ImageGallery/components/ImageGalleryOverlay.d.ts +0 -0
  86. package/lib/typescript/{src/components → components}/ImageGallery/components/ImageGrid.d.ts +0 -0
  87. package/lib/typescript/{src/components → components}/ImageGallery/components/ImageGridHandle.d.ts +0 -0
  88. package/lib/typescript/{src/components → components}/Indicators/EmptyStateIndicator.d.ts +0 -0
  89. package/lib/typescript/{src/components → components}/Indicators/LoadingDot.d.ts +0 -0
  90. package/lib/typescript/{src/components → components}/Indicators/LoadingDots.d.ts +0 -0
  91. package/lib/typescript/{src/components → components}/Indicators/LoadingErrorIndicator.d.ts +0 -0
  92. package/lib/typescript/{src/components → components}/Indicators/LoadingIndicator.d.ts +0 -0
  93. package/lib/typescript/{src/components → components}/KeyboardCompatibleView/KeyboardCompatibleView.d.ts +0 -0
  94. package/lib/typescript/{src/components → components}/KeyboardCompatibleView/KeyboardCompatibleViewFC.d.ts +0 -0
  95. package/lib/typescript/{src/components → components}/Message/Message.d.ts +0 -0
  96. package/lib/typescript/{src/components → components}/Message/MessageSimple/MessageAvatar.d.ts +0 -0
  97. package/lib/typescript/{src/components → components}/Message/MessageSimple/MessageContent.d.ts +0 -0
  98. package/lib/typescript/{src/components → components}/Message/MessageSimple/MessageDeleted.d.ts +0 -0
  99. package/lib/typescript/{src/components → components}/Message/MessageSimple/MessageFooter.d.ts +0 -0
  100. package/lib/typescript/{src/components → components}/Message/MessageSimple/MessageReplies.d.ts +0 -0
  101. package/lib/typescript/{src/components → components}/Message/MessageSimple/MessageRepliesAvatars.d.ts +0 -0
  102. package/lib/typescript/{src/components → components}/Message/MessageSimple/MessageSimple.d.ts +0 -0
  103. package/lib/typescript/{src/components → components}/Message/MessageSimple/MessageStatus.d.ts +0 -0
  104. package/lib/typescript/{src/components → components}/Message/MessageSimple/MessageTextContainer.d.ts +0 -0
  105. package/lib/typescript/{src/components → components}/Message/MessageSimple/ReactionList.d.ts +0 -0
  106. package/lib/typescript/{src/components → components}/Message/MessageSimple/utils/renderText.d.ts +0 -0
  107. package/lib/typescript/{src/components → components}/Message/hooks/useCreateMessageContext.d.ts +0 -0
  108. package/lib/typescript/{src/components → components}/Message/utils/messageActions.d.ts +0 -0
  109. package/lib/typescript/{src/components → components}/Message/utils/removeReservedFields.d.ts +0 -0
  110. package/lib/typescript/{src/components → components}/MessageInput/AttachButton.d.ts +0 -0
  111. package/lib/typescript/{src/components → components}/MessageInput/CommandsButton.d.ts +0 -0
  112. package/lib/typescript/{src/components → components}/MessageInput/FileUploadPreview.d.ts +0 -0
  113. package/lib/typescript/{src/components → components}/MessageInput/ImageUploadPreview.d.ts +0 -0
  114. package/lib/typescript/{src/components → components}/MessageInput/InputButtons.d.ts +0 -0
  115. package/lib/typescript/{src/components → components}/MessageInput/MessageInput.d.ts +0 -0
  116. package/lib/typescript/{src/components → components}/MessageInput/MoreOptionsButton.d.ts +0 -0
  117. package/lib/typescript/{src/components → components}/MessageInput/SendButton.d.ts +0 -0
  118. package/lib/typescript/{src/components → components}/MessageInput/ShowThreadMessageInChannelButton.d.ts +0 -0
  119. package/lib/typescript/{src/components → components}/MessageInput/UploadProgressIndicator.d.ts +0 -0
  120. package/lib/typescript/{src/components → components}/MessageList/DateHeader.d.ts +0 -0
  121. package/lib/typescript/{src/components → components}/MessageList/InlineDateSeparator.d.ts +0 -0
  122. package/lib/typescript/{src/components → components}/MessageList/InlineLoadingMoreIndicator.d.ts +0 -0
  123. package/lib/typescript/{src/components → components}/MessageList/InlineLoadingMoreRecentIndicator.d.ts +0 -0
  124. package/lib/typescript/{src/components → components}/MessageList/InlineLoadingMoreThreadIndicator.d.ts +0 -0
  125. package/lib/typescript/{src/components → components}/MessageList/InlineUnreadIndicator.d.ts +0 -0
  126. package/lib/typescript/{src/components → components}/MessageList/MessageList.d.ts +0 -0
  127. package/lib/typescript/{src/components → components}/MessageList/MessageSystem.d.ts +0 -0
  128. package/lib/typescript/{src/components → components}/MessageList/NetworkDownIndicator.d.ts +0 -0
  129. package/lib/typescript/{src/components → components}/MessageList/ScrollToBottomButton.d.ts +0 -0
  130. package/lib/typescript/{src/components → components}/MessageList/TypingIndicator.d.ts +0 -0
  131. package/lib/typescript/{src/components → components}/MessageList/TypingIndicatorContainer.d.ts +0 -0
  132. package/lib/typescript/{src/components → components}/MessageList/hooks/useMessageList.d.ts +0 -0
  133. package/lib/typescript/{src/components → components}/MessageList/hooks/useTypingString.d.ts +0 -0
  134. package/lib/typescript/{src/components → components}/MessageList/utils/filterTypingUsers.d.ts +0 -0
  135. package/lib/typescript/{src/components → components}/MessageList/utils/getDateSeparators.d.ts +0 -0
  136. package/lib/typescript/{src/components → components}/MessageList/utils/getGroupStyles.d.ts +0 -0
  137. package/lib/typescript/{src/components → components}/MessageList/utils/getLastReceivedMessage.d.ts +0 -0
  138. package/lib/typescript/{src/components → components}/MessageList/utils/getReadStates.d.ts +0 -0
  139. package/lib/typescript/{src/components → components}/MessageOverlay/MessageActions.d.ts +0 -0
  140. package/lib/typescript/{src/components → components}/MessageOverlay/MessageOverlay.d.ts +0 -0
  141. package/lib/typescript/{src/components → components}/MessageOverlay/OverlayReactionList.d.ts +0 -0
  142. package/lib/typescript/{src/components → components}/MessageOverlay/OverlayReactions.d.ts +0 -0
  143. package/lib/typescript/{src/components → components}/Reply/Reply.d.ts +0 -0
  144. package/lib/typescript/{src/components → components}/Spinner/Spinner.d.ts +0 -0
  145. package/lib/typescript/{src/components → components}/Thread/Thread.d.ts +0 -0
  146. package/lib/typescript/{src/components → components}/Thread/components/ThreadFooterComponent.d.ts +0 -0
  147. package/lib/typescript/{src/components → components}/index.d.ts +0 -0
  148. package/lib/typescript/{src/contexts → contexts}/attachmentPickerContext/AttachmentPickerContext.d.ts +0 -0
  149. package/lib/typescript/{src/contexts → contexts}/channelContext/ChannelContext.d.ts +0 -0
  150. package/lib/typescript/{src/contexts → contexts}/channelsContext/ChannelsContext.d.ts +0 -0
  151. package/lib/typescript/{src/contexts → contexts}/chatContext/ChatContext.d.ts +0 -0
  152. package/lib/typescript/{src/contexts → contexts}/imageGalleryContext/ImageGalleryContext.d.ts +0 -0
  153. package/lib/typescript/{src/contexts → contexts}/index.d.ts +0 -0
  154. package/lib/typescript/{src/contexts → contexts}/keyboardContext/KeyboardContext.d.ts +0 -0
  155. package/lib/typescript/{src/contexts → contexts}/messageContext/MessageContext.d.ts +0 -0
  156. package/lib/typescript/{src/contexts → contexts}/messageInputContext/MessageInputContext.d.ts +0 -0
  157. package/lib/typescript/{src/contexts → contexts}/messageInputContext/hooks/useCreateMessageInputContext.d.ts +0 -0
  158. package/lib/typescript/{src/contexts → contexts}/messageInputContext/hooks/useMessageDetailsForState.d.ts +0 -0
  159. package/lib/typescript/{src/contexts → contexts}/messageOverlayContext/MessageOverlayContext.d.ts +0 -0
  160. package/lib/typescript/{src/contexts → contexts}/messagesContext/MessagesContext.d.ts +0 -0
  161. package/lib/typescript/{src/contexts → contexts}/overlayContext/OverlayContext.d.ts +0 -0
  162. package/lib/typescript/{src/contexts → contexts}/overlayContext/OverlayProvider.d.ts +0 -0
  163. package/lib/typescript/{src/contexts → contexts}/paginatedMessageListContext/PaginatedMessageListContext.d.ts +0 -0
  164. package/lib/typescript/{src/contexts → contexts}/suggestionsContext/SuggestionsContext.d.ts +0 -0
  165. package/lib/typescript/{src/contexts → contexts}/themeContext/ThemeContext.d.ts +0 -0
  166. package/lib/typescript/{src/contexts → contexts}/themeContext/utils/theme.d.ts +0 -0
  167. package/lib/typescript/{src/contexts → contexts}/threadContext/ThreadContext.d.ts +0 -0
  168. package/lib/typescript/{src/contexts → contexts}/translationContext/TranslationContext.d.ts +0 -0
  169. package/lib/typescript/{src/contexts → contexts}/typingContext/TypingContext.d.ts +0 -0
  170. package/lib/typescript/{src/contexts → contexts}/utils/getDisplayName.d.ts +0 -0
  171. package/lib/typescript/{src/emoji-data → emoji-data}/compiled.d.ts +0 -0
  172. package/lib/typescript/{src/emoji-data → emoji-data}/emojiNames.d.ts +0 -0
  173. package/lib/typescript/{src/emoji-data → emoji-data}/emojis.d.ts +0 -0
  174. package/lib/typescript/{src/hooks → hooks}/index.d.ts +0 -0
  175. package/lib/typescript/{src/hooks → hooks}/useAppStateListener.d.ts +0 -0
  176. package/lib/typescript/{src/hooks → hooks}/useStreami18n.d.ts +0 -0
  177. package/lib/typescript/{src/icons → icons}/ArrowRight.d.ts +0 -0
  178. package/lib/typescript/{src/icons → icons}/AtMentions.d.ts +0 -0
  179. package/lib/typescript/{src/icons → icons}/Attach.d.ts +0 -0
  180. package/lib/typescript/{src/icons → icons}/Audio.d.ts +0 -0
  181. package/lib/typescript/{src/icons → icons}/CSV.d.ts +0 -0
  182. package/lib/typescript/{src/icons → icons}/Camera.d.ts +0 -0
  183. package/lib/typescript/{src/icons → icons}/Check.d.ts +0 -0
  184. package/lib/typescript/{src/icons → icons}/CheckAll.d.ts +0 -0
  185. package/lib/typescript/{src/icons → icons}/CheckSend.d.ts +0 -0
  186. package/lib/typescript/{src/icons → icons}/CircleClose.d.ts +0 -0
  187. package/lib/typescript/{src/icons → icons}/CirclePlus.d.ts +0 -0
  188. package/lib/typescript/{src/icons → icons}/CircleRight.d.ts +0 -0
  189. package/lib/typescript/{src/icons → icons}/Close.d.ts +0 -0
  190. package/lib/typescript/{src/icons → icons}/Copy.d.ts +0 -0
  191. package/lib/typescript/{src/icons → icons}/CurveLineLeftUp.d.ts +0 -0
  192. package/lib/typescript/{src/icons → icons}/DOC.d.ts +0 -0
  193. package/lib/typescript/{src/icons → icons}/DOCX.d.ts +0 -0
  194. package/lib/typescript/{src/icons → icons}/Delete.d.ts +0 -0
  195. package/lib/typescript/{src/icons → icons}/Down.d.ts +0 -0
  196. package/lib/typescript/{src/icons → icons}/DownloadArrow.d.ts +0 -0
  197. package/lib/typescript/{src/icons → icons}/DownloadCloud.d.ts +0 -0
  198. package/lib/typescript/{src/icons → icons}/Edit.d.ts +0 -0
  199. package/lib/typescript/{src/icons → icons}/Error.d.ts +0 -0
  200. package/lib/typescript/{src/icons → icons}/Eye.d.ts +0 -0
  201. package/lib/typescript/{src/icons → icons}/Flag.d.ts +0 -0
  202. package/lib/typescript/{src/icons → icons}/Folder.d.ts +0 -0
  203. package/lib/typescript/{src/icons → icons}/GenericFile.d.ts +0 -0
  204. package/lib/typescript/{src/icons → icons}/GiphyIcon.d.ts +0 -0
  205. package/lib/typescript/{src/icons → icons}/Grid.d.ts +0 -0
  206. package/lib/typescript/{src/icons → icons}/Group.d.ts +0 -0
  207. package/lib/typescript/{src/icons → icons}/HTML.d.ts +0 -0
  208. package/lib/typescript/{src/icons → icons}/Imgur.d.ts +0 -0
  209. package/lib/typescript/{src/icons → icons}/LOLReaction.d.ts +0 -0
  210. package/lib/typescript/{src/icons → icons}/Left.d.ts +0 -0
  211. package/lib/typescript/{src/icons → icons}/Lightning.d.ts +0 -0
  212. package/lib/typescript/{src/icons → icons}/Link.d.ts +0 -0
  213. package/lib/typescript/{src/icons → icons}/Loading.d.ts +0 -0
  214. package/lib/typescript/{src/icons → icons}/Logo.d.ts +0 -0
  215. package/lib/typescript/{src/icons → icons}/LoveReaction.d.ts +0 -0
  216. package/lib/typescript/{src/icons → icons}/MD.d.ts +0 -0
  217. package/lib/typescript/{src/icons → icons}/MailOpen.d.ts +0 -0
  218. package/lib/typescript/{src/icons → icons}/MenuPointHorizontal.d.ts +0 -0
  219. package/lib/typescript/{src/icons → icons}/MenuPointVertical.d.ts +0 -0
  220. package/lib/typescript/{src/icons → icons}/MessageFlag.d.ts +0 -0
  221. package/lib/typescript/{src/icons → icons}/MessageIcon.d.ts +0 -0
  222. package/lib/typescript/{src/icons → icons}/Mute.d.ts +0 -0
  223. package/lib/typescript/{src/icons → icons}/Notification.d.ts +0 -0
  224. package/lib/typescript/{src/icons → icons}/ODT.d.ts +0 -0
  225. package/lib/typescript/{src/icons → icons}/PDF.d.ts +0 -0
  226. package/lib/typescript/{src/icons → icons}/PPT.d.ts +0 -0
  227. package/lib/typescript/{src/icons → icons}/PPTX.d.ts +0 -0
  228. package/lib/typescript/{src/icons → icons}/Picture.d.ts +0 -0
  229. package/lib/typescript/{src/icons → icons}/RAR.d.ts +0 -0
  230. package/lib/typescript/{src/icons → icons}/RTF.d.ts +0 -0
  231. package/lib/typescript/{src/icons → icons}/Refresh.d.ts +0 -0
  232. package/lib/typescript/{src/icons → icons}/Right.d.ts +0 -0
  233. package/lib/typescript/{src/icons → icons}/SEVEN_Z.d.ts +0 -0
  234. package/lib/typescript/{src/icons → icons}/Search.d.ts +0 -0
  235. package/lib/typescript/{src/icons → icons}/SendRight.d.ts +0 -0
  236. package/lib/typescript/{src/icons → icons}/SendUp.d.ts +0 -0
  237. package/lib/typescript/{src/icons → icons}/Share.d.ts +0 -0
  238. package/lib/typescript/{src/icons → icons}/ShareRightArrow.d.ts +0 -0
  239. package/lib/typescript/{src/icons → icons}/Smile.d.ts +0 -0
  240. package/lib/typescript/{src/icons → icons}/Sound.d.ts +0 -0
  241. package/lib/typescript/{src/icons → icons}/TAR.d.ts +0 -0
  242. package/lib/typescript/{src/icons → icons}/TXT.d.ts +0 -0
  243. package/lib/typescript/{src/icons → icons}/ThreadReply.d.ts +0 -0
  244. package/lib/typescript/{src/icons → icons}/ThumbsDownReaction.d.ts +0 -0
  245. package/lib/typescript/{src/icons → icons}/ThumbsUpReaction.d.ts +0 -0
  246. package/lib/typescript/{src/icons → icons}/Time.d.ts +0 -0
  247. package/lib/typescript/{src/icons → icons}/Unknown.d.ts +0 -0
  248. package/lib/typescript/{src/icons → icons}/User.d.ts +0 -0
  249. package/lib/typescript/{src/icons → icons}/UserAdd.d.ts +0 -0
  250. package/lib/typescript/{src/icons → icons}/UserDelete.d.ts +0 -0
  251. package/lib/typescript/{src/icons → icons}/UserMinus.d.ts +0 -0
  252. package/lib/typescript/{src/icons → icons}/WutReaction.d.ts +0 -0
  253. package/lib/typescript/{src/icons → icons}/XLS.d.ts +0 -0
  254. package/lib/typescript/{src/icons → icons}/XLSX.d.ts +0 -0
  255. package/lib/typescript/{src/icons → icons}/ZIP.d.ts +0 -0
  256. package/lib/typescript/{src/icons → icons}/index.d.ts +0 -0
  257. package/lib/typescript/{src/icons → icons}/utils/base.d.ts +0 -0
  258. package/lib/typescript/{src/index.d.ts → index.d.ts} +0 -0
  259. package/lib/typescript/{src/native.d.ts → native.d.ts} +0 -0
  260. package/lib/typescript/{src/types → types}/types.d.ts +0 -0
  261. package/lib/typescript/{src/utils → utils}/Streami18n.d.ts +0 -0
  262. package/lib/typescript/{src/utils → utils}/utils.d.ts +0 -0
  263. package/package.json +1 -1
  264. package/src/components/Channel/Channel.tsx +114 -67
  265. package/src/components/MessageInput/FileUploadPreview.tsx +68 -58
  266. package/src/components/MessageInput/__tests__/__snapshots__/FileUploadPreview.test.js.snap +778 -730
  267. package/src/version.json +1 -1
  268. package/lib/commonjs/components/Channel/utils/debounce.js +0 -20
  269. package/lib/commonjs/components/Channel/utils/debounce.js.map +0 -1
  270. package/lib/commonjs/components/Channel/utils/throttle.js +0 -20
  271. package/lib/commonjs/components/Channel/utils/throttle.js.map +0 -1
  272. package/lib/module/components/Channel/utils/debounce.js +0 -20
  273. package/lib/module/components/Channel/utils/debounce.js.map +0 -1
  274. package/lib/module/components/Channel/utils/throttle.js +0 -20
  275. package/lib/module/components/Channel/utils/throttle.js.map +0 -1
  276. package/lib/typescript/__mocks__/react-native.d.ts +0 -6
  277. package/lib/typescript/src/components/Channel/utils/debounce.d.ts +0 -2
  278. package/lib/typescript/src/components/Channel/utils/throttle.d.ts +0 -2
  279. package/src/components/Channel/utils/debounce.ts +0 -12
  280. package/src/components/Channel/utils/throttle.ts +0 -12
@@ -41,7 +41,11 @@ var FILE_PREVIEW_HEIGHT = 60;
41
41
  var styles = _reactNative.StyleSheet.create({
42
42
  dismiss: {
43
43
  borderRadius: 24,
44
- height: 24
44
+ height: 24,
45
+ position: 'absolute',
46
+ right: 14,
47
+ top: 4,
48
+ width: 24
45
49
  },
46
50
  fileContainer: {
47
51
  borderRadius: 12,
@@ -110,7 +114,8 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
110
114
  var renderItem = function renderItem(_ref) {
111
115
  var index = _ref.index,
112
116
  item = _ref.item;
113
- return _react["default"].createElement(_UploadProgressIndicator.UploadProgressIndicator, {
117
+ var indicatorType = item.state === _utils.FileState.UPLOADING ? _utils.ProgressIndicatorTypes.IN_PROGRESS : item.state === _utils.FileState.UPLOAD_FAILED ? _utils.ProgressIndicatorTypes.RETRY : undefined;
118
+ return _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_UploadProgressIndicator.UploadProgressIndicator, {
114
119
  action: function action() {
115
120
  uploadFile({
116
121
  newFile: item
@@ -118,12 +123,12 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
118
123
  },
119
124
  active: item.state !== _utils.FileState.UPLOADED && item.state !== _utils.FileState.FINISHED,
120
125
  style: styles.overlay,
121
- type: item.state === _utils.FileState.UPLOADING ? _utils.ProgressIndicatorTypes.IN_PROGRESS : item.state === _utils.FileState.UPLOAD_FAILED ? _utils.ProgressIndicatorTypes.RETRY : undefined,
126
+ type: indicatorType,
122
127
  __self: _this,
123
128
  __source: {
124
129
  fileName: _jsxFileName,
125
- lineNumber: 116,
126
- columnNumber: 5
130
+ lineNumber: 130,
131
+ columnNumber: 9
127
132
  }
128
133
  }, _react["default"].createElement(_reactNative.View, {
129
134
  style: [styles.fileContainer, index === fileUploads.length - 1 ? {
@@ -135,32 +140,32 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
135
140
  __self: _this,
136
141
  __source: {
137
142
  fileName: _jsxFileName,
138
- lineNumber: 130,
139
- columnNumber: 7
143
+ lineNumber: 138,
144
+ columnNumber: 11
140
145
  }
141
146
  }, _react["default"].createElement(_reactNative.View, {
142
147
  style: [styles.fileContentContainer, fileContentContainer],
143
148
  __self: _this,
144
149
  __source: {
145
150
  fileName: _jsxFileName,
146
- lineNumber: 145,
147
- columnNumber: 9
151
+ lineNumber: 153,
152
+ columnNumber: 13
148
153
  }
149
154
  }, _react["default"].createElement(FileAttachmentIcon, {
150
155
  mimeType: item.file.type,
151
156
  __self: _this,
152
157
  __source: {
153
158
  fileName: _jsxFileName,
154
- lineNumber: 146,
155
- columnNumber: 11
159
+ lineNumber: 154,
160
+ columnNumber: 15
156
161
  }
157
162
  }), _react["default"].createElement(_reactNative.View, {
158
163
  style: [styles.fileTextContainer, fileTextContainer],
159
164
  __self: _this,
160
165
  __source: {
161
166
  fileName: _jsxFileName,
162
- lineNumber: 147,
163
- columnNumber: 11
167
+ lineNumber: 155,
168
+ columnNumber: 15
164
169
  }
165
170
  }, _react["default"].createElement(_reactNative.Text, {
166
171
  numberOfLines: 1,
@@ -171,8 +176,8 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
171
176
  __self: _this,
172
177
  __source: {
173
178
  fileName: _jsxFileName,
174
- lineNumber: 148,
175
- columnNumber: 13
179
+ lineNumber: 156,
180
+ columnNumber: 17
176
181
  }
177
182
  }, item.file.name || ''), _react["default"].createElement(_reactNative.Text, {
178
183
  style: [styles.fileSizeText, {
@@ -181,10 +186,10 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
181
186
  __self: _this,
182
187
  __source: {
183
188
  fileName: _jsxFileName,
184
- lineNumber: 166,
185
- columnNumber: 13
189
+ lineNumber: 174,
190
+ columnNumber: 17
186
191
  }
187
- }, (0, _FileAttachment.getFileSizeDisplayText)(item.file.size)))), _react["default"].createElement(_reactNative.TouchableOpacity, {
192
+ }, (0, _FileAttachment.getFileSizeDisplayText)(item.file.size)))))), _react["default"].createElement(_reactNative.TouchableOpacity, {
188
193
  onPress: function onPress() {
189
194
  removeFile(item.id);
190
195
  },
@@ -195,17 +200,17 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
195
200
  __self: _this,
196
201
  __source: {
197
202
  fileName: _jsxFileName,
198
- lineNumber: 171,
203
+ lineNumber: 181,
199
204
  columnNumber: 9
200
205
  }
201
206
  }, _react["default"].createElement(_Close.Close, {
202
207
  __self: _this,
203
208
  __source: {
204
209
  fileName: _jsxFileName,
205
- lineNumber: 178,
210
+ lineNumber: 188,
206
211
  columnNumber: 11
207
212
  }
208
- }))));
213
+ })));
209
214
  };
210
215
 
211
216
  var fileUploadsLength = fileUploads.length;
@@ -240,7 +245,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
240
245
  __self: _this,
241
246
  __source: {
242
247
  fileName: _jsxFileName,
243
- lineNumber: 193,
248
+ lineNumber: 203,
244
249
  columnNumber: 5
245
250
  }
246
251
  }) : null;
@@ -274,7 +279,7 @@ var FileUploadPreview = function FileUploadPreview(props) {
274
279
  __self: _this,
275
280
  __source: {
276
281
  fileName: _jsxFileName,
277
- lineNumber: 273,
282
+ lineNumber: 283,
278
283
  columnNumber: 5
279
284
  }
280
285
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["FileUploadPreview.tsx"],"names":["FILE_PREVIEW_HEIGHT","styles","StyleSheet","create","dismiss","borderRadius","height","fileContainer","borderWidth","flexDirection","justifyContent","marginBottom","padding","fileContentContainer","filenameText","fontSize","fontWeight","paddingLeft","fileSizeText","fileTextContainer","flatList","maxHeight","overlay","marginLeft","marginRight","FileUploadPreviewWithContext","props","FileAttachmentIcon","fileUploads","removeFile","uploadFile","flatListRef","flatListWidth","setFlatListWidth","theme","colors","black","grey","grey_whisper","overlay_dark","messageInput","fileUploadPreview","renderItem","index","item","newFile","state","FileState","UPLOADED","FINISHED","UPLOADING","ProgressIndicatorTypes","IN_PROGRESS","UPLOAD_FAILED","RETRY","undefined","length","borderColor","width","file","type","color","name","size","id","backgroundColor","fileUploadsLength","current","setTimeout","scrollToEnd","_","offset","nativeEvent","layout","areEqual","prevProps","nextProps","prevFileUploads","nextFileUploads","every","prevFileUpload","MemoizedFileUploadPreview","React","memo","FileUploadPreview","displayName"],"mappings":"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","sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { FlatList, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport { getFileSizeDisplayText } from '../Attachment/FileAttachment';\nimport {\n FileUpload,\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Close } from '../../icons/Close';\nimport { FileState, ProgressIndicatorTypes } from '../../utils/utils';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nconst FILE_PREVIEW_HEIGHT = 60;\n\nconst styles = StyleSheet.create({\n dismiss: {\n borderRadius: 24,\n height: 24,\n },\n fileContainer: {\n borderRadius: 12,\n borderWidth: 1,\n flexDirection: 'row',\n height: FILE_PREVIEW_HEIGHT,\n justifyContent: 'space-between',\n marginBottom: 8,\n padding: 8,\n },\n fileContentContainer: { flexDirection: 'row' },\n filenameText: {\n fontSize: 14,\n fontWeight: 'bold',\n paddingLeft: 10,\n },\n fileSizeText: {\n fontSize: 12,\n paddingLeft: 10,\n },\n fileTextContainer: {\n height: '100%',\n justifyContent: 'space-around',\n },\n flatList: { marginBottom: 12, maxHeight: FILE_PREVIEW_HEIGHT * 2.5 + 16 },\n overlay: {\n borderRadius: 12,\n marginLeft: 8,\n marginRight: 8,\n },\n});\n\ntype FileUploadPreviewPropsWithContext<\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> = Pick<\n MessageInputContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'fileUploads' | 'removeFile' | 'uploadFile'\n> &\n Pick<MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'FileAttachmentIcon'>;\n\nconst FileUploadPreviewWithContext = <\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 props: FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { FileAttachmentIcon, fileUploads, removeFile, uploadFile } = props;\n\n const flatListRef = useRef<FlatList<FileUpload> | null>(null);\n const [flatListWidth, setFlatListWidth] = useState(0);\n\n const {\n theme: {\n colors: { black, grey, grey_whisper, overlay_dark },\n messageInput: {\n fileUploadPreview: {\n dismiss,\n fileContainer,\n fileContentContainer,\n filenameText,\n fileSizeText,\n fileTextContainer,\n flatList,\n },\n },\n },\n } = useTheme();\n const renderItem = ({ index, item }: { index: number; item: FileUpload }) => (\n <UploadProgressIndicator\n action={() => {\n uploadFile({ newFile: item });\n }}\n active={item.state !== FileState.UPLOADED && item.state !== FileState.FINISHED}\n style={styles.overlay}\n type={\n item.state === FileState.UPLOADING\n ? ProgressIndicatorTypes.IN_PROGRESS\n : item.state === FileState.UPLOAD_FAILED\n ? ProgressIndicatorTypes.RETRY\n : undefined\n }\n >\n <View\n style={[\n styles.fileContainer,\n index === fileUploads.length - 1\n ? {\n marginBottom: 0,\n }\n : {},\n {\n borderColor: grey_whisper,\n width: flatListWidth - 16,\n },\n fileContainer,\n ]}\n >\n <View style={[styles.fileContentContainer, fileContentContainer]}>\n <FileAttachmentIcon mimeType={item.file.type} />\n <View style={[styles.fileTextContainer, fileTextContainer]}>\n <Text\n numberOfLines={1}\n style={[\n styles.filenameText,\n {\n color: black,\n width:\n flatListWidth -\n 16 - // 16 = horizontal padding\n 40 - // 40 = file icon size\n 24 - // 24 = close icon size\n 24, // 24 = internal padding\n },\n filenameText,\n ]}\n >\n {item.file.name || ''}\n </Text>\n <Text style={[styles.fileSizeText, { color: grey }, fileSizeText]}>\n {getFileSizeDisplayText(item.file.size)}\n </Text>\n </View>\n </View>\n <TouchableOpacity\n onPress={() => {\n removeFile(item.id);\n }}\n style={[styles.dismiss, { backgroundColor: overlay_dark }, dismiss]}\n testID='remove-file-upload-preview'\n >\n <Close />\n </TouchableOpacity>\n </View>\n </UploadProgressIndicator>\n );\n\n const fileUploadsLength = fileUploads.length;\n\n useEffect(() => {\n if (fileUploadsLength && flatListRef.current) {\n setTimeout(() => flatListRef.current?.scrollToEnd(), 1);\n }\n }, [fileUploadsLength]);\n\n return fileUploadsLength ? (\n <FlatList\n data={fileUploads}\n getItemLayout={(_, index) => ({\n index,\n length: FILE_PREVIEW_HEIGHT + 8,\n offset: (FILE_PREVIEW_HEIGHT + 8) * index,\n })}\n keyExtractor={(item) => item.id}\n onLayout={({\n nativeEvent: {\n layout: { width },\n },\n }) => {\n setFlatListWidth(width);\n }}\n ref={flatListRef}\n renderItem={renderItem}\n style={[styles.flatList, flatList]}\n />\n ) : null;\n};\n\nconst areEqual = <\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 prevProps: FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { fileUploads: prevFileUploads } = prevProps;\n const { fileUploads: nextFileUploads } = nextProps;\n\n return (\n prevFileUploads.length === nextFileUploads.length &&\n prevFileUploads.every(\n (prevFileUpload, index) => prevFileUpload.state === nextFileUploads[index].state,\n )\n );\n};\n\nconst MemoizedFileUploadPreview = React.memo(\n FileUploadPreviewWithContext,\n areEqual,\n) as typeof FileUploadPreviewWithContext;\n\nexport type FileUploadPreviewProps<\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> = Partial<FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>>;\n\n/**\n * FileUploadPreview\n * UI Component to preview the files set for upload\n */\nexport const FileUploadPreview = <\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 props: FileUploadPreviewProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { fileUploads, removeFile, uploadFile } =\n useMessageInputContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { FileAttachmentIcon } = useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return (\n <MemoizedFileUploadPreview\n {...{ FileAttachmentIcon, fileUploads, removeFile, uploadFile }}\n {...props}\n />\n );\n};\n\nFileUploadPreview.displayName = 'FileUploadPreview{messageInput{fileUploadPreview}}';\n"]}
1
+ {"version":3,"sources":["FileUploadPreview.tsx"],"names":["FILE_PREVIEW_HEIGHT","styles","StyleSheet","create","dismiss","borderRadius","height","position","right","top","width","fileContainer","borderWidth","flexDirection","justifyContent","marginBottom","padding","fileContentContainer","filenameText","fontSize","fontWeight","paddingLeft","fileSizeText","fileTextContainer","flatList","maxHeight","overlay","marginLeft","marginRight","FileUploadPreviewWithContext","props","FileAttachmentIcon","fileUploads","removeFile","uploadFile","flatListRef","flatListWidth","setFlatListWidth","theme","colors","black","grey","grey_whisper","overlay_dark","messageInput","fileUploadPreview","renderItem","index","item","indicatorType","state","FileState","UPLOADING","ProgressIndicatorTypes","IN_PROGRESS","UPLOAD_FAILED","RETRY","undefined","newFile","UPLOADED","FINISHED","length","borderColor","file","type","color","name","size","id","backgroundColor","fileUploadsLength","current","setTimeout","scrollToEnd","_","offset","nativeEvent","layout","areEqual","prevProps","nextProps","prevFileUploads","nextFileUploads","every","prevFileUpload","MemoizedFileUploadPreview","React","memo","FileUploadPreview","displayName"],"mappings":"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","sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { FlatList, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport { getFileSizeDisplayText } from '../Attachment/FileAttachment';\nimport {\n FileUpload,\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Close } from '../../icons/Close';\nimport { FileState, ProgressIndicatorTypes } from '../../utils/utils';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nconst FILE_PREVIEW_HEIGHT = 60;\n\nconst styles = StyleSheet.create({\n dismiss: {\n borderRadius: 24,\n height: 24,\n position: 'absolute',\n right: 14,\n top: 4,\n width: 24,\n },\n fileContainer: {\n borderRadius: 12,\n borderWidth: 1,\n flexDirection: 'row',\n height: FILE_PREVIEW_HEIGHT,\n justifyContent: 'space-between',\n marginBottom: 8,\n padding: 8,\n },\n fileContentContainer: { flexDirection: 'row' },\n filenameText: {\n fontSize: 14,\n fontWeight: 'bold',\n paddingLeft: 10,\n },\n fileSizeText: {\n fontSize: 12,\n paddingLeft: 10,\n },\n fileTextContainer: {\n height: '100%',\n justifyContent: 'space-around',\n },\n flatList: { marginBottom: 12, maxHeight: FILE_PREVIEW_HEIGHT * 2.5 + 16 },\n overlay: {\n borderRadius: 12,\n marginLeft: 8,\n marginRight: 8,\n },\n});\n\ntype FileUploadPreviewPropsWithContext<\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> = Pick<\n MessageInputContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'fileUploads' | 'removeFile' | 'uploadFile'\n> &\n Pick<MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'FileAttachmentIcon'>;\n\nconst FileUploadPreviewWithContext = <\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 props: FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { FileAttachmentIcon, fileUploads, removeFile, uploadFile } = props;\n\n const flatListRef = useRef<FlatList<FileUpload> | null>(null);\n const [flatListWidth, setFlatListWidth] = useState(0);\n\n const {\n theme: {\n colors: { black, grey, grey_whisper, overlay_dark },\n messageInput: {\n fileUploadPreview: {\n dismiss,\n fileContainer,\n fileContentContainer,\n filenameText,\n fileSizeText,\n fileTextContainer,\n flatList,\n },\n },\n },\n } = useTheme();\n\n const renderItem = ({ index, item }: { index: number; item: FileUpload }) => {\n const indicatorType =\n item.state === FileState.UPLOADING\n ? ProgressIndicatorTypes.IN_PROGRESS\n : item.state === FileState.UPLOAD_FAILED\n ? ProgressIndicatorTypes.RETRY\n : undefined;\n\n return (\n <>\n <UploadProgressIndicator\n action={() => {\n uploadFile({ newFile: item });\n }}\n active={item.state !== FileState.UPLOADED && item.state !== FileState.FINISHED}\n style={styles.overlay}\n type={indicatorType}\n >\n <View\n style={[\n styles.fileContainer,\n index === fileUploads.length - 1\n ? {\n marginBottom: 0,\n }\n : {},\n {\n borderColor: grey_whisper,\n width: flatListWidth - 16,\n },\n fileContainer,\n ]}\n >\n <View style={[styles.fileContentContainer, fileContentContainer]}>\n <FileAttachmentIcon mimeType={item.file.type} />\n <View style={[styles.fileTextContainer, fileTextContainer]}>\n <Text\n numberOfLines={1}\n style={[\n styles.filenameText,\n {\n color: black,\n width:\n flatListWidth -\n 16 - // 16 = horizontal padding\n 40 - // 40 = file icon size\n 24 - // 24 = close icon size\n 24, // 24 = internal padding\n },\n filenameText,\n ]}\n >\n {item.file.name || ''}\n </Text>\n <Text style={[styles.fileSizeText, { color: grey }, fileSizeText]}>\n {getFileSizeDisplayText(item.file.size)}\n </Text>\n </View>\n </View>\n </View>\n </UploadProgressIndicator>\n <TouchableOpacity\n onPress={() => {\n removeFile(item.id);\n }}\n style={[styles.dismiss, { backgroundColor: overlay_dark }, dismiss]}\n testID='remove-file-upload-preview'\n >\n <Close />\n </TouchableOpacity>\n </>\n );\n };\n\n const fileUploadsLength = fileUploads.length;\n\n useEffect(() => {\n if (fileUploadsLength && flatListRef.current) {\n setTimeout(() => flatListRef.current?.scrollToEnd(), 1);\n }\n }, [fileUploadsLength]);\n\n return fileUploadsLength ? (\n <FlatList\n data={fileUploads}\n getItemLayout={(_, index) => ({\n index,\n length: FILE_PREVIEW_HEIGHT + 8,\n offset: (FILE_PREVIEW_HEIGHT + 8) * index,\n })}\n keyExtractor={(item) => item.id}\n onLayout={({\n nativeEvent: {\n layout: { width },\n },\n }) => {\n setFlatListWidth(width);\n }}\n ref={flatListRef}\n renderItem={renderItem}\n style={[styles.flatList, flatList]}\n />\n ) : null;\n};\n\nconst areEqual = <\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 prevProps: FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { fileUploads: prevFileUploads } = prevProps;\n const { fileUploads: nextFileUploads } = nextProps;\n\n return (\n prevFileUploads.length === nextFileUploads.length &&\n prevFileUploads.every(\n (prevFileUpload, index) => prevFileUpload.state === nextFileUploads[index].state,\n )\n );\n};\n\nconst MemoizedFileUploadPreview = React.memo(\n FileUploadPreviewWithContext,\n areEqual,\n) as typeof FileUploadPreviewWithContext;\n\nexport type FileUploadPreviewProps<\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> = Partial<FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>>;\n\n/**\n * FileUploadPreview\n * UI Component to preview the files set for upload\n */\nexport const FileUploadPreview = <\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 props: FileUploadPreviewProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { fileUploads, removeFile, uploadFile } =\n useMessageInputContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { FileAttachmentIcon } = useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return (\n <MemoizedFileUploadPreview\n {...{ FileAttachmentIcon, fileUploads, removeFile, uploadFile }}\n {...props}\n />\n );\n};\n\nFileUploadPreview.displayName = 'FileUploadPreview{messageInput{fileUploadPreview}}';\n"]}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "3.8.2"
2
+ "version": "3.9.0-next.1"
3
3
  }
@@ -89,6 +89,7 @@ export declare type ChannelPropsWithContext<At extends UnknownType = DefaultAtta
89
89
  quotedRepliesEnabled?: boolean;
90
90
  reactionsEnabled?: boolean;
91
91
  readEventsEnabled?: boolean;
92
+ stateUpdateThrottleInterval?: number;
92
93
  threadRepliesEnabled?: boolean;
93
94
  typingEventsEnabled?: boolean;
94
95
  uploadsEnabled?: boolean;