stream-chat-react-native-core 7.0.0-rc.8 → 7.0.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 (498) hide show
  1. package/README.md +1 -1
  2. package/lib/commonjs/components/Attachment/AudioAttachment.js +19 -9
  3. package/lib/commonjs/components/Attachment/AudioAttachment.js.map +1 -1
  4. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +3 -1
  5. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js.map +1 -1
  6. package/lib/commonjs/components/Attachment/Gallery.js +16 -3
  7. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  8. package/lib/commonjs/components/Attachment/ImageReloadIndicator.js.map +1 -1
  9. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +2 -2
  10. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  11. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js +7 -24
  12. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
  13. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +2 -4
  14. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  15. package/lib/commonjs/components/Channel/Channel.js +320 -310
  16. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  17. package/lib/commonjs/components/Channel/hooks/useChannelDataState.js.map +1 -1
  18. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +2 -0
  19. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  20. package/lib/commonjs/components/Channel/hooks/useMessageListPagination.js +133 -147
  21. package/lib/commonjs/components/Channel/hooks/useMessageListPagination.js.map +1 -1
  22. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  23. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js +8 -13
  24. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
  25. package/lib/commonjs/components/Message/Message.js +14 -7
  26. package/lib/commonjs/components/Message/Message.js.map +1 -1
  27. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  28. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +70 -54
  29. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  30. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +14 -6
  31. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  32. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  33. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  34. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +3 -1
  35. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  36. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  37. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
  38. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +25 -39
  39. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  40. package/lib/commonjs/components/MessageInput/InputButtons.js +18 -15
  41. package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
  42. package/lib/commonjs/components/MessageInput/MessageInput.js +96 -74
  43. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  44. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js +2 -1
  45. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js.map +1 -1
  46. package/lib/commonjs/components/MessageInput/hooks/useAudioController.js +4 -4
  47. package/lib/commonjs/components/MessageInput/hooks/useAudioController.js.map +1 -1
  48. package/lib/commonjs/components/MessageList/MessageList.js +281 -223
  49. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  50. package/lib/commonjs/components/MessageList/hooks/useMessageList.js +65 -48
  51. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  52. package/lib/commonjs/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.js.map +1 -1
  53. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js +1 -1
  54. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
  55. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  56. package/lib/commonjs/components/MessageList/utils/getReadState.js +20 -0
  57. package/lib/commonjs/components/MessageList/utils/getReadState.js.map +1 -0
  58. package/lib/commonjs/components/MessageMenu/hooks/useFetchReactions.js.map +1 -1
  59. package/lib/commonjs/components/Poll/components/Button.js.map +1 -1
  60. package/lib/commonjs/components/Poll/components/PollResults/PollResultItem.js.map +1 -1
  61. package/lib/commonjs/components/Reply/Reply.js +2 -2
  62. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  63. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +24 -6
  64. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  65. package/lib/commonjs/components/ThreadList/ThreadListItem.js.map +1 -1
  66. package/lib/commonjs/components/UIComponents/BottomSheetModal.js +10 -6
  67. package/lib/commonjs/components/UIComponents/BottomSheetModal.js.map +1 -1
  68. package/lib/commonjs/components/index.js +15 -4
  69. package/lib/commonjs/components/index.js.map +1 -1
  70. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  71. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +5 -1
  72. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
  73. package/lib/commonjs/contexts/debugContext/DebugContext.js.map +1 -1
  74. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  75. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  76. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +535 -523
  77. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  78. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +7 -6
  79. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  80. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js +37 -41
  81. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  82. package/lib/commonjs/contexts/messageInputContext/utils/utils.js +4 -4
  83. package/lib/commonjs/contexts/messageInputContext/utils/utils.js.map +1 -1
  84. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  85. package/lib/commonjs/contexts/pollContext/pollContext.js.map +1 -1
  86. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +23 -14
  87. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  88. package/lib/commonjs/contexts/themeContext/utils/theme.js +2 -1
  89. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  90. package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
  91. package/lib/commonjs/contexts/threadsContext/ThreadListItemContext.js.map +1 -1
  92. package/lib/commonjs/hooks/index.js +22 -0
  93. package/lib/commonjs/hooks/index.js.map +1 -1
  94. package/lib/commonjs/hooks/useAudioPlayer.js +60 -69
  95. package/lib/commonjs/hooks/useAudioPlayer.js.map +1 -1
  96. package/lib/commonjs/hooks/useStableCallback.js +13 -0
  97. package/lib/commonjs/hooks/useStableCallback.js.map +1 -0
  98. package/lib/commonjs/hooks/useTranslatedMessage.js.map +1 -1
  99. package/lib/commonjs/i18n/en.json +3 -0
  100. package/lib/commonjs/i18n/es.json +3 -0
  101. package/lib/commonjs/i18n/fr.json +3 -0
  102. package/lib/commonjs/i18n/he.json +3 -0
  103. package/lib/commonjs/i18n/hi.json +2 -0
  104. package/lib/commonjs/i18n/it.json +3 -0
  105. package/lib/commonjs/i18n/ja.json +1 -0
  106. package/lib/commonjs/i18n/ko.json +1 -0
  107. package/lib/commonjs/i18n/nl.json +2 -0
  108. package/lib/commonjs/i18n/pt-br.json +3 -0
  109. package/lib/commonjs/i18n/ru.json +4 -0
  110. package/lib/commonjs/i18n/tr.json +2 -0
  111. package/lib/commonjs/mock-builders/api/channelMocks.js.map +1 -1
  112. package/lib/commonjs/native.js.map +1 -1
  113. package/lib/commonjs/store/mappers/mapMessageToStorable.js.map +1 -1
  114. package/lib/commonjs/types/types.js.map +1 -1
  115. package/lib/commonjs/utils/compressImage.js +1 -1
  116. package/lib/commonjs/utils/compressImage.js.map +1 -1
  117. package/lib/commonjs/utils/removeReservedFields.js.map +1 -1
  118. package/lib/commonjs/utils/utils.js +17 -4
  119. package/lib/commonjs/utils/utils.js.map +1 -1
  120. package/lib/commonjs/version.json +1 -1
  121. package/lib/module/components/Attachment/AudioAttachment.js +19 -9
  122. package/lib/module/components/Attachment/AudioAttachment.js.map +1 -1
  123. package/lib/module/components/Attachment/FileAttachmentGroup.js +3 -1
  124. package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
  125. package/lib/module/components/Attachment/Gallery.js +16 -3
  126. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  127. package/lib/module/components/Attachment/ImageReloadIndicator.js.map +1 -1
  128. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +2 -2
  129. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  130. package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js +7 -24
  131. package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
  132. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +2 -4
  133. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  134. package/lib/module/components/Channel/Channel.js +320 -310
  135. package/lib/module/components/Channel/Channel.js.map +1 -1
  136. package/lib/module/components/Channel/hooks/useChannelDataState.js.map +1 -1
  137. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +2 -0
  138. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  139. package/lib/module/components/Channel/hooks/useMessageListPagination.js +133 -147
  140. package/lib/module/components/Channel/hooks/useMessageListPagination.js.map +1 -1
  141. package/lib/module/components/Chat/Chat.js.map +1 -1
  142. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js +8 -13
  143. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
  144. package/lib/module/components/Message/Message.js +14 -7
  145. package/lib/module/components/Message/Message.js.map +1 -1
  146. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  147. package/lib/module/components/Message/MessageSimple/MessageSimple.js +70 -54
  148. package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  149. package/lib/module/components/Message/MessageSimple/MessageStatus.js +14 -6
  150. package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  151. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  152. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  153. package/lib/module/components/Message/hooks/useCreateMessageContext.js +3 -1
  154. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  155. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  156. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
  157. package/lib/module/components/MessageInput/FileUploadPreview.js +25 -39
  158. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  159. package/lib/module/components/MessageInput/InputButtons.js +18 -15
  160. package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
  161. package/lib/module/components/MessageInput/MessageInput.js +96 -74
  162. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  163. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js +2 -1
  164. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js.map +1 -1
  165. package/lib/module/components/MessageInput/hooks/useAudioController.js +4 -4
  166. package/lib/module/components/MessageInput/hooks/useAudioController.js.map +1 -1
  167. package/lib/module/components/MessageList/MessageList.js +281 -223
  168. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  169. package/lib/module/components/MessageList/hooks/useMessageList.js +65 -48
  170. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  171. package/lib/module/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.js.map +1 -1
  172. package/lib/module/components/MessageList/utils/getGroupStyles.js +1 -1
  173. package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
  174. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  175. package/lib/module/components/MessageList/utils/getReadState.js +20 -0
  176. package/lib/module/components/MessageList/utils/getReadState.js.map +1 -0
  177. package/lib/module/components/MessageMenu/hooks/useFetchReactions.js.map +1 -1
  178. package/lib/module/components/Poll/components/Button.js.map +1 -1
  179. package/lib/module/components/Poll/components/PollResults/PollResultItem.js.map +1 -1
  180. package/lib/module/components/Reply/Reply.js +2 -2
  181. package/lib/module/components/Reply/Reply.js.map +1 -1
  182. package/lib/module/components/Thread/components/ThreadFooterComponent.js +24 -6
  183. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  184. package/lib/module/components/ThreadList/ThreadListItem.js.map +1 -1
  185. package/lib/module/components/UIComponents/BottomSheetModal.js +10 -6
  186. package/lib/module/components/UIComponents/BottomSheetModal.js.map +1 -1
  187. package/lib/module/components/index.js +15 -4
  188. package/lib/module/components/index.js.map +1 -1
  189. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  190. package/lib/module/contexts/channelsStateContext/useChannelState.js +5 -1
  191. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
  192. package/lib/module/contexts/debugContext/DebugContext.js.map +1 -1
  193. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  194. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  195. package/lib/module/contexts/messageInputContext/MessageInputContext.js +535 -523
  196. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  197. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +7 -6
  198. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  199. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js +37 -41
  200. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  201. package/lib/module/contexts/messageInputContext/utils/utils.js +4 -4
  202. package/lib/module/contexts/messageInputContext/utils/utils.js.map +1 -1
  203. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  204. package/lib/module/contexts/pollContext/pollContext.js.map +1 -1
  205. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +23 -14
  206. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  207. package/lib/module/contexts/themeContext/utils/theme.js +2 -1
  208. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  209. package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
  210. package/lib/module/contexts/threadsContext/ThreadListItemContext.js.map +1 -1
  211. package/lib/module/hooks/index.js +22 -0
  212. package/lib/module/hooks/index.js.map +1 -1
  213. package/lib/module/hooks/useAudioPlayer.js +60 -69
  214. package/lib/module/hooks/useAudioPlayer.js.map +1 -1
  215. package/lib/module/hooks/useStableCallback.js +13 -0
  216. package/lib/module/hooks/useStableCallback.js.map +1 -0
  217. package/lib/module/hooks/useTranslatedMessage.js.map +1 -1
  218. package/lib/module/i18n/en.json +3 -0
  219. package/lib/module/i18n/es.json +3 -0
  220. package/lib/module/i18n/fr.json +3 -0
  221. package/lib/module/i18n/he.json +3 -0
  222. package/lib/module/i18n/hi.json +2 -0
  223. package/lib/module/i18n/it.json +3 -0
  224. package/lib/module/i18n/ja.json +1 -0
  225. package/lib/module/i18n/ko.json +1 -0
  226. package/lib/module/i18n/nl.json +2 -0
  227. package/lib/module/i18n/pt-br.json +3 -0
  228. package/lib/module/i18n/ru.json +4 -0
  229. package/lib/module/i18n/tr.json +2 -0
  230. package/lib/module/mock-builders/api/channelMocks.js.map +1 -1
  231. package/lib/module/native.js.map +1 -1
  232. package/lib/module/store/mappers/mapMessageToStorable.js.map +1 -1
  233. package/lib/module/types/types.js.map +1 -1
  234. package/lib/module/utils/compressImage.js +1 -1
  235. package/lib/module/utils/compressImage.js.map +1 -1
  236. package/lib/module/utils/removeReservedFields.js.map +1 -1
  237. package/lib/module/utils/utils.js +17 -4
  238. package/lib/module/utils/utils.js.map +1 -1
  239. package/lib/module/version.json +1 -1
  240. package/lib/typescript/components/Attachment/AudioAttachment.d.ts +2 -2
  241. package/lib/typescript/components/Attachment/AudioAttachment.d.ts.map +1 -1
  242. package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts.map +1 -1
  243. package/lib/typescript/components/Attachment/Gallery.d.ts +3 -3
  244. package/lib/typescript/components/Attachment/Gallery.d.ts.map +1 -1
  245. package/lib/typescript/components/Attachment/ImageReloadIndicator.d.ts +4 -3
  246. package/lib/typescript/components/Attachment/ImageReloadIndicator.d.ts.map +1 -1
  247. package/lib/typescript/components/AttachmentPicker/AttachmentPicker.d.ts.map +1 -1
  248. package/lib/typescript/components/AttachmentPicker/components/AttachmentPickerItem.d.ts +2 -2
  249. package/lib/typescript/components/AttachmentPicker/components/AttachmentPickerItem.d.ts.map +1 -1
  250. package/lib/typescript/components/AutoCompleteInput/AutoCompleteInput.d.ts +2 -3
  251. package/lib/typescript/components/AutoCompleteInput/AutoCompleteInput.d.ts.map +1 -1
  252. package/lib/typescript/components/Channel/Channel.d.ts +3 -4
  253. package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
  254. package/lib/typescript/components/Channel/hooks/useChannelDataState.d.ts +2 -3
  255. package/lib/typescript/components/Channel/hooks/useChannelDataState.d.ts.map +1 -1
  256. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -1
  257. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts.map +1 -1
  258. package/lib/typescript/components/Channel/hooks/useCreateThreadContext.d.ts +6 -6
  259. package/lib/typescript/components/Channel/hooks/useCreateThreadContext.d.ts.map +1 -1
  260. package/lib/typescript/components/Channel/hooks/useMessageListPagination.d.ts +3 -3
  261. package/lib/typescript/components/Channel/hooks/useMessageListPagination.d.ts.map +1 -1
  262. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewData.d.ts +1 -1
  263. package/lib/typescript/components/ChannelPreview/hooks/useLatestMessagePreview.d.ts +1 -1
  264. package/lib/typescript/components/Chat/Chat.d.ts +0 -9
  265. package/lib/typescript/components/Chat/Chat.d.ts.map +1 -1
  266. package/lib/typescript/components/KeyboardCompatibleView/KeyboardCompatibleView.d.ts +3 -0
  267. package/lib/typescript/components/KeyboardCompatibleView/KeyboardCompatibleView.d.ts.map +1 -1
  268. package/lib/typescript/components/Message/Message.d.ts +4 -5
  269. package/lib/typescript/components/Message/Message.d.ts.map +1 -1
  270. package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts +2 -3
  271. package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts.map +1 -1
  272. package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts.map +1 -1
  273. package/lib/typescript/components/Message/MessageSimple/MessageStatus.d.ts +1 -1
  274. package/lib/typescript/components/Message/MessageSimple/MessageStatus.d.ts.map +1 -1
  275. package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts.map +1 -1
  276. package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +2 -2
  277. package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts.map +1 -1
  278. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +1 -1
  279. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts.map +1 -1
  280. package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts.map +1 -1
  281. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +2 -2
  282. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts.map +1 -1
  283. package/lib/typescript/components/MessageInput/FileUploadPreview.d.ts +2 -4
  284. package/lib/typescript/components/MessageInput/FileUploadPreview.d.ts.map +1 -1
  285. package/lib/typescript/components/MessageInput/InputButtons.d.ts +1 -1
  286. package/lib/typescript/components/MessageInput/InputButtons.d.ts.map +1 -1
  287. package/lib/typescript/components/MessageInput/MessageInput.d.ts +1 -1
  288. package/lib/typescript/components/MessageInput/MessageInput.d.ts.map +1 -1
  289. package/lib/typescript/components/MessageInput/hooks/useAudioController.d.ts.map +1 -1
  290. package/lib/typescript/components/MessageList/MessageList.d.ts +4 -4
  291. package/lib/typescript/components/MessageList/MessageList.d.ts.map +1 -1
  292. package/lib/typescript/components/MessageList/MessageSystem.d.ts +2 -2
  293. package/lib/typescript/components/MessageList/MessageSystem.d.ts.map +1 -1
  294. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +14 -9
  295. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts.map +1 -1
  296. package/lib/typescript/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.d.ts +2 -2
  297. package/lib/typescript/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.d.ts.map +1 -1
  298. package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts.map +1 -1
  299. package/lib/typescript/components/MessageList/utils/getLastReceivedMessage.d.ts +2 -2
  300. package/lib/typescript/components/MessageList/utils/getLastReceivedMessage.d.ts.map +1 -1
  301. package/lib/typescript/components/MessageList/utils/getReadState.d.ts +9 -0
  302. package/lib/typescript/components/MessageList/utils/getReadState.d.ts.map +1 -0
  303. package/lib/typescript/components/MessageMenu/hooks/useFetchReactions.d.ts +2 -3
  304. package/lib/typescript/components/MessageMenu/hooks/useFetchReactions.d.ts.map +1 -1
  305. package/lib/typescript/components/Poll/components/Button.d.ts +2 -3
  306. package/lib/typescript/components/Poll/components/Button.d.ts.map +1 -1
  307. package/lib/typescript/components/Poll/components/PollResults/PollResultItem.d.ts +2 -3
  308. package/lib/typescript/components/Poll/components/PollResults/PollResultItem.d.ts.map +1 -1
  309. package/lib/typescript/components/Reply/Reply.d.ts.map +1 -1
  310. package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts.map +1 -1
  311. package/lib/typescript/components/ThreadList/ThreadListItem.d.ts.map +1 -1
  312. package/lib/typescript/components/UIComponents/BottomSheetModal.d.ts.map +1 -1
  313. package/lib/typescript/components/index.d.ts +2 -1
  314. package/lib/typescript/components/index.d.ts.map +1 -1
  315. package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts +3 -3
  316. package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts.map +1 -1
  317. package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts.map +1 -1
  318. package/lib/typescript/contexts/debugContext/DebugContext.d.ts +2 -3
  319. package/lib/typescript/contexts/debugContext/DebugContext.d.ts.map +1 -1
  320. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts +3 -3
  321. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts.map +1 -1
  322. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +6 -4
  323. package/lib/typescript/contexts/messageContext/MessageContext.d.ts.map +1 -1
  324. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +13 -15
  325. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts.map +1 -1
  326. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +1 -1
  327. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts.map +1 -1
  328. package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts +3 -3
  329. package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts.map +1 -1
  330. package/lib/typescript/contexts/messageInputContext/utils/utils.d.ts +2 -2
  331. package/lib/typescript/contexts/messageInputContext/utils/utils.d.ts.map +1 -1
  332. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +25 -21
  333. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts.map +1 -1
  334. package/lib/typescript/contexts/pollContext/pollContext.d.ts +2 -3
  335. package/lib/typescript/contexts/pollContext/pollContext.d.ts.map +1 -1
  336. package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts.map +1 -1
  337. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +1 -0
  338. package/lib/typescript/contexts/themeContext/utils/theme.d.ts.map +1 -1
  339. package/lib/typescript/contexts/threadContext/ThreadContext.d.ts +4 -5
  340. package/lib/typescript/contexts/threadContext/ThreadContext.d.ts.map +1 -1
  341. package/lib/typescript/contexts/threadsContext/ThreadListItemContext.d.ts +3 -4
  342. package/lib/typescript/contexts/threadsContext/ThreadListItemContext.d.ts.map +1 -1
  343. package/lib/typescript/hooks/index.d.ts +2 -0
  344. package/lib/typescript/hooks/index.d.ts.map +1 -1
  345. package/lib/typescript/hooks/useAudioPlayer.d.ts.map +1 -1
  346. package/lib/typescript/hooks/useStableCallback.d.ts +26 -0
  347. package/lib/typescript/hooks/useStableCallback.d.ts.map +1 -0
  348. package/lib/typescript/hooks/useTranslatedMessage.d.ts +59 -58
  349. package/lib/typescript/hooks/useTranslatedMessage.d.ts.map +1 -1
  350. package/lib/typescript/i18n/en.json +3 -0
  351. package/lib/typescript/i18n/es.json +3 -0
  352. package/lib/typescript/i18n/fr.json +3 -0
  353. package/lib/typescript/i18n/he.json +3 -0
  354. package/lib/typescript/i18n/hi.json +2 -0
  355. package/lib/typescript/i18n/it.json +3 -0
  356. package/lib/typescript/i18n/ja.json +1 -0
  357. package/lib/typescript/i18n/ko.json +1 -0
  358. package/lib/typescript/i18n/nl.json +2 -0
  359. package/lib/typescript/i18n/pt-br.json +3 -0
  360. package/lib/typescript/i18n/ru.json +4 -0
  361. package/lib/typescript/i18n/tr.json +2 -0
  362. package/lib/typescript/native.d.ts +8 -11
  363. package/lib/typescript/native.d.ts.map +1 -1
  364. package/lib/typescript/store/apis/insertReaction.d.ts +2 -2
  365. package/lib/typescript/store/apis/insertReaction.d.ts.map +1 -1
  366. package/lib/typescript/store/apis/updateMessage.d.ts +2 -2
  367. package/lib/typescript/store/apis/updateMessage.d.ts.map +1 -1
  368. package/lib/typescript/store/apis/updateReaction.d.ts +2 -2
  369. package/lib/typescript/store/apis/updateReaction.d.ts.map +1 -1
  370. package/lib/typescript/store/mappers/mapMessageToStorable.d.ts +2 -2
  371. package/lib/typescript/store/mappers/mapMessageToStorable.d.ts.map +1 -1
  372. package/lib/typescript/types/types.d.ts +28 -50
  373. package/lib/typescript/types/types.d.ts.map +1 -1
  374. package/lib/typescript/utils/compressImage.d.ts +2 -2
  375. package/lib/typescript/utils/compressImage.d.ts.map +1 -1
  376. package/lib/typescript/utils/i18n/Streami18n.d.ts +3 -0
  377. package/lib/typescript/utils/i18n/Streami18n.d.ts.map +1 -1
  378. package/lib/typescript/utils/removeReservedFields.d.ts +2 -3
  379. package/lib/typescript/utils/removeReservedFields.d.ts.map +1 -1
  380. package/lib/typescript/utils/utils.d.ts +10 -10
  381. package/lib/typescript/utils/utils.d.ts.map +1 -1
  382. package/package.json +4 -3
  383. package/src/components/Attachment/AudioAttachment.tsx +12 -6
  384. package/src/components/Attachment/FileAttachmentGroup.tsx +3 -1
  385. package/src/components/Attachment/Gallery.tsx +22 -7
  386. package/src/components/Attachment/ImageReloadIndicator.tsx +4 -5
  387. package/src/components/AttachmentPicker/AttachmentPicker.tsx +4 -10
  388. package/src/components/AttachmentPicker/components/AttachmentPickerItem.tsx +9 -37
  389. package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +27 -23
  390. package/src/components/AutoCompleteInput/__tests__/AutoCompleteInput.test.js +12 -12
  391. package/src/components/Channel/Channel.tsx +423 -361
  392. package/src/components/Channel/__tests__/Channel.test.js +10 -3
  393. package/src/components/Channel/hooks/useChannelDataState.ts +2 -4
  394. package/src/components/Channel/hooks/useCreateMessagesContext.ts +2 -0
  395. package/src/components/Channel/hooks/useMessageListPagination.tsx +150 -150
  396. package/src/components/Chat/Chat.tsx +0 -9
  397. package/src/components/ImageGallery/__tests__/ImageGallery.test.tsx +8 -7
  398. package/src/components/ImageGallery/__tests__/ImageGalleryFooter.test.tsx +5 -4
  399. package/src/components/ImageGallery/__tests__/ImageGalleryHeader.test.tsx +5 -4
  400. package/src/components/ImageGallery/__tests__/ImageGalleryOverlay.test.tsx +3 -2
  401. package/src/components/KeyboardCompatibleView/KeyboardCompatibleView.tsx +12 -5
  402. package/src/components/Message/Message.tsx +16 -15
  403. package/src/components/Message/MessageSimple/MessageFooter.tsx +2 -3
  404. package/src/components/Message/MessageSimple/MessageSimple.tsx +112 -70
  405. package/src/components/Message/MessageSimple/MessageStatus.tsx +19 -17
  406. package/src/components/Message/MessageSimple/MessageTextContainer.tsx +3 -3
  407. package/src/components/Message/MessageSimple/__tests__/MessageStatus.test.js +11 -5
  408. package/src/components/Message/MessageSimple/__tests__/MessageTextContainer.test.tsx +5 -4
  409. package/src/components/Message/MessageSimple/utils/renderText.tsx +2 -3
  410. package/src/components/Message/hooks/useCreateMessageContext.ts +3 -0
  411. package/src/components/Message/hooks/useMessageActionHandlers.ts +1 -3
  412. package/src/components/Message/hooks/useMessageActions.tsx +4 -3
  413. package/src/components/MessageInput/FileUploadPreview.tsx +41 -70
  414. package/src/components/MessageInput/ImageUploadPreview.tsx +2 -2
  415. package/src/components/MessageInput/InputButtons.tsx +14 -10
  416. package/src/components/MessageInput/MessageInput.tsx +28 -30
  417. package/src/components/MessageInput/__tests__/FileUploadPreview.test.js +1 -1
  418. package/src/components/MessageInput/__tests__/MessageInput.test.js +3 -1
  419. package/src/components/MessageInput/components/AudioRecorder/AudioRecordingButton.tsx +1 -0
  420. package/src/components/MessageInput/hooks/useAudioController.tsx +6 -5
  421. package/src/components/MessageList/MessageList.tsx +253 -137
  422. package/src/components/MessageList/MessageSystem.tsx +2 -2
  423. package/src/components/MessageList/hooks/useMessageList.ts +82 -64
  424. package/src/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.ts +2 -2
  425. package/src/components/MessageList/utils/getGroupStyles.ts +7 -5
  426. package/src/components/MessageList/utils/getLastReceivedMessage.ts +3 -3
  427. package/src/components/MessageList/utils/getReadState.ts +27 -0
  428. package/src/components/MessageMenu/__tests__/MessageUserReactions.test.tsx +2 -3
  429. package/src/components/MessageMenu/hooks/useFetchReactions.ts +2 -3
  430. package/src/components/Poll/components/Button.tsx +2 -4
  431. package/src/components/Poll/components/PollResults/PollResultItem.tsx +2 -3
  432. package/src/components/Reply/Reply.tsx +1 -2
  433. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +318 -847
  434. package/src/components/Thread/components/ThreadFooterComponent.tsx +31 -9
  435. package/src/components/ThreadList/ThreadListItem.tsx +6 -4
  436. package/src/components/UIComponents/BottomSheetModal.tsx +11 -7
  437. package/src/components/index.ts +2 -1
  438. package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +5 -4
  439. package/src/contexts/channelsStateContext/useChannelState.ts +5 -1
  440. package/src/contexts/debugContext/DebugContext.tsx +2 -4
  441. package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +5 -4
  442. package/src/contexts/messageContext/MessageContext.tsx +6 -4
  443. package/src/contexts/messageInputContext/MessageInputContext.tsx +295 -262
  444. package/src/contexts/messageInputContext/__tests__/__snapshots__/sendMessage.test.tsx.snap +10 -6
  445. package/src/contexts/messageInputContext/__tests__/sendMessage.test.tsx +6 -5
  446. package/src/contexts/messageInputContext/__tests__/updateMessage.test.tsx +3 -5
  447. package/src/contexts/messageInputContext/__tests__/useMessageDetailsForState.test.tsx +14 -9
  448. package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +7 -3
  449. package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +37 -40
  450. package/src/contexts/messageInputContext/utils/utils.ts +6 -8
  451. package/src/contexts/messagesContext/MessagesContext.tsx +26 -20
  452. package/src/contexts/pollContext/pollContext.tsx +2 -4
  453. package/src/contexts/suggestionsContext/SuggestionsContext.tsx +33 -14
  454. package/src/contexts/themeContext/utils/theme.ts +2 -0
  455. package/src/contexts/threadContext/ThreadContext.tsx +4 -6
  456. package/src/contexts/threadsContext/ThreadListItemContext.tsx +3 -5
  457. package/src/hooks/index.ts +2 -0
  458. package/src/hooks/useAudioPlayer.ts +37 -31
  459. package/src/hooks/useStableCallback.ts +37 -0
  460. package/src/hooks/useTranslatedMessage.ts +2 -2
  461. package/src/i18n/en.json +3 -0
  462. package/src/i18n/es.json +3 -0
  463. package/src/i18n/fr.json +3 -0
  464. package/src/i18n/he.json +3 -0
  465. package/src/i18n/hi.json +2 -0
  466. package/src/i18n/it.json +3 -0
  467. package/src/i18n/ja.json +1 -0
  468. package/src/i18n/ko.json +1 -0
  469. package/src/i18n/nl.json +2 -0
  470. package/src/i18n/pt-br.json +3 -0
  471. package/src/i18n/ru.json +4 -0
  472. package/src/i18n/tr.json +2 -0
  473. package/src/mock-builders/api/channelMocks.tsx +2 -8
  474. package/src/native.ts +13 -8
  475. package/src/store/apis/insertReaction.ts +2 -2
  476. package/src/store/apis/updateMessage.ts +2 -2
  477. package/src/store/apis/updateReaction.ts +2 -2
  478. package/src/store/mappers/mapMessageToStorable.ts +2 -2
  479. package/src/types/stream-chat-common-custom-data.d.ts +22 -22
  480. package/src/types/types.ts +35 -54
  481. package/src/utils/compressImage.ts +3 -4
  482. package/src/utils/removeReservedFields.ts +3 -5
  483. package/src/utils/utils.ts +25 -16
  484. package/src/version.json +1 -1
  485. package/lib/commonjs/components/MessageList/hooks/useLastReadData.js +0 -20
  486. package/lib/commonjs/components/MessageList/hooks/useLastReadData.js.map +0 -1
  487. package/lib/commonjs/components/MessageList/utils/getReadStates.js +0 -34
  488. package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +0 -1
  489. package/lib/module/components/MessageList/hooks/useLastReadData.js +0 -20
  490. package/lib/module/components/MessageList/hooks/useLastReadData.js.map +0 -1
  491. package/lib/module/components/MessageList/utils/getReadStates.js +0 -34
  492. package/lib/module/components/MessageList/utils/getReadStates.js.map +0 -1
  493. package/lib/typescript/components/MessageList/hooks/useLastReadData.d.ts +0 -12
  494. package/lib/typescript/components/MessageList/hooks/useLastReadData.d.ts.map +0 -1
  495. package/lib/typescript/components/MessageList/utils/getReadStates.d.ts +0 -5
  496. package/lib/typescript/components/MessageList/utils/getReadStates.d.ts.map +0 -1
  497. package/src/components/MessageList/hooks/useLastReadData.ts +0 -29
  498. package/src/components/MessageList/utils/getReadStates.ts +0 -55
