stream-chat-react-native-core 9.0.0-beta.31 → 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 (590) 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/MessageInput/MessageComposer.js +15 -55
  86. package/lib/commonjs/components/MessageInput/MessageComposer.js.map +1 -1
  87. package/lib/commonjs/components/MessageInput/MessageInputHeaderView.js +5 -5
  88. package/lib/commonjs/components/MessageInput/MessageInputHeaderView.js.map +1 -1
  89. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.js +9 -17
  90. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.js.map +1 -1
  91. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview.js +5 -5
  92. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview.js.map +1 -1
  93. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/ImageAttachmentUploadPreview.js +5 -5
  94. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/ImageAttachmentUploadPreview.js.map +1 -1
  95. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.js +5 -5
  96. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.js.map +1 -1
  97. package/lib/commonjs/components/MessageInput/components/InputButtons/index.js +4 -4
  98. package/lib/commonjs/components/MessageInput/components/InputButtons/index.js.map +1 -1
  99. package/lib/commonjs/components/MessageInput/components/LinkPreviewList.js +3 -2
  100. package/lib/commonjs/components/MessageInput/components/LinkPreviewList.js.map +1 -1
  101. package/lib/commonjs/components/MessageInput/components/OutputButtons/index.js +7 -13
  102. package/lib/commonjs/components/MessageInput/components/OutputButtons/index.js.map +1 -1
  103. package/lib/commonjs/components/MessageList/MessageFlashList.js +14 -40
  104. package/lib/commonjs/components/MessageList/MessageFlashList.js.map +1 -1
  105. package/lib/commonjs/components/MessageList/MessageList.js +12 -38
  106. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  107. package/lib/commonjs/components/MessageList/StickyHeader.js +3 -1
  108. package/lib/commonjs/components/MessageList/StickyHeader.js.map +1 -1
  109. package/lib/commonjs/components/MessageMenu/MessageActionList.js +4 -2
  110. package/lib/commonjs/components/MessageMenu/MessageActionList.js.map +1 -1
  111. package/lib/commonjs/components/MessageMenu/MessageMenu.js.map +1 -1
  112. package/lib/commonjs/components/MessageMenu/MessageUserReactions.js +4 -8
  113. package/lib/commonjs/components/MessageMenu/MessageUserReactions.js.map +1 -1
  114. package/lib/commonjs/components/MessageMenu/MessageUserReactionsItem.js +4 -2
  115. package/lib/commonjs/components/MessageMenu/MessageUserReactionsItem.js.map +1 -1
  116. package/lib/commonjs/components/Poll/CreatePollContent.js +3 -1
  117. package/lib/commonjs/components/Poll/CreatePollContent.js.map +1 -1
  118. package/lib/commonjs/components/Poll/Poll.js +12 -9
  119. package/lib/commonjs/components/Poll/Poll.js.map +1 -1
  120. package/lib/commonjs/components/Poll/components/PollAnswersList.js +5 -3
  121. package/lib/commonjs/components/Poll/components/PollAnswersList.js.map +1 -1
  122. package/lib/commonjs/components/Poll/components/PollOption.js +5 -3
  123. package/lib/commonjs/components/Poll/components/PollOption.js.map +1 -1
  124. package/lib/commonjs/components/Poll/components/PollResults/PollOptionFullResults.js +5 -5
  125. package/lib/commonjs/components/Poll/components/PollResults/PollOptionFullResults.js.map +1 -1
  126. package/lib/commonjs/components/Poll/components/PollResults/PollResults.js +5 -3
  127. package/lib/commonjs/components/Poll/components/PollResults/PollResults.js.map +1 -1
  128. package/lib/commonjs/components/Reply/Reply.js +4 -2
  129. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  130. package/lib/commonjs/components/Thread/Thread.js +4 -8
  131. package/lib/commonjs/components/Thread/Thread.js.map +1 -1
  132. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +4 -6
  133. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  134. package/lib/commonjs/components/ThreadList/ThreadList.js +12 -15
  135. package/lib/commonjs/components/ThreadList/ThreadList.js.map +1 -1
  136. package/lib/commonjs/components/ThreadList/ThreadListItem.js +8 -11
  137. package/lib/commonjs/components/ThreadList/ThreadListItem.js.map +1 -1
  138. package/lib/commonjs/components/ui/Avatar/Avatar.js +3 -3
  139. package/lib/commonjs/components/ui/Avatar/Avatar.js.map +1 -1
  140. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  141. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  142. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  143. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  144. package/lib/commonjs/contexts/componentsContext/ComponentsContext.js +37 -0
  145. package/lib/commonjs/contexts/componentsContext/ComponentsContext.js.map +1 -0
  146. package/lib/commonjs/contexts/componentsContext/PLAN.md +148 -0
  147. package/lib/commonjs/contexts/componentsContext/defaultComponents.js +286 -0
  148. package/lib/commonjs/contexts/componentsContext/defaultComponents.js.map +1 -0
  149. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +1 -9
  150. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  151. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContextBase.js.map +1 -1
  152. package/lib/commonjs/contexts/index.js +11 -0
  153. package/lib/commonjs/contexts/index.js.map +1 -1
  154. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  155. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +2 -76
  156. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  157. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  158. package/lib/commonjs/contexts/overlayContext/MessageOverlayHostLayer.js +7 -5
  159. package/lib/commonjs/contexts/overlayContext/MessageOverlayHostLayer.js.map +1 -1
  160. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  161. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +1 -4
  162. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  163. package/lib/commonjs/contexts/threadsContext/ThreadsContext.js.map +1 -1
  164. package/lib/commonjs/version.json +1 -1
  165. package/lib/module/components/Attachment/Attachment.js +15 -52
  166. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  167. package/lib/module/components/Attachment/FileAttachment.js +4 -6
  168. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  169. package/lib/module/components/Attachment/FileAttachmentGroup.js +4 -10
  170. package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
  171. package/lib/module/components/Attachment/FilePreview.js +3 -6
  172. package/lib/module/components/Attachment/FilePreview.js.map +1 -1
  173. package/lib/module/components/Attachment/Gallery.js +9 -28
  174. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  175. package/lib/module/components/Attachment/GalleryImage.js +3 -3
  176. package/lib/module/components/Attachment/GalleryImage.js.map +1 -1
  177. package/lib/module/components/Attachment/Giphy/GiphyImage.js +7 -13
  178. package/lib/module/components/Attachment/Giphy/GiphyImage.js.map +1 -1
  179. package/lib/module/components/Attachment/UnsupportedAttachment.js +4 -6
  180. package/lib/module/components/Attachment/UnsupportedAttachment.js.map +1 -1
  181. package/lib/module/components/Attachment/UrlPreview/URLPreview.js +3 -3
  182. package/lib/module/components/Attachment/UrlPreview/URLPreview.js.map +1 -1
  183. package/lib/module/components/Attachment/UrlPreview/URLPreviewCompact.js +3 -3
  184. package/lib/module/components/Attachment/UrlPreview/URLPreviewCompact.js.map +1 -1
  185. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +4 -2
  186. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  187. package/lib/module/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.js +7 -4
  188. package/lib/module/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.js.map +1 -1
  189. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +9 -13
  190. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  191. package/lib/module/components/Channel/Channel.js +9 -418
  192. package/lib/module/components/Channel/Channel.js.map +1 -1
  193. package/lib/module/components/Channel/hooks/useCreateChannelContext.js +0 -8
  194. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  195. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +3 -77
  196. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  197. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +2 -132
  198. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  199. package/lib/module/components/ChannelList/ChannelList.js +1 -57
  200. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  201. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js +4 -2
  202. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
  203. package/lib/module/components/ChannelList/ChannelListView.js +11 -20
  204. package/lib/module/components/ChannelList/ChannelListView.js.map +1 -1
  205. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js +1 -39
  206. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  207. package/lib/module/components/ChannelPreview/ChannelDetailsBottomSheet.js +3 -2
  208. package/lib/module/components/ChannelPreview/ChannelDetailsBottomSheet.js.map +1 -1
  209. package/lib/module/components/ChannelPreview/ChannelPreview.js +4 -6
  210. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  211. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +6 -18
  212. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  213. package/lib/module/components/ChannelPreview/ChannelPreviewView.js +8 -28
  214. package/lib/module/components/ChannelPreview/ChannelPreviewView.js.map +1 -1
  215. package/lib/module/components/ChannelPreview/ChannelSwipableWrapper.js +3 -3
  216. package/lib/module/components/ChannelPreview/ChannelSwipableWrapper.js.map +1 -1
  217. package/lib/module/components/Chat/Chat.js +4 -6
  218. package/lib/module/components/Chat/Chat.js.map +1 -1
  219. package/lib/module/components/Chat/hooks/useCreateChatContext.js +0 -2
  220. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  221. package/lib/module/components/ImageGallery/ImageGallery.js +7 -9
  222. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  223. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +4 -2
  224. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  225. package/lib/module/components/Message/Message.js +9 -13
  226. package/lib/module/components/Message/Message.js.map +1 -1
  227. package/lib/module/components/Message/MessageItemView/MessageBubble.js +4 -2
  228. package/lib/module/components/Message/MessageItemView/MessageBubble.js.map +1 -1
  229. package/lib/module/components/Message/MessageItemView/MessageContent.js +18 -39
  230. package/lib/module/components/Message/MessageItemView/MessageContent.js.map +1 -1
  231. package/lib/module/components/Message/MessageItemView/MessageDeleted.js +5 -7
  232. package/lib/module/components/Message/MessageItemView/MessageDeleted.js.map +1 -1
  233. package/lib/module/components/Message/MessageItemView/MessageFooter.js +4 -8
  234. package/lib/module/components/Message/MessageItemView/MessageFooter.js.map +1 -1
  235. package/lib/module/components/Message/MessageItemView/MessageHeader.js +8 -16
  236. package/lib/module/components/Message/MessageItemView/MessageHeader.js.map +1 -1
  237. package/lib/module/components/Message/MessageItemView/MessageItemView.js +13 -35
  238. package/lib/module/components/Message/MessageItemView/MessageItemView.js.map +1 -1
  239. package/lib/module/components/Message/MessageItemView/MessageReplies.js +3 -5
  240. package/lib/module/components/Message/MessageItemView/MessageReplies.js.map +1 -1
  241. package/lib/module/components/Message/MessageItemView/MessageTextContainer.js +3 -3
  242. package/lib/module/components/Message/MessageItemView/MessageTextContainer.js.map +1 -1
  243. package/lib/module/components/Message/MessageItemView/MessageWrapper.js +6 -4
  244. package/lib/module/components/Message/MessageItemView/MessageWrapper.js.map +1 -1
  245. package/lib/module/components/Message/MessageItemView/ReactionList/ReactionListBottom.js +6 -8
  246. package/lib/module/components/Message/MessageItemView/ReactionList/ReactionListBottom.js.map +1 -1
  247. package/lib/module/components/Message/MessageItemView/ReactionList/ReactionListTop.js +7 -11
  248. package/lib/module/components/Message/MessageItemView/ReactionList/ReactionListTop.js.map +1 -1
  249. package/lib/module/components/MessageInput/MessageComposer.js +15 -55
  250. package/lib/module/components/MessageInput/MessageComposer.js.map +1 -1
  251. package/lib/module/components/MessageInput/MessageInputHeaderView.js +5 -5
  252. package/lib/module/components/MessageInput/MessageInputHeaderView.js.map +1 -1
  253. package/lib/module/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.js +9 -17
  254. package/lib/module/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.js.map +1 -1
  255. package/lib/module/components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview.js +5 -5
  256. package/lib/module/components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview.js.map +1 -1
  257. package/lib/module/components/MessageInput/components/AttachmentPreview/ImageAttachmentUploadPreview.js +5 -5
  258. package/lib/module/components/MessageInput/components/AttachmentPreview/ImageAttachmentUploadPreview.js.map +1 -1
  259. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.js +5 -5
  260. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.js.map +1 -1
  261. package/lib/module/components/MessageInput/components/InputButtons/index.js +4 -4
  262. package/lib/module/components/MessageInput/components/InputButtons/index.js.map +1 -1
  263. package/lib/module/components/MessageInput/components/LinkPreviewList.js +3 -2
  264. package/lib/module/components/MessageInput/components/LinkPreviewList.js.map +1 -1
  265. package/lib/module/components/MessageInput/components/OutputButtons/index.js +7 -13
  266. package/lib/module/components/MessageInput/components/OutputButtons/index.js.map +1 -1
  267. package/lib/module/components/MessageList/MessageFlashList.js +14 -40
  268. package/lib/module/components/MessageList/MessageFlashList.js.map +1 -1
  269. package/lib/module/components/MessageList/MessageList.js +12 -38
  270. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  271. package/lib/module/components/MessageList/StickyHeader.js +3 -1
  272. package/lib/module/components/MessageList/StickyHeader.js.map +1 -1
  273. package/lib/module/components/MessageMenu/MessageActionList.js +4 -2
  274. package/lib/module/components/MessageMenu/MessageActionList.js.map +1 -1
  275. package/lib/module/components/MessageMenu/MessageMenu.js.map +1 -1
  276. package/lib/module/components/MessageMenu/MessageUserReactions.js +4 -8
  277. package/lib/module/components/MessageMenu/MessageUserReactions.js.map +1 -1
  278. package/lib/module/components/MessageMenu/MessageUserReactionsItem.js +4 -2
  279. package/lib/module/components/MessageMenu/MessageUserReactionsItem.js.map +1 -1
  280. package/lib/module/components/Poll/CreatePollContent.js +3 -1
  281. package/lib/module/components/Poll/CreatePollContent.js.map +1 -1
  282. package/lib/module/components/Poll/Poll.js +12 -9
  283. package/lib/module/components/Poll/Poll.js.map +1 -1
  284. package/lib/module/components/Poll/components/PollAnswersList.js +5 -3
  285. package/lib/module/components/Poll/components/PollAnswersList.js.map +1 -1
  286. package/lib/module/components/Poll/components/PollOption.js +5 -3
  287. package/lib/module/components/Poll/components/PollOption.js.map +1 -1
  288. package/lib/module/components/Poll/components/PollResults/PollOptionFullResults.js +5 -5
  289. package/lib/module/components/Poll/components/PollResults/PollOptionFullResults.js.map +1 -1
  290. package/lib/module/components/Poll/components/PollResults/PollResults.js +5 -3
  291. package/lib/module/components/Poll/components/PollResults/PollResults.js.map +1 -1
  292. package/lib/module/components/Reply/Reply.js +4 -2
  293. package/lib/module/components/Reply/Reply.js.map +1 -1
  294. package/lib/module/components/Thread/Thread.js +4 -8
  295. package/lib/module/components/Thread/Thread.js.map +1 -1
  296. package/lib/module/components/Thread/components/ThreadFooterComponent.js +4 -6
  297. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  298. package/lib/module/components/ThreadList/ThreadList.js +12 -15
  299. package/lib/module/components/ThreadList/ThreadList.js.map +1 -1
  300. package/lib/module/components/ThreadList/ThreadListItem.js +8 -11
  301. package/lib/module/components/ThreadList/ThreadListItem.js.map +1 -1
  302. package/lib/module/components/ui/Avatar/Avatar.js +3 -3
  303. package/lib/module/components/ui/Avatar/Avatar.js.map +1 -1
  304. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  305. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  306. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  307. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  308. package/lib/module/contexts/componentsContext/ComponentsContext.js +37 -0
  309. package/lib/module/contexts/componentsContext/ComponentsContext.js.map +1 -0
  310. package/lib/module/contexts/componentsContext/PLAN.md +148 -0
  311. package/lib/module/contexts/componentsContext/defaultComponents.js +286 -0
  312. package/lib/module/contexts/componentsContext/defaultComponents.js.map +1 -0
  313. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +1 -9
  314. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  315. package/lib/module/contexts/imageGalleryContext/ImageGalleryContextBase.js.map +1 -1
  316. package/lib/module/contexts/index.js +11 -0
  317. package/lib/module/contexts/index.js.map +1 -1
  318. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  319. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +2 -76
  320. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  321. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  322. package/lib/module/contexts/overlayContext/MessageOverlayHostLayer.js +7 -5
  323. package/lib/module/contexts/overlayContext/MessageOverlayHostLayer.js.map +1 -1
  324. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  325. package/lib/module/contexts/overlayContext/OverlayProvider.js +1 -4
  326. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  327. package/lib/module/contexts/threadsContext/ThreadsContext.js.map +1 -1
  328. package/lib/module/version.json +1 -1
  329. package/lib/typescript/components/Attachment/Attachment.d.ts +1 -1
  330. package/lib/typescript/components/Attachment/Attachment.d.ts.map +1 -1
  331. package/lib/typescript/components/Attachment/FileAttachment.d.ts +1 -1
  332. package/lib/typescript/components/Attachment/FileAttachment.d.ts.map +1 -1
  333. package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts +1 -2
  334. package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts.map +1 -1
  335. package/lib/typescript/components/Attachment/FilePreview.d.ts +2 -3
  336. package/lib/typescript/components/Attachment/FilePreview.d.ts.map +1 -1
  337. package/lib/typescript/components/Attachment/Gallery.d.ts +1 -1
  338. package/lib/typescript/components/Attachment/Gallery.d.ts.map +1 -1
  339. package/lib/typescript/components/Attachment/GalleryImage.d.ts +3 -2
  340. package/lib/typescript/components/Attachment/GalleryImage.d.ts.map +1 -1
  341. package/lib/typescript/components/Attachment/Giphy/GiphyImage.d.ts +4 -2
  342. package/lib/typescript/components/Attachment/Giphy/GiphyImage.d.ts.map +1 -1
  343. package/lib/typescript/components/Attachment/UnsupportedAttachment.d.ts +2 -3
  344. package/lib/typescript/components/Attachment/UnsupportedAttachment.d.ts.map +1 -1
  345. package/lib/typescript/components/Attachment/UrlPreview/URLPreview.d.ts +4 -3
  346. package/lib/typescript/components/Attachment/UrlPreview/URLPreview.d.ts.map +1 -1
  347. package/lib/typescript/components/Attachment/UrlPreview/URLPreviewCompact.d.ts +4 -3
  348. package/lib/typescript/components/Attachment/UrlPreview/URLPreviewCompact.d.ts.map +1 -1
  349. package/lib/typescript/components/AttachmentPicker/AttachmentPicker.d.ts.map +1 -1
  350. package/lib/typescript/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.d.ts.map +1 -1
  351. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts +2 -3
  352. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts.map +1 -1
  353. package/lib/typescript/components/Channel/Channel.d.ts +3 -28
  354. package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
  355. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
  356. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts.map +1 -1
  357. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +1 -1
  358. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts.map +1 -1
  359. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -1
  360. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts.map +1 -1
  361. package/lib/typescript/components/Channel/hooks/useMessageListPagination.d.ts.map +1 -1
  362. package/lib/typescript/components/ChannelList/ChannelList.d.ts +2 -10
  363. package/lib/typescript/components/ChannelList/ChannelList.d.ts.map +1 -1
  364. package/lib/typescript/components/ChannelList/ChannelListLoadingIndicator.d.ts.map +1 -1
  365. package/lib/typescript/components/ChannelList/ChannelListView.d.ts +1 -1
  366. package/lib/typescript/components/ChannelList/ChannelListView.d.ts.map +1 -1
  367. package/lib/typescript/components/ChannelList/hooks/useCreateChannelsContext.d.ts +1 -1
  368. package/lib/typescript/components/ChannelList/hooks/useCreateChannelsContext.d.ts.map +1 -1
  369. package/lib/typescript/components/ChannelPreview/ChannelDetailsBottomSheet.d.ts +1 -2
  370. package/lib/typescript/components/ChannelPreview/ChannelDetailsBottomSheet.d.ts.map +1 -1
  371. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +1 -1
  372. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts.map +1 -1
  373. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessage.d.ts +1 -2
  374. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessage.d.ts.map +1 -1
  375. package/lib/typescript/components/ChannelPreview/ChannelPreviewView.d.ts +1 -1
  376. package/lib/typescript/components/ChannelPreview/ChannelPreviewView.d.ts.map +1 -1
  377. package/lib/typescript/components/ChannelPreview/ChannelSwipableWrapper.d.ts +1 -3
  378. package/lib/typescript/components/ChannelPreview/ChannelSwipableWrapper.d.ts.map +1 -1
  379. package/lib/typescript/components/Chat/Chat.d.ts +1 -7
  380. package/lib/typescript/components/Chat/Chat.d.ts.map +1 -1
  381. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +1 -1
  382. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -1
  383. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +6 -1
  384. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts.map +1 -1
  385. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts.map +1 -1
  386. package/lib/typescript/components/ImageGallery/components/types.d.ts +0 -2
  387. package/lib/typescript/components/ImageGallery/components/types.d.ts.map +1 -1
  388. package/lib/typescript/components/Message/Message.d.ts +1 -1
  389. package/lib/typescript/components/Message/Message.d.ts.map +1 -1
  390. package/lib/typescript/components/Message/MessageItemView/MessageBubble.d.ts +1 -2
  391. package/lib/typescript/components/Message/MessageItemView/MessageBubble.d.ts.map +1 -1
  392. package/lib/typescript/components/Message/MessageItemView/MessageContent.d.ts +1 -1
  393. package/lib/typescript/components/Message/MessageItemView/MessageContent.d.ts.map +1 -1
  394. package/lib/typescript/components/Message/MessageItemView/MessageDeleted.d.ts +1 -2
  395. package/lib/typescript/components/Message/MessageItemView/MessageDeleted.d.ts.map +1 -1
  396. package/lib/typescript/components/Message/MessageItemView/MessageFooter.d.ts +0 -2
  397. package/lib/typescript/components/Message/MessageItemView/MessageFooter.d.ts.map +1 -1
  398. package/lib/typescript/components/Message/MessageItemView/MessageHeader.d.ts.map +1 -1
  399. package/lib/typescript/components/Message/MessageItemView/MessageItemView.d.ts +1 -1
  400. package/lib/typescript/components/Message/MessageItemView/MessageItemView.d.ts.map +1 -1
  401. package/lib/typescript/components/Message/MessageItemView/MessageReplies.d.ts +1 -2
  402. package/lib/typescript/components/Message/MessageItemView/MessageReplies.d.ts.map +1 -1
  403. package/lib/typescript/components/Message/MessageItemView/MessageTextContainer.d.ts +1 -1
  404. package/lib/typescript/components/Message/MessageItemView/MessageTextContainer.d.ts.map +1 -1
  405. package/lib/typescript/components/Message/MessageItemView/MessageWrapper.d.ts.map +1 -1
  406. package/lib/typescript/components/Message/MessageItemView/ReactionList/ReactionListBottom.d.ts +1 -1
  407. package/lib/typescript/components/Message/MessageItemView/ReactionList/ReactionListBottom.d.ts.map +1 -1
  408. package/lib/typescript/components/Message/MessageItemView/ReactionList/ReactionListTop.d.ts +1 -1
  409. package/lib/typescript/components/Message/MessageItemView/ReactionList/ReactionListTop.d.ts.map +1 -1
  410. package/lib/typescript/components/MessageInput/MessageComposer.d.ts +1 -2
  411. package/lib/typescript/components/MessageInput/MessageComposer.d.ts.map +1 -1
  412. package/lib/typescript/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.d.ts +3 -4
  413. package/lib/typescript/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.d.ts.map +1 -1
  414. package/lib/typescript/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.d.ts +1 -1
  415. package/lib/typescript/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.d.ts.map +1 -1
  416. package/lib/typescript/components/MessageInput/components/InputButtons/index.d.ts +1 -1
  417. package/lib/typescript/components/MessageInput/components/InputButtons/index.d.ts.map +1 -1
  418. package/lib/typescript/components/MessageInput/components/LinkPreviewList.d.ts.map +1 -1
  419. package/lib/typescript/components/MessageInput/components/OutputButtons/index.d.ts +1 -1
  420. package/lib/typescript/components/MessageInput/components/OutputButtons/index.d.ts.map +1 -1
  421. package/lib/typescript/components/MessageList/MessageFlashList.d.ts +1 -1
  422. package/lib/typescript/components/MessageList/MessageFlashList.d.ts.map +1 -1
  423. package/lib/typescript/components/MessageList/MessageList.d.ts +1 -1
  424. package/lib/typescript/components/MessageList/MessageList.d.ts.map +1 -1
  425. package/lib/typescript/components/MessageList/StickyHeader.d.ts +2 -3
  426. package/lib/typescript/components/MessageList/StickyHeader.d.ts.map +1 -1
  427. package/lib/typescript/components/MessageMenu/MessageActionList.d.ts +1 -2
  428. package/lib/typescript/components/MessageMenu/MessageActionList.d.ts.map +1 -1
  429. package/lib/typescript/components/MessageMenu/MessageMenu.d.ts +1 -2
  430. package/lib/typescript/components/MessageMenu/MessageMenu.d.ts.map +1 -1
  431. package/lib/typescript/components/MessageMenu/MessageUserReactions.d.ts +1 -1
  432. package/lib/typescript/components/MessageMenu/MessageUserReactions.d.ts.map +1 -1
  433. package/lib/typescript/components/MessageMenu/MessageUserReactionsItem.d.ts +2 -3
  434. package/lib/typescript/components/MessageMenu/MessageUserReactionsItem.d.ts.map +1 -1
  435. package/lib/typescript/components/Poll/CreatePollContent.d.ts +2 -2
  436. package/lib/typescript/components/Poll/CreatePollContent.d.ts.map +1 -1
  437. package/lib/typescript/components/Poll/Poll.d.ts +5 -8
  438. package/lib/typescript/components/Poll/Poll.d.ts.map +1 -1
  439. package/lib/typescript/components/Poll/components/PollAnswersList.d.ts +1 -2
  440. package/lib/typescript/components/Poll/components/PollAnswersList.d.ts.map +1 -1
  441. package/lib/typescript/components/Poll/components/PollOption.d.ts +1 -2
  442. package/lib/typescript/components/Poll/components/PollOption.d.ts.map +1 -1
  443. package/lib/typescript/components/Poll/components/PollResults/PollOptionFullResults.d.ts +1 -4
  444. package/lib/typescript/components/Poll/components/PollResults/PollOptionFullResults.d.ts.map +1 -1
  445. package/lib/typescript/components/Poll/components/PollResults/PollResults.d.ts +1 -2
  446. package/lib/typescript/components/Poll/components/PollResults/PollResults.d.ts.map +1 -1
  447. package/lib/typescript/components/Reply/Reply.d.ts +4 -3
  448. package/lib/typescript/components/Reply/Reply.d.ts.map +1 -1
  449. package/lib/typescript/components/Thread/Thread.d.ts +2 -8
  450. package/lib/typescript/components/Thread/Thread.d.ts.map +1 -1
  451. package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts +1 -2
  452. package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts.map +1 -1
  453. package/lib/typescript/components/ThreadList/ThreadList.d.ts +2 -3
  454. package/lib/typescript/components/ThreadList/ThreadList.d.ts.map +1 -1
  455. package/lib/typescript/components/ThreadList/ThreadListItem.d.ts.map +1 -1
  456. package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts +0 -17
  457. package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts.map +1 -1
  458. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +0 -23
  459. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts.map +1 -1
  460. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +0 -112
  461. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts.map +1 -1
  462. package/lib/typescript/contexts/chatContext/ChatContext.d.ts +0 -5
  463. package/lib/typescript/contexts/chatContext/ChatContext.d.ts.map +1 -1
  464. package/lib/typescript/contexts/componentsContext/ComponentsContext.d.ts +321 -0
  465. package/lib/typescript/contexts/componentsContext/ComponentsContext.d.ts.map +1 -0
  466. package/lib/typescript/contexts/componentsContext/defaultComponents.d.ts +296 -0
  467. package/lib/typescript/contexts/componentsContext/defaultComponents.d.ts.map +1 -0
  468. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts.map +1 -1
  469. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContextBase.d.ts +0 -5
  470. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContextBase.d.ts.map +1 -1
  471. package/lib/typescript/contexts/index.d.ts +1 -0
  472. package/lib/typescript/contexts/index.d.ts.map +1 -1
  473. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +1 -169
  474. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts.map +1 -1
  475. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +1 -1
  476. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts.map +1 -1
  477. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +3 -332
  478. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts.map +1 -1
  479. package/lib/typescript/contexts/overlayContext/MessageOverlayHostLayer.d.ts +2 -5
  480. package/lib/typescript/contexts/overlayContext/MessageOverlayHostLayer.d.ts.map +1 -1
  481. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +0 -4
  482. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts.map +1 -1
  483. package/lib/typescript/contexts/overlayContext/OverlayProvider.d.ts.map +1 -1
  484. package/lib/typescript/contexts/threadsContext/ThreadsContext.d.ts +0 -9
  485. package/lib/typescript/contexts/threadsContext/ThreadsContext.d.ts.map +1 -1
  486. package/package.json +1 -1
  487. package/src/__tests__/offline-support/offline-feature.js +64 -67
  488. package/src/components/Attachment/Attachment.tsx +7 -69
  489. package/src/components/Attachment/FileAttachment.tsx +4 -7
  490. package/src/components/Attachment/FileAttachmentGroup.tsx +9 -19
  491. package/src/components/Attachment/FilePreview.tsx +4 -9
  492. package/src/components/Attachment/Gallery.tsx +6 -83
  493. package/src/components/Attachment/GalleryImage.tsx +5 -4
  494. package/src/components/Attachment/Giphy/GiphyImage.tsx +15 -37
  495. package/src/components/Attachment/UnsupportedAttachment.tsx +5 -10
  496. package/src/components/Attachment/UrlPreview/URLPreview.tsx +6 -4
  497. package/src/components/Attachment/UrlPreview/URLPreviewCompact.tsx +6 -4
  498. package/src/components/AttachmentPicker/AttachmentPicker.tsx +2 -2
  499. package/src/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.tsx +5 -4
  500. package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +4 -20
  501. package/src/components/Channel/Channel.tsx +31 -438
  502. package/src/components/Channel/__tests__/isAttachmentEqualHandler.test.js +12 -9
  503. package/src/components/Channel/hooks/useCreateChannelContext.ts +0 -8
  504. package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +1 -81
  505. package/src/components/Channel/hooks/useCreateMessagesContext.ts +0 -130
  506. package/src/components/ChannelList/ChannelList.tsx +3 -76
  507. package/src/components/ChannelList/ChannelListLoadingIndicator.tsx +3 -1
  508. package/src/components/ChannelList/ChannelListView.tsx +12 -33
  509. package/src/components/ChannelList/__tests__/ChannelList.test.js +173 -116
  510. package/src/components/ChannelList/__tests__/ChannelListView.test.js +64 -41
  511. package/src/components/ChannelList/hooks/useCreateChannelsContext.ts +0 -39
  512. package/src/components/ChannelPreview/ChannelDetailsBottomSheet.tsx +2 -2
  513. package/src/components/ChannelPreview/ChannelPreview.tsx +6 -14
  514. package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +7 -33
  515. package/src/components/ChannelPreview/ChannelPreviewView.tsx +11 -40
  516. package/src/components/ChannelPreview/ChannelSwipableWrapper.tsx +2 -4
  517. package/src/components/ChannelPreview/__tests__/ChannelDetailsBottomSheet.test.tsx +16 -12
  518. package/src/components/ChannelPreview/__tests__/ChannelPreview.test.tsx +25 -24
  519. package/src/components/ChannelPreview/__tests__/ChannelSwipableWrapper.test.tsx +11 -6
  520. package/src/components/Chat/Chat.tsx +5 -12
  521. package/src/components/Chat/hooks/useCreateChatContext.ts +0 -2
  522. package/src/components/ImageGallery/ImageGallery.tsx +14 -16
  523. package/src/components/ImageGallery/__tests__/ImageGallery.test.tsx +0 -8
  524. package/src/components/ImageGallery/__tests__/ImageGalleryFooter.test.tsx +25 -21
  525. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +3 -1
  526. package/src/components/ImageGallery/components/types.ts +0 -3
  527. package/src/components/Message/Message.tsx +11 -32
  528. package/src/components/Message/MessageItemView/MessageBubble.tsx +11 -7
  529. package/src/components/Message/MessageItemView/MessageContent.tsx +14 -47
  530. package/src/components/Message/MessageItemView/MessageDeleted.tsx +3 -9
  531. package/src/components/Message/MessageItemView/MessageFooter.tsx +2 -14
  532. package/src/components/Message/MessageItemView/MessageHeader.tsx +11 -29
  533. package/src/components/Message/MessageItemView/MessageItemView.tsx +10 -42
  534. package/src/components/Message/MessageItemView/MessageReplies.tsx +2 -8
  535. package/src/components/Message/MessageItemView/MessageTextContainer.tsx +4 -8
  536. package/src/components/Message/MessageItemView/MessageWrapper.tsx +4 -9
  537. package/src/components/Message/MessageItemView/ReactionList/ReactionListBottom.tsx +4 -12
  538. package/src/components/Message/MessageItemView/ReactionList/ReactionListTop.tsx +4 -20
  539. package/src/components/Message/MessageItemView/__tests__/MessageContent.test.js +47 -30
  540. package/src/components/Message/MessageItemView/__tests__/MessageItemView.test.js +16 -7
  541. package/src/components/Message/MessageItemView/__tests__/MessageTextContainer.test.tsx +8 -4
  542. package/src/components/MessageInput/MessageComposer.tsx +16 -76
  543. package/src/components/MessageInput/MessageInputHeaderView.tsx +3 -3
  544. package/src/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.tsx +7 -35
  545. package/src/components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview.tsx +2 -2
  546. package/src/components/MessageInput/components/AttachmentPreview/ImageAttachmentUploadPreview.tsx +2 -2
  547. package/src/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.tsx +6 -4
  548. package/src/components/MessageInput/components/InputButtons/index.tsx +4 -5
  549. package/src/components/MessageInput/components/LinkPreviewList.tsx +3 -2
  550. package/src/components/MessageInput/components/OutputButtons/index.tsx +4 -23
  551. package/src/components/MessageList/MessageFlashList.tsx +13 -57
  552. package/src/components/MessageList/MessageList.tsx +15 -57
  553. package/src/components/MessageList/StickyHeader.tsx +4 -3
  554. package/src/components/MessageMenu/MessageActionList.tsx +4 -3
  555. package/src/components/MessageMenu/MessageMenu.tsx +35 -47
  556. package/src/components/MessageMenu/MessageUserReactions.tsx +7 -27
  557. package/src/components/MessageMenu/MessageUserReactionsItem.tsx +3 -6
  558. package/src/components/MessageMenu/__tests__/MessageUserReactions.test.tsx +12 -11
  559. package/src/components/Poll/CreatePollContent.tsx +3 -4
  560. package/src/components/Poll/Poll.tsx +22 -24
  561. package/src/components/Poll/components/PollAnswersList.tsx +9 -11
  562. package/src/components/Poll/components/PollOption.tsx +9 -11
  563. package/src/components/Poll/components/PollResults/PollOptionFullResults.tsx +10 -11
  564. package/src/components/Poll/components/PollResults/PollResults.tsx +9 -15
  565. package/src/components/Reply/Reply.tsx +18 -5
  566. package/src/components/Thread/Thread.tsx +3 -18
  567. package/src/components/Thread/components/ThreadFooterComponent.tsx +10 -11
  568. package/src/components/ThreadList/ThreadList.tsx +14 -22
  569. package/src/components/ThreadList/ThreadListItem.tsx +6 -11
  570. package/src/components/ui/Avatar/Avatar.tsx +2 -2
  571. package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +0 -15
  572. package/src/contexts/channelContext/ChannelContext.tsx +0 -24
  573. package/src/contexts/channelsContext/ChannelsContext.tsx +0 -113
  574. package/src/contexts/chatContext/ChatContext.tsx +0 -5
  575. package/src/contexts/componentsContext/ComponentsContext.tsx +62 -0
  576. package/src/contexts/componentsContext/PLAN.md +148 -0
  577. package/src/contexts/componentsContext/__tests__/defaultComponents.test.ts +44 -0
  578. package/src/contexts/componentsContext/defaultComponents.ts +332 -0
  579. package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +0 -8
  580. package/src/contexts/imageGalleryContext/ImageGalleryContextBase.tsx +0 -10
  581. package/src/contexts/index.ts +1 -0
  582. package/src/contexts/messageInputContext/MessageInputContext.tsx +0 -185
  583. package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +1 -75
  584. package/src/contexts/messagesContext/MessagesContext.tsx +3 -358
  585. package/src/contexts/overlayContext/MessageOverlayHostLayer.tsx +5 -7
  586. package/src/contexts/overlayContext/OverlayContext.tsx +0 -4
  587. package/src/contexts/overlayContext/OverlayProvider.tsx +1 -2
  588. package/src/contexts/overlayContext/__tests__/MessageOverlayHostLayer.test.tsx +21 -6
  589. package/src/contexts/threadsContext/ThreadsContext.tsx +0 -9
  590. package/src/version.json +1 -1
