stream-chat-react-native-core 9.0.0-beta.30 → 9.0.0-beta.32

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 (750) hide show
  1. package/lib/commonjs/components/Attachment/Attachment.js +15 -52
  2. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  3. package/lib/commonjs/components/Attachment/FileAttachment.js +4 -6
  4. package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
  5. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +4 -10
  6. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js.map +1 -1
  7. package/lib/commonjs/components/Attachment/FilePreview.js +3 -6
  8. package/lib/commonjs/components/Attachment/FilePreview.js.map +1 -1
  9. package/lib/commonjs/components/Attachment/Gallery.js +9 -28
  10. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  11. package/lib/commonjs/components/Attachment/GalleryImage.js +3 -3
  12. package/lib/commonjs/components/Attachment/GalleryImage.js.map +1 -1
  13. package/lib/commonjs/components/Attachment/Giphy/GiphyImage.js +7 -13
  14. package/lib/commonjs/components/Attachment/Giphy/GiphyImage.js.map +1 -1
  15. package/lib/commonjs/components/Attachment/UnsupportedAttachment.js +4 -6
  16. package/lib/commonjs/components/Attachment/UnsupportedAttachment.js.map +1 -1
  17. package/lib/commonjs/components/Attachment/UrlPreview/URLPreview.js +3 -3
  18. package/lib/commonjs/components/Attachment/UrlPreview/URLPreview.js.map +1 -1
  19. package/lib/commonjs/components/Attachment/UrlPreview/URLPreviewCompact.js +3 -3
  20. package/lib/commonjs/components/Attachment/UrlPreview/URLPreviewCompact.js.map +1 -1
  21. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +4 -2
  22. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  23. package/lib/commonjs/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.js +7 -4
  24. package/lib/commonjs/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.js.map +1 -1
  25. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +9 -13
  26. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  27. package/lib/commonjs/components/Channel/Channel.js +9 -418
  28. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  29. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +0 -8
  30. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  31. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js +3 -77
  32. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  33. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +2 -132
  34. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  35. package/lib/commonjs/components/ChannelList/ChannelList.js +1 -57
  36. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  37. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js +4 -2
  38. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
  39. package/lib/commonjs/components/ChannelList/ChannelListView.js +11 -20
  40. package/lib/commonjs/components/ChannelList/ChannelListView.js.map +1 -1
  41. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js +1 -39
  42. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  43. package/lib/commonjs/components/ChannelPreview/ChannelDetailsBottomSheet.js +3 -2
  44. package/lib/commonjs/components/ChannelPreview/ChannelDetailsBottomSheet.js.map +1 -1
  45. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +4 -6
  46. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  47. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +6 -18
  48. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  49. package/lib/commonjs/components/ChannelPreview/ChannelPreviewView.js +8 -28
  50. package/lib/commonjs/components/ChannelPreview/ChannelPreviewView.js.map +1 -1
  51. package/lib/commonjs/components/ChannelPreview/ChannelSwipableWrapper.js +3 -3
  52. package/lib/commonjs/components/ChannelPreview/ChannelSwipableWrapper.js.map +1 -1
  53. package/lib/commonjs/components/Chat/Chat.js +4 -6
  54. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  55. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js +0 -2
  56. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  57. package/lib/commonjs/components/ImageGallery/ImageGallery.js +7 -9
  58. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  59. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +4 -2
  60. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  61. package/lib/commonjs/components/Message/Message.js +9 -13
  62. package/lib/commonjs/components/Message/Message.js.map +1 -1
  63. package/lib/commonjs/components/Message/MessageItemView/MessageBubble.js +4 -2
  64. package/lib/commonjs/components/Message/MessageItemView/MessageBubble.js.map +1 -1
  65. package/lib/commonjs/components/Message/MessageItemView/MessageContent.js +18 -39
  66. package/lib/commonjs/components/Message/MessageItemView/MessageContent.js.map +1 -1
  67. package/lib/commonjs/components/Message/MessageItemView/MessageDeleted.js +5 -7
  68. package/lib/commonjs/components/Message/MessageItemView/MessageDeleted.js.map +1 -1
  69. package/lib/commonjs/components/Message/MessageItemView/MessageFooter.js +4 -8
  70. package/lib/commonjs/components/Message/MessageItemView/MessageFooter.js.map +1 -1
  71. package/lib/commonjs/components/Message/MessageItemView/MessageHeader.js +8 -16
  72. package/lib/commonjs/components/Message/MessageItemView/MessageHeader.js.map +1 -1
  73. package/lib/commonjs/components/Message/MessageItemView/MessageItemView.js +13 -35
  74. package/lib/commonjs/components/Message/MessageItemView/MessageItemView.js.map +1 -1
  75. package/lib/commonjs/components/Message/MessageItemView/MessageReplies.js +3 -5
  76. package/lib/commonjs/components/Message/MessageItemView/MessageReplies.js.map +1 -1
  77. package/lib/commonjs/components/Message/MessageItemView/MessageTextContainer.js +3 -3
  78. package/lib/commonjs/components/Message/MessageItemView/MessageTextContainer.js.map +1 -1
  79. package/lib/commonjs/components/Message/MessageItemView/MessageWrapper.js +6 -4
  80. package/lib/commonjs/components/Message/MessageItemView/MessageWrapper.js.map +1 -1
  81. package/lib/commonjs/components/Message/MessageItemView/ReactionList/ReactionListBottom.js +6 -8
  82. package/lib/commonjs/components/Message/MessageItemView/ReactionList/ReactionListBottom.js.map +1 -1
  83. package/lib/commonjs/components/Message/MessageItemView/ReactionList/ReactionListTop.js +7 -11
  84. package/lib/commonjs/components/Message/MessageItemView/ReactionList/ReactionListTop.js.map +1 -1
  85. package/lib/commonjs/components/Message/MessageItemView/utils/renderText.js +3 -1
  86. package/lib/commonjs/components/Message/MessageItemView/utils/renderText.js.map +1 -1
  87. package/lib/commonjs/components/MessageInput/MessageComposer.js +15 -55
  88. package/lib/commonjs/components/MessageInput/MessageComposer.js.map +1 -1
  89. package/lib/commonjs/components/MessageInput/MessageInputHeaderView.js +5 -5
  90. package/lib/commonjs/components/MessageInput/MessageInputHeaderView.js.map +1 -1
  91. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.js +9 -17
  92. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.js.map +1 -1
  93. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview.js +5 -5
  94. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview.js.map +1 -1
  95. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/ImageAttachmentUploadPreview.js +5 -5
  96. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/ImageAttachmentUploadPreview.js.map +1 -1
  97. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.js +5 -5
  98. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.js.map +1 -1
  99. package/lib/commonjs/components/MessageInput/components/InputButtons/index.js +4 -4
  100. package/lib/commonjs/components/MessageInput/components/InputButtons/index.js.map +1 -1
  101. package/lib/commonjs/components/MessageInput/components/LinkPreviewList.js +3 -2
  102. package/lib/commonjs/components/MessageInput/components/LinkPreviewList.js.map +1 -1
  103. package/lib/commonjs/components/MessageInput/components/OutputButtons/index.js +7 -13
  104. package/lib/commonjs/components/MessageInput/components/OutputButtons/index.js.map +1 -1
  105. package/lib/commonjs/components/MessageList/MessageFlashList.js +14 -40
  106. package/lib/commonjs/components/MessageList/MessageFlashList.js.map +1 -1
  107. package/lib/commonjs/components/MessageList/MessageList.js +12 -38
  108. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  109. package/lib/commonjs/components/MessageList/StickyHeader.js +3 -1
  110. package/lib/commonjs/components/MessageList/StickyHeader.js.map +1 -1
  111. package/lib/commonjs/components/MessageMenu/MessageActionList.js +4 -2
  112. package/lib/commonjs/components/MessageMenu/MessageActionList.js.map +1 -1
  113. package/lib/commonjs/components/MessageMenu/MessageMenu.js.map +1 -1
  114. package/lib/commonjs/components/MessageMenu/MessageUserReactions.js +4 -8
  115. package/lib/commonjs/components/MessageMenu/MessageUserReactions.js.map +1 -1
  116. package/lib/commonjs/components/MessageMenu/MessageUserReactionsItem.js +4 -2
  117. package/lib/commonjs/components/MessageMenu/MessageUserReactionsItem.js.map +1 -1
  118. package/lib/commonjs/components/Poll/CreatePollContent.js +8 -4
  119. package/lib/commonjs/components/Poll/CreatePollContent.js.map +1 -1
  120. package/lib/commonjs/components/Poll/Poll.js +12 -9
  121. package/lib/commonjs/components/Poll/Poll.js.map +1 -1
  122. package/lib/commonjs/components/Poll/components/MultipleAnswersField.js +5 -3
  123. package/lib/commonjs/components/Poll/components/MultipleAnswersField.js.map +1 -1
  124. package/lib/commonjs/components/Poll/components/MultipleVotesSettings.js +5 -3
  125. package/lib/commonjs/components/Poll/components/MultipleVotesSettings.js.map +1 -1
  126. package/lib/commonjs/components/Poll/components/PollAnswersList.js +5 -3
  127. package/lib/commonjs/components/Poll/components/PollAnswersList.js.map +1 -1
  128. package/lib/commonjs/components/Poll/components/PollInputDialog.js +2 -1
  129. package/lib/commonjs/components/Poll/components/PollInputDialog.js.map +1 -1
  130. package/lib/commonjs/components/Poll/components/PollOption.js +5 -3
  131. package/lib/commonjs/components/Poll/components/PollOption.js.map +1 -1
  132. package/lib/commonjs/components/Poll/components/PollResults/PollOptionFullResults.js +5 -5
  133. package/lib/commonjs/components/Poll/components/PollResults/PollOptionFullResults.js.map +1 -1
  134. package/lib/commonjs/components/Poll/components/PollResults/PollResults.js +5 -3
  135. package/lib/commonjs/components/Poll/components/PollResults/PollResults.js.map +1 -1
  136. package/lib/commonjs/components/Reply/Reply.js +11 -4
  137. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  138. package/lib/commonjs/components/Thread/Thread.js +4 -8
  139. package/lib/commonjs/components/Thread/Thread.js.map +1 -1
  140. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +4 -6
  141. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  142. package/lib/commonjs/components/ThreadList/ThreadList.js +12 -15
  143. package/lib/commonjs/components/ThreadList/ThreadList.js.map +1 -1
  144. package/lib/commonjs/components/ThreadList/ThreadListItem.js +8 -11
  145. package/lib/commonjs/components/ThreadList/ThreadListItem.js.map +1 -1
  146. package/lib/commonjs/components/ui/Avatar/Avatar.js +3 -3
  147. package/lib/commonjs/components/ui/Avatar/Avatar.js.map +1 -1
  148. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  149. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  150. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  151. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  152. package/lib/commonjs/contexts/componentsContext/ComponentsContext.js +37 -0
  153. package/lib/commonjs/contexts/componentsContext/ComponentsContext.js.map +1 -0
  154. package/lib/commonjs/contexts/componentsContext/PLAN.md +148 -0
  155. package/lib/commonjs/contexts/componentsContext/defaultComponents.js +286 -0
  156. package/lib/commonjs/contexts/componentsContext/defaultComponents.js.map +1 -0
  157. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +1 -9
  158. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  159. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContextBase.js.map +1 -1
  160. package/lib/commonjs/contexts/index.js +11 -0
  161. package/lib/commonjs/contexts/index.js.map +1 -1
  162. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  163. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +2 -76
  164. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  165. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  166. package/lib/commonjs/contexts/overlayContext/MessageOverlayHostLayer.js +7 -5
  167. package/lib/commonjs/contexts/overlayContext/MessageOverlayHostLayer.js.map +1 -1
  168. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  169. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +1 -4
  170. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  171. package/lib/commonjs/contexts/threadsContext/ThreadsContext.js.map +1 -1
  172. package/lib/commonjs/hooks/messagePreview/useMessagePreviewText.js +28 -13
  173. package/lib/commonjs/hooks/messagePreview/useMessagePreviewText.js.map +1 -1
  174. package/lib/commonjs/i18n/en.json +20 -0
  175. package/lib/commonjs/i18n/es.json +20 -0
  176. package/lib/commonjs/i18n/fr.json +20 -0
  177. package/lib/commonjs/i18n/he.json +20 -0
  178. package/lib/commonjs/i18n/hi.json +20 -0
  179. package/lib/commonjs/i18n/it.json +20 -0
  180. package/lib/commonjs/i18n/ja.json +20 -0
  181. package/lib/commonjs/i18n/ko.json +20 -0
  182. package/lib/commonjs/i18n/nl.json +20 -0
  183. package/lib/commonjs/i18n/pt-br.json +20 -0
  184. package/lib/commonjs/i18n/ru.json +20 -0
  185. package/lib/commonjs/i18n/tr.json +20 -0
  186. package/lib/commonjs/icons/arrow-up-right.js +10 -6
  187. package/lib/commonjs/icons/arrow-up-right.js.map +1 -1
  188. package/lib/commonjs/icons/audio.js +10 -6
  189. package/lib/commonjs/icons/audio.js.map +1 -1
  190. package/lib/commonjs/icons/chevron-left.js +10 -6
  191. package/lib/commonjs/icons/chevron-left.js.map +1 -1
  192. package/lib/commonjs/icons/leave.js +10 -6
  193. package/lib/commonjs/icons/leave.js.map +1 -1
  194. package/lib/commonjs/icons/message-bubble.js +10 -6
  195. package/lib/commonjs/icons/message-bubble.js.map +1 -1
  196. package/lib/commonjs/icons/mute.js +11 -7
  197. package/lib/commonjs/icons/mute.js.map +1 -1
  198. package/lib/commonjs/icons/reply.js +10 -6
  199. package/lib/commonjs/icons/reply.js.map +1 -1
  200. package/lib/commonjs/icons/search.js +11 -7
  201. package/lib/commonjs/icons/search.js.map +1 -1
  202. package/lib/commonjs/icons/send.js +11 -7
  203. package/lib/commonjs/icons/send.js.map +1 -1
  204. package/lib/commonjs/icons/thread.js +10 -6
  205. package/lib/commonjs/icons/thread.js.map +1 -1
  206. package/lib/commonjs/icons/video-fill.js +2 -0
  207. package/lib/commonjs/icons/video-fill.js.map +1 -1
  208. package/lib/commonjs/icons/video.js +10 -6
  209. package/lib/commonjs/icons/video.js.map +1 -1
  210. package/lib/commonjs/utils/rtlMirrorSwitchStyle.js +20 -0
  211. package/lib/commonjs/utils/rtlMirrorSwitchStyle.js.map +1 -0
  212. package/lib/commonjs/version.json +1 -1
  213. package/lib/module/components/Attachment/Attachment.js +15 -52
  214. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  215. package/lib/module/components/Attachment/FileAttachment.js +4 -6
  216. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  217. package/lib/module/components/Attachment/FileAttachmentGroup.js +4 -10
  218. package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
  219. package/lib/module/components/Attachment/FilePreview.js +3 -6
  220. package/lib/module/components/Attachment/FilePreview.js.map +1 -1
  221. package/lib/module/components/Attachment/Gallery.js +9 -28
  222. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  223. package/lib/module/components/Attachment/GalleryImage.js +3 -3
  224. package/lib/module/components/Attachment/GalleryImage.js.map +1 -1
  225. package/lib/module/components/Attachment/Giphy/GiphyImage.js +7 -13
  226. package/lib/module/components/Attachment/Giphy/GiphyImage.js.map +1 -1
  227. package/lib/module/components/Attachment/UnsupportedAttachment.js +4 -6
  228. package/lib/module/components/Attachment/UnsupportedAttachment.js.map +1 -1
  229. package/lib/module/components/Attachment/UrlPreview/URLPreview.js +3 -3
  230. package/lib/module/components/Attachment/UrlPreview/URLPreview.js.map +1 -1
  231. package/lib/module/components/Attachment/UrlPreview/URLPreviewCompact.js +3 -3
  232. package/lib/module/components/Attachment/UrlPreview/URLPreviewCompact.js.map +1 -1
  233. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +4 -2
  234. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  235. package/lib/module/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.js +7 -4
  236. package/lib/module/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.js.map +1 -1
  237. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +9 -13
  238. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  239. package/lib/module/components/Channel/Channel.js +9 -418
  240. package/lib/module/components/Channel/Channel.js.map +1 -1
  241. package/lib/module/components/Channel/hooks/useCreateChannelContext.js +0 -8
  242. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  243. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +3 -77
  244. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  245. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +2 -132
  246. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  247. package/lib/module/components/ChannelList/ChannelList.js +1 -57
  248. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  249. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js +4 -2
  250. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
  251. package/lib/module/components/ChannelList/ChannelListView.js +11 -20
  252. package/lib/module/components/ChannelList/ChannelListView.js.map +1 -1
  253. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js +1 -39
  254. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  255. package/lib/module/components/ChannelPreview/ChannelDetailsBottomSheet.js +3 -2
  256. package/lib/module/components/ChannelPreview/ChannelDetailsBottomSheet.js.map +1 -1
  257. package/lib/module/components/ChannelPreview/ChannelPreview.js +4 -6
  258. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  259. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +6 -18
  260. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  261. package/lib/module/components/ChannelPreview/ChannelPreviewView.js +8 -28
  262. package/lib/module/components/ChannelPreview/ChannelPreviewView.js.map +1 -1
  263. package/lib/module/components/ChannelPreview/ChannelSwipableWrapper.js +3 -3
  264. package/lib/module/components/ChannelPreview/ChannelSwipableWrapper.js.map +1 -1
  265. package/lib/module/components/Chat/Chat.js +4 -6
  266. package/lib/module/components/Chat/Chat.js.map +1 -1
  267. package/lib/module/components/Chat/hooks/useCreateChatContext.js +0 -2
  268. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  269. package/lib/module/components/ImageGallery/ImageGallery.js +7 -9
  270. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  271. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +4 -2
  272. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  273. package/lib/module/components/Message/Message.js +9 -13
  274. package/lib/module/components/Message/Message.js.map +1 -1
  275. package/lib/module/components/Message/MessageItemView/MessageBubble.js +4 -2
  276. package/lib/module/components/Message/MessageItemView/MessageBubble.js.map +1 -1
  277. package/lib/module/components/Message/MessageItemView/MessageContent.js +18 -39
  278. package/lib/module/components/Message/MessageItemView/MessageContent.js.map +1 -1
  279. package/lib/module/components/Message/MessageItemView/MessageDeleted.js +5 -7
  280. package/lib/module/components/Message/MessageItemView/MessageDeleted.js.map +1 -1
  281. package/lib/module/components/Message/MessageItemView/MessageFooter.js +4 -8
  282. package/lib/module/components/Message/MessageItemView/MessageFooter.js.map +1 -1
  283. package/lib/module/components/Message/MessageItemView/MessageHeader.js +8 -16
  284. package/lib/module/components/Message/MessageItemView/MessageHeader.js.map +1 -1
  285. package/lib/module/components/Message/MessageItemView/MessageItemView.js +13 -35
  286. package/lib/module/components/Message/MessageItemView/MessageItemView.js.map +1 -1
  287. package/lib/module/components/Message/MessageItemView/MessageReplies.js +3 -5
  288. package/lib/module/components/Message/MessageItemView/MessageReplies.js.map +1 -1
  289. package/lib/module/components/Message/MessageItemView/MessageTextContainer.js +3 -3
  290. package/lib/module/components/Message/MessageItemView/MessageTextContainer.js.map +1 -1
  291. package/lib/module/components/Message/MessageItemView/MessageWrapper.js +6 -4
  292. package/lib/module/components/Message/MessageItemView/MessageWrapper.js.map +1 -1
  293. package/lib/module/components/Message/MessageItemView/ReactionList/ReactionListBottom.js +6 -8
  294. package/lib/module/components/Message/MessageItemView/ReactionList/ReactionListBottom.js.map +1 -1
  295. package/lib/module/components/Message/MessageItemView/ReactionList/ReactionListTop.js +7 -11
  296. package/lib/module/components/Message/MessageItemView/ReactionList/ReactionListTop.js.map +1 -1
  297. package/lib/module/components/Message/MessageItemView/utils/renderText.js +3 -1
  298. package/lib/module/components/Message/MessageItemView/utils/renderText.js.map +1 -1
  299. package/lib/module/components/MessageInput/MessageComposer.js +15 -55
  300. package/lib/module/components/MessageInput/MessageComposer.js.map +1 -1
  301. package/lib/module/components/MessageInput/MessageInputHeaderView.js +5 -5
  302. package/lib/module/components/MessageInput/MessageInputHeaderView.js.map +1 -1
  303. package/lib/module/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.js +9 -17
  304. package/lib/module/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.js.map +1 -1
  305. package/lib/module/components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview.js +5 -5
  306. package/lib/module/components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview.js.map +1 -1
  307. package/lib/module/components/MessageInput/components/AttachmentPreview/ImageAttachmentUploadPreview.js +5 -5
  308. package/lib/module/components/MessageInput/components/AttachmentPreview/ImageAttachmentUploadPreview.js.map +1 -1
  309. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.js +5 -5
  310. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.js.map +1 -1
  311. package/lib/module/components/MessageInput/components/InputButtons/index.js +4 -4
  312. package/lib/module/components/MessageInput/components/InputButtons/index.js.map +1 -1
  313. package/lib/module/components/MessageInput/components/LinkPreviewList.js +3 -2
  314. package/lib/module/components/MessageInput/components/LinkPreviewList.js.map +1 -1
  315. package/lib/module/components/MessageInput/components/OutputButtons/index.js +7 -13
  316. package/lib/module/components/MessageInput/components/OutputButtons/index.js.map +1 -1
  317. package/lib/module/components/MessageList/MessageFlashList.js +14 -40
  318. package/lib/module/components/MessageList/MessageFlashList.js.map +1 -1
  319. package/lib/module/components/MessageList/MessageList.js +12 -38
  320. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  321. package/lib/module/components/MessageList/StickyHeader.js +3 -1
  322. package/lib/module/components/MessageList/StickyHeader.js.map +1 -1
  323. package/lib/module/components/MessageMenu/MessageActionList.js +4 -2
  324. package/lib/module/components/MessageMenu/MessageActionList.js.map +1 -1
  325. package/lib/module/components/MessageMenu/MessageMenu.js.map +1 -1
  326. package/lib/module/components/MessageMenu/MessageUserReactions.js +4 -8
  327. package/lib/module/components/MessageMenu/MessageUserReactions.js.map +1 -1
  328. package/lib/module/components/MessageMenu/MessageUserReactionsItem.js +4 -2
  329. package/lib/module/components/MessageMenu/MessageUserReactionsItem.js.map +1 -1
  330. package/lib/module/components/Poll/CreatePollContent.js +8 -4
  331. package/lib/module/components/Poll/CreatePollContent.js.map +1 -1
  332. package/lib/module/components/Poll/Poll.js +12 -9
  333. package/lib/module/components/Poll/Poll.js.map +1 -1
  334. package/lib/module/components/Poll/components/MultipleAnswersField.js +5 -3
  335. package/lib/module/components/Poll/components/MultipleAnswersField.js.map +1 -1
  336. package/lib/module/components/Poll/components/MultipleVotesSettings.js +5 -3
  337. package/lib/module/components/Poll/components/MultipleVotesSettings.js.map +1 -1
  338. package/lib/module/components/Poll/components/PollAnswersList.js +5 -3
  339. package/lib/module/components/Poll/components/PollAnswersList.js.map +1 -1
  340. package/lib/module/components/Poll/components/PollInputDialog.js +2 -1
  341. package/lib/module/components/Poll/components/PollInputDialog.js.map +1 -1
  342. package/lib/module/components/Poll/components/PollOption.js +5 -3
  343. package/lib/module/components/Poll/components/PollOption.js.map +1 -1
  344. package/lib/module/components/Poll/components/PollResults/PollOptionFullResults.js +5 -5
  345. package/lib/module/components/Poll/components/PollResults/PollOptionFullResults.js.map +1 -1
  346. package/lib/module/components/Poll/components/PollResults/PollResults.js +5 -3
  347. package/lib/module/components/Poll/components/PollResults/PollResults.js.map +1 -1
  348. package/lib/module/components/Reply/Reply.js +11 -4
  349. package/lib/module/components/Reply/Reply.js.map +1 -1
  350. package/lib/module/components/Thread/Thread.js +4 -8
  351. package/lib/module/components/Thread/Thread.js.map +1 -1
  352. package/lib/module/components/Thread/components/ThreadFooterComponent.js +4 -6
  353. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  354. package/lib/module/components/ThreadList/ThreadList.js +12 -15
  355. package/lib/module/components/ThreadList/ThreadList.js.map +1 -1
  356. package/lib/module/components/ThreadList/ThreadListItem.js +8 -11
  357. package/lib/module/components/ThreadList/ThreadListItem.js.map +1 -1
  358. package/lib/module/components/ui/Avatar/Avatar.js +3 -3
  359. package/lib/module/components/ui/Avatar/Avatar.js.map +1 -1
  360. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  361. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  362. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  363. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  364. package/lib/module/contexts/componentsContext/ComponentsContext.js +37 -0
  365. package/lib/module/contexts/componentsContext/ComponentsContext.js.map +1 -0
  366. package/lib/module/contexts/componentsContext/PLAN.md +148 -0
  367. package/lib/module/contexts/componentsContext/defaultComponents.js +286 -0
  368. package/lib/module/contexts/componentsContext/defaultComponents.js.map +1 -0
  369. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +1 -9
  370. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  371. package/lib/module/contexts/imageGalleryContext/ImageGalleryContextBase.js.map +1 -1
  372. package/lib/module/contexts/index.js +11 -0
  373. package/lib/module/contexts/index.js.map +1 -1
  374. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  375. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +2 -76
  376. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  377. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  378. package/lib/module/contexts/overlayContext/MessageOverlayHostLayer.js +7 -5
  379. package/lib/module/contexts/overlayContext/MessageOverlayHostLayer.js.map +1 -1
  380. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  381. package/lib/module/contexts/overlayContext/OverlayProvider.js +1 -4
  382. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  383. package/lib/module/contexts/threadsContext/ThreadsContext.js.map +1 -1
  384. package/lib/module/hooks/messagePreview/useMessagePreviewText.js +28 -13
  385. package/lib/module/hooks/messagePreview/useMessagePreviewText.js.map +1 -1
  386. package/lib/module/i18n/en.json +20 -0
  387. package/lib/module/i18n/es.json +20 -0
  388. package/lib/module/i18n/fr.json +20 -0
  389. package/lib/module/i18n/he.json +20 -0
  390. package/lib/module/i18n/hi.json +20 -0
  391. package/lib/module/i18n/it.json +20 -0
  392. package/lib/module/i18n/ja.json +20 -0
  393. package/lib/module/i18n/ko.json +20 -0
  394. package/lib/module/i18n/nl.json +20 -0
  395. package/lib/module/i18n/pt-br.json +20 -0
  396. package/lib/module/i18n/ru.json +20 -0
  397. package/lib/module/i18n/tr.json +20 -0
  398. package/lib/module/icons/arrow-up-right.js +10 -6
  399. package/lib/module/icons/arrow-up-right.js.map +1 -1
  400. package/lib/module/icons/audio.js +10 -6
  401. package/lib/module/icons/audio.js.map +1 -1
  402. package/lib/module/icons/chevron-left.js +10 -6
  403. package/lib/module/icons/chevron-left.js.map +1 -1
  404. package/lib/module/icons/leave.js +10 -6
  405. package/lib/module/icons/leave.js.map +1 -1
  406. package/lib/module/icons/message-bubble.js +10 -6
  407. package/lib/module/icons/message-bubble.js.map +1 -1
  408. package/lib/module/icons/mute.js +11 -7
  409. package/lib/module/icons/mute.js.map +1 -1
  410. package/lib/module/icons/reply.js +10 -6
  411. package/lib/module/icons/reply.js.map +1 -1
  412. package/lib/module/icons/search.js +11 -7
  413. package/lib/module/icons/search.js.map +1 -1
  414. package/lib/module/icons/send.js +11 -7
  415. package/lib/module/icons/send.js.map +1 -1
  416. package/lib/module/icons/thread.js +10 -6
  417. package/lib/module/icons/thread.js.map +1 -1
  418. package/lib/module/icons/video-fill.js +2 -0
  419. package/lib/module/icons/video-fill.js.map +1 -1
  420. package/lib/module/icons/video.js +10 -6
  421. package/lib/module/icons/video.js.map +1 -1
  422. package/lib/module/utils/rtlMirrorSwitchStyle.js +20 -0
  423. package/lib/module/utils/rtlMirrorSwitchStyle.js.map +1 -0
  424. package/lib/module/version.json +1 -1
  425. package/lib/typescript/components/Attachment/Attachment.d.ts +1 -1
  426. package/lib/typescript/components/Attachment/Attachment.d.ts.map +1 -1
  427. package/lib/typescript/components/Attachment/FileAttachment.d.ts +1 -1
  428. package/lib/typescript/components/Attachment/FileAttachment.d.ts.map +1 -1
  429. package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts +1 -2
  430. package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts.map +1 -1
  431. package/lib/typescript/components/Attachment/FilePreview.d.ts +2 -3
  432. package/lib/typescript/components/Attachment/FilePreview.d.ts.map +1 -1
  433. package/lib/typescript/components/Attachment/Gallery.d.ts +1 -1
  434. package/lib/typescript/components/Attachment/Gallery.d.ts.map +1 -1
  435. package/lib/typescript/components/Attachment/GalleryImage.d.ts +3 -2
  436. package/lib/typescript/components/Attachment/GalleryImage.d.ts.map +1 -1
  437. package/lib/typescript/components/Attachment/Giphy/GiphyImage.d.ts +4 -2
  438. package/lib/typescript/components/Attachment/Giphy/GiphyImage.d.ts.map +1 -1
  439. package/lib/typescript/components/Attachment/UnsupportedAttachment.d.ts +2 -3
  440. package/lib/typescript/components/Attachment/UnsupportedAttachment.d.ts.map +1 -1
  441. package/lib/typescript/components/Attachment/UrlPreview/URLPreview.d.ts +4 -3
  442. package/lib/typescript/components/Attachment/UrlPreview/URLPreview.d.ts.map +1 -1
  443. package/lib/typescript/components/Attachment/UrlPreview/URLPreviewCompact.d.ts +4 -3
  444. package/lib/typescript/components/Attachment/UrlPreview/URLPreviewCompact.d.ts.map +1 -1
  445. package/lib/typescript/components/AttachmentPicker/AttachmentPicker.d.ts.map +1 -1
  446. package/lib/typescript/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.d.ts.map +1 -1
  447. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts +2 -3
  448. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts.map +1 -1
  449. package/lib/typescript/components/Channel/Channel.d.ts +3 -28
  450. package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
  451. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
  452. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts.map +1 -1
  453. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +1 -1
  454. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts.map +1 -1
  455. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -1
  456. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts.map +1 -1
  457. package/lib/typescript/components/Channel/hooks/useMessageListPagination.d.ts.map +1 -1
  458. package/lib/typescript/components/ChannelList/ChannelList.d.ts +2 -10
  459. package/lib/typescript/components/ChannelList/ChannelList.d.ts.map +1 -1
  460. package/lib/typescript/components/ChannelList/ChannelListLoadingIndicator.d.ts.map +1 -1
  461. package/lib/typescript/components/ChannelList/ChannelListView.d.ts +1 -1
  462. package/lib/typescript/components/ChannelList/ChannelListView.d.ts.map +1 -1
  463. package/lib/typescript/components/ChannelList/hooks/useCreateChannelsContext.d.ts +1 -1
  464. package/lib/typescript/components/ChannelList/hooks/useCreateChannelsContext.d.ts.map +1 -1
  465. package/lib/typescript/components/ChannelPreview/ChannelDetailsBottomSheet.d.ts +1 -2
  466. package/lib/typescript/components/ChannelPreview/ChannelDetailsBottomSheet.d.ts.map +1 -1
  467. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +1 -1
  468. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts.map +1 -1
  469. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessage.d.ts +1 -2
  470. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessage.d.ts.map +1 -1
  471. package/lib/typescript/components/ChannelPreview/ChannelPreviewView.d.ts +1 -1
  472. package/lib/typescript/components/ChannelPreview/ChannelPreviewView.d.ts.map +1 -1
  473. package/lib/typescript/components/ChannelPreview/ChannelSwipableWrapper.d.ts +1 -3
  474. package/lib/typescript/components/ChannelPreview/ChannelSwipableWrapper.d.ts.map +1 -1
  475. package/lib/typescript/components/Chat/Chat.d.ts +1 -7
  476. package/lib/typescript/components/Chat/Chat.d.ts.map +1 -1
  477. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +1 -1
  478. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -1
  479. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +6 -1
  480. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts.map +1 -1
  481. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts.map +1 -1
  482. package/lib/typescript/components/ImageGallery/components/types.d.ts +0 -2
  483. package/lib/typescript/components/ImageGallery/components/types.d.ts.map +1 -1
  484. package/lib/typescript/components/Message/Message.d.ts +1 -1
  485. package/lib/typescript/components/Message/Message.d.ts.map +1 -1
  486. package/lib/typescript/components/Message/MessageItemView/MessageBubble.d.ts +1 -2
  487. package/lib/typescript/components/Message/MessageItemView/MessageBubble.d.ts.map +1 -1
  488. package/lib/typescript/components/Message/MessageItemView/MessageContent.d.ts +1 -1
  489. package/lib/typescript/components/Message/MessageItemView/MessageContent.d.ts.map +1 -1
  490. package/lib/typescript/components/Message/MessageItemView/MessageDeleted.d.ts +1 -2
  491. package/lib/typescript/components/Message/MessageItemView/MessageDeleted.d.ts.map +1 -1
  492. package/lib/typescript/components/Message/MessageItemView/MessageFooter.d.ts +0 -2
  493. package/lib/typescript/components/Message/MessageItemView/MessageFooter.d.ts.map +1 -1
  494. package/lib/typescript/components/Message/MessageItemView/MessageHeader.d.ts.map +1 -1
  495. package/lib/typescript/components/Message/MessageItemView/MessageItemView.d.ts +1 -1
  496. package/lib/typescript/components/Message/MessageItemView/MessageItemView.d.ts.map +1 -1
  497. package/lib/typescript/components/Message/MessageItemView/MessageReplies.d.ts +1 -2
  498. package/lib/typescript/components/Message/MessageItemView/MessageReplies.d.ts.map +1 -1
  499. package/lib/typescript/components/Message/MessageItemView/MessageTextContainer.d.ts +1 -1
  500. package/lib/typescript/components/Message/MessageItemView/MessageTextContainer.d.ts.map +1 -1
  501. package/lib/typescript/components/Message/MessageItemView/MessageWrapper.d.ts.map +1 -1
  502. package/lib/typescript/components/Message/MessageItemView/ReactionList/ReactionListBottom.d.ts +1 -1
  503. package/lib/typescript/components/Message/MessageItemView/ReactionList/ReactionListBottom.d.ts.map +1 -1
  504. package/lib/typescript/components/Message/MessageItemView/ReactionList/ReactionListTop.d.ts +1 -1
  505. package/lib/typescript/components/Message/MessageItemView/ReactionList/ReactionListTop.d.ts.map +1 -1
  506. package/lib/typescript/components/Message/MessageItemView/utils/renderText.d.ts.map +1 -1
  507. package/lib/typescript/components/MessageInput/MessageComposer.d.ts +1 -2
  508. package/lib/typescript/components/MessageInput/MessageComposer.d.ts.map +1 -1
  509. package/lib/typescript/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.d.ts +3 -4
  510. package/lib/typescript/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.d.ts.map +1 -1
  511. package/lib/typescript/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.d.ts +1 -1
  512. package/lib/typescript/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.d.ts.map +1 -1
  513. package/lib/typescript/components/MessageInput/components/InputButtons/index.d.ts +1 -1
  514. package/lib/typescript/components/MessageInput/components/InputButtons/index.d.ts.map +1 -1
  515. package/lib/typescript/components/MessageInput/components/LinkPreviewList.d.ts.map +1 -1
  516. package/lib/typescript/components/MessageInput/components/OutputButtons/index.d.ts +1 -1
  517. package/lib/typescript/components/MessageInput/components/OutputButtons/index.d.ts.map +1 -1
  518. package/lib/typescript/components/MessageList/MessageFlashList.d.ts +1 -1
  519. package/lib/typescript/components/MessageList/MessageFlashList.d.ts.map +1 -1
  520. package/lib/typescript/components/MessageList/MessageList.d.ts +1 -1
  521. package/lib/typescript/components/MessageList/MessageList.d.ts.map +1 -1
  522. package/lib/typescript/components/MessageList/StickyHeader.d.ts +2 -3
  523. package/lib/typescript/components/MessageList/StickyHeader.d.ts.map +1 -1
  524. package/lib/typescript/components/MessageMenu/MessageActionList.d.ts +1 -2
  525. package/lib/typescript/components/MessageMenu/MessageActionList.d.ts.map +1 -1
  526. package/lib/typescript/components/MessageMenu/MessageMenu.d.ts +1 -2
  527. package/lib/typescript/components/MessageMenu/MessageMenu.d.ts.map +1 -1
  528. package/lib/typescript/components/MessageMenu/MessageUserReactions.d.ts +1 -1
  529. package/lib/typescript/components/MessageMenu/MessageUserReactions.d.ts.map +1 -1
  530. package/lib/typescript/components/MessageMenu/MessageUserReactionsItem.d.ts +2 -3
  531. package/lib/typescript/components/MessageMenu/MessageUserReactionsItem.d.ts.map +1 -1
  532. package/lib/typescript/components/Poll/CreatePollContent.d.ts +2 -2
  533. package/lib/typescript/components/Poll/CreatePollContent.d.ts.map +1 -1
  534. package/lib/typescript/components/Poll/Poll.d.ts +5 -8
  535. package/lib/typescript/components/Poll/Poll.d.ts.map +1 -1
  536. package/lib/typescript/components/Poll/components/MultipleVotesSettings.d.ts.map +1 -1
  537. package/lib/typescript/components/Poll/components/PollAnswersList.d.ts +1 -2
  538. package/lib/typescript/components/Poll/components/PollAnswersList.d.ts.map +1 -1
  539. package/lib/typescript/components/Poll/components/PollOption.d.ts +1 -2
  540. package/lib/typescript/components/Poll/components/PollOption.d.ts.map +1 -1
  541. package/lib/typescript/components/Poll/components/PollResults/PollOptionFullResults.d.ts +1 -4
  542. package/lib/typescript/components/Poll/components/PollResults/PollOptionFullResults.d.ts.map +1 -1
  543. package/lib/typescript/components/Poll/components/PollResults/PollResults.d.ts +1 -2
  544. package/lib/typescript/components/Poll/components/PollResults/PollResults.d.ts.map +1 -1
  545. package/lib/typescript/components/Reply/Reply.d.ts +4 -3
  546. package/lib/typescript/components/Reply/Reply.d.ts.map +1 -1
  547. package/lib/typescript/components/Thread/Thread.d.ts +2 -8
  548. package/lib/typescript/components/Thread/Thread.d.ts.map +1 -1
  549. package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts +1 -2
  550. package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts.map +1 -1
  551. package/lib/typescript/components/ThreadList/ThreadList.d.ts +2 -3
  552. package/lib/typescript/components/ThreadList/ThreadList.d.ts.map +1 -1
  553. package/lib/typescript/components/ThreadList/ThreadListItem.d.ts.map +1 -1
  554. package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts +0 -17
  555. package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts.map +1 -1
  556. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +0 -23
  557. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts.map +1 -1
  558. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +0 -112
  559. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts.map +1 -1
  560. package/lib/typescript/contexts/chatContext/ChatContext.d.ts +0 -5
  561. package/lib/typescript/contexts/chatContext/ChatContext.d.ts.map +1 -1
  562. package/lib/typescript/contexts/componentsContext/ComponentsContext.d.ts +321 -0
  563. package/lib/typescript/contexts/componentsContext/ComponentsContext.d.ts.map +1 -0
  564. package/lib/typescript/contexts/componentsContext/defaultComponents.d.ts +296 -0
  565. package/lib/typescript/contexts/componentsContext/defaultComponents.d.ts.map +1 -0
  566. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts.map +1 -1
  567. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContextBase.d.ts +0 -5
  568. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContextBase.d.ts.map +1 -1
  569. package/lib/typescript/contexts/index.d.ts +1 -0
  570. package/lib/typescript/contexts/index.d.ts.map +1 -1
  571. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +1 -169
  572. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts.map +1 -1
  573. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +1 -1
  574. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts.map +1 -1
  575. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +3 -332
  576. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts.map +1 -1
  577. package/lib/typescript/contexts/overlayContext/MessageOverlayHostLayer.d.ts +2 -5
  578. package/lib/typescript/contexts/overlayContext/MessageOverlayHostLayer.d.ts.map +1 -1
  579. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +0 -4
  580. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts.map +1 -1
  581. package/lib/typescript/contexts/overlayContext/OverlayProvider.d.ts.map +1 -1
  582. package/lib/typescript/contexts/threadsContext/ThreadsContext.d.ts +0 -9
  583. package/lib/typescript/contexts/threadsContext/ThreadsContext.d.ts.map +1 -1
  584. package/lib/typescript/hooks/messagePreview/useMessagePreviewText.d.ts.map +1 -1
  585. package/lib/typescript/i18n/en.json +20 -0
  586. package/lib/typescript/i18n/es.json +20 -0
  587. package/lib/typescript/i18n/fr.json +20 -0
  588. package/lib/typescript/i18n/he.json +20 -0
  589. package/lib/typescript/i18n/hi.json +20 -0
  590. package/lib/typescript/i18n/it.json +20 -0
  591. package/lib/typescript/i18n/ja.json +20 -0
  592. package/lib/typescript/i18n/ko.json +20 -0
  593. package/lib/typescript/i18n/nl.json +20 -0
  594. package/lib/typescript/i18n/pt-br.json +20 -0
  595. package/lib/typescript/i18n/ru.json +20 -0
  596. package/lib/typescript/i18n/tr.json +20 -0
  597. package/lib/typescript/icons/arrow-up-right.d.ts.map +1 -1
  598. package/lib/typescript/icons/audio.d.ts.map +1 -1
  599. package/lib/typescript/icons/chevron-left.d.ts.map +1 -1
  600. package/lib/typescript/icons/leave.d.ts.map +1 -1
  601. package/lib/typescript/icons/message-bubble.d.ts.map +1 -1
  602. package/lib/typescript/icons/mute.d.ts.map +1 -1
  603. package/lib/typescript/icons/reply.d.ts.map +1 -1
  604. package/lib/typescript/icons/search.d.ts.map +1 -1
  605. package/lib/typescript/icons/send.d.ts.map +1 -1
  606. package/lib/typescript/icons/thread.d.ts.map +1 -1
  607. package/lib/typescript/icons/video-fill.d.ts.map +1 -1
  608. package/lib/typescript/icons/video.d.ts.map +1 -1
  609. package/lib/typescript/utils/i18n/Streami18n.d.ts +20 -0
  610. package/lib/typescript/utils/i18n/Streami18n.d.ts.map +1 -1
  611. package/lib/typescript/utils/rtlMirrorSwitchStyle.d.ts +9 -0
  612. package/lib/typescript/utils/rtlMirrorSwitchStyle.d.ts.map +1 -0
  613. package/package.json +1 -1
  614. package/src/__tests__/offline-support/offline-feature.js +64 -67
  615. package/src/components/Attachment/Attachment.tsx +7 -69
  616. package/src/components/Attachment/FileAttachment.tsx +4 -7
  617. package/src/components/Attachment/FileAttachmentGroup.tsx +9 -19
  618. package/src/components/Attachment/FilePreview.tsx +4 -9
  619. package/src/components/Attachment/Gallery.tsx +6 -83
  620. package/src/components/Attachment/GalleryImage.tsx +5 -4
  621. package/src/components/Attachment/Giphy/GiphyImage.tsx +15 -37
  622. package/src/components/Attachment/UnsupportedAttachment.tsx +5 -10
  623. package/src/components/Attachment/UrlPreview/URLPreview.tsx +6 -4
  624. package/src/components/Attachment/UrlPreview/URLPreviewCompact.tsx +6 -4
  625. package/src/components/AttachmentPicker/AttachmentPicker.tsx +2 -2
  626. package/src/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.tsx +5 -4
  627. package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +4 -20
  628. package/src/components/Channel/Channel.tsx +31 -438
  629. package/src/components/Channel/__tests__/isAttachmentEqualHandler.test.js +12 -9
  630. package/src/components/Channel/hooks/useCreateChannelContext.ts +0 -8
  631. package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +1 -81
  632. package/src/components/Channel/hooks/useCreateMessagesContext.ts +0 -130
  633. package/src/components/ChannelList/ChannelList.tsx +3 -76
  634. package/src/components/ChannelList/ChannelListLoadingIndicator.tsx +3 -1
  635. package/src/components/ChannelList/ChannelListView.tsx +12 -33
  636. package/src/components/ChannelList/__tests__/ChannelList.test.js +173 -116
  637. package/src/components/ChannelList/__tests__/ChannelListView.test.js +64 -41
  638. package/src/components/ChannelList/hooks/useCreateChannelsContext.ts +0 -39
  639. package/src/components/ChannelPreview/ChannelDetailsBottomSheet.tsx +2 -2
  640. package/src/components/ChannelPreview/ChannelPreview.tsx +6 -14
  641. package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +7 -33
  642. package/src/components/ChannelPreview/ChannelPreviewView.tsx +11 -40
  643. package/src/components/ChannelPreview/ChannelSwipableWrapper.tsx +2 -4
  644. package/src/components/ChannelPreview/__tests__/ChannelDetailsBottomSheet.test.tsx +16 -12
  645. package/src/components/ChannelPreview/__tests__/ChannelPreview.test.tsx +25 -24
  646. package/src/components/ChannelPreview/__tests__/ChannelSwipableWrapper.test.tsx +11 -6
  647. package/src/components/Chat/Chat.tsx +5 -12
  648. package/src/components/Chat/hooks/useCreateChatContext.ts +0 -2
  649. package/src/components/ImageGallery/ImageGallery.tsx +14 -16
  650. package/src/components/ImageGallery/__tests__/ImageGallery.test.tsx +0 -8
  651. package/src/components/ImageGallery/__tests__/ImageGalleryFooter.test.tsx +25 -21
  652. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +3 -1
  653. package/src/components/ImageGallery/components/types.ts +0 -3
  654. package/src/components/Message/Message.tsx +11 -32
  655. package/src/components/Message/MessageItemView/MessageBubble.tsx +11 -7
  656. package/src/components/Message/MessageItemView/MessageContent.tsx +14 -47
  657. package/src/components/Message/MessageItemView/MessageDeleted.tsx +3 -9
  658. package/src/components/Message/MessageItemView/MessageFooter.tsx +2 -14
  659. package/src/components/Message/MessageItemView/MessageHeader.tsx +11 -29
  660. package/src/components/Message/MessageItemView/MessageItemView.tsx +10 -42
  661. package/src/components/Message/MessageItemView/MessageReplies.tsx +2 -8
  662. package/src/components/Message/MessageItemView/MessageTextContainer.tsx +4 -8
  663. package/src/components/Message/MessageItemView/MessageWrapper.tsx +4 -9
  664. package/src/components/Message/MessageItemView/ReactionList/ReactionListBottom.tsx +4 -12
  665. package/src/components/Message/MessageItemView/ReactionList/ReactionListTop.tsx +4 -20
  666. package/src/components/Message/MessageItemView/__tests__/MessageContent.test.js +47 -30
  667. package/src/components/Message/MessageItemView/__tests__/MessageItemView.test.js +16 -7
  668. package/src/components/Message/MessageItemView/__tests__/MessageTextContainer.test.tsx +8 -4
  669. package/src/components/Message/MessageItemView/__tests__/__snapshots__/MessageTextContainer.test.tsx.snap +1 -0
  670. package/src/components/Message/MessageItemView/utils/renderText.tsx +2 -0
  671. package/src/components/MessageInput/MessageComposer.tsx +16 -76
  672. package/src/components/MessageInput/MessageInputHeaderView.tsx +3 -3
  673. package/src/components/MessageInput/__tests__/__snapshots__/SendButton.test.js.snap +54 -36
  674. package/src/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.tsx +7 -35
  675. package/src/components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview.tsx +2 -2
  676. package/src/components/MessageInput/components/AttachmentPreview/ImageAttachmentUploadPreview.tsx +2 -2
  677. package/src/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.tsx +6 -4
  678. package/src/components/MessageInput/components/InputButtons/index.tsx +4 -5
  679. package/src/components/MessageInput/components/LinkPreviewList.tsx +3 -2
  680. package/src/components/MessageInput/components/OutputButtons/index.tsx +4 -23
  681. package/src/components/MessageList/MessageFlashList.tsx +13 -57
  682. package/src/components/MessageList/MessageList.tsx +15 -57
  683. package/src/components/MessageList/StickyHeader.tsx +4 -3
  684. package/src/components/MessageMenu/MessageActionList.tsx +4 -3
  685. package/src/components/MessageMenu/MessageMenu.tsx +35 -47
  686. package/src/components/MessageMenu/MessageUserReactions.tsx +7 -27
  687. package/src/components/MessageMenu/MessageUserReactionsItem.tsx +3 -6
  688. package/src/components/MessageMenu/__tests__/MessageUserReactions.test.tsx +12 -11
  689. package/src/components/Poll/CreatePollContent.tsx +7 -6
  690. package/src/components/Poll/Poll.tsx +22 -24
  691. package/src/components/Poll/components/MultipleAnswersField.tsx +4 -3
  692. package/src/components/Poll/components/MultipleVotesSettings.tsx +4 -2
  693. package/src/components/Poll/components/PollAnswersList.tsx +9 -11
  694. package/src/components/Poll/components/PollInputDialog.tsx +1 -0
  695. package/src/components/Poll/components/PollOption.tsx +9 -11
  696. package/src/components/Poll/components/PollResults/PollOptionFullResults.tsx +10 -11
  697. package/src/components/Poll/components/PollResults/PollResults.tsx +9 -15
  698. package/src/components/Reply/Reply.tsx +25 -10
  699. package/src/components/Thread/Thread.tsx +3 -18
  700. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +31 -18
  701. package/src/components/Thread/components/ThreadFooterComponent.tsx +10 -11
  702. package/src/components/ThreadList/ThreadList.tsx +14 -22
  703. package/src/components/ThreadList/ThreadListItem.tsx +6 -11
  704. package/src/components/ui/Avatar/Avatar.tsx +2 -2
  705. package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +0 -15
  706. package/src/contexts/channelContext/ChannelContext.tsx +0 -24
  707. package/src/contexts/channelsContext/ChannelsContext.tsx +0 -113
  708. package/src/contexts/chatContext/ChatContext.tsx +0 -5
  709. package/src/contexts/componentsContext/ComponentsContext.tsx +62 -0
  710. package/src/contexts/componentsContext/PLAN.md +148 -0
  711. package/src/contexts/componentsContext/__tests__/defaultComponents.test.ts +44 -0
  712. package/src/contexts/componentsContext/defaultComponents.ts +332 -0
  713. package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +0 -8
  714. package/src/contexts/imageGalleryContext/ImageGalleryContextBase.tsx +0 -10
  715. package/src/contexts/index.ts +1 -0
  716. package/src/contexts/messageInputContext/MessageInputContext.tsx +0 -185
  717. package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +1 -75
  718. package/src/contexts/messagesContext/MessagesContext.tsx +3 -358
  719. package/src/contexts/overlayContext/MessageOverlayHostLayer.tsx +5 -7
  720. package/src/contexts/overlayContext/OverlayContext.tsx +0 -4
  721. package/src/contexts/overlayContext/OverlayProvider.tsx +1 -2
  722. package/src/contexts/overlayContext/__tests__/MessageOverlayHostLayer.test.tsx +21 -6
  723. package/src/contexts/threadsContext/ThreadsContext.tsx +0 -9
  724. package/src/hooks/messagePreview/useMessagePreviewText.tsx +17 -13
  725. package/src/i18n/en.json +20 -0
  726. package/src/i18n/es.json +20 -0
  727. package/src/i18n/fr.json +20 -0
  728. package/src/i18n/he.json +20 -0
  729. package/src/i18n/hi.json +20 -0
  730. package/src/i18n/it.json +20 -0
  731. package/src/i18n/ja.json +20 -0
  732. package/src/i18n/ko.json +20 -0
  733. package/src/i18n/nl.json +20 -0
  734. package/src/i18n/pt-br.json +20 -0
  735. package/src/i18n/ru.json +20 -0
  736. package/src/i18n/tr.json +20 -0
  737. package/src/icons/arrow-up-right.tsx +11 -8
  738. package/src/icons/audio.tsx +11 -8
  739. package/src/icons/chevron-left.tsx +11 -8
  740. package/src/icons/leave.tsx +11 -8
  741. package/src/icons/message-bubble.tsx +11 -8
  742. package/src/icons/mute.tsx +12 -9
  743. package/src/icons/reply.tsx +11 -8
  744. package/src/icons/search.tsx +12 -9
  745. package/src/icons/send.tsx +12 -9
  746. package/src/icons/thread.tsx +11 -8
  747. package/src/icons/video-fill.tsx +5 -1
  748. package/src/icons/video.tsx +11 -8
  749. package/src/utils/rtlMirrorSwitchStyle.ts +20 -0
  750. package/src/version.json +1 -1