@@ -1,4 +1,4 @@
1
- import type { ChannelFilters, ChannelSort, ChannelState } from 'stream-chat';
1
+ import type { ChannelFilters, ChannelSort, ChannelState, FileReference } from 'stream-chat';
2
2
 
3
3
  import type { FileStateValue } from '../utils/utils';
4
4
 
@@ -12,93 +12,74 @@ export enum FileTypes {
12
12
  VoiceRecording = 'voiceRecording',
13
13
  }
14
14
 
15
- export type Asset = {
16
- duration: number;
17
- height: number;
18
- name: string;
19
- source: 'camera' | 'picker';
20
- type: string;
21
- uri: string;
22
- width: number;
23
- id?: string;
24
- mimeType?: string;
25
- originalUri?: string;
26
- size?: number;
27
- };
28
-
29
- export type File = {
30
- name: string;
31
- duration?: number;
32
- id?: string;
33
- mimeType?: string;
34
- originalUri?: string;
35
- size?: number;
36
- type?: FileTypes;
37
- // The uri should be of type `string`. But is `string|undefined` because the same type is used for the response from Stream's Attachment. This shall be fixed.
38
- uri?: string;
39
- waveform_data?: number[];
40
- };
15
+ export type File = FileReference;
41
16
 
17
+ /**
18
+ * This is nothing but a substitute for the attachment type prior to sending the message.
19
+ * This will change if we unify the file uploads to attachments.
20
+ */
42
21
  export type FileUpload = {
43
22
  file: File;
44
23
  id: string;
45
24
  state: FileStateValue;
46
- duration?: number;
47
- paused?: boolean;
48
- progress?: number;
49
- thumb_url?: string;
50
- type?: string;
25
+
26
+ mime_type?: string;
27
+
28
+ type?: FileTypes;
51
29
  url?: string;
30
+
31
+ thumb_url?: string;
32
+
33
+ duration?: number;
52
34
  waveform_data?: number[];
35
+
36
+ height?: number;
37
+ width?: number;
53
38
  };