@@ -6,6 +6,7 @@ import { fireEvent, render } from '@testing-library/react-native';
6
6
 
7
7
  import { LocalMessage, ReactionResponse } from 'stream-chat';
8
8
 
9
+ import { WithComponents } from '../../../contexts/componentsContext/ComponentsContext';
9
10
  import {
10
11
  MessagesContextValue,
11
12
  MessagesProvider,
@@ -42,18 +43,18 @@ const renderComponent = (props = {}) =>
42
43
  render(
43
44
  <ThemeProvider theme={defaultTheme}>
44
45
  <TranslationProvider value={mockTranslations as unknown as TranslationContextValue}>
45
- <MessagesProvider
46
- value={
47
- {
48
- MessageUserReactionsAvatar: () => null,
49
- MessageUserReactionsItem: (props: MessageUserReactionsItemProps) => (
50
- <Text>{props.reaction.id + ' ' + props.reaction.type}</Text>
51
- ),
52
- } as unknown as MessagesContextValue
53
- }
46
+ <WithComponents
47
+ overrides={{
48
+ MessageUserReactionsAvatar: () => null,
49
+ MessageUserReactionsItem: (itemProps: MessageUserReactionsItemProps) => (
50
+ <Text>{itemProps.reaction.id + ' ' + itemProps.reaction.type}</Text>
51
+ ),
52
+ }}
54
53
  >
55
- <MessageUserReactions {...defaultProps} {...props} />
56
- </MessagesProvider>
54
+ <MessagesProvider value={{} as unknown as MessagesContextValue}>
55
+ <MessageUserReactions {...defaultProps} {...props} />
56
+ </MessagesProvider>
57
+ </WithComponents>
57
58
  </TranslationProvider>
58
59
  </ThemeProvider>,
59
60
  );
@@ -16,11 +16,11 @@ import {
16
16
  CreatePollModalState,
17
17
  CreatePollContentContextValue,
18
18
  CreatePollContentProvider,
19
- InputMessageInputContextValue,
20
19
  useCreatePollContentContext,
21
20
  useTheme,
22
21
  useTranslationContext,
23
22
  } from '../../contexts';
23
+ import { useComponentsContext } from '../../contexts/componentsContext/ComponentsContext';
24
24
  import { useMessageComposer } from '../../contexts/messageInputContext/hooks/useMessageComposer';
25
25
  import { useStateStore } from '../../hooks/useStateStore';
26
26
  import { primitives } from '../../theme';
@@ -212,14 +212,13 @@ export const CreatePollContent = () => {
212
212
 
213
213
  export const CreatePoll = ({
214
214
  closePollCreationDialog,
215
- CreatePollContent: CreatePollContentOverride,
216
215
  createPollOptionGap = 8,
217
216
  sendMessage,
218
217
  }: Pick<
219
218
  CreatePollContentContextValue,
220
219
  'createPollOptionGap' | 'closePollCreationDialog' | 'sendMessage'
221
- > &
222
- Pick<InputMessageInputContextValue, 'CreatePollContent'>) => {
220
+ >) => {
221
+ const { CreatePollContent: CreatePollContentOverride } = useComponentsContext();
223
222
  const messageComposer = useMessageComposer();
224
223
  const [modalStateStore] = useState(
225
224
  () => new StateStore<CreatePollModalState>({ isClosing: false }),
@@ -3,28 +3,24 @@ import { StyleSheet, Text, View } from 'react-native';
3
3
 
4
4
  import { PollOption as PollOptionClass } from 'stream-chat';
5
5
 
6
- import { PollButtons, PollOption, ShowAllOptionsButton } from './components';
6
+ import { PollOption, ShowAllOptionsButton } from './components';
7
7
 
8
8
  import { usePollState } from './hooks/usePollState';
9
9
 
10
10
  import {
11
- MessagesContextValue,
12
11
  PollContextProvider,
13
12
  PollContextValue,
14
13
  useTheme,
15
14
  useTranslationContext,
16
15
  } from '../../contexts';
16
+ import { useComponentsContext } from '../../contexts/componentsContext/ComponentsContext';
17
17
 
18
18
  import { primitives } from '../../theme';
19
19
  import { defaultPollOptionCount } from '../../utils/constants';
20
20
 
21
- export type PollProps = Pick<PollContextValue, 'poll' | 'message'> &
22
- Pick<MessagesContextValue, 'PollContent'>;
21
+ export type PollProps = Pick<PollContextValue, 'poll' | 'message'>;
23
22
 
24
- export type PollContentProps = {
25
- PollButtons?: React.ComponentType;
26
- PollHeader?: React.ComponentType;
27
- };
23
+ export type PollContentProps = Record<string, never>;
28
24
 
29
25
  export const PollHeader = () => {
30
26
  const styles = useStyles();
@@ -60,12 +56,11 @@ export const PollHeader = () => {
60
56
  );
61
57
  };
62
58
 
63
- export const PollContent = ({
64
- PollButtons: PollButtonsOverride,
65
- PollHeader: PollHeaderOverride,
66
- }: PollContentProps) => {
59
+ export const PollContent = () => {
67
60
  const { options } = usePollState();
68
61
  const styles = useStyles();
62
+ const { PollButtons: PollButtonsComponent, PollHeader: PollHeaderComponent } =
63
+ useComponentsContext();
69
64
 
70
65
  const {
71
66
  theme: {
@@ -77,7 +72,7 @@ export const PollContent = ({
77
72
 
78
73
  return (
79
74
  <View style={[styles.container, container]}>
80
- {PollHeaderOverride ? <PollHeaderOverride /> : <PollHeader />}
75
+ <PollHeaderComponent />
81
76
  <View style={[styles.optionsWrapper, optionsWrapper]}>
82
77
  {options
83
78
  ?.slice(0, defaultPollOptionCount)
@@ -86,21 +81,24 @@ export const PollContent = ({
86
81
  ))}
87
82
  <ShowAllOptionsButton />
88
83
  </View>
89
- {PollButtonsOverride ? <PollButtonsOverride /> : <PollButtons />}
84
+ <PollButtonsComponent />
90
85
  </View>
91
86
  );
92
87
  };
93
88
 
94
- export const Poll = ({ message, poll, PollContent: PollContentOverride }: PollProps) => (
95
- <PollContextProvider
96
- value={{
97
- message,
98
- poll,
99
- }}
100
- >
101
- {PollContentOverride ? <PollContentOverride /> : <PollContent />}
102
- </PollContextProvider>
103
- );
89
+ export const Poll = ({ message, poll }: PollProps) => {
90
+ const { PollContent: PollContentOverride } = useComponentsContext();
91
+ return (
92
+ <PollContextProvider
93
+ value={{
94
+ message,
95
+ poll,
96
+ }}
97
+ >
98
+ {PollContentOverride ? <PollContentOverride /> : <PollContent />}
99
+ </PollContextProvider>
100
+ );
101
+ };
104
102
 
105
103
  const useStyles = () => {
106
104
  const {
@@ -14,6 +14,7 @@ import {
14
14
  useTheme,
15
15
  useTranslationContext,
16
16
  } from '../../../contexts';
17
+ import { useComponentsContext } from '../../../contexts/componentsContext/ComponentsContext';
17
18
  import { primitives } from '../../../theme';
18
19
  import { getDateString } from '../../../utils/i18n/getDateString';
19
20
  import { Button } from '../../ui';
@@ -64,7 +65,6 @@ export const AnswerListAddCommentButton = (props: PollButtonProps) => {
64
65
 
65
66
  export type PollAnswersListProps = PollContextValue & {
66
67
  additionalFlatListProps?: Partial<FlatListProps<PollAnswer>>;
67
- PollAnswersListContent?: React.ComponentType;
68
68
  };
69
69
 
70
70
  export const PollAnswerListItem = ({ answer }: { answer: PollAnswer }) => {
@@ -157,16 +157,14 @@ export const PollAnswersList = ({
157
157
  additionalFlatListProps,
158
158
  message,
159
159
  poll,
160
- PollAnswersListContent: PollAnswersListOverride,
161
- }: PollAnswersListProps) => (
162
- <PollContextProvider value={{ message, poll }}>
163
- {PollAnswersListOverride ? (
164
- <PollAnswersListOverride />
165
- ) : (
166
- <PollAnswersListContent additionalFlatListProps={additionalFlatListProps} />
167
- )}
168
- </PollContextProvider>
169
- );
160
+ }: PollAnswersListProps) => {
161
+ const { PollAnswersListContent: PollAnswersListContentComponent } = useComponentsContext();
162
+ return (
163
+ <PollContextProvider value={{ message, poll }}>
164
+ <PollAnswersListContentComponent additionalFlatListProps={additionalFlatListProps} />
165
+ </PollContextProvider>
166
+ );
167
+ };
170
168
 
171
169
  const useStyles = () => {
172
170
  const {
@@ -16,6 +16,7 @@ import {
16
16
  useTheme,
17
17
  useTranslationContext,
18
18
  } from '../../../contexts';
19
+ import { useComponentsContext } from '../../../contexts/componentsContext/ComponentsContext';
19
20
 
20
21
  import { Check } from '../../../icons';
21
22
  import { primitives } from '../../../theme';
@@ -32,7 +33,6 @@ export type PollOptionProps = {
32
33
 
33
34
  export type PollAllOptionsContentProps = PollContextValue & {
34
35
  additionalScrollViewProps?: Partial<ScrollViewProps>;
35
- PollAllOptionsContent?: React.ComponentType;
36
36
  };
37
37
 
38
38
  export const PollAllOptionsContent = ({
@@ -75,16 +75,14 @@ export const PollAllOptions = ({
75
75
  additionalScrollViewProps,
76
76
  message,
77
77
  poll,
78
- PollAllOptionsContent: PollAllOptionsContentOverride,
79
- }: PollAllOptionsContentProps) => (
80
- <PollContextProvider value={{ message, poll }}>
81
- {PollAllOptionsContentOverride ? (
82
- <PollAllOptionsContentOverride />
83
- ) : (
84
- <PollAllOptionsContent additionalScrollViewProps={additionalScrollViewProps} />
85
- )}
86
- </PollContextProvider>
87
- );
78
+ }: PollAllOptionsContentProps) => {
79
+ const { PollAllOptionsContent: PollAllOptionsContentComponent } = useComponentsContext();
80
+ return (
81
+ <PollContextProvider value={{ message, poll }}>
82
+ <PollAllOptionsContentComponent additionalScrollViewProps={additionalScrollViewProps} />
83
+ </PollContextProvider>
84
+ );
85
+ };
88
86
 
89
87
  export const PollOption = ({ option, showProgressBar = true, forceIncoming }: PollOptionProps) => {
90
88
  const { latestVotesByOption, voteCountsByOption, voteCount } = usePollState();
@@ -11,6 +11,7 @@ import {
11
11
  useTheme,
12
12
  useTranslationContext,
13
13
  } from '../../../../contexts';
14
+ import { useComponentsContext } from '../../../../contexts/componentsContext/ComponentsContext';
14
15
 
15
16
  import { primitives } from '../../../../theme';
16
17
  import { usePollOptionVotesPagination } from '../../hooks/usePollOptionVotesPagination';
@@ -19,7 +20,6 @@ import { usePollState } from '../../hooks/usePollState';
19
20
  export type PollOptionFullResultsProps = PollContextValue & {
20
21
  option: PollOption;
21
22
  additionalFlatListProps?: Partial<FlatListProps<PollVoteClass>>;
22
- PollOptionFullResultsContent?: React.ComponentType<{ option: PollOption }>;
23
23
  };
24
24
 
25
25
  export const renderPollOptionFullResultsItem = ({ item }: { item: PollVoteClass }) => (
@@ -86,19 +86,18 @@ export const PollOptionFullResults = ({
86
86
  message,
87
87
  option,
88
88
  poll,
89
- PollOptionFullResultsContent: PollOptionFullResultsContentOverride,
90
- }: PollOptionFullResultsProps) => (
91
- <PollContextProvider value={{ message, poll }}>
92
- {PollOptionFullResultsContentOverride ? (
93
- <PollOptionFullResultsContentOverride option={option} />
94
- ) : (
95
- <PollOptionFullResultsContent
89
+ }: PollOptionFullResultsProps) => {
90
+ const { PollOptionFullResultsContent: PollOptionFullResultsContentComponent } =
91
+ useComponentsContext();
92
+ return (
93
+ <PollContextProvider value={{ message, poll }}>
94
+ <PollOptionFullResultsContentComponent
96
95
  additionalFlatListProps={additionalFlatListProps}
97
96
  option={option}
98
97
  />
99
- )}
100
- </PollContextProvider>
101
- );
98
+ </PollContextProvider>
99
+ );
100
+ };
102
101
 
103
102
  const useStyles = () => {
104
103
  const {
@@ -11,12 +11,12 @@ import {
11
11
  useTheme,
12
12
  useTranslationContext,
13
13
  } from '../../../../contexts';
14
+ import { useComponentsContext } from '../../../../contexts/componentsContext/ComponentsContext';
14
15
  import { primitives } from '../../../../theme';
15
16
  import { usePollState } from '../../hooks/usePollState';
16
17
 
17
18
  export type PollResultsProps = PollContextValue & {
18
19
  additionalScrollViewProps?: Partial<ScrollViewProps>;
19
- PollResultsContent?: React.ComponentType;
20
20
  };
21
21
 
22
22
  export const PollResultsContent = ({
@@ -62,20 +62,14 @@ export const PollResultsContent = ({
62
62
  );
63
63
  };
64
64
 
65
- export const PollResults = ({
66
- additionalScrollViewProps,
67
- message,
68
- poll,
69
- PollResultsContent: PollResultsContentOverride,
70
- }: PollResultsProps) => (
71
- <PollContextProvider value={{ message, poll }}>
72
- {PollResultsContentOverride ? (
73
- <PollResultsContentOverride />
74
- ) : (
75
- <PollResultsContent additionalScrollViewProps={additionalScrollViewProps} />
76
- )}
77
- </PollContextProvider>
78
- );
65
+ export const PollResults = ({ additionalScrollViewProps, message, poll }: PollResultsProps) => {
66
+ const { PollResultsContent: PollResultsContentComponent } = useComponentsContext();
67
+ return (
68
+ <PollContextProvider value={{ message, poll }}>
69
+ <PollResultsContentComponent additionalScrollViewProps={additionalScrollViewProps} />
70
+ </PollContextProvider>
71
+ );
72
+ };
79
73
 
80
74
  const useStyles = () => {
81
75
  const {
@@ -1,5 +1,14 @@
1
1
  import React, { useMemo } from 'react';
2
- import { I18nManager, Image, StyleSheet, Text, TextStyle, View, ViewStyle } from 'react-native';
2
+ import {
3
+ I18nManager,
4
+ Image,
5
+ ImageProps,
6
+ StyleSheet,
7
+ Text,
8
+ TextStyle,
9
+ View,
10
+ ViewStyle,
11
+ } from 'react-native';
3
12
 
4
13
  import {
5
14
  isFileAttachment,
@@ -10,7 +19,8 @@ import {
10
19
 
11
20
  import { ReplyMessageView } from './ReplyMessageView';
12
21
 
13
- import { ChatContextValue, useChatContext } from '../../contexts/chatContext/ChatContext';
22
+ import { useChatContext } from '../../contexts/chatContext/ChatContext';
23
+ import { useComponentsContext } from '../../contexts/componentsContext/ComponentsContext';
14
24
  import {
15
25
  MessageContextValue,
16
26
  useMessageContext,
@@ -79,8 +89,10 @@ const RightContent = React.memo(
79
89
  },
80
90
  );
81
91
 
82
- export type ReplyPropsWithContext = Pick<ChatContextValue, 'ImageComponent'> &
83
- Pick<MessageContextValue, 'message'> &
92
+ export type ReplyPropsWithContext = { ImageComponent: React.ComponentType<ImageProps> } & Pick<
93
+ MessageContextValue,
94
+ 'message'
95
+ > &
84
96
  Pick<MessagesContextValue, 'quotedMessage'> & {
85
97
  isMyMessage: boolean;
86
98
  onDismiss?: () => void;
@@ -216,7 +228,8 @@ export type ReplyProps = Partial<ReplyPropsWithContext> &
216
228
 
217
229
  export const Reply = (props: ReplyProps) => {
218
230
  const { message: messageFromContext } = useMessageContext();
219
- const { client, ImageComponent } = useChatContext();
231
+ const { client } = useChatContext();
232
+ const { ImageComponent } = useComponentsContext();
220
233
 
221
234
  const messageComposer = useMessageComposer();
222
235
  const { quotedMessage: quotedMessageFromComposer } = useStateStore(
@@ -4,16 +4,10 @@ import { ThreadFooterComponent } from './components/ThreadFooterComponent';
4
4
 
5
5
  import { useChannelContext } from '../../contexts/channelContext/ChannelContext';
6
6
  import { ChatContextValue, useChatContext } from '../../contexts/chatContext/ChatContext';
7
- import {
8
- MessagesContextValue,
9
- useMessagesContext,
10
- } from '../../contexts/messagesContext/MessagesContext';
7
+ import { useComponentsContext } from '../../contexts/componentsContext/ComponentsContext';
11
8
  import { ThreadContextValue, useThreadContext } from '../../contexts/threadContext/ThreadContext';
12
9
 
13
- import {
14
- MessageComposer as DefaultMessageComposer,
15
- MessageComposerProps,
16
- } from '../MessageInput/MessageComposer';
10
+ import type { MessageComposerProps } from '../MessageInput/MessageComposer';
17
11
  import { MessageFlashList, MessageFlashListProps } from '../MessageList/MessageFlashList';
18
12
  import { MessageListProps } from '../MessageList/MessageList';
19
13
 
@@ -26,7 +20,6 @@ try {
26
20
  }
27
21
 
28
22
  type ThreadPropsWithContext = Pick<ChatContextValue, 'client'> &
29
- Pick<MessagesContextValue, 'MessageList'> &
30
23
  Pick<
31
24
  ThreadContextValue,
32
25
  | 'closeThread'
@@ -59,11 +52,6 @@ type ThreadPropsWithContext = Pick<ChatContextValue, 'client'> &
59
52
  closeThreadOnDismount?: boolean;
60
53
  /** Disables the thread UI. So MessageComposer and MessageList will be disabled. */
61
54
  disabled?: boolean;
62
- /**
63
- * **Customized MessageComposer component to used within Thread instead of default MessageComposer
64
- * **Available from [MessageComposer](https://getstream.io/chat/docs/sdk/reactnative/ui-components/message-input)**
65
- */
66
- MessageComposer?: React.ComponentType<MessageComposerProps>;
67
55
  /**
68
56
  * Call custom function on closing thread if handling thread state elsewhere
69
57
  */
@@ -81,14 +69,13 @@ const ThreadWithContext = (props: ThreadPropsWithContext) => {
81
69
  closeThreadOnDismount = true,
82
70
  disabled,
83
71
  loadMoreThread,
84
- MessageComposer = DefaultMessageComposer,
85
- MessageList,
86
72
  onThreadDismount,
87
73
  parentMessagePreventPress = true,
88
74
  thread,
89
75
  threadInstance,
90
76
  shouldUseFlashList = false,
91
77
  } = props;
78
+ const { MessageList, ThreadMessageComposer: MessageComposer } = useComponentsContext();
92
79
 
93
80
  useEffect(() => {
94
81
  if (threadInstance?.activate) {
@@ -171,7 +158,6 @@ export type ThreadProps = Partial<ThreadPropsWithContext>;
171
158
  export const Thread = (props: ThreadProps) => {
172
159
  const { client } = useChatContext();
173
160
  const { threadList } = useChannelContext();
174
- const { MessageList } = useMessagesContext();
175
161
  const { closeThread, loadMoreThread, reloadThread, thread, threadInstance } = useThreadContext();
176
162
 
177
163
  if (thread?.id && !threadList) {
@@ -186,7 +172,6 @@ export const Thread = (props: ThreadProps) => {
186
172
  client,
187
173
  closeThread,
188
174
  loadMoreThread,
189
- MessageList,
190
175
  reloadThread,
191
176
  thread,
192
177
  threadInstance,
@@ -3,10 +3,7 @@ import { ActivityIndicator, StyleSheet, Text, View } from 'react-native';
3
3
 
4
4
  import type { ThreadState } from 'stream-chat';
5
5
 
6
- import {
7
- MessagesContextValue,
8
- useMessagesContext,
9
- } from '../../../contexts/messagesContext/MessagesContext';
6
+ import { useComponentsContext } from '../../../contexts/componentsContext/ComponentsContext';
10
7
  import { useTheme } from '../../../contexts/themeContext/ThemeContext';
11
8
  import {
12
9
  ThreadContextValue,
@@ -16,8 +13,10 @@ import { useTranslationContext } from '../../../contexts/translationContext/Tran
16
13
  import { useStateStore } from '../../../hooks';
17
14
  import { primitives } from '../../../theme';
18
15
 
19
- type ThreadFooterComponentPropsWithContext = Pick<MessagesContextValue, 'Message'> &
20
- Pick<ThreadContextValue, 'parentMessagePreventPress' | 'thread' | 'threadInstance'>;
16
+ type ThreadFooterComponentPropsWithContext = Pick<
17
+ ThreadContextValue,
18
+ 'parentMessagePreventPress' | 'thread' | 'threadInstance'
19
+ >;
21
20
 
22
21
  export const InlineLoadingMoreThreadIndicator = () => {
23
22
  const { threadLoadingMore } = useThreadContext();
@@ -43,7 +42,8 @@ const selector = (nextValue: ThreadState) =>
43
42
  }) as const;
44
43
 
45
44
  const ThreadFooterComponentWithContext = (props: ThreadFooterComponentPropsWithContext) => {
46
- const { Message, parentMessagePreventPress, thread, threadInstance } = props;
45
+ const { parentMessagePreventPress, thread, threadInstance } = props;
46
+ const { Message } = useComponentsContext();
47
47
  const { t } = useTranslationContext();
48
48
 
49
49
  const styles = useStyles();
@@ -131,18 +131,17 @@ const MemoizedThreadFooter = React.memo(
131
131
  areEqual,
132
132
  ) as typeof ThreadFooterComponentWithContext;
133
133
 
134
- export type ThreadFooterComponentProps = Partial<Pick<MessagesContextValue, 'Message'>> &
135
- Partial<Pick<ThreadContextValue, 'parentMessagePreventPress' | 'thread'>>;
134
+ export type ThreadFooterComponentProps = Partial<
135
+ Pick<ThreadContextValue, 'parentMessagePreventPress' | 'thread'>
136
+ >;
136
137
 
137
138
  export const ThreadFooterComponent = (props: ThreadFooterComponentProps) => {
138
- const { Message } = useMessagesContext();
139
139
  const { parentMessagePreventPress, thread, threadInstance, threadLoadingMore } =
140
140
  useThreadContext();
141
141
 
142
142
  return (
143
143
  <MemoizedThreadFooter
144
144
  {...{
145
- Message,
146
145
  parentMessagePreventPress,
147
146
  thread,
148
147
  threadInstance,
@@ -5,9 +5,9 @@ import { Thread, ThreadManagerState } from 'stream-chat';
5
5
 
6
6
  import { ThreadListItem } from './ThreadListItem';
7
7
  import { ThreadListItemSkeleton } from './ThreadListItemSkeleton';
8
- import { ThreadListUnreadBanner as DefaultThreadListBanner } from './ThreadListUnreadBanner';
9
8
 
10
9
  import { useChatContext } from '../../contexts';
10
+ import { useComponentsContext } from '../../contexts/componentsContext/ComponentsContext';
11
11
  import {
12
12
  ThreadsContextValue,
13
13
  ThreadsProvider,
@@ -27,14 +27,8 @@ const selector = (nextValue: ThreadManagerState) =>
27
27
 
28
28
  export type ThreadListProps = Pick<
29
29
  ThreadsContextValue,
30
- | 'additionalFlatListProps'
31
- | 'isFocused'
32
- | 'onThreadSelect'
33
- | 'ThreadListItem'
34
- | 'ThreadListEmptyPlaceholder'
35
- | 'ThreadListLoadingIndicator'
36
- | 'ThreadListUnreadBanner'
37
- > & { ThreadList?: React.ComponentType };
30
+ 'additionalFlatListProps' | 'isFocused' | 'onThreadSelect'
31
+ >;
38
32
 
39
33
  export const DefaultThreadListEmptyPlaceholder = () => <EmptyStateIndicator listType='threads' />;
40
34
 
@@ -49,18 +43,15 @@ export const DefaultThreadListLoadingNextIndicator = () => <LoadingIndicator lis
49
43
 
50
44
  const renderItem = (props: { item: Thread }) => <ThreadListItem thread={props.item} />;
51
45
 
52
- const ThreadListComponent = () => {
46
+ export const DefaultThreadListComponent = () => {
47
+ const { additionalFlatListProps, isLoading, isLoadingNext, loadMore, threads } =
48
+ useThreadsContext();
53
49
  const {
54
- additionalFlatListProps,
55
- isLoading,
56
- isLoadingNext,
57
- loadMore,
58
- ThreadListEmptyPlaceholder = DefaultThreadListEmptyPlaceholder,
59
- ThreadListLoadingIndicator = DefaultThreadListLoadingIndicator,
60
- ThreadListLoadingMoreIndicator = DefaultThreadListLoadingNextIndicator,
61
- ThreadListUnreadBanner = DefaultThreadListBanner,
62
- threads,
63
- } = useThreadsContext();
50
+ ThreadListEmptyPlaceholder,
51
+ ThreadListLoadingIndicator,
52
+ ThreadListLoadingMoreIndicator,
53
+ ThreadListUnreadBanner,
54
+ } = useComponentsContext();
64
55
 
65
56
  if (isLoading) {
66
57
  return <ThreadListLoadingIndicator />;
@@ -85,7 +76,8 @@ const ThreadListComponent = () => {
85
76
  };
86
77
 
87
78
  export const ThreadList = (props: ThreadListProps) => {
88
- const { isFocused = true, ThreadList = ThreadListComponent } = props;
79
+ const { isFocused = true } = props;
80
+ const { ThreadListComponent: ThreadListContent } = useComponentsContext();
89
81
  const { client } = useChatContext();
90
82
 
91
83
  useEffect(() => {
@@ -120,7 +112,7 @@ export const ThreadList = (props: ThreadListProps) => {
120
112
  <ThreadsProvider
121
113
  value={{ isLoading, isLoadingNext, loadMore: client.threads.loadNextPage, threads, ...props }}
122
114
  >
123
- <ThreadList />
115
+ <ThreadListContent />
124
116
  </ThreadsProvider>
125
117
  );
126
118
  };
@@ -10,11 +10,8 @@ import {
10
10
  ThreadState,
11
11
  } from 'stream-chat';
12
12
 
13
- import { ThreadListItemMessagePreview as ThreadListItemMessagePreviewDefault } from './ThreadListItemMessagePreview';
14
-
15
- import { ThreadMessagePreviewDeliveryStatus as ThreadMessagePreviewDeliveryStatusDefault } from './ThreadMessagePreviewDeliveryStatus';
16
-
17
13
  import { useChatContext, useTheme, useTranslationContext } from '../../contexts';
14
+ import { useComponentsContext } from '../../contexts/componentsContext/ComponentsContext';
18
15
  import {
19
16
  ThreadListItemProvider,
20
17
  useThreadListItemContext,
@@ -62,11 +59,9 @@ export const ThreadListItemComponent = () => {
62
59
  } = useThreadListItemContext();
63
60
  const online = useChannelPreviewDisplayPresence(channel);
64
61
  const displayName = useChannelPreviewDisplayName(channel);
65
- const {
66
- onThreadSelect,
67
- ThreadListItemMessagePreview = ThreadListItemMessagePreviewDefault,
68
- ThreadMessagePreviewDeliveryStatus = ThreadMessagePreviewDeliveryStatusDefault,
69
- } = useThreadsContext();
62
+ const { onThreadSelect } = useThreadsContext();
63
+ const { ThreadListItemMessagePreview, ThreadMessagePreviewDeliveryStatus } =
64
+ useComponentsContext();
70
65
  const {
71
66
  theme: { semantics },
72
67
  } = useTheme();
@@ -143,7 +138,7 @@ export const ThreadListItem = (props: ThreadListItemProps) => {
143
138
  const { client } = useChatContext();
144
139
  const { t, tDateTimeParser } = useTranslationContext();
145
140
  const { thread, timestampTranslationKey = 'timestamp/ThreadListItem' } = props;
146
- const { ThreadListItem = ThreadListItemComponent } = useThreadsContext();
141
+ const { ThreadListItem: ThreadListItemOverride } = useComponentsContext();
147
142
  const { text: draftText } = useStateStore(
148
143
  thread.messageComposer.textComposer.state,
149
144
  textComposerStateSelector,
@@ -229,7 +224,7 @@ export const ThreadListItem = (props: ThreadListItemProps) => {
229
224
  thread,
230
225
  }}
231
226
  >
232
- <ThreadListItem />
227
+ <ThreadListItemOverride />
233
228
  </ThreadListItemProvider>
234
229
  );
235
230
  };
@@ -3,7 +3,7 @@ import { ColorValue, StyleProp, StyleSheet, View, ViewStyle } from 'react-native
3
3
 
4
4
  import { avatarSizes } from './constants';
5
5
 
6
- import { useChatContext } from '../../../contexts';
6
+ import { useComponentsContext } from '../../../contexts/componentsContext/ComponentsContext';
7
7
  import { useTheme } from '../../../contexts/themeContext/ThemeContext';
8
8
  import { primitives } from '../../../theme';
9
9
 
@@ -21,7 +21,7 @@ export const Avatar = (props: AvatarProps) => {
21
21
  const {
22
22
  theme: { semantics },
23
23
  } = useTheme();
24
- const { ImageComponent } = useChatContext();
24
+ const { ImageComponent } = useComponentsContext();
25
25
  const defaultAvatarBg = semantics.avatarPaletteBg1;
26
26
  const {
27
27
  backgroundColor = defaultAvatarBg,