@@ -1,11 +1,8 @@
1
- import React, { useCallback } from 'react';
1
+ import React from 'react';
2
2
 
3
3
  import { cleanup, render, waitFor } from '@testing-library/react-native';
4
4
 
5
- import {
6
- ChannelsProvider,
7
- useChannelsContext,
8
- } from '../../../contexts/channelsContext/ChannelsContext';
5
+ import { ChannelsProvider } from '../../../contexts/channelsContext/ChannelsContext';
9
6
  import { ChatContext, ChatProvider } from '../../../contexts/chatContext/ChatContext';
10
7
  import { getOrCreateChannelApi } from '../../../mock-builders/api/getOrCreateChannel';
11
8
  import { queryChannelsApi } from '../../../mock-builders/api/queryChannels';
@@ -16,43 +13,67 @@ import { Chat } from '../../Chat/Chat';
16
13
  import { ChannelList } from '../ChannelList';
17
14
  import { ChannelListView } from '../ChannelListView';
18
15
 
19
- let mockChannels;
20
16
  let chatClient;
21
17
 
22
- const ListMessenger = ({ error, loadingChannels, ...props }) => {
23
- const channelsContext = useChannelsContext();
18
+ /**
19
+ * Renders the full ChannelList (which now always uses ChannelListView internally).
20
+ */
21
+ const Component = () => (
22
+ <Chat client={chatClient}>
23
+ <ChatContext.Consumer>
24
+ {(context) => (
25
+ <ChatProvider value={{ ...context, isOnline: true }}>
26
+ <ChannelList
27
+ filters={{
28
+ members: {
29
+ $in: ['vishal', 'neil'],
30
+ },
31
+ }}
32
+ />
33
+ </ChatProvider>
34
+ )}
35
+ </ChatContext.Consumer>
36
+ </Chat>
37
+ );
24
38
 
25
- return (
26
- <ChannelsProvider value={{ ...channelsContext, error, loadingChannels }}>
27
- <ChannelListView {...props} />
28
- </ChannelsProvider>
29
- );
30
- };
39
+ const noop = () => {};
31
40
 
