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
@@ -16,6 +16,7 @@ import { openUrlSafely } from './utils/openUrlSafely';
16
16
 
17
17
  import { useTranslationContext } from '../../contexts';
18
18
  import { useChatConfigContext } from '../../contexts/chatConfigContext/ChatConfigContext';
19
+ import { useComponentsContext } from '../../contexts/componentsContext/ComponentsContext';
19
20
  import {
20
21
  ImageGalleryContextValue,
21
22
  useImageGalleryContext,
@@ -54,14 +55,7 @@ export type GalleryPropsWithContext = Pick<ImageGalleryContextValue, 'imageGalle
54
55
  | 'message'
55
56
  | 'messageContentOrder'
56
57
  > &
57
- Pick<
58
- MessagesContextValue,
59
- | 'additionalPressableProps'
60
- | 'VideoThumbnail'
61
- | 'ImageLoadingIndicator'
62
- | 'ImageLoadingFailedIndicator'
63
- | 'myMessageTheme'
64
- > &
58
+ Pick<MessagesContextValue, 'additionalPressableProps' | 'myMessageTheme'> &
65
59
  Pick<OverlayContextValue, 'setOverlay'> & {
66
60
  channelId: string | undefined;
67
61
  messageHasOnlyOneMedia: boolean;
@@ -72,8 +66,6 @@ const GalleryWithContext = (props: GalleryPropsWithContext) => {
72
66
  additionalPressableProps,
73
67
  alignment,
74
68
  imageGalleryStateStore,
75
- ImageLoadingFailedIndicator,
76
- ImageLoadingIndicator,
77
69
  images,
78
70
  message,
79
71
  onLongPress,
@@ -82,10 +74,8 @@ const GalleryWithContext = (props: GalleryPropsWithContext) => {
82
74
  preventPress,
83
75
  setOverlay,
84
76
  videos,
85
- VideoThumbnail,
86
77
  messageHasOnlyOneMedia = false,
87
78
  } = props;
88
-
89
79
  const { resizableCDNHosts } = useChatConfigContext();
90
80
  const {
91
81
  theme: {
@@ -103,9 +93,7 @@ const GalleryWithContext = (props: GalleryPropsWithContext) => {
103
93
  },
104
94
  },
105
95
  } = useTheme();
106
-
107
96
  const styles = useStyles();
108
-
109
97
  const sizeConfig = {
110
98
  gridHeight,
111
99
  gridWidth,
@@ -114,12 +102,10 @@ const GalleryWithContext = (props: GalleryPropsWithContext) => {
114
102
  minHeight,
115
103
  minWidth,
116
104
  };
117
-
118
105
  const imagesAndVideos = [...(images || []), ...(videos || [])];
119
106
  const imagesAndVideosValue = `${images?.length}${videos?.length}${images
120
107
  ?.map((i) => `${i.image_url}${i.thumb_url}`)
121
108
  .join('')}${videos?.map((i) => `${i.image_url}${i.thumb_url}`).join('')}`;
122
-
123
109
  const { height, invertedDirections, thumbnailGrid, width } = useMemo(
124
110
  () =>
125
111
  buildGallery({
@@ -130,12 +116,10 @@ const GalleryWithContext = (props: GalleryPropsWithContext) => {
130
116
  // eslint-disable-next-line react-hooks/exhaustive-deps
131
117
  [imagesAndVideosValue],
132
118
  );
133
-
134
119
  if (!imagesAndVideos?.length) {
135
120
  return null;
136
121
  }
137
122
  const numOfColumns = thumbnailGrid.length;
138
-
139
123
  return (
140
124
  <View
141
125
  style={[
@@ -180,19 +164,15 @@ const GalleryWithContext = (props: GalleryPropsWithContext) => {
180
164
  width,
181
165
  messageHasOnlyOneMedia,
182
166
  });
183
-
184
167
  if (!message) {
185
168
  return null;
186
169
  }
187
-
188
170
  return (
189
171
  <GalleryThumbnail
190
172
  additionalPressableProps={additionalPressableProps}
191
173
  borderRadius={borderRadius}
192
174
  colIndex={colIndex}
193
175
  imageGalleryStateStore={imageGalleryStateStore}
194
- ImageLoadingFailedIndicator={ImageLoadingFailedIndicator}
195
- ImageLoadingIndicator={ImageLoadingIndicator}
196
176
  imagesAndVideos={imagesAndVideos}
197
177
  invertedDirections={invertedDirections || false}
198
178
  key={rowIndex}
@@ -206,7 +186,6 @@ const GalleryWithContext = (props: GalleryPropsWithContext) => {
206
186
  rowIndex={rowIndex}
207
187
  setOverlay={setOverlay}
208
188
  thumbnail={thumbnail}
209
- VideoThumbnail={VideoThumbnail}
210
189
  />
211
190
  );
212
191
  })}
@@ -216,7 +195,6 @@ const GalleryWithContext = (props: GalleryPropsWithContext) => {
216
195
  </View>
217
196
  );
218
197
  };
219
-
220
198
  type GalleryThumbnailProps = {
221
199
  borderRadius: GalleryImageBorderRadius;
222
200
  colIndex: number;
@@ -227,24 +205,15 @@ type GalleryThumbnailProps = {
227
205
  numOfRows: number;
228
206
  rowIndex: number;
229
207
  thumbnail: Thumbnail;
230
- } & Pick<
231
- MessagesContextValue,
232
- | 'additionalPressableProps'
233
- | 'VideoThumbnail'
234
- | 'ImageLoadingIndicator'
235
- | 'ImageLoadingFailedIndicator'
236
- > &
208
+ } & Pick<MessagesContextValue, 'additionalPressableProps'> &
237
209
  Pick<ImageGalleryContextValue, 'imageGalleryStateStore'> &
238
210
  Pick<MessageContextValue, 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'> &
239
211
  Pick<OverlayContextValue, 'setOverlay'>;
240
-
241
212
  const GalleryThumbnail = ({
242
213
  additionalPressableProps,
243
214
  borderRadius,
244
215
  colIndex,
245
216
  imageGalleryStateStore,
246
- ImageLoadingFailedIndicator,
247
- ImageLoadingIndicator,
248
217
  imagesAndVideos,
249
218
  invertedDirections,
250
219
  message,
@@ -257,8 +226,8 @@ const GalleryThumbnail = ({
257
226
  rowIndex,
258
227
  setOverlay,
259
228
  thumbnail,
260
- VideoThumbnail,
261
229
  }: GalleryThumbnailProps) => {
230
+ const { VideoThumbnail } = useComponentsContext();
262
231
  const {
263
232
  theme: {
264
233
  messageItemView: {
@@ -269,7 +238,6 @@ const GalleryThumbnail = ({
269
238
  } = useTheme();
270
239
  const { t } = useTranslationContext();
271
240
  const styles = useStyles();
272
-
273
241
  const openImageViewer = () => {
274
242
  if (!message) {
275
243
  return;
@@ -280,7 +248,6 @@ const GalleryThumbnail = ({
280
248
  });
281
249
  setOverlay('gallery');
282
250
  };
283
-
284
251
  const defaultOnPress = () => {
285
252
  // If the url is defined then only try to open the file.
286
253
  if (thumbnail.url) {
@@ -293,7 +260,6 @@ const GalleryThumbnail = ({
293
260
  }
294
261
  }
295
262
  };
296
-
297
263
  return (
298
264
  <Pressable
299
265
  disabled={preventPress}
@@ -339,8 +305,6 @@ const GalleryThumbnail = ({
339
305
  ) : (
340
306
  <GalleryImageThumbnail
341
307
  borderRadius={imageBorderRadius ?? borderRadius}
342
- ImageLoadingFailedIndicator={ImageLoadingFailedIndicator}
343
- ImageLoadingIndicator={ImageLoadingIndicator}
344
308
  thumbnail={thumbnail}
345
309
  />
346
310
  )}
@@ -362,16 +326,11 @@ const GalleryThumbnail = ({
362
326
  </Pressable>
363
327
  );
364
328
  };
365
-
366
329
  const GalleryImageThumbnail = ({
367
330
  borderRadius,
368
- ImageLoadingFailedIndicator,
369
- ImageLoadingIndicator,
370
331
  thumbnail,
371
- }: Pick<
372
- GalleryThumbnailProps,
373
- 'ImageLoadingFailedIndicator' | 'ImageLoadingIndicator' | 'thumbnail' | 'borderRadius'
374
- >) => {
332
+ }: Pick<GalleryThumbnailProps, 'thumbnail' | 'borderRadius'>) => {
333
+ const { ImageLoadingFailedIndicator, ImageLoadingIndicator } = useComponentsContext();
375
334
  const {
376
335
  isLoadingImage,
377
336
  isLoadingImageError,
@@ -379,33 +338,27 @@ const GalleryImageThumbnail = ({
379
338
  setLoadingImage,
380
339
  setLoadingImageError,
381
340
  } = useLoadingImage();
382
-
383
341
  const {
384
342
  theme: {
385
343
  messageItemView: { gallery },
386
344
  },
387
345
  } = useTheme();
388
-
389
346
  const styles = useStyles();
390
-
391
347
  const onLoadStart = useStableCallback(() => {
392
348
  setLoadingImageError(false);
393
349
  setLoadingImage(true);
394
350
  });
395
-
396
351
  const onLoad = useStableCallback(() => {
397
352
  setTimeout(() => {
398
353
  setLoadingImage(false);
399
354
  setLoadingImageError(false);
400
355
  }, 0);
401
356
  });
402
-
403
357
  const onError = useStableCallback(({ nativeEvent: { error } }: ImageErrorEvent) => {
404
358
  console.warn(error);
405
359
  setLoadingImage(false);
406
360
  setLoadingImageError(true);
407
361
  });
408
-
409
362
  return (
410
363
  <View style={[styles.image, borderRadius]}>
411
364
  {isLoadingImageError ? (
@@ -426,7 +379,6 @@ const GalleryImageThumbnail = ({
426
379
  </View>
427
380
  );
428
381
  };
429
-
430
382
  const areEqual = (prevProps: GalleryPropsWithContext, nextProps: GalleryPropsWithContext) => {
431
383
  const {
432
384
  alignment: prevAlignment,
@@ -442,19 +394,16 @@ const areEqual = (prevProps: GalleryPropsWithContext, nextProps: GalleryPropsWit
442
394
  myMessageTheme: nextMyMessageTheme,
443
395
  videos: nextVideos,
444
396
  } = nextProps;
445
-
446
397
  const alignmentEqual = prevAlignment === nextAlignment;
447
398
  if (!alignmentEqual) {
448
399
  return false;
449
400
  }
450
-
451
401
  const messageEqual =
452
402
  prevMessage?.id === nextMessage?.id &&
453
403
  `${prevMessage?.updated_at}` === `${nextMessage?.updated_at}`;
454
404
  if (!messageEqual) {
455
405
  return false;
456
406
  }
457
-
458
407
  const imagesEqual =
459
408
  prevImages.length === nextImages.length &&
460
409
  prevImages.every(
@@ -465,7 +414,6 @@ const areEqual = (prevProps: GalleryPropsWithContext, nextProps: GalleryPropsWit
465
414
  if (!imagesEqual) {
466
415
  return false;
467
416
  }
468
-
469
417
  const videosEqual =
470
418
  prevVideos.length === nextVideos.length &&
471
419
  prevVideos.every(
@@ -476,20 +424,15 @@ const areEqual = (prevProps: GalleryPropsWithContext, nextProps: GalleryPropsWit
476
424
  if (!videosEqual) {
477
425
  return false;
478
426
  }
479
-
480
427
  const messageThemeEqual =
481
428
  JSON.stringify(prevMyMessageTheme) === JSON.stringify(nextMyMessageTheme);
482
429
  if (!messageThemeEqual) {
483
430
  return false;
484
431
  }
485
-
486
432
  return true;
487
433
  };
488
-
489
434
  const MemoizedGallery = React.memo(GalleryWithContext, areEqual) as typeof GalleryWithContext;
490
-
491
435
  export type GalleryProps = Partial<GalleryPropsWithContext>;
492
-
493
436
  /**
494
437
  * UI component for card in attachments.
495
438
  */
@@ -497,8 +440,6 @@ export const Gallery = (props: GalleryProps) => {
497
440
  const {
498
441
  alignment: propAlignment,
499
442
  additionalPressableProps: propAdditionalPressableProps,
500
- ImageLoadingFailedIndicator: PropImageLoadingFailedIndicator,
501
- ImageLoadingIndicator: PropImageLoadingIndicator,
502
443
  images: propImages,
503
444
  message: propMessage,
504
445
  myMessageTheme: propMyMessageTheme,
@@ -508,10 +449,8 @@ export const Gallery = (props: GalleryProps) => {
508
449
  preventPress: propPreventPress,
509
450
  setOverlay: propSetOverlay,
510
451
  videos: propVideos,
511
- VideoThumbnail: PropVideoThumbnail,
512
452
  messageContentOrder: propMessageContentOrder,
513
453
  } = props;
514
-
515
454
  const { imageGalleryStateStore } = useImageGalleryContext();
516
455
  const {
517
456
  alignment: contextAlignment,
@@ -526,13 +465,9 @@ export const Gallery = (props: GalleryProps) => {
526
465
  } = useMessageContext();
527
466
  const {
528
467
  additionalPressableProps: contextAdditionalPressableProps,
529
- ImageLoadingFailedIndicator: ContextImageLoadingFailedIndicator,
530
- ImageLoadingIndicator: ContextImageLoadingIndicator,
531
468
  myMessageTheme: contextMyMessageTheme,
532
- VideoThumbnail: ContextVideoThumnbnail,
533
469
  } = useMessagesContext();
534
470
  const { setOverlay: contextSetOverlay } = useOverlayContext();
535
-
536
471
  const images = propImages ?? contextImages ?? [];
537
472
  const videos = propVideos ?? contextVideos ?? [];
538
473
  const imagesAndVideos = [...images, ...videos];
@@ -541,7 +476,6 @@ export const Gallery = (props: GalleryProps) => {
541
476
  if (!images.length && !videos.length) {
542
477
  return null;
543
478
  }
544
-
545
479
  const additionalPressableProps = propAdditionalPressableProps || contextAdditionalPressableProps;
546
480
  const onLongPress = propOnLongPress || contextOnLongPress;
547
481
  const onPressIn = propOnPressIn || contextOnPressIn;
@@ -549,18 +483,12 @@ export const Gallery = (props: GalleryProps) => {
549
483
  const preventPress =
550
484
  typeof propPreventPress === 'boolean' ? propPreventPress : contextPreventPress;
551
485
  const setOverlay = propSetOverlay || contextSetOverlay;
552
- const VideoThumbnail = PropVideoThumbnail || ContextVideoThumnbnail;
553
- const ImageLoadingFailedIndicator =
554
- PropImageLoadingFailedIndicator || ContextImageLoadingFailedIndicator;
555
- const ImageLoadingIndicator = PropImageLoadingIndicator || ContextImageLoadingIndicator;
556
486
  const myMessageTheme = propMyMessageTheme || contextMyMessageTheme;
557
487
  const messageContentOrder = propMessageContentOrder || contextMessageContentOrder;
558
-
559
488
  const messageHasOnlyOneMedia =
560
489
  messageContentOrder?.length === 1 &&
561
490
  messageContentOrder?.includes('gallery') &&
562
491
  imagesAndVideos.length === 1;
563
-
564
492
  return (
565
493
  <MemoizedGallery
566
494
  {...{
@@ -568,8 +496,6 @@ export const Gallery = (props: GalleryProps) => {
568
496
  alignment,
569
497
  channelId: message?.cid,
570
498
  imageGalleryStateStore,
571
- ImageLoadingFailedIndicator,
572
- ImageLoadingIndicator,
573
499
  images,
574
500
  message,
575
501
  myMessageTheme,
@@ -579,14 +505,12 @@ export const Gallery = (props: GalleryProps) => {
579
505
  preventPress,
580
506
  setOverlay,
581
507
  videos,
582
- VideoThumbnail,
583
508
  messageHasOnlyOneMedia,
584
509
  messageContentOrder,
585
510
  }}
586
511
  />
587
512
  );
588
513
  };
589
-
590
514
  const useStyles = () => {
591
515
  const {
592
516
  theme: { semantics },
@@ -675,5 +599,4 @@ const useStyles = () => {
675
599
  });
676
600
  }, [semantics, isMyMessage]);
677
601
  };
678
-
679
602
  Gallery.displayName = 'Gallery{messageItemView{gallery}}';
@@ -1,12 +1,13 @@
1
1
  import React from 'react';
2
2
  import { Image, ImageProps, StyleSheet } from 'react-native';
3
3
 
4
- import { ChatContextValue, useChatContext } from '../../contexts/chatContext/ChatContext';
4
+ import { useComponentsContext } from '../../contexts/componentsContext/ComponentsContext';
5
5
 
6
6
  import { getUrlWithoutParams, isLocalUrl, makeImageCompatibleUrl } from '../../utils/utils';
7
7
 
8
- export type GalleryImageWithContextProps = GalleryImageProps &
9
- Pick<ChatContextValue, 'ImageComponent'>;
8
+ export type GalleryImageWithContextProps = GalleryImageProps & {
9
+ ImageComponent?: React.ComponentType<ImageProps>;
10
+ };
10
11
 
11
12
  export const GalleryImageWithContext = (props: GalleryImageWithContextProps) => {
12
13
  const { ImageComponent = Image, uri, style, ...rest } = props;
@@ -48,7 +49,7 @@ export type GalleryImageProps = Omit<ImageProps, 'height' | 'source'> & {
48
49
  };
49
50
 
50
51
  export const GalleryImage = (props: GalleryImageProps) => {
51
- const { ImageComponent } = useChatContext();
52
+ const { ImageComponent } = useComponentsContext();
52
53
 
53
54
  return <MemoizedGalleryImage ImageComponent={ImageComponent} {...props} />;
54
55
  };
@@ -1,9 +1,9 @@
1
1
  import React, { useMemo } from 'react';
2
- import { Image, StyleSheet, View } from 'react-native';
2
+ import { Image, ImageProps, StyleSheet, View } from 'react-native';
3
3
 
4
4
  import type { Attachment } from 'stream-chat';
5
5
 
6
- import { ChatContextValue, useChatContext } from '../../../contexts/chatContext/ChatContext';
6
+ import { useComponentsContext } from '../../../contexts/componentsContext/ComponentsContext';
7
7
 
8
8
  import {
9
9
  MessagesContextValue,
@@ -15,27 +15,19 @@ import { useLoadingImage } from '../../../hooks/useLoadingImage';
15
15
  import { makeImageCompatibleUrl } from '../../../utils/utils';
16
16
  import { GiphyBadge } from '../../ui/Badge/GiphyBadge';
17
17
 
18
- export type GiphyImagePropsWithContext = Pick<ChatContextValue, 'ImageComponent'> &
19
- Pick<
20
- MessagesContextValue,
21
- 'giphyVersion' | 'ImageLoadingIndicator' | 'ImageLoadingFailedIndicator'
22
- > & {
23
- attachment: Attachment;
24
- /**
25
- * Whether to render the preview image or the full image
26
- */
27
- preview?: boolean;
28
- };
18
+ export type GiphyImagePropsWithContext = Pick<MessagesContextValue, 'giphyVersion'> & {
19
+ ImageComponent?: React.ComponentType<ImageProps>;
20
+ } & {
21
+ attachment: Attachment;
22
+ /**
23
+ * Whether to render the preview image or the full image
24
+ */
25
+ preview?: boolean;
26
+ };
29
27
 
30
28
  const GiphyImageWithContext = (props: GiphyImagePropsWithContext) => {
31
- const {
32
- attachment,
33
- giphyVersion,
34
- ImageComponent = Image,
35
- ImageLoadingFailedIndicator,
36
- ImageLoadingIndicator,
37
- preview = false,
38
- } = props;
29
+ const { attachment, giphyVersion, ImageComponent = Image, preview = false } = props;
30
+ const { ImageLoadingFailedIndicator, ImageLoadingIndicator } = useComponentsContext();
39
31
 
40
32
  const { giphy: giphyData, image_url, thumb_url, type } = attachment;
41
33
 
@@ -168,25 +160,11 @@ export type GiphyImageProps = Partial<GiphyImagePropsWithContext> & {
168
160
  * UI component for card in attachments.
169
161
  */
170
162
  export const GiphyImage = (props: GiphyImageProps) => {
171
- const { ImageComponent } = useChatContext();
163
+ const { ImageComponent } = useComponentsContext();
172
164
  const { giphyVersion } = useMessagesContext();
173
165
 
174
- const {
175
- ImageLoadingFailedIndicator: ContextImageLoadingFailedIndicator,
176
- ImageLoadingIndicator: ContextImageLoadingIndicator,
177
- } = useMessagesContext();
178
- const ImageLoadingFailedIndicator =
179
- ContextImageLoadingFailedIndicator || props.ImageLoadingFailedIndicator;
180
- const ImageLoadingIndicator = ContextImageLoadingIndicator || props.ImageLoadingIndicator;
181
-
182
166
  return (
183
- <MemoizedGiphyImage
184
- giphyVersion={giphyVersion}
185
- ImageComponent={ImageComponent}
186
- ImageLoadingFailedIndicator={ImageLoadingFailedIndicator}
187
- ImageLoadingIndicator={ImageLoadingIndicator}
188
- {...props}
189
- />
167
+ <MemoizedGiphyImage giphyVersion={giphyVersion} ImageComponent={ImageComponent} {...props} />
190
168
  );
191
169
  };
192
170
 
@@ -3,32 +3,27 @@ import { StyleSheet, Text, View } from 'react-native';
3
3
 
4
4
  import type { Attachment } from 'stream-chat';
5
5
 
6
- import { FileIconProps } from './FileIcon';
6
+ import type { FileIconProps } from './FileIcon';
7
7
 
8
+ import { useComponentsContext } from '../../contexts/componentsContext/ComponentsContext';
8
9
  import {
9
10
  MessageContextValue,
10
11
  useMessageContext,
11
12
  } from '../../contexts/messageContext/MessageContext';
12
- import {
13
- MessagesContextValue,
14
- useMessagesContext,
15
- } from '../../contexts/messagesContext/MessagesContext';
16
13
  import { useTheme } from '../../contexts/themeContext/ThemeContext';
17
14
  import { useTranslationContext } from '../../contexts/translationContext/TranslationContext';
18
15
  import { primitives } from '../../theme';
19
16
 
20
- export type UnsupportedAttachmentProps = Partial<
21
- Pick<MessagesContextValue, 'FileAttachmentIcon'> & Pick<MessageContextValue, 'isMyMessage'>
22
- > & {
17
+ export type UnsupportedAttachmentProps = Partial<Pick<MessageContextValue, 'isMyMessage'>> & {
23
18
  /** The attachment to render */
24
19
  attachment: Attachment;
25
20
  attachmentIconSize?: FileIconProps['size'];
26
21
  };
27
22
 
28
23
  export const UnsupportedAttachment = (props: UnsupportedAttachmentProps) => {
29
- const { FileAttachmentIcon: FileAttachmentIconDefault } = useMessagesContext();
24
+ const { FileAttachmentIcon } = useComponentsContext();
30
25
  const { isMyMessage } = useMessageContext();
31
- const { attachment, attachmentIconSize, FileAttachmentIcon = FileAttachmentIconDefault } = props;
26
+ const { attachment, attachmentIconSize } = props;
32
27
 
33
28
  const styles = useStyles({ isMyMessage });
34
29
 
@@ -1,6 +1,7 @@
1
1
  import React, { useMemo } from 'react';
2
2
  import {
3
3
  Image,
4
+ ImageProps,
4
5
  ImageStyle,
5
6
  Pressable,
6
7
  StyleProp,
@@ -13,7 +14,7 @@ import {
13
14
 
14
15
  import type { Attachment } from 'stream-chat';
15
16
 
16
- import { ChatContextValue, useChatContext } from '../../../contexts/chatContext/ChatContext';
17
+ import { useComponentsContext } from '../../../contexts/componentsContext/ComponentsContext';
17
18
 
18
19
  import {
19
20
  MessageContextValue,
@@ -32,8 +33,9 @@ import { VideoPlayIndicator } from '../../ui';
32
33
  import { ImageBackground } from '../../UIComponents/ImageBackground';
33
34
  import { openUrlSafely } from '../utils/openUrlSafely';
34
35
 
35
- export type URLPreviewPropsWithContext = Pick<ChatContextValue, 'ImageComponent'> &
36
- Pick<MessageContextValue, 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'> &
36
+ export type URLPreviewPropsWithContext = {
37
+ ImageComponent?: React.ComponentType<ImageProps>;
38
+ } & Pick<MessageContextValue, 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'> &
37
39
  Pick<
38
40
  MessagesContextValue,
39
41
  'additionalPressableProps' | 'myMessageTheme' | 'isAttachmentEqual'
@@ -210,7 +212,7 @@ export type URLPreviewProps = Partial<URLPreviewPropsWithContext> & {
210
212
  * UI component for card in attachments.
211
213
  */
212
214
  export const URLPreview = (props: URLPreviewProps) => {
213
- const { ImageComponent } = useChatContext();
215
+ const { ImageComponent } = useComponentsContext();
214
216
  const { message, onLongPress, onPress, onPressIn, preventPress } = useMessageContext();
215
217
  const { additionalPressableProps, isAttachmentEqual, myMessageTheme } = useMessagesContext();
216
218
 
@@ -1,6 +1,7 @@
1
1
  import React, { useMemo } from 'react';
2
2
  import {
3
3
  Image,
4
+ ImageProps,
4
5
  ImageStyle,
5
6
  Pressable,
6
7
  StyleProp,
@@ -13,7 +14,7 @@ import {
13
14
 
14
15
  import type { Attachment } from 'stream-chat';
15
16
 
16
- import { ChatContextValue, useChatContext } from '../../../contexts/chatContext/ChatContext';
17
+ import { useComponentsContext } from '../../../contexts/componentsContext/ComponentsContext';
17
18
 
18
19
  import {
19
20
  MessageContextValue,
@@ -32,8 +33,9 @@ import { VideoPlayIndicator } from '../../ui';
32
33
  import { ImageBackground } from '../../UIComponents/ImageBackground';
33
34
  import { openUrlSafely } from '../utils/openUrlSafely';
34
35
 
35
- export type URLPreviewCompactPropsWithContext = Pick<ChatContextValue, 'ImageComponent'> &
36
- Pick<MessageContextValue, 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'> &
36
+ export type URLPreviewCompactPropsWithContext = {
37
+ ImageComponent?: React.ComponentType<ImageProps>;
38
+ } & Pick<MessageContextValue, 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'> &
37
39
  Pick<MessagesContextValue, 'additionalPressableProps' | 'myMessageTheme'> & {
38
40
  attachment: Attachment;
39
41
  channelId: string | undefined;
@@ -208,7 +210,7 @@ export type URLPreviewCompactProps = Partial<URLPreviewCompactPropsWithContext>
208
210
  * UI component for card in attachments.
209
211
  */
210
212
  export const URLPreviewCompact = (props: URLPreviewCompactProps) => {
211
- const { ImageComponent } = useChatContext();
213
+ const { ImageComponent } = useComponentsContext();
212
214
  const { message, onLongPress, onPress, onPressIn, preventPress } = useMessageContext();
213
215
  const { additionalPressableProps, myMessageTheme } = useMessagesContext();
214
216
 
@@ -15,6 +15,7 @@ import dayjs from 'dayjs';
15
15
  import duration from 'dayjs/plugin/duration';
16
16
 
17
17
  import { useAttachmentPickerContext } from '../../contexts/attachmentPickerContext/AttachmentPickerContext';
18
+ import { useComponentsContext } from '../../contexts/componentsContext/ComponentsContext';
18
19
  import { useTheme } from '../../contexts/themeContext/ThemeContext';
19
20
  import { useStableCallback } from '../../hooks';
20
21
  import { BottomSheet } from '../BottomSheetCompatibility/BottomSheet';
@@ -35,12 +36,11 @@ export const AttachmentPicker = () => {
35
36
  const {
36
37
  closePicker,
37
38
  attachmentPickerStore,
38
- AttachmentPickerSelectionBar,
39
- AttachmentPickerContent,
40
39
  attachmentPickerBottomSheetHeight,
41
40
  bottomSheetRef: ref,
42
41
  disableAttachmentPicker,
43
42
  } = useAttachmentPickerContext();
43
+ const { AttachmentPickerContent, AttachmentPickerSelectionBar } = useComponentsContext();
44
44
  const {
45
45
  theme: { semantics },
46
46
  } = useTheme();
@@ -7,6 +7,7 @@ import { FileReference, isLocalImageAttachment, isLocalVideoAttachment } from 's
7
7
  import { isIosLimited, type PhotoContentItemType } from './shared';
8
8
 
9
9
  import { useAttachmentPickerContext } from '../../../../contexts';
10
+ import { useComponentsContext } from '../../../../contexts/componentsContext/ComponentsContext';
10
11
  import { useAttachmentManagerState } from '../../../../contexts/messageInputContext/hooks/useAttachmentManagerState';
11
12
  import { useMessageComposer } from '../../../../contexts/messageInputContext/hooks/useMessageComposer';
12
13
  import { useMessageInputContext } from '../../../../contexts/messageInputContext/MessageInputContext';
@@ -26,8 +27,8 @@ type AttachmentPickerItemType = {
26
27
 
27
28
  const AttachmentVideo = (props: AttachmentPickerItemType) => {
28
29
  const { asset } = props;
29
- const { numberOfAttachmentPickerImageColumns, ImageOverlaySelectedComponent } =
30
- useAttachmentPickerContext();
30
+ const { numberOfAttachmentPickerImageColumns } = useAttachmentPickerContext();
31
+ const { ImageOverlaySelectedComponent } = useComponentsContext();
31
32
  const { vw } = useViewport();
32
33
  const { t } = useTranslationContext();
33
34
  const messageComposer = useMessageComposer();
@@ -90,8 +91,8 @@ const AttachmentVideo = (props: AttachmentPickerItemType) => {
90
91
 
91
92
  const AttachmentImage = (props: AttachmentPickerItemType) => {
92
93
  const { asset } = props;
93
- const { numberOfAttachmentPickerImageColumns, ImageOverlaySelectedComponent } =
94
- useAttachmentPickerContext();
94
+ const { numberOfAttachmentPickerImageColumns } = useAttachmentPickerContext();
95
+ const { ImageOverlaySelectedComponent } = useComponentsContext();
95
96
  const {
96
97
  theme: {
97
98
  attachmentPicker: { image, imageOverlay },