54
- export interface DefaultAttachmentType {
39
+
40
+ export type AudioUpload = FileUpload & {
41
+ progress?: number;
42
+ paused?: boolean;
43
+ };
44
+
45
+ export interface DefaultAttachmentData {
55
46
  duration?: number;
56
47
  file_size?: number;
57
48
  mime_type?: string;
58
49
  originalFile?: File;
59
- originalImage?: Partial<Asset>;
50
+ originalImage?: File;
60
51
  waveform_data?: number[];
61
52
  }
62
53
 
63
- export interface DefaultUserType {
54
+ export interface DefaultUserData {
64
55
  image?: string;
65
56
  }
66
57
 
67
- export interface DefaultChannelType {
58
+ export interface DefaultChannelData {
68
59
  image?: string;
69
60
  name?: string;
70
61
  }
71
62
 
72
- export interface DefaultCommandType {
63
+ export interface DefaultCommandData {
73
64
  flag: unknown;
74
65
  imgur: unknown;
75
66
  }
76
67
 
77
68
  /* eslint-disable @typescript-eslint/no-empty-object-type */
78
69
 
79
- export interface DefaultEventType {}
80
-
81
- export interface DefaultMemberType {}
70
+ export interface DefaultEventData {}
82
71
 
83
- export interface DefaultMessageType {}
72
+ export interface DefaultMemberData {}
84
73
 
85
- export interface DefaultPollOptionType {}
74
+ export interface DefaultMessageData {}
86
75
 
87
- export interface DefaultPollType {}
76
+ export interface DefaultPollOptionData {}
88
77
 
89
- export interface DefaultReactionType {}
78
+ export interface DefaultPollData {}
90
79
 
91
- export interface DefaultThreadType {}
80
+ export interface DefaultReactionData {}
92
81
 
93
- /* eslint-enable @typescript-eslint/no-empty-object-type */
94
- export type ImageUpload = {
95
- file: Partial<Asset>;
96
- id: string;
97
- state: FileStateValue;
98
- height?: number;
99
- url?: string;
100
- width?: number;
101
- };
82
+ export interface DefaultThreadData {}
102
83
 
103
84
  export type Reaction = {
104
85
  id: string;
@@ -1,5 +1,5 @@
1
1
  import { NativeHandlers } from '../native';
2
- import type { Asset } from '../types/types';
2
+ import type { File } from '../types/types';
3
3
 
4
4
  /**
5
5
  * Function to compress and Image and return the compressed Image URI
@@ -7,7 +7,7 @@ import type { Asset } from '../types/types';
7
7
  * @param compressImageQuality
8
8
  * @returns string
9
9
  */
10
- export const compressedImageURI = async (image: Partial<Asset>, compressImageQuality?: number) => {
10
+ export const compressedImageURI = async (image: File, compressImageQuality?: number) => {
11
11
  const uri = image.uri || '';
12
12
  /**
13
13
  * We skip compression if:
@@ -15,8 +15,7 @@ export const compressedImageURI = async (image: Partial<Asset>, compressImageQua
15
15
  * - the file has no height/width value to maintain for compression
16
16
  * - the compressImageQuality number is not present or is 1 (meaning no compression)
17
17
  */
18
- const compressedUri = await (image.source === 'camera' ||
19
- !image.height ||
18
+ const compressedUri = await (!image.height ||
20
19
  !image.width ||
21
20
  typeof compressImageQuality !== 'number' ||
22
21
  compressImageQuality === 1
@@ -1,10 +1,8 @@
1
- import type { MessageResponse } from 'stream-chat';
2
-
3
- import type { MessageType } from '../components/MessageList/hooks/useMessageList';
1
+ import type { LocalMessage, MessageResponse } from 'stream-chat';
4
2
 
5
3
  export const removeReservedFields = (
6
- message: MessageType | MessageResponse,
7
- ): MessageType | MessageResponse => {
4
+ message: LocalMessage | MessageResponse,
5
+ ): LocalMessage | MessageResponse => {
8
6
  const retryMessage = { ...message };
9
7
  const reserved = [
10
8
  'cid',
@@ -2,17 +2,13 @@ import type React from 'react';
2
2
 
3
3
  import dayjs from 'dayjs';
4
4
  import EmojiRegex from 'emoji-regex';
5
- import type { ChannelState, FormatMessageResponse, MessageResponse } from 'stream-chat';
5
+ import type { ChannelState, LocalMessage, MessageResponse } from 'stream-chat';
6
6
 
7
7
  import { IconProps } from '../../src/icons/utils/base';
8
- import {
9
- MessagesWithStylesReadByAndDateSeparator,
10
- MessageType,
11
- } from '../components/MessageList/hooks/useMessageList';
12
8
  import type { EmojiSearchIndex } from '../contexts/messageInputContext/MessageInputContext';
13
9
  import { compiledEmojis } from '../emoji-data';
14
10
  import type { TableRowJoinedUser } from '../store/types';
15
- import type { ValueOf } from '../types/types';
11
+ import { FileTypes, ValueOf } from '../types/types';
16
12
 
17
13
  export type ReactionData = {
18
14
  Icon: React.ComponentType<IconProps>;
@@ -78,7 +74,7 @@ export const getIndicatorTypeForFileState = (
78
74
  * @param message
79
75
  * @returns boolean
80
76
  */
81
- export const isBlockedMessage = (message: MessageType | TableRowJoinedUser<'messages'>) => {
77
+ export const isBlockedMessage = (message: LocalMessage | TableRowJoinedUser<'messages'>) => {
82
78
  // The only indicator for the blocked message is its message type is error and that the message text contains "Message was blocked by moderation policies".
83
79
  const pattern = /\bMessage was blocked by moderation policies\b/;
84
80
  return message.type === 'error' && message.text && pattern.test(message.text);
@@ -89,7 +85,7 @@ export const isBlockedMessage = (message: MessageType | TableRowJoinedUser<'mess
89
85
  * @param message
90
86
  * @returns boolean
91
87
  */
92
- export const isBouncedMessage = (message: MessageType) =>
88
+ export const isBouncedMessage = (message: LocalMessage) =>
93
89
  (message.type === 'error' &&
94
90
  message?.moderation_details?.action === 'MESSAGE_RESPONSE_ACTION_BOUNCE') ||
95
91
  message?.moderation?.action === 'bounce';
@@ -99,7 +95,7 @@ export const isBouncedMessage = (message: MessageType) =>
99
95
  * @param message
100
96
  * @returns boolean
101
97
  */
102
- export const isEditedMessage = (message: MessageType) => !!message.message_text_updated_at;
98
+ export const isEditedMessage = (message: LocalMessage) => !!message.message_text_updated_at;
103
99
 
104
100
  /**
105
101
  * Default emoji search index for auto complete text input
@@ -187,12 +183,10 @@ export const hasOnlyEmojis = (text: string) => {
187
183
 
188
184
  /**
189
185
  * Stringifies a message object
190
- * @param {FormatMessageResponse} message - the message object to be stringified
186
+ * @param {LocalMessage} message - the message object to be stringified
191
187
  * @returns {string} The stringified message
192
188
  */
193
- export const stringifyMessage = (
194
- message: MessageResponse | FormatMessageResponse | MessageType,
195
- ): string => {
189
+ export const stringifyMessage = (message: MessageResponse | LocalMessage): string => {
196
190
  const {
197
191
  deleted_at,
198
192
  i18n,
@@ -204,7 +198,6 @@ export const stringifyMessage = (
204
198
  type,
205
199
  updated_at,
206
200
  } = message;
207
- const readBy = (message as MessagesWithStylesReadByAndDateSeparator)?.readBy ?? '';
208
201
  return `${
209
202
  latest_reactions ? latest_reactions.map(({ type, user }) => `${type}${user?.id}`).join() : ''
210
203
  }${
@@ -216,7 +209,7 @@ export const stringifyMessage = (
216
209
  )
217
210
  .join()
218
211
  : ''
219
- }${type}${deleted_at}${text}${readBy}${reply_count}${status}${updated_at}${JSON.stringify(i18n)}`;
212
+ }${type}${deleted_at}${text}${reply_count}${status}${updated_at}${JSON.stringify(i18n)}`;
220
213
  };
221
214
 
222
215
  /**
@@ -224,7 +217,7 @@ export const stringifyMessage = (
224
217
  * @param {messages} messages - the array of messages to be compared
225
218
  * @returns {string} The mapped message string
226
219
  */
227
- export const reduceMessagesToString = (messages: FormatMessageResponse[]): string =>
220
+ export const reduceMessagesToString = (messages: LocalMessage[]): string =>
228
221
  messages.map(stringifyMessage).join();
229
222
 
230
223
  /**
@@ -241,12 +234,28 @@ export const getFileNameFromPath = (path: string) => {
241
234
  return match ? match[0] : '';
242
235
  };
243
236
 
237
+ export const getFileTypeFromMimeType = (mimeType: string) => {
238
+ const fileType = mimeType.split('/')[0];
239
+ if (fileType === 'image') {
240
+ return FileTypes.Image;
241
+ } else if (fileType === 'video') {
242
+ return FileTypes.Video;
243
+ } else if (fileType === 'audio') {
244
+ return FileTypes.Audio;
245
+ }
246
+ return FileTypes.File;
247
+ };
248
+
244
249
  /**
245
250
  * Utility to get the duration label from the duration in seconds.
246
251
  * @param duration number
247
252
  * @returns string
248
253
  */
249
254
  export const getDurationLabelFromDuration = (duration: number) => {
255
+ if (!duration) {
256
+ return '00:00';
257
+ }
258
+
250
259
  const ONE_HOUR_IN_SECONDS = 3600;
251
260
  const ONE_HOUR_IN_MILLISECONDS = ONE_HOUR_IN_SECONDS * 1000;
252
261
  let durationLabel = '00:00';
package/src/version.json CHANGED
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "7.0.0-rc.8"
2
+ "version": "7.0.0"
3
3
  }
@@ -1,20 +0,0 @@
1
- Object.defineProperty(exports, "__esModule", {
2
- value: true
3
- });
4
- exports.useLastReadData = void 0;
5
- var _react = require("react");
6
- var _getReadStates = require("../utils/getReadStates");
7
- var useLastReadData = exports.useLastReadData = function useLastReadData(props) {
8
- var messages = props.messages,
9
- read = props.read,
10
- _props$returnAllReadD = props.returnAllReadData,
11
- returnAllReadData = _props$returnAllReadD === void 0 ? true : _props$returnAllReadD,
12
- userID = props.userID;
13
- return (0, _react.useMemo)(function () {
14
- return (0, _getReadStates.getReadStates)(messages.filter(function (_ref) {
15
- var user = _ref.user;
16
- return (user == null ? void 0 : user.id) === userID;
17
- }), read, returnAllReadData);
18
- }, [messages, read, returnAllReadData, userID]);
19
- };
20
- //# sourceMappingURL=useLastReadData.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","require","_getReadStates","useLastReadData","exports","props","messages","read","_props$returnAllReadD","returnAllReadData","userID","useMemo","getReadStates","filter","_ref","user","id"],"sourceRoot":"../../../../../src","sources":["components/MessageList/hooks/useLastReadData.ts"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAOA,IAAAC,cAAA,GAAAD,OAAA;AASO,IAAME,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,SAAlBA,eAAeA,CAAIE,KAA4B,EAAK;EAC/D,IAAQC,QAAQ,GAA6CD,KAAK,CAA1DC,QAAQ;IAAEC,IAAI,GAAuCF,KAAK,CAAhDE,IAAI;IAAAC,qBAAA,GAAuCH,KAAK,CAA1CI,iBAAiB;IAAjBA,iBAAiB,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;IAAEE,MAAM,GAAKL,KAAK,CAAhBK,MAAM;EAExD,OAAO,IAAAC,cAAO,EACZ;IAAA,OACE,IAAAC,4BAAa,EACXN,QAAQ,CAACO,MAAM,CAAC,UAAAC,IAAA;MAAA,IAAGC,IAAI,GAAAD,IAAA,CAAJC,IAAI;MAAA,OAAO,CAAAA,IAAI,oBAAJA,IAAI,CAAEC,EAAE,MAAKN,MAAM;IAAA,EAAC,EAClDH,IAAI,EACJE,iBACF,CAAC;EAAA,GACH,CAACH,QAAQ,EAAEC,IAAI,EAAEE,iBAAiB,EAAEC,MAAM,CAC5C,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,34 +0,0 @@
1
- Object.defineProperty(exports, "__esModule", {
2
- value: true
3
- });
4
- exports.getReadStates = void 0;
5
- var getReadStates = exports.getReadStates = function getReadStates(messages, read, returnAllReadData) {
6
- var readData = {};
7
- if (read) {
8
- Object.values(read).forEach(function (readState) {
9
- if (!readState.last_read) {
10
- return;
11
- }
12
- var userLastReadMsgId;
13
- messages.forEach(function (msg) {
14
- if (msg.created_at && msg.created_at < readState.last_read) {
15
- userLastReadMsgId = msg.id;
16
- if (returnAllReadData) {
17
- if (!readData[userLastReadMsgId]) {
18
- readData[userLastReadMsgId] = 0;
19
- }
20
- readData[userLastReadMsgId] = readData[userLastReadMsgId] + 1;
21
- }
22
- }
23
- });
24
- if (userLastReadMsgId && !returnAllReadData) {
25
- if (!readData[userLastReadMsgId]) {
26
- readData[userLastReadMsgId] = 0;
27
- }
28
- readData[userLastReadMsgId] = readData[userLastReadMsgId] + 1;
29
- }
30
- });
31
- }
32
- return readData;
33
- };
34
- //# sourceMappingURL=getReadStates.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getReadStates","exports","messages","read","returnAllReadData","readData","Object","values","forEach","readState","last_read","userLastReadMsgId","msg","created_at","id"],"sourceRoot":"../../../../../src","sources":["components/MessageList/utils/getReadStates.ts"],"mappings":";;;;AAKO,IAAMA,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,SAAhBA,aAAaA,CACxBE,QAA6F,EAC7FC,IAA2B,EAC3BC,iBAA2B,EACxB;EACH,IAAMC,QAAgC,GAAG,CAAC,CAAC;EAE3C,IAAIF,IAAI,EAAE;IAQRG,MAAM,CAACC,MAAM,CAACJ,IAAI,CAAC,CAACK,OAAO,CAAC,UAACC,SAAS,EAAK;MACzC,IAAI,CAACA,SAAS,CAACC,SAAS,EAAE;QACxB;MACF;MAEA,IAAIC,iBAAqC;MAGzCT,QAAQ,CAACM,OAAO,CAAC,UAACI,GAAG,EAAK;QACxB,IAAIA,GAAG,CAACC,UAAU,IAAID,GAAG,CAACC,UAAU,GAAGJ,SAAS,CAACC,SAAS,EAAE;UAC1DC,iBAAiB,GAAGC,GAAG,CAACE,EAAE;UAE1B,IAAIV,iBAAiB,EAAE;YAErB,IAAI,CAACC,QAAQ,CAACM,iBAAiB,CAAC,EAAE;cAChCN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;YACjC;YACAN,QAAQ,CAACM,iBAAiB,CAAC,GAAGN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;UAC/D;QACF;MACF,CAAC,CAAC;MAGF,IAAIA,iBAAiB,IAAI,CAACP,iBAAiB,EAAE;QAC3C,IAAI,CAACC,QAAQ,CAACM,iBAAiB,CAAC,EAAE;UAChCN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;QACjC;QAEAN,QAAQ,CAACM,iBAAiB,CAAC,GAAGN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;MAC/D;IACF,CAAC,CAAC;EACJ;EAEA,OAAON,QAAQ;AACjB,CAAC","ignoreList":[]}
@@ -1,20 +0,0 @@
1
- Object.defineProperty(exports, "__esModule", {
2
- value: true
3
- });
4
- exports.useLastReadData = void 0;
5
- var _react = require("react");
6
- var _getReadStates = require("../utils/getReadStates");
7
- var useLastReadData = exports.useLastReadData = function useLastReadData(props) {
8
- var messages = props.messages,
9
- read = props.read,
10
- _props$returnAllReadD = props.returnAllReadData,
11
- returnAllReadData = _props$returnAllReadD === void 0 ? true : _props$returnAllReadD,
12
- userID = props.userID;
13
- return (0, _react.useMemo)(function () {
14
- return (0, _getReadStates.getReadStates)(messages.filter(function (_ref) {
15
- var user = _ref.user;
16
- return (user == null ? void 0 : user.id) === userID;
17
- }), read, returnAllReadData);
18
- }, [messages, read, returnAllReadData, userID]);
19
- };
20
- //# sourceMappingURL=useLastReadData.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","require","_getReadStates","useLastReadData","exports","props","messages","read","_props$returnAllReadD","returnAllReadData","userID","useMemo","getReadStates","filter","_ref","user","id"],"sourceRoot":"../../../../../src","sources":["components/MessageList/hooks/useLastReadData.ts"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAOA,IAAAC,cAAA,GAAAD,OAAA;AASO,IAAME,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,SAAlBA,eAAeA,CAAIE,KAA4B,EAAK;EAC/D,IAAQC,QAAQ,GAA6CD,KAAK,CAA1DC,QAAQ;IAAEC,IAAI,GAAuCF,KAAK,CAAhDE,IAAI;IAAAC,qBAAA,GAAuCH,KAAK,CAA1CI,iBAAiB;IAAjBA,iBAAiB,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;IAAEE,MAAM,GAAKL,KAAK,CAAhBK,MAAM;EAExD,OAAO,IAAAC,cAAO,EACZ;IAAA,OACE,IAAAC,4BAAa,EACXN,QAAQ,CAACO,MAAM,CAAC,UAAAC,IAAA;MAAA,IAAGC,IAAI,GAAAD,IAAA,CAAJC,IAAI;MAAA,OAAO,CAAAA,IAAI,oBAAJA,IAAI,CAAEC,EAAE,MAAKN,MAAM;IAAA,EAAC,EAClDH,IAAI,EACJE,iBACF,CAAC;EAAA,GACH,CAACH,QAAQ,EAAEC,IAAI,EAAEE,iBAAiB,EAAEC,MAAM,CAC5C,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,34 +0,0 @@
1
- Object.defineProperty(exports, "__esModule", {
2
- value: true
3
- });
4
- exports.getReadStates = void 0;
5
- var getReadStates = exports.getReadStates = function getReadStates(messages, read, returnAllReadData) {
6
- var readData = {};
7
- if (read) {
8
- Object.values(read).forEach(function (readState) {
9
- if (!readState.last_read) {
10
- return;
11
- }
12
- var userLastReadMsgId;
13
- messages.forEach(function (msg) {
14
- if (msg.created_at && msg.created_at < readState.last_read) {
15
- userLastReadMsgId = msg.id;
16
- if (returnAllReadData) {
17
- if (!readData[userLastReadMsgId]) {
18
- readData[userLastReadMsgId] = 0;
19
- }
20
- readData[userLastReadMsgId] = readData[userLastReadMsgId] + 1;
21
- }
22
- }
23
- });
24
- if (userLastReadMsgId && !returnAllReadData) {
25
- if (!readData[userLastReadMsgId]) {
26
- readData[userLastReadMsgId] = 0;
27
- }
28
- readData[userLastReadMsgId] = readData[userLastReadMsgId] + 1;
29
- }
30
- });
31
- }
32
- return readData;
33
- };
34
- //# sourceMappingURL=getReadStates.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getReadStates","exports","messages","read","returnAllReadData","readData","Object","values","forEach","readState","last_read","userLastReadMsgId","msg","created_at","id"],"sourceRoot":"../../../../../src","sources":["components/MessageList/utils/getReadStates.ts"],"mappings":";;;;AAKO,IAAMA,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,SAAhBA,aAAaA,CACxBE,QAA6F,EAC7FC,IAA2B,EAC3BC,iBAA2B,EACxB;EACH,IAAMC,QAAgC,GAAG,CAAC,CAAC;EAE3C,IAAIF,IAAI,EAAE;IAQRG,MAAM,CAACC,MAAM,CAACJ,IAAI,CAAC,CAACK,OAAO,CAAC,UAACC,SAAS,EAAK;MACzC,IAAI,CAACA,SAAS,CAACC,SAAS,EAAE;QACxB;MACF;MAEA,IAAIC,iBAAqC;MAGzCT,QAAQ,CAACM,OAAO,CAAC,UAACI,GAAG,EAAK;QACxB,IAAIA,GAAG,CAACC,UAAU,IAAID,GAAG,CAACC,UAAU,GAAGJ,SAAS,CAACC,SAAS,EAAE;UAC1DC,iBAAiB,GAAGC,GAAG,CAACE,EAAE;UAE1B,IAAIV,iBAAiB,EAAE;YAErB,IAAI,CAACC,QAAQ,CAACM,iBAAiB,CAAC,EAAE;cAChCN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;YACjC;YACAN,QAAQ,CAACM,iBAAiB,CAAC,GAAGN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;UAC/D;QACF;MACF,CAAC,CAAC;MAGF,IAAIA,iBAAiB,IAAI,CAACP,iBAAiB,EAAE;QAC3C,IAAI,CAACC,QAAQ,CAACM,iBAAiB,CAAC,EAAE;UAChCN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;QACjC;QAEAN,QAAQ,CAACM,iBAAiB,CAAC,GAAGN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;MAC/D;IACF,CAAC,CAAC;EACJ;EAEA,OAAON,QAAQ;AACjB,CAAC","ignoreList":[]}
@@ -1,12 +0,0 @@
1
- import type { ChannelState } from 'stream-chat';
2
- import { PaginatedMessageListContextValue } from '../../../contexts/paginatedMessageListContext/PaginatedMessageListContext';
3
- import { ThreadContextValue } from '../../../contexts/threadContext/ThreadContext';
4
- type UseLastReadDataParams = {
5
- messages: PaginatedMessageListContextValue['messages'] | ThreadContextValue['threadMessages'];
6
- userID: string | undefined;
7
- read?: ChannelState['read'];
8
- returnAllReadData?: boolean;
9
- };
10
- export declare const useLastReadData: (props: UseLastReadDataParams) => Record<string, number>;
11
- export {};
12
- //# sourceMappingURL=useLastReadData.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useLastReadData.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/hooks/useLastReadData.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,gCAAgC,EAAE,MAAM,2EAA2E,CAAC;AAC7H,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AAInF,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,gCAAgC,CAAC,UAAU,CAAC,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAC9F,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,OAAO,qBAAqB,2BAY3D,CAAC"}
@@ -1,5 +0,0 @@
1
- import { ChannelState } from 'stream-chat';
2
- import type { PaginatedMessageListContextValue } from '../../../contexts/paginatedMessageListContext/PaginatedMessageListContext';
3
- import type { ThreadContextValue } from '../../../contexts/threadContext/ThreadContext';
4
- export declare const getReadStates: (messages: PaginatedMessageListContextValue["messages"] | ThreadContextValue["threadMessages"], read?: ChannelState["read"], returnAllReadData?: boolean) => Record<string, number>;
5
- //# sourceMappingURL=getReadStates.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getReadStates.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/utils/getReadStates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,2EAA2E,CAAC;AAClI,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AAExF,eAAO,MAAM,aAAa,GACxB,UAAU,gCAAgC,CAAC,UAAU,CAAC,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,EAC7F,OAAO,YAAY,CAAC,MAAM,CAAC,EAC3B,oBAAoB,OAAO,2BA8C5B,CAAC"}
@@ -1,29 +0,0 @@
1
- import { useMemo } from 'react';
2
-
3
- import type { ChannelState } from 'stream-chat';
4
-
5
- import { PaginatedMessageListContextValue } from '../../../contexts/paginatedMessageListContext/PaginatedMessageListContext';
6
- import { ThreadContextValue } from '../../../contexts/threadContext/ThreadContext';
7
-
8
- import { getReadStates } from '../utils/getReadStates';
9
-
10
- type UseLastReadDataParams = {
11
- messages: PaginatedMessageListContextValue['messages'] | ThreadContextValue['threadMessages'];
12
- userID: string | undefined;
13
- read?: ChannelState['read'];
14
- returnAllReadData?: boolean;
15
- };
16
-
17
- export const useLastReadData = (props: UseLastReadDataParams) => {
18
- const { messages, read, returnAllReadData = true, userID } = props;
19
-
20
- return useMemo(
21
- () =>
22
- getReadStates(
23
- messages.filter(({ user }) => user?.id === userID),
24
- read,
25
- returnAllReadData,
26
- ),
27
- [messages, read, returnAllReadData, userID],
28
- );
29
- };
@@ -1,55 +0,0 @@
1
- import { ChannelState } from 'stream-chat';
2
-
3
- import type { PaginatedMessageListContextValue } from '../../../contexts/paginatedMessageListContext/PaginatedMessageListContext';
4
- import type { ThreadContextValue } from '../../../contexts/threadContext/ThreadContext';
5
-
6
- export const getReadStates = (
7
- messages: PaginatedMessageListContextValue['messages'] | ThreadContextValue['threadMessages'],
8
- read?: ChannelState['read'],
9
- returnAllReadData?: boolean,
10
- ) => {
11
- const readData: Record<string, number> = {};
12
-
13
- if (read) {
14
- /**
15
- * Array is in reverse order so newest message is at 0,
16
- * we find the index of the first message that is older
17
- * than the last read and then set last read to that, or
18
- * if there are no newer messages, the first message is
19
- * last read message.
20
- */
21
- Object.values(read).forEach((readState) => {
22
- if (!readState.last_read) {
23
- return;
24
- }
25
-
26
- let userLastReadMsgId: string | undefined;
27
-
28
- // loop messages sent by current user and add read data for other users in channel
29
- messages.forEach((msg) => {
30
- if (msg.created_at && msg.created_at < readState.last_read) {
31
- userLastReadMsgId = msg.id;
32
-
33
- if (returnAllReadData) {
34
- // if true, save other user's read data for all messages they've read
35
- if (!readData[userLastReadMsgId]) {
36
- readData[userLastReadMsgId] = 0;
37
- }
38
- readData[userLastReadMsgId] = readData[userLastReadMsgId] + 1;
39
- }
40
- }
41
- });
42
-
43
- // if true, only save read data for other user's last read message
44
- if (userLastReadMsgId && !returnAllReadData) {
45
- if (!readData[userLastReadMsgId]) {
46
- readData[userLastReadMsgId] = 0;
47
- }
48
-
49
- readData[userLastReadMsgId] = readData[userLastReadMsgId] + 1;
50
- }
51
- });
52
- }
53
-
54
- return readData;
55
- };