32
- const Component = ({ error = false, loadingChannels = false }) => {
33
- const List = useCallback(
34
- (...props) => <ListMessenger {...props} error={error} loadingChannels={loadingChannels} />,
35
- [error, loadingChannels],
36
- );
37
- return (
38
- <Chat client={chatClient}>
39
- <ChatContext.Consumer>
40
- {(context) => (
41
- <ChatProvider value={{ ...context, isOnline: true }}>
42
- <ChannelList
43
- filters={{
44
- members: {
45
- $in: ['vishal', 'neil'],
46
- },
47
- }}
48
- List={List}
49
- />
50
- </ChatProvider>
51
- )}
52
- </ChatContext.Consumer>
53
- </Chat>
54
- );
55
- };
41
+ /**
42
+ * Renders ChannelListView directly with a mock ChannelsContext for testing
43
+ * error and loading states.
44
+ */
45
+ const ComponentWithContextOverrides = ({ error, loadingChannels }) => (
46
+ <Chat client={chatClient}>
47
+ <ChatContext.Consumer>
48
+ {(context) => (
49
+ <ChatProvider value={{ ...context, isOnline: true }}>
50
+ <ChannelsProvider
51
+ value={{
52
+ additionalFlatListProps: {},
53
+ channelListInitialized: !loadingChannels && !error,
54
+ channels: error ? null : [],
55
+ error: error ? new Error('test error') : undefined,
56
+ forceUpdate: 0,
57
+ hasNextPage: false,
58
+ loadingChannels,
59
+ loadingNextPage: false,
60
+ loadMoreThreshold: 0.1,
61
+ loadNextPage: noop,
62
+ maxUnreadCount: 255,
63
+ numberOfSkeletons: 8,
64
+ refreshing: false,
65
+ refreshList: noop,
66
+ reloadList: noop,
67
+ setFlatListRef: noop,
68
+ }}
69
+ >
70
+ <ChannelListView />
71
+ </ChannelsProvider>
72
+ </ChatProvider>
73
+ )}
74
+ </ChatContext.Consumer>
75
+ </Chat>
76
+ );
56
77
 
57
78
  describe('ChannelListView', () => {
58
79
  beforeAll(async () => {
@@ -77,7 +98,7 @@ describe('ChannelListView', () => {
77
98
 
78
99
  it('renders the `EmptyStateIndicator` when no channels are present', async () => {
79
100
  useMockedApis(chatClient, [queryChannelsApi([])]);
80
- const { getByTestId } = render(<Component channels={[]} />);
101
+ const { getByTestId } = render(<Component />);
81
102
  await waitFor(() => {
82
103
  expect(getByTestId('empty-channel-state-title')).toBeTruthy();
83
104
  });
@@ -85,7 +106,7 @@ describe('ChannelListView', () => {
85
106
 
86
107
  it('renders the `LoadingErrorIndicator` when `error` prop is true', async () => {
87
108
  const { getByTestId } = render(
88
- <Component channels={mockChannels} error={true} loadingChannels={false} />,
109
+ <ComponentWithContextOverrides error={true} loadingChannels={false} />,
89
110
  );
90
111
  await waitFor(() => {
91
112
  expect(getByTestId('loading-error')).toBeTruthy();
@@ -93,7 +114,9 @@ describe('ChannelListView', () => {
93
114
  });
94
115
 
95
116
  it('renders the `LoadingIndicator` when when channels have not yet loaded', async () => {
96
- const { getByTestId } = render(<Component channels={[]} loadingChannels={true} />);
117
+ const { getByTestId } = render(
118
+ <ComponentWithContextOverrides error={false} loadingChannels={true} />,
119
+ );
97
120
  await waitFor(() => {
98
121
  expect(getByTestId('channel-list-loading-indicator')).toBeTruthy();
99
122
  });
@@ -6,41 +6,22 @@ export const useCreateChannelsContext = ({
6
6
  additionalFlatListProps,
7
7
  channelListInitialized,
8
8
  channels,
9
- EmptyStateIndicator,
10
9
  error,
11
- FooterLoadingIndicator,
12
10
  forceUpdate,
13
11
  hasNextPage,
14
- HeaderErrorIndicator,
15
- HeaderNetworkDownIndicator,
16
- ListHeaderComponent,
17
12
  loadingChannels,
18
- LoadingErrorIndicator,
19
- LoadingIndicator,
20
13
  loadingNextPage,
21
14
  loadMoreThreshold,
22
15
  loadNextPage,
23
16
  maxUnreadCount,
24
17
  numberOfSkeletons,
25
18
  onSelect,
26
- Preview,
27
19
  getChannelActionItems,
28
- PreviewAvatar,
29
- PreviewMessage,
30
- PreviewMutedStatus,
31
- PreviewStatus,
32
- PreviewTitle,
33
- PreviewLastMessage,
34
- PreviewTypingIndicator,
35
- PreviewMessageDeliveryStatus,
36
- PreviewUnreadCount,
37
- ChannelDetailsBottomSheet,
38
20
  swipeActionsEnabled,
39
21
  refreshing,
40
22
  refreshList,
41
23
  reloadList,
42
24
  setFlatListRef,
43
- Skeleton,
44
25
  mutedStatusPosition,
45
26
  }: ChannelsContextValue) => {
46
27
  const channelValueString = channels
@@ -58,41 +39,22 @@ export const useCreateChannelsContext = ({
58
39
  additionalFlatListProps,
59
40
  channelListInitialized,
60
41
  channels,
61
- EmptyStateIndicator,
62
42
  error,
63
- FooterLoadingIndicator,
64
43
  forceUpdate,
65
44
  hasNextPage,
66
- HeaderErrorIndicator,
67
- HeaderNetworkDownIndicator,
68
- ListHeaderComponent,
69
45
  loadingChannels,
70
- LoadingErrorIndicator,
71
- LoadingIndicator,
72
46
  loadingNextPage,
73
47
  loadMoreThreshold,
74
48
  loadNextPage,
75
49
  maxUnreadCount,
76
50
  numberOfSkeletons,
77
51
  onSelect,
78
- Preview,
79
52
  getChannelActionItems,
80
- PreviewAvatar,
81
- PreviewMessage,
82
- PreviewMutedStatus,
83
- PreviewStatus,
84
- PreviewTitle,
85
- PreviewUnreadCount,
86
- PreviewTypingIndicator,
87
- PreviewMessageDeliveryStatus,
88
- PreviewLastMessage,
89
- ChannelDetailsBottomSheet,
90
53
  swipeActionsEnabled,
91
54
  refreshing,
92
55
  refreshList,
93
56
  reloadList,
94
57
  setFlatListRef,
95
- Skeleton,
96
58
  mutedStatusPosition,
97
59
  }),
98
60
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -104,7 +66,6 @@ export const useCreateChannelsContext = ({
104
66
  loadingChannels,
105
67
  loadingNextPage,
106
68
  channelListInitialized,
107
- ChannelDetailsBottomSheet,
108
69
  swipeActionsEnabled,
109
70
  refreshing,
110
71
  mutedStatusPosition,
@@ -11,6 +11,7 @@ import { ChannelPreviewTitle } from './ChannelPreviewTitle';
11
11
  import { useIsChannelMuted } from './hooks/useIsChannelMuted';
12
12
 
13
13
  import { useBottomSheetContext } from '../../contexts/bottomSheetContext/BottomSheetContext';
14
+ import { useComponentsContext } from '../../contexts/componentsContext/ComponentsContext';
14
15
  import { useSwipeRegistryContext } from '../../contexts/swipeableContext/SwipeRegistryContext';
15
16
  import { useTheme } from '../../contexts/themeContext/ThemeContext';
16
17
  import { useTranslationContext } from '../../contexts/translationContext/TranslationContext';
@@ -29,7 +30,6 @@ export type ChannelDetailsHeaderProps = { channel: Channel };
29
30
  export type ChannelDetailsBottomSheetProps = {
30
31
  additionalFlatListProps?: Partial<FlatListProps<ChannelActionItem>>;
31
32
  channel: Channel;
32
- ChannelDetailsHeader?: React.ComponentType<ChannelDetailsHeaderProps>;
33
33
  items: ChannelActionItem[];
34
34
  };
35
35
 
@@ -104,10 +104,10 @@ const keyExtractor = (item: ChannelActionItem) => item.id;
104
104
 
105
105
  export const ChannelDetailsBottomSheet = ({
106
106
  additionalFlatListProps,
107
- ChannelDetailsHeader: ChannelDetailsHeaderComponent = ChannelDetailsHeader,
108
107
  items,
109
108
  channel,
110
109
  }: ChannelDetailsBottomSheetProps) => {
110
+ const { ChannelDetailsHeader: ChannelDetailsHeaderComponent } = useComponentsContext();
111
111
  const styles = useStyles();
112
112
  return (
113
113
  <>
@@ -10,10 +10,11 @@ import {
10
10
  useChannelsContext,
11
11
  } from '../../contexts/channelsContext/ChannelsContext';
12
12
  import { ChatContextValue, useChatContext } from '../../contexts/chatContext/ChatContext';
13
+ import { useComponentsContext } from '../../contexts/componentsContext/ComponentsContext';
13
14
  import { useTranslatedMessage } from '../../hooks/useTranslatedMessage';
14
15
 
15
16
  export type ChannelPreviewProps = Partial<Pick<ChatContextValue, 'client'>> &
16
- Partial<Pick<ChannelsContextValue, 'Preview' | 'forceUpdate'>> & {
17
+ Partial<Pick<ChannelsContextValue, 'forceUpdate'>> & {
17
18
  /**
18
19
  * Instance of Channel from stream-chat package.
19
20
  */
@@ -21,18 +22,13 @@ export type ChannelPreviewProps = Partial<Pick<ChatContextValue, 'client'>> &
21
22
  };
22
23
 
23
24
  export const ChannelPreview = (props: ChannelPreviewProps) => {
24
- const { channel, client: propClient, forceUpdate: propForceUpdate, Preview: propPreview } = props;
25
+ const { channel, client: propClient, forceUpdate: propForceUpdate } = props;
25
26
 
26
27
  const { client: contextClient } = useChatContext();
27
- const {
28
- Preview: contextPreview,
29
- ChannelDetailsBottomSheet,
30
- getChannelActionItems,
31
- swipeActionsEnabled,
32
- } = useChannelsContext();
28
+ const { getChannelActionItems, swipeActionsEnabled } = useChannelsContext();
29
+ const { Preview } = useComponentsContext();
33
30
 
34
31
  const client = propClient || contextClient;
35
- const Preview = propPreview || contextPreview;
36
32
 
37
33
  const { muted, unread, lastMessage } = useChannelPreviewData(channel, client, propForceUpdate);
38
34
 
@@ -45,11 +41,7 @@ export const ChannelPreview = (props: ChannelPreviewProps) => {
45
41
  }
46
42
 
47
43
  return (
48
- <ChannelSwipableWrapper
49
- channel={channel}
50
- ChannelDetailsBottomSheet={ChannelDetailsBottomSheet}
51
- getChannelActionItems={getChannelActionItems}
52
- >
44
+ <ChannelSwipableWrapper channel={channel} getChannelActionItems={getChannelActionItems}>
53
45
  <Preview channel={channel} muted={muted} unread={unread} lastMessage={message} />
54
46
  </ChannelSwipableWrapper>
55
47
  );
@@ -1,11 +1,8 @@
1
1
  import React, { useMemo } from 'react';
2
2
  import { StyleSheet, Text, View } from 'react-native';
3
3
 
4
- import { ChannelLastMessagePreview } from './ChannelLastMessagePreview';
5
- import { ChannelMessagePreviewDeliveryStatus } from './ChannelMessagePreviewDeliveryStatus';
6
4
  import { ChannelPreviewProps } from './ChannelPreview';
7
5
 
8
- import { ChannelPreviewTypingIndicator } from './ChannelPreviewTypingIndicator';
9
6
  import { LastMessageType } from './hooks/useChannelPreviewData';
10
7
 
11
8
  import { useChannelPreviewDraftMessage } from './hooks/useChannelPreviewDraftMessage';
@@ -13,11 +10,8 @@ import { useChannelPreviewPollLabel } from './hooks/useChannelPreviewPollLabel';
13
10
 
14
11
  import { useChannelTypingState } from './hooks/useChannelTypingState';
15
12
 
16
- import {
17
- ChannelsContextValue,
18
- useChannelsContext,
19
- } from '../../contexts/channelsContext/ChannelsContext';
20
13
  import { useChatContext } from '../../contexts/chatContext/ChatContext';
14
+ import { useComponentsContext } from '../../contexts/componentsContext/ComponentsContext';
21
15
  import { useTheme } from '../../contexts/themeContext/ThemeContext';
22
16
  import { useTranslationContext } from '../../contexts/translationContext/TranslationContext';
23
17
 
@@ -26,34 +20,14 @@ import { primitives } from '../../theme';
26
20
  import { MessageStatusTypes } from '../../utils/utils';
27
21
  import { ErrorBadge } from '../ui';
28
22
 
29
- export type ChannelPreviewMessageProps = Pick<ChannelPreviewProps, 'channel'> &
30
- Partial<
31
- Pick<
32
- ChannelsContextValue,
33
- 'PreviewTypingIndicator' | 'PreviewMessageDeliveryStatus' | 'PreviewLastMessage'
34
- >
35
- > & {
36
- lastMessage?: LastMessageType;
37
- };
23
+ export type ChannelPreviewMessageProps = Pick<ChannelPreviewProps, 'channel'> & {
24
+ lastMessage?: LastMessageType;
25
+ };
38
26
 
39
27
  export const ChannelPreviewMessage = (props: ChannelPreviewMessageProps) => {
40
- const {
41
- channel,
42
- lastMessage,
43
- PreviewTypingIndicator: PreviewTypingIndicatorProp = ChannelPreviewTypingIndicator,
44
- PreviewMessageDeliveryStatus:
45
- PreviewMessageDeliveryStatusProp = ChannelMessagePreviewDeliveryStatus,
46
- PreviewLastMessage: PreviewLastMessageProp = ChannelLastMessagePreview,
47
- } = props;
48
- const {
49
- PreviewTypingIndicator: PreviewTypingIndicatorContext,
50
- PreviewMessageDeliveryStatus: PreviewMessageDeliveryStatusContext,
51
- PreviewLastMessage: PreviewLastMessageContext,
52
- } = useChannelsContext();
53
- const PreviewTypingIndicator = PreviewTypingIndicatorProp || PreviewTypingIndicatorContext;
54
- const PreviewMessageDeliveryStatus =
55
- PreviewMessageDeliveryStatusProp || PreviewMessageDeliveryStatusContext;
56
- const PreviewLastMessage = PreviewLastMessageProp || PreviewLastMessageContext;
28
+ const { channel, lastMessage } = props;
29
+ const { PreviewTypingIndicator, PreviewMessageDeliveryStatus, PreviewLastMessage } =
30
+ useComponentsContext();
57
31
  const {
58
32
  theme: { semantics },
59
33
  } = useTheme();
@@ -2,11 +2,6 @@ import React, { useMemo } from 'react';
2
2
  import { Pressable, StyleSheet, View } from 'react-native';
3
3
 
4
4
  import type { ChannelPreviewProps } from './ChannelPreview';
5
- import { ChannelPreviewMessage } from './ChannelPreviewMessage';
6
- import { ChannelPreviewMutedStatus } from './ChannelPreviewMutedStatus';
7
- import { ChannelPreviewStatus } from './ChannelPreviewStatus';
8
- import { ChannelPreviewTitle } from './ChannelPreviewTitle';
9
- import { ChannelPreviewUnreadCount } from './ChannelPreviewUnreadCount';
10
5
 
11
6
  import type { LastMessageType } from './hooks/useChannelPreviewData';
12
7
 
@@ -14,25 +9,14 @@ import {
14
9
  ChannelsContextValue,
15
10
  useChannelsContext,
16
11
  } from '../../contexts/channelsContext/ChannelsContext';
12
+ import { useComponentsContext } from '../../contexts/componentsContext/ComponentsContext';
17
13
  import { useSwipeRegistryContext } from '../../contexts/swipeableContext/SwipeRegistryContext';
18
14
  import { useTheme } from '../../contexts/themeContext/ThemeContext';
19
15
  import { useStableCallback } from '../../hooks';
20
16
  import { primitives } from '../../theme';
21
- import { ChannelAvatar } from '../ui/Avatar/ChannelAvatar';
22
17
 
23
18
  export type ChannelPreviewViewPropsWithContext = Pick<ChannelPreviewProps, 'channel'> &
24
- Pick<
25
- ChannelsContextValue,
26
- | 'maxUnreadCount'
27
- | 'onSelect'
28
- | 'PreviewAvatar'
29
- | 'PreviewMessage'
30
- | 'PreviewMutedStatus'
31
- | 'PreviewStatus'
32
- | 'PreviewTitle'
33
- | 'PreviewUnreadCount'
34
- | 'mutedStatusPosition'
35
- > & {
19
+ Pick<ChannelsContextValue, 'maxUnreadCount' | 'onSelect' | 'mutedStatusPosition'> & {
36
20
  /**
37
21
  * Formatter function for date of latest message.
38
22
  * @param date Message date
@@ -57,16 +41,18 @@ const ChannelPreviewViewWithContext = (props: ChannelPreviewViewPropsWithContext
57
41
  maxUnreadCount,
58
42
  muted,
59
43
  onSelect,
60
- PreviewAvatar = ChannelAvatar,
61
- PreviewMessage = ChannelPreviewMessage,
62
- PreviewMutedStatus = ChannelPreviewMutedStatus,
63
- PreviewStatus = ChannelPreviewStatus,
64
- PreviewTitle = ChannelPreviewTitle,
65
- PreviewUnreadCount = ChannelPreviewUnreadCount,
66
44
  unread,
67
45
  mutedStatusPosition,
68
46
  lastMessage,
69
47
  } = props;
48
+ const {
49
+ PreviewAvatar,
50
+ PreviewMessage,
51
+ PreviewMutedStatus,
52
+ PreviewStatus,
53
+ PreviewTitle,
54
+ PreviewUnreadCount,
55
+ } = useComponentsContext();
70
56
 
71
57
  const {
72
58
  theme: {
@@ -158,28 +144,13 @@ const MemoizedChannelPreviewViewWithContext = React.memo(
158
144
  * from the ChannelPreview component.
159
145
  */
160
146
  export const ChannelPreviewView = (props: ChannelPreviewViewProps) => {
161
- const {
162
- forceUpdate,
163
- maxUnreadCount,
164
- onSelect,
165
- PreviewMessage,
166
- PreviewMutedStatus,
167
- PreviewStatus,
168
- PreviewTitle,
169
- PreviewUnreadCount,
170
- mutedStatusPosition,
171
- } = useChannelsContext();
147
+ const { forceUpdate, maxUnreadCount, onSelect, mutedStatusPosition } = useChannelsContext();
172
148
  return (
173
149
  <MemoizedChannelPreviewViewWithContext
174
150
  {...{
175
151
  forceUpdate,
176
152
  maxUnreadCount,
177
153
  onSelect,
178
- PreviewMessage,
179
- PreviewMutedStatus,
180
- PreviewStatus,
181
- PreviewTitle,
182
- PreviewUnreadCount,
183
154
  mutedStatusPosition,
184
155
  }}
185
156
  {...props}
@@ -5,10 +5,9 @@ import type { SharedValue } from 'react-native-reanimated';
5
5
 
6
6
  import type { Channel } from 'stream-chat';
7
7
 
8
- import { ChannelDetailsBottomSheet as DefaultChannelDetailsBottomSheet } from './ChannelDetailsBottomSheet';
9
- import type { ChannelDetailsBottomSheetProps } from './ChannelDetailsBottomSheet';
10
8
  import { useIsChannelMuted } from './hooks/useIsChannelMuted';
11
9
 
10
+ import { useComponentsContext } from '../../contexts/componentsContext/ComponentsContext';
12
11
  import { useSwipeRegistryContext } from '../../contexts/swipeableContext/SwipeRegistryContext';
13
12
  import { useTheme } from '../../contexts/themeContext/ThemeContext';
14
13
  import { MenuPointHorizontal, Mute, Sound } from '../../icons';
@@ -33,15 +32,14 @@ export const OpenChannelDetailsButton = () => {
33
32
  export const ChannelSwipableWrapper = ({
34
33
  channel,
35
34
  getChannelActionItems,
36
- ChannelDetailsBottomSheet: ChannelDetailsBottomSheetComponent = DefaultChannelDetailsBottomSheet,
37
35
  swipableProps: _swipableProps,
38
36
  children,
39
37
  }: PropsWithChildren<{
40
38
  channel: Channel;
41
- ChannelDetailsBottomSheet?: React.ComponentType<ChannelDetailsBottomSheetProps>;
42
39
  getChannelActionItems?: GetChannelActionItems;
43
40
  swipableProps?: SwipableWrapperProps['swipableProps'];
44
41
  }>) => {
42
+ const { ChannelDetailsBottomSheet: ChannelDetailsBottomSheetComponent } = useComponentsContext();
45
43
  const [channelDetailSheetOpen, setChannelDetailSheetOpen] = useState(false);
46
44
  const { muteChannel, unmuteChannel } = useChannelActions(channel);
47
45
  const channelActionItems = useChannelActionItems({ channel, getChannelActionItems });
@@ -5,6 +5,7 @@ import { render } from '@testing-library/react-native';
5
5
  import type { Channel } from 'stream-chat';
6
6
 
7
7
  import { ThemeProvider, defaultTheme } from '../../../contexts';
8
+ import { WithComponents } from '../../../contexts/componentsContext/ComponentsContext';
8
9
  import type { ChannelActionItem } from '../../ChannelList/hooks/useChannelActionItems';
9
10
  import type { ChannelDetailsHeaderProps } from '../ChannelDetailsBottomSheet';
10
11
  import { ChannelDetailsBottomSheet } from '../ChannelDetailsBottomSheet';
@@ -17,7 +18,11 @@ jest.mock('../../UIComponents/StreamBottomSheetModalFlatList', () => ({
17
18
  }));
18
19
 
19
20
  describe('ChannelDetailsBottomSheet', () => {
20
- const channel = { cid: 'messaging:test-channel', id: 'test-channel' } as Channel;
21
+ const channel = {
22
+ cid: 'messaging:test-channel',
23
+ id: 'test-channel',
24
+ state: { members: {} },
25
+ } as unknown as Channel;
21
26
 
22
27
  const items: ChannelActionItem[] = [
23
28
  {
@@ -41,11 +46,9 @@ describe('ChannelDetailsBottomSheet', () => {
41
46
 
42
47
  const { getByTestId } = render(
43
48
  <ThemeProvider theme={defaultTheme}>
44
- <ChannelDetailsBottomSheet
45
- channel={channel}
46
- items={items}
47
- ChannelDetailsHeader={CustomChannelDetailsHeader}
48
- />
49
+ <WithComponents overrides={{ ChannelDetailsHeader: CustomChannelDetailsHeader }}>
50
+ <ChannelDetailsBottomSheet channel={channel} items={items} />
51
+ </WithComponents>
49
52
  </ThemeProvider>,
50
53
  );
51
54
 
@@ -59,12 +62,13 @@ describe('ChannelDetailsBottomSheet', () => {
59
62
 
60
63
  render(
61
64
  <ThemeProvider theme={defaultTheme}>
62
- <ChannelDetailsBottomSheet
63
- channel={channel}
64
- items={items}
65
- ChannelDetailsHeader={() => null}
66
- additionalFlatListProps={{ onEndReached, testID: 'channel-details-list' }}
67
- />
65
+ <WithComponents overrides={{ ChannelDetailsHeader: () => null }}>
66
+ <ChannelDetailsBottomSheet
67
+ channel={channel}
68
+ items={items}
69
+ additionalFlatListProps={{ onEndReached, testID: 'channel-details-list' }}
70
+ />
71
+ </WithComponents>
68
72
  </ThemeProvider>,
69
73
  );
70
74
 
@@ -7,6 +7,7 @@ import type { Channel, StreamChat } from 'stream-chat';
7
7
 
8
8
  import { ChannelsProvider } from '../../../contexts/channelsContext/ChannelsContext';
9
9
  import type { ChannelsContextValue } from '../../../contexts/channelsContext/ChannelsContext';
10
+ import { WithComponents } from '../../../contexts/componentsContext/ComponentsContext';
10
11
  import {
11
12
  getOrCreateChannelApi,
12
13
  GetOrCreateChannelApiParams,
@@ -83,12 +84,9 @@ describe('ChannelPreview', () => {
83
84
 
84
85
  return (
85
86
  <Chat client={chatClient}>
86
- <ChannelPreview
87
- {...props}
88
- channel={channel}
89
- client={chatClient}
90
- Preview={ChannelPreviewUIComponent}
91
- />
87
+ <WithComponents overrides={{ Preview: ChannelPreviewUIComponent }}>
88
+ <ChannelPreview {...props} channel={channel} client={chatClient} />
89
+ </WithComponents>
92
90
  </Chat>
93
91
  );
94
92
  };
@@ -436,18 +434,23 @@ describe('ChannelPreview', () => {
436
434
 
437
435
  return (
438
436
  <Chat client={chatClient}>
439
- <ChannelsProvider
440
- value={
441
- {
442
- ChannelDetailsBottomSheet: channelDetailsBottomSheet,
443
- Preview: SwipePreview,
444
- getChannelActionItems: undefined,
445
- swipeActionsEnabled,
446
- } as unknown as ChannelsContextValue
447
- }
437
+ <WithComponents
438
+ overrides={{
439
+ ChannelDetailsBottomSheet: channelDetailsBottomSheet,
440
+ Preview: SwipePreview,
441
+ }}
448
442
  >
449
- <ChannelPreview channel={channel} client={chatClient} Preview={SwipePreview} />
450
- </ChannelsProvider>
443
+ <ChannelsProvider
444
+ value={
445
+ {
446
+ getChannelActionItems: undefined,
447
+ swipeActionsEnabled,
448
+ } as unknown as ChannelsContextValue
449
+ }
450
+ >
451
+ <ChannelPreview channel={channel} client={chatClient} />
452
+ </ChannelsProvider>
453
+ </WithComponents>
451
454
  </Chat>
452
455
  );
453
456
  };
@@ -474,7 +477,7 @@ describe('ChannelPreview', () => {
474
477
  expect(mockChannelSwipableWrapper).toHaveBeenCalled();
475
478
  });
476
479
 
477
- it('passes ChannelDetailsBottomSheet override to ChannelSwipableWrapper', async () => {
480
+ it('makes ChannelDetailsBottomSheet override available via WithComponents', async () => {
478
481
  render(
479
482
  <SwipeTestComponent
480
483
  swipeActionsEnabled={true}
@@ -482,13 +485,11 @@ describe('ChannelPreview', () => {
482
485
  />,
483
486
  );
484
487
 
488
+ // ChannelDetailsBottomSheet is now read from useComponentsContext() by
489
+ // ChannelSwipableWrapper rather than passed as a prop from ChannelPreview.
490
+ // Since ChannelSwipableWrapper is mocked, we verify the override is
491
+ // provided via WithComponents (set up in SwipeTestComponent).
485
492
  await waitFor(() => expect(mockChannelSwipableWrapper).toHaveBeenCalled());
486
- const swipableWrapperProps = mockChannelSwipableWrapper.mock.calls[0]?.[0];
487
- expect(swipableWrapperProps).toEqual(
488
- expect.objectContaining({
489
- ChannelDetailsBottomSheet: ChannelDetailsBottomSheetOverride,
490
- }),
491
- );
492
493
  });
493
494
  });
494
495
  });