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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (750) hide show
  1. package/lib/commonjs/components/Attachment/Attachment.js +15 -52
  2. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  3. package/lib/commonjs/components/Attachment/FileAttachment.js +4 -6
  4. package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
  5. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +4 -10
  6. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js.map +1 -1
  7. package/lib/commonjs/components/Attachment/FilePreview.js +3 -6
  8. package/lib/commonjs/components/Attachment/FilePreview.js.map +1 -1
  9. package/lib/commonjs/components/Attachment/Gallery.js +9 -28
  10. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  11. package/lib/commonjs/components/Attachment/GalleryImage.js +3 -3
  12. package/lib/commonjs/components/Attachment/GalleryImage.js.map +1 -1
  13. package/lib/commonjs/components/Attachment/Giphy/GiphyImage.js +7 -13
  14. package/lib/commonjs/components/Attachment/Giphy/GiphyImage.js.map +1 -1
  15. package/lib/commonjs/components/Attachment/UnsupportedAttachment.js +4 -6
  16. package/lib/commonjs/components/Attachment/UnsupportedAttachment.js.map +1 -1
  17. package/lib/commonjs/components/Attachment/UrlPreview/URLPreview.js +3 -3
  18. package/lib/commonjs/components/Attachment/UrlPreview/URLPreview.js.map +1 -1
  19. package/lib/commonjs/components/Attachment/UrlPreview/URLPreviewCompact.js +3 -3
  20. package/lib/commonjs/components/Attachment/UrlPreview/URLPreviewCompact.js.map +1 -1
  21. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +4 -2
  22. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  23. package/lib/commonjs/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.js +7 -4
  24. package/lib/commonjs/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.js.map +1 -1
  25. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +9 -13
  26. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  27. package/lib/commonjs/components/Channel/Channel.js +9 -418
  28. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  29. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +0 -8
  30. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  31. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js +3 -77
  32. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  33. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +2 -132
  34. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  35. package/lib/commonjs/components/ChannelList/ChannelList.js +1 -57
  36. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  37. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js +4 -2
  38. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
  39. package/lib/commonjs/components/ChannelList/ChannelListView.js +11 -20
  40. package/lib/commonjs/components/ChannelList/ChannelListView.js.map +1 -1
  41. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js +1 -39
  42. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  43. package/lib/commonjs/components/ChannelPreview/ChannelDetailsBottomSheet.js +3 -2
  44. package/lib/commonjs/components/ChannelPreview/ChannelDetailsBottomSheet.js.map +1 -1
  45. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +4 -6
  46. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  47. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +6 -18
  48. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  49. package/lib/commonjs/components/ChannelPreview/ChannelPreviewView.js +8 -28
  50. package/lib/commonjs/components/ChannelPreview/ChannelPreviewView.js.map +1 -1
  51. package/lib/commonjs/components/ChannelPreview/ChannelSwipableWrapper.js +3 -3
  52. package/lib/commonjs/components/ChannelPreview/ChannelSwipableWrapper.js.map +1 -1
  53. package/lib/commonjs/components/Chat/Chat.js +4 -6
  54. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  55. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js +0 -2
  56. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  57. package/lib/commonjs/components/ImageGallery/ImageGallery.js +7 -9
  58. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  59. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +4 -2
  60. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  61. package/lib/commonjs/components/Message/Message.js +9 -13
  62. package/lib/commonjs/components/Message/Message.js.map +1 -1
  63. package/lib/commonjs/components/Message/MessageItemView/MessageBubble.js +4 -2
  64. package/lib/commonjs/components/Message/MessageItemView/MessageBubble.js.map +1 -1
  65. package/lib/commonjs/components/Message/MessageItemView/MessageContent.js +18 -39
  66. package/lib/commonjs/components/Message/MessageItemView/MessageContent.js.map +1 -1
  67. package/lib/commonjs/components/Message/MessageItemView/MessageDeleted.js +5 -7
  68. package/lib/commonjs/components/Message/MessageItemView/MessageDeleted.js.map +1 -1
  69. package/lib/commonjs/components/Message/MessageItemView/MessageFooter.js +4 -8
  70. package/lib/commonjs/components/Message/MessageItemView/MessageFooter.js.map +1 -1
  71. package/lib/commonjs/components/Message/MessageItemView/MessageHeader.js +8 -16
  72. package/lib/commonjs/components/Message/MessageItemView/MessageHeader.js.map +1 -1
  73. package/lib/commonjs/components/Message/MessageItemView/MessageItemView.js +13 -35
  74. package/lib/commonjs/components/Message/MessageItemView/MessageItemView.js.map +1 -1
  75. package/lib/commonjs/components/Message/MessageItemView/MessageReplies.js +3 -5
  76. package/lib/commonjs/components/Message/MessageItemView/MessageReplies.js.map +1 -1
  77. package/lib/commonjs/components/Message/MessageItemView/MessageTextContainer.js +3 -3
  78. package/lib/commonjs/components/Message/MessageItemView/MessageTextContainer.js.map +1 -1
  79. package/lib/commonjs/components/Message/MessageItemView/MessageWrapper.js +6 -4
  80. package/lib/commonjs/components/Message/MessageItemView/MessageWrapper.js.map +1 -1
  81. package/lib/commonjs/components/Message/MessageItemView/ReactionList/ReactionListBottom.js +6 -8
  82. package/lib/commonjs/components/Message/MessageItemView/ReactionList/ReactionListBottom.js.map +1 -1
  83. package/lib/commonjs/components/Message/MessageItemView/ReactionList/ReactionListTop.js +7 -11
  84. package/lib/commonjs/components/Message/MessageItemView/ReactionList/ReactionListTop.js.map +1 -1
  85. package/lib/commonjs/components/Message/MessageItemView/utils/renderText.js +3 -1
  86. package/lib/commonjs/components/Message/MessageItemView/utils/renderText.js.map +1 -1
  87. package/lib/commonjs/components/MessageInput/MessageComposer.js +15 -55
  88. package/lib/commonjs/components/MessageInput/MessageComposer.js.map +1 -1
  89. package/lib/commonjs/components/MessageInput/MessageInputHeaderView.js +5 -5
  90. package/lib/commonjs/components/MessageInput/MessageInputHeaderView.js.map +1 -1
  91. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.js +9 -17
  92. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.js.map +1 -1
  93. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview.js +5 -5
  94. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview.js.map +1 -1
  95. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/ImageAttachmentUploadPreview.js +5 -5
  96. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/ImageAttachmentUploadPreview.js.map +1 -1
  97. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.js +5 -5
  98. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.js.map +1 -1
  99. package/lib/commonjs/components/MessageInput/components/InputButtons/index.js +4 -4
  100. package/lib/commonjs/components/MessageInput/components/InputButtons/index.js.map +1 -1
  101. package/lib/commonjs/components/MessageInput/components/LinkPreviewList.js +3 -2
  102. package/lib/commonjs/components/MessageInput/components/LinkPreviewList.js.map +1 -1
  103. package/lib/commonjs/components/MessageInput/components/OutputButtons/index.js +7 -13
  104. package/lib/commonjs/components/MessageInput/components/OutputButtons/index.js.map +1 -1
  105. package/lib/commonjs/components/MessageList/MessageFlashList.js +14 -40
  106. package/lib/commonjs/components/MessageList/MessageFlashList.js.map +1 -1
  107. package/lib/commonjs/components/MessageList/MessageList.js +12 -38
  108. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  109. package/lib/commonjs/components/MessageList/StickyHeader.js +3 -1
  110. package/lib/commonjs/components/MessageList/StickyHeader.js.map +1 -1
  111. package/lib/commonjs/components/MessageMenu/MessageActionList.js +4 -2
  112. package/lib/commonjs/components/MessageMenu/MessageActionList.js.map +1 -1
  113. package/lib/commonjs/components/MessageMenu/MessageMenu.js.map +1 -1
  114. package/lib/commonjs/components/MessageMenu/MessageUserReactions.js +4 -8
  115. package/lib/commonjs/components/MessageMenu/MessageUserReactions.js.map +1 -1
  116. package/lib/commonjs/components/MessageMenu/MessageUserReactionsItem.js +4 -2
  117. package/lib/commonjs/components/MessageMenu/MessageUserReactionsItem.js.map +1 -1
  118. package/lib/commonjs/components/Poll/CreatePollContent.js +8 -4
  119. package/lib/commonjs/components/Poll/CreatePollContent.js.map +1 -1
  120. package/lib/commonjs/components/Poll/Poll.js +12 -9
  121. package/lib/commonjs/components/Poll/Poll.js.map +1 -1
  122. package/lib/commonjs/components/Poll/components/MultipleAnswersField.js +5 -3
  123. package/lib/commonjs/components/Poll/components/MultipleAnswersField.js.map +1 -1
  124. package/lib/commonjs/components/Poll/components/MultipleVotesSettings.js +5 -3
  125. package/lib/commonjs/components/Poll/components/MultipleVotesSettings.js.map +1 -1
  126. package/lib/commonjs/components/Poll/components/PollAnswersList.js +5 -3
  127. package/lib/commonjs/components/Poll/components/PollAnswersList.js.map +1 -1
  128. package/lib/commonjs/components/Poll/components/PollInputDialog.js +2 -1
  129. package/lib/commonjs/components/Poll/components/PollInputDialog.js.map +1 -1
  130. package/lib/commonjs/components/Poll/components/PollOption.js +5 -3
  131. package/lib/commonjs/components/Poll/components/PollOption.js.map +1 -1
  132. package/lib/commonjs/components/Poll/components/PollResults/PollOptionFullResults.js +5 -5
  133. package/lib/commonjs/components/Poll/components/PollResults/PollOptionFullResults.js.map +1 -1
  134. package/lib/commonjs/components/Poll/components/PollResults/PollResults.js +5 -3
  135. package/lib/commonjs/components/Poll/components/PollResults/PollResults.js.map +1 -1
  136. package/lib/commonjs/components/Reply/Reply.js +11 -4
  137. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  138. package/lib/commonjs/components/Thread/Thread.js +4 -8
  139. package/lib/commonjs/components/Thread/Thread.js.map +1 -1
  140. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +4 -6
  141. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  142. package/lib/commonjs/components/ThreadList/ThreadList.js +12 -15
  143. package/lib/commonjs/components/ThreadList/ThreadList.js.map +1 -1
  144. package/lib/commonjs/components/ThreadList/ThreadListItem.js +8 -11
  145. package/lib/commonjs/components/ThreadList/ThreadListItem.js.map +1 -1
  146. package/lib/commonjs/components/ui/Avatar/Avatar.js +3 -3
  147. package/lib/commonjs/components/ui/Avatar/Avatar.js.map +1 -1
  148. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  149. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  150. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  151. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  152. package/lib/commonjs/contexts/componentsContext/ComponentsContext.js +37 -0
  153. package/lib/commonjs/contexts/componentsContext/ComponentsContext.js.map +1 -0
  154. package/lib/commonjs/contexts/componentsContext/PLAN.md +148 -0
  155. package/lib/commonjs/contexts/componentsContext/defaultComponents.js +286 -0
  156. package/lib/commonjs/contexts/componentsContext/defaultComponents.js.map +1 -0
  157. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +1 -9
  158. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  159. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContextBase.js.map +1 -1
  160. package/lib/commonjs/contexts/index.js +11 -0
  161. package/lib/commonjs/contexts/index.js.map +1 -1
  162. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  163. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +2 -76
  164. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  165. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  166. package/lib/commonjs/contexts/overlayContext/MessageOverlayHostLayer.js +7 -5
  167. package/lib/commonjs/contexts/overlayContext/MessageOverlayHostLayer.js.map +1 -1
  168. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  169. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +1 -4
  170. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  171. package/lib/commonjs/contexts/threadsContext/ThreadsContext.js.map +1 -1
  172. package/lib/commonjs/hooks/messagePreview/useMessagePreviewText.js +28 -13
  173. package/lib/commonjs/hooks/messagePreview/useMessagePreviewText.js.map +1 -1
  174. package/lib/commonjs/i18n/en.json +20 -0
  175. package/lib/commonjs/i18n/es.json +20 -0
  176. package/lib/commonjs/i18n/fr.json +20 -0
  177. package/lib/commonjs/i18n/he.json +20 -0
  178. package/lib/commonjs/i18n/hi.json +20 -0
  179. package/lib/commonjs/i18n/it.json +20 -0
  180. package/lib/commonjs/i18n/ja.json +20 -0
  181. package/lib/commonjs/i18n/ko.json +20 -0
  182. package/lib/commonjs/i18n/nl.json +20 -0
  183. package/lib/commonjs/i18n/pt-br.json +20 -0
  184. package/lib/commonjs/i18n/ru.json +20 -0
  185. package/lib/commonjs/i18n/tr.json +20 -0
  186. package/lib/commonjs/icons/arrow-up-right.js +10 -6
  187. package/lib/commonjs/icons/arrow-up-right.js.map +1 -1
  188. package/lib/commonjs/icons/audio.js +10 -6
  189. package/lib/commonjs/icons/audio.js.map +1 -1
  190. package/lib/commonjs/icons/chevron-left.js +10 -6
  191. package/lib/commonjs/icons/chevron-left.js.map +1 -1
  192. package/lib/commonjs/icons/leave.js +10 -6
  193. package/lib/commonjs/icons/leave.js.map +1 -1
  194. package/lib/commonjs/icons/message-bubble.js +10 -6
  195. package/lib/commonjs/icons/message-bubble.js.map +1 -1
  196. package/lib/commonjs/icons/mute.js +11 -7
  197. package/lib/commonjs/icons/mute.js.map +1 -1
  198. package/lib/commonjs/icons/reply.js +10 -6
  199. package/lib/commonjs/icons/reply.js.map +1 -1
  200. package/lib/commonjs/icons/search.js +11 -7
  201. package/lib/commonjs/icons/search.js.map +1 -1
  202. package/lib/commonjs/icons/send.js +11 -7
  203. package/lib/commonjs/icons/send.js.map +1 -1
  204. package/lib/commonjs/icons/thread.js +10 -6
  205. package/lib/commonjs/icons/thread.js.map +1 -1
  206. package/lib/commonjs/icons/video-fill.js +2 -0
  207. package/lib/commonjs/icons/video-fill.js.map +1 -1
  208. package/lib/commonjs/icons/video.js +10 -6
  209. package/lib/commonjs/icons/video.js.map +1 -1
  210. package/lib/commonjs/utils/rtlMirrorSwitchStyle.js +20 -0
  211. package/lib/commonjs/utils/rtlMirrorSwitchStyle.js.map +1 -0
  212. package/lib/commonjs/version.json +1 -1
  213. package/lib/module/components/Attachment/Attachment.js +15 -52
  214. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  215. package/lib/module/components/Attachment/FileAttachment.js +4 -6
  216. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  217. package/lib/module/components/Attachment/FileAttachmentGroup.js +4 -10
  218. package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
  219. package/lib/module/components/Attachment/FilePreview.js +3 -6
  220. package/lib/module/components/Attachment/FilePreview.js.map +1 -1
  221. package/lib/module/components/Attachment/Gallery.js +9 -28
  222. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  223. package/lib/module/components/Attachment/GalleryImage.js +3 -3
  224. package/lib/module/components/Attachment/GalleryImage.js.map +1 -1
  225. package/lib/module/components/Attachment/Giphy/GiphyImage.js +7 -13
  226. package/lib/module/components/Attachment/Giphy/GiphyImage.js.map +1 -1
  227. package/lib/module/components/Attachment/UnsupportedAttachment.js +4 -6
  228. package/lib/module/components/Attachment/UnsupportedAttachment.js.map +1 -1
  229. package/lib/module/components/Attachment/UrlPreview/URLPreview.js +3 -3
  230. package/lib/module/components/Attachment/UrlPreview/URLPreview.js.map +1 -1
  231. package/lib/module/components/Attachment/UrlPreview/URLPreviewCompact.js +3 -3
  232. package/lib/module/components/Attachment/UrlPreview/URLPreviewCompact.js.map +1 -1
  233. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +4 -2
  234. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  235. package/lib/module/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.js +7 -4
  236. package/lib/module/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.js.map +1 -1
  237. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +9 -13
  238. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  239. package/lib/module/components/Channel/Channel.js +9 -418
  240. package/lib/module/components/Channel/Channel.js.map +1 -1
  241. package/lib/module/components/Channel/hooks/useCreateChannelContext.js +0 -8
  242. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  243. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +3 -77
  244. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  245. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +2 -132
  246. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  247. package/lib/module/components/ChannelList/ChannelList.js +1 -57
  248. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  249. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js +4 -2
  250. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
  251. package/lib/module/components/ChannelList/ChannelListView.js +11 -20
  252. package/lib/module/components/ChannelList/ChannelListView.js.map +1 -1
  253. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js +1 -39
  254. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  255. package/lib/module/components/ChannelPreview/ChannelDetailsBottomSheet.js +3 -2
  256. package/lib/module/components/ChannelPreview/ChannelDetailsBottomSheet.js.map +1 -1
  257. package/lib/module/components/ChannelPreview/ChannelPreview.js +4 -6
  258. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  259. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +6 -18
  260. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  261. package/lib/module/components/ChannelPreview/ChannelPreviewView.js +8 -28
  262. package/lib/module/components/ChannelPreview/ChannelPreviewView.js.map +1 -1
  263. package/lib/module/components/ChannelPreview/ChannelSwipableWrapper.js +3 -3
  264. package/lib/module/components/ChannelPreview/ChannelSwipableWrapper.js.map +1 -1
  265. package/lib/module/components/Chat/Chat.js +4 -6
  266. package/lib/module/components/Chat/Chat.js.map +1 -1
  267. package/lib/module/components/Chat/hooks/useCreateChatContext.js +0 -2
  268. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  269. package/lib/module/components/ImageGallery/ImageGallery.js +7 -9
  270. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  271. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +4 -2
  272. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  273. package/lib/module/components/Message/Message.js +9 -13
  274. package/lib/module/components/Message/Message.js.map +1 -1
  275. package/lib/module/components/Message/MessageItemView/MessageBubble.js +4 -2
  276. package/lib/module/components/Message/MessageItemView/MessageBubble.js.map +1 -1
  277. package/lib/module/components/Message/MessageItemView/MessageContent.js +18 -39
  278. package/lib/module/components/Message/MessageItemView/MessageContent.js.map +1 -1
  279. package/lib/module/components/Message/MessageItemView/MessageDeleted.js +5 -7
  280. package/lib/module/components/Message/MessageItemView/MessageDeleted.js.map +1 -1
  281. package/lib/module/components/Message/MessageItemView/MessageFooter.js +4 -8
  282. package/lib/module/components/Message/MessageItemView/MessageFooter.js.map +1 -1
  283. package/lib/module/components/Message/MessageItemView/MessageHeader.js +8 -16
  284. package/lib/module/components/Message/MessageItemView/MessageHeader.js.map +1 -1
  285. package/lib/module/components/Message/MessageItemView/MessageItemView.js +13 -35
  286. package/lib/module/components/Message/MessageItemView/MessageItemView.js.map +1 -1
  287. package/lib/module/components/Message/MessageItemView/MessageReplies.js +3 -5
  288. package/lib/module/components/Message/MessageItemView/MessageReplies.js.map +1 -1
  289. package/lib/module/components/Message/MessageItemView/MessageTextContainer.js +3 -3
  290. package/lib/module/components/Message/MessageItemView/MessageTextContainer.js.map +1 -1
  291. package/lib/module/components/Message/MessageItemView/MessageWrapper.js +6 -4
  292. package/lib/module/components/Message/MessageItemView/MessageWrapper.js.map +1 -1
  293. package/lib/module/components/Message/MessageItemView/ReactionList/ReactionListBottom.js +6 -8
  294. package/lib/module/components/Message/MessageItemView/ReactionList/ReactionListBottom.js.map +1 -1
  295. package/lib/module/components/Message/MessageItemView/ReactionList/ReactionListTop.js +7 -11
  296. package/lib/module/components/Message/MessageItemView/ReactionList/ReactionListTop.js.map +1 -1
  297. package/lib/module/components/Message/MessageItemView/utils/renderText.js +3 -1
  298. package/lib/module/components/Message/MessageItemView/utils/renderText.js.map +1 -1
  299. package/lib/module/components/MessageInput/MessageComposer.js +15 -55
  300. package/lib/module/components/MessageInput/MessageComposer.js.map +1 -1
  301. package/lib/module/components/MessageInput/MessageInputHeaderView.js +5 -5
  302. package/lib/module/components/MessageInput/MessageInputHeaderView.js.map +1 -1
  303. package/lib/module/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.js +9 -17
  304. package/lib/module/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.js.map +1 -1
  305. package/lib/module/components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview.js +5 -5
  306. package/lib/module/components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview.js.map +1 -1
  307. package/lib/module/components/MessageInput/components/AttachmentPreview/ImageAttachmentUploadPreview.js +5 -5
  308. package/lib/module/components/MessageInput/components/AttachmentPreview/ImageAttachmentUploadPreview.js.map +1 -1
  309. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.js +5 -5
  310. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.js.map +1 -1
  311. package/lib/module/components/MessageInput/components/InputButtons/index.js +4 -4
  312. package/lib/module/components/MessageInput/components/InputButtons/index.js.map +1 -1
  313. package/lib/module/components/MessageInput/components/LinkPreviewList.js +3 -2
  314. package/lib/module/components/MessageInput/components/LinkPreviewList.js.map +1 -1
  315. package/lib/module/components/MessageInput/components/OutputButtons/index.js +7 -13
  316. package/lib/module/components/MessageInput/components/OutputButtons/index.js.map +1 -1
  317. package/lib/module/components/MessageList/MessageFlashList.js +14 -40
  318. package/lib/module/components/MessageList/MessageFlashList.js.map +1 -1
  319. package/lib/module/components/MessageList/MessageList.js +12 -38
  320. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  321. package/lib/module/components/MessageList/StickyHeader.js +3 -1
  322. package/lib/module/components/MessageList/StickyHeader.js.map +1 -1
  323. package/lib/module/components/MessageMenu/MessageActionList.js +4 -2
  324. package/lib/module/components/MessageMenu/MessageActionList.js.map +1 -1
  325. package/lib/module/components/MessageMenu/MessageMenu.js.map +1 -1
  326. package/lib/module/components/MessageMenu/MessageUserReactions.js +4 -8
  327. package/lib/module/components/MessageMenu/MessageUserReactions.js.map +1 -1
  328. package/lib/module/components/MessageMenu/MessageUserReactionsItem.js +4 -2
  329. package/lib/module/components/MessageMenu/MessageUserReactionsItem.js.map +1 -1
  330. package/lib/module/components/Poll/CreatePollContent.js +8 -4
  331. package/lib/module/components/Poll/CreatePollContent.js.map +1 -1
  332. package/lib/module/components/Poll/Poll.js +12 -9
  333. package/lib/module/components/Poll/Poll.js.map +1 -1
  334. package/lib/module/components/Poll/components/MultipleAnswersField.js +5 -3
  335. package/lib/module/components/Poll/components/MultipleAnswersField.js.map +1 -1
  336. package/lib/module/components/Poll/components/MultipleVotesSettings.js +5 -3
  337. package/lib/module/components/Poll/components/MultipleVotesSettings.js.map +1 -1
  338. package/lib/module/components/Poll/components/PollAnswersList.js +5 -3
  339. package/lib/module/components/Poll/components/PollAnswersList.js.map +1 -1
  340. package/lib/module/components/Poll/components/PollInputDialog.js +2 -1
  341. package/lib/module/components/Poll/components/PollInputDialog.js.map +1 -1
  342. package/lib/module/components/Poll/components/PollOption.js +5 -3
  343. package/lib/module/components/Poll/components/PollOption.js.map +1 -1
  344. package/lib/module/components/Poll/components/PollResults/PollOptionFullResults.js +5 -5
  345. package/lib/module/components/Poll/components/PollResults/PollOptionFullResults.js.map +1 -1
  346. package/lib/module/components/Poll/components/PollResults/PollResults.js +5 -3
  347. package/lib/module/components/Poll/components/PollResults/PollResults.js.map +1 -1
  348. package/lib/module/components/Reply/Reply.js +11 -4
  349. package/lib/module/components/Reply/Reply.js.map +1 -1
  350. package/lib/module/components/Thread/Thread.js +4 -8
  351. package/lib/module/components/Thread/Thread.js.map +1 -1
  352. package/lib/module/components/Thread/components/ThreadFooterComponent.js +4 -6
  353. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  354. package/lib/module/components/ThreadList/ThreadList.js +12 -15
  355. package/lib/module/components/ThreadList/ThreadList.js.map +1 -1
  356. package/lib/module/components/ThreadList/ThreadListItem.js +8 -11
  357. package/lib/module/components/ThreadList/ThreadListItem.js.map +1 -1
  358. package/lib/module/components/ui/Avatar/Avatar.js +3 -3
  359. package/lib/module/components/ui/Avatar/Avatar.js.map +1 -1
  360. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  361. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  362. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  363. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  364. package/lib/module/contexts/componentsContext/ComponentsContext.js +37 -0
  365. package/lib/module/contexts/componentsContext/ComponentsContext.js.map +1 -0
  366. package/lib/module/contexts/componentsContext/PLAN.md +148 -0
  367. package/lib/module/contexts/componentsContext/defaultComponents.js +286 -0
  368. package/lib/module/contexts/componentsContext/defaultComponents.js.map +1 -0
  369. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +1 -9
  370. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  371. package/lib/module/contexts/imageGalleryContext/ImageGalleryContextBase.js.map +1 -1
  372. package/lib/module/contexts/index.js +11 -0
  373. package/lib/module/contexts/index.js.map +1 -1
  374. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  375. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +2 -76
  376. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  377. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  378. package/lib/module/contexts/overlayContext/MessageOverlayHostLayer.js +7 -5
  379. package/lib/module/contexts/overlayContext/MessageOverlayHostLayer.js.map +1 -1
  380. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  381. package/lib/module/contexts/overlayContext/OverlayProvider.js +1 -4
  382. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  383. package/lib/module/contexts/threadsContext/ThreadsContext.js.map +1 -1
  384. package/lib/module/hooks/messagePreview/useMessagePreviewText.js +28 -13
  385. package/lib/module/hooks/messagePreview/useMessagePreviewText.js.map +1 -1
  386. package/lib/module/i18n/en.json +20 -0
  387. package/lib/module/i18n/es.json +20 -0
  388. package/lib/module/i18n/fr.json +20 -0
  389. package/lib/module/i18n/he.json +20 -0
  390. package/lib/module/i18n/hi.json +20 -0
  391. package/lib/module/i18n/it.json +20 -0
  392. package/lib/module/i18n/ja.json +20 -0
  393. package/lib/module/i18n/ko.json +20 -0
  394. package/lib/module/i18n/nl.json +20 -0
  395. package/lib/module/i18n/pt-br.json +20 -0
  396. package/lib/module/i18n/ru.json +20 -0
  397. package/lib/module/i18n/tr.json +20 -0
  398. package/lib/module/icons/arrow-up-right.js +10 -6
  399. package/lib/module/icons/arrow-up-right.js.map +1 -1
  400. package/lib/module/icons/audio.js +10 -6
  401. package/lib/module/icons/audio.js.map +1 -1
  402. package/lib/module/icons/chevron-left.js +10 -6
  403. package/lib/module/icons/chevron-left.js.map +1 -1
  404. package/lib/module/icons/leave.js +10 -6
  405. package/lib/module/icons/leave.js.map +1 -1
  406. package/lib/module/icons/message-bubble.js +10 -6
  407. package/lib/module/icons/message-bubble.js.map +1 -1
  408. package/lib/module/icons/mute.js +11 -7
  409. package/lib/module/icons/mute.js.map +1 -1
  410. package/lib/module/icons/reply.js +10 -6
  411. package/lib/module/icons/reply.js.map +1 -1
  412. package/lib/module/icons/search.js +11 -7
  413. package/lib/module/icons/search.js.map +1 -1
  414. package/lib/module/icons/send.js +11 -7
  415. package/lib/module/icons/send.js.map +1 -1
  416. package/lib/module/icons/thread.js +10 -6
  417. package/lib/module/icons/thread.js.map +1 -1
  418. package/lib/module/icons/video-fill.js +2 -0
  419. package/lib/module/icons/video-fill.js.map +1 -1
  420. package/lib/module/icons/video.js +10 -6
  421. package/lib/module/icons/video.js.map +1 -1
  422. package/lib/module/utils/rtlMirrorSwitchStyle.js +20 -0
  423. package/lib/module/utils/rtlMirrorSwitchStyle.js.map +1 -0
  424. package/lib/module/version.json +1 -1
  425. package/lib/typescript/components/Attachment/Attachment.d.ts +1 -1
  426. package/lib/typescript/components/Attachment/Attachment.d.ts.map +1 -1
  427. package/lib/typescript/components/Attachment/FileAttachment.d.ts +1 -1
  428. package/lib/typescript/components/Attachment/FileAttachment.d.ts.map +1 -1
  429. package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts +1 -2
  430. package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts.map +1 -1
  431. package/lib/typescript/components/Attachment/FilePreview.d.ts +2 -3
  432. package/lib/typescript/components/Attachment/FilePreview.d.ts.map +1 -1
  433. package/lib/typescript/components/Attachment/Gallery.d.ts +1 -1
  434. package/lib/typescript/components/Attachment/Gallery.d.ts.map +1 -1
  435. package/lib/typescript/components/Attachment/GalleryImage.d.ts +3 -2
  436. package/lib/typescript/components/Attachment/GalleryImage.d.ts.map +1 -1
  437. package/lib/typescript/components/Attachment/Giphy/GiphyImage.d.ts +4 -2
  438. package/lib/typescript/components/Attachment/Giphy/GiphyImage.d.ts.map +1 -1
  439. package/lib/typescript/components/Attachment/UnsupportedAttachment.d.ts +2 -3
  440. package/lib/typescript/components/Attachment/UnsupportedAttachment.d.ts.map +1 -1
  441. package/lib/typescript/components/Attachment/UrlPreview/URLPreview.d.ts +4 -3
  442. package/lib/typescript/components/Attachment/UrlPreview/URLPreview.d.ts.map +1 -1
  443. package/lib/typescript/components/Attachment/UrlPreview/URLPreviewCompact.d.ts +4 -3
  444. package/lib/typescript/components/Attachment/UrlPreview/URLPreviewCompact.d.ts.map +1 -1
  445. package/lib/typescript/components/AttachmentPicker/AttachmentPicker.d.ts.map +1 -1
  446. package/lib/typescript/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.d.ts.map +1 -1
  447. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts +2 -3
  448. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts.map +1 -1
  449. package/lib/typescript/components/Channel/Channel.d.ts +3 -28
  450. package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
  451. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
  452. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts.map +1 -1
  453. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +1 -1
  454. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts.map +1 -1
  455. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -1
  456. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts.map +1 -1
  457. package/lib/typescript/components/Channel/hooks/useMessageListPagination.d.ts.map +1 -1
  458. package/lib/typescript/components/ChannelList/ChannelList.d.ts +2 -10
  459. package/lib/typescript/components/ChannelList/ChannelList.d.ts.map +1 -1
  460. package/lib/typescript/components/ChannelList/ChannelListLoadingIndicator.d.ts.map +1 -1
  461. package/lib/typescript/components/ChannelList/ChannelListView.d.ts +1 -1
  462. package/lib/typescript/components/ChannelList/ChannelListView.d.ts.map +1 -1
  463. package/lib/typescript/components/ChannelList/hooks/useCreateChannelsContext.d.ts +1 -1
  464. package/lib/typescript/components/ChannelList/hooks/useCreateChannelsContext.d.ts.map +1 -1
  465. package/lib/typescript/components/ChannelPreview/ChannelDetailsBottomSheet.d.ts +1 -2
  466. package/lib/typescript/components/ChannelPreview/ChannelDetailsBottomSheet.d.ts.map +1 -1
  467. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +1 -1
  468. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts.map +1 -1
  469. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessage.d.ts +1 -2
  470. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessage.d.ts.map +1 -1
  471. package/lib/typescript/components/ChannelPreview/ChannelPreviewView.d.ts +1 -1
  472. package/lib/typescript/components/ChannelPreview/ChannelPreviewView.d.ts.map +1 -1
  473. package/lib/typescript/components/ChannelPreview/ChannelSwipableWrapper.d.ts +1 -3
  474. package/lib/typescript/components/ChannelPreview/ChannelSwipableWrapper.d.ts.map +1 -1
  475. package/lib/typescript/components/Chat/Chat.d.ts +1 -7
  476. package/lib/typescript/components/Chat/Chat.d.ts.map +1 -1
  477. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +1 -1
  478. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -1
  479. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +6 -1
  480. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts.map +1 -1
  481. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts.map +1 -1
  482. package/lib/typescript/components/ImageGallery/components/types.d.ts +0 -2
  483. package/lib/typescript/components/ImageGallery/components/types.d.ts.map +1 -1
  484. package/lib/typescript/components/Message/Message.d.ts +1 -1
  485. package/lib/typescript/components/Message/Message.d.ts.map +1 -1
  486. package/lib/typescript/components/Message/MessageItemView/MessageBubble.d.ts +1 -2
  487. package/lib/typescript/components/Message/MessageItemView/MessageBubble.d.ts.map +1 -1
  488. package/lib/typescript/components/Message/MessageItemView/MessageContent.d.ts +1 -1
  489. package/lib/typescript/components/Message/MessageItemView/MessageContent.d.ts.map +1 -1
  490. package/lib/typescript/components/Message/MessageItemView/MessageDeleted.d.ts +1 -2
  491. package/lib/typescript/components/Message/MessageItemView/MessageDeleted.d.ts.map +1 -1
  492. package/lib/typescript/components/Message/MessageItemView/MessageFooter.d.ts +0 -2
  493. package/lib/typescript/components/Message/MessageItemView/MessageFooter.d.ts.map +1 -1
  494. package/lib/typescript/components/Message/MessageItemView/MessageHeader.d.ts.map +1 -1
  495. package/lib/typescript/components/Message/MessageItemView/MessageItemView.d.ts +1 -1
  496. package/lib/typescript/components/Message/MessageItemView/MessageItemView.d.ts.map +1 -1
  497. package/lib/typescript/components/Message/MessageItemView/MessageReplies.d.ts +1 -2
  498. package/lib/typescript/components/Message/MessageItemView/MessageReplies.d.ts.map +1 -1
  499. package/lib/typescript/components/Message/MessageItemView/MessageTextContainer.d.ts +1 -1
  500. package/lib/typescript/components/Message/MessageItemView/MessageTextContainer.d.ts.map +1 -1
  501. package/lib/typescript/components/Message/MessageItemView/MessageWrapper.d.ts.map +1 -1
  502. package/lib/typescript/components/Message/MessageItemView/ReactionList/ReactionListBottom.d.ts +1 -1
  503. package/lib/typescript/components/Message/MessageItemView/ReactionList/ReactionListBottom.d.ts.map +1 -1
  504. package/lib/typescript/components/Message/MessageItemView/ReactionList/ReactionListTop.d.ts +1 -1
  505. package/lib/typescript/components/Message/MessageItemView/ReactionList/ReactionListTop.d.ts.map +1 -1
  506. package/lib/typescript/components/Message/MessageItemView/utils/renderText.d.ts.map +1 -1
  507. package/lib/typescript/components/MessageInput/MessageComposer.d.ts +1 -2
  508. package/lib/typescript/components/MessageInput/MessageComposer.d.ts.map +1 -1
  509. package/lib/typescript/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.d.ts +3 -4
  510. package/lib/typescript/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.d.ts.map +1 -1
  511. package/lib/typescript/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.d.ts +1 -1
  512. package/lib/typescript/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.d.ts.map +1 -1
  513. package/lib/typescript/components/MessageInput/components/InputButtons/index.d.ts +1 -1
  514. package/lib/typescript/components/MessageInput/components/InputButtons/index.d.ts.map +1 -1
  515. package/lib/typescript/components/MessageInput/components/LinkPreviewList.d.ts.map +1 -1
  516. package/lib/typescript/components/MessageInput/components/OutputButtons/index.d.ts +1 -1
  517. package/lib/typescript/components/MessageInput/components/OutputButtons/index.d.ts.map +1 -1
  518. package/lib/typescript/components/MessageList/MessageFlashList.d.ts +1 -1
  519. package/lib/typescript/components/MessageList/MessageFlashList.d.ts.map +1 -1
  520. package/lib/typescript/components/MessageList/MessageList.d.ts +1 -1
  521. package/lib/typescript/components/MessageList/MessageList.d.ts.map +1 -1
  522. package/lib/typescript/components/MessageList/StickyHeader.d.ts +2 -3
  523. package/lib/typescript/components/MessageList/StickyHeader.d.ts.map +1 -1
  524. package/lib/typescript/components/MessageMenu/MessageActionList.d.ts +1 -2
  525. package/lib/typescript/components/MessageMenu/MessageActionList.d.ts.map +1 -1
  526. package/lib/typescript/components/MessageMenu/MessageMenu.d.ts +1 -2
  527. package/lib/typescript/components/MessageMenu/MessageMenu.d.ts.map +1 -1
  528. package/lib/typescript/components/MessageMenu/MessageUserReactions.d.ts +1 -1
  529. package/lib/typescript/components/MessageMenu/MessageUserReactions.d.ts.map +1 -1
  530. package/lib/typescript/components/MessageMenu/MessageUserReactionsItem.d.ts +2 -3
  531. package/lib/typescript/components/MessageMenu/MessageUserReactionsItem.d.ts.map +1 -1
  532. package/lib/typescript/components/Poll/CreatePollContent.d.ts +2 -2
  533. package/lib/typescript/components/Poll/CreatePollContent.d.ts.map +1 -1
  534. package/lib/typescript/components/Poll/Poll.d.ts +5 -8
  535. package/lib/typescript/components/Poll/Poll.d.ts.map +1 -1
  536. package/lib/typescript/components/Poll/components/MultipleVotesSettings.d.ts.map +1 -1
  537. package/lib/typescript/components/Poll/components/PollAnswersList.d.ts +1 -2
  538. package/lib/typescript/components/Poll/components/PollAnswersList.d.ts.map +1 -1
  539. package/lib/typescript/components/Poll/components/PollOption.d.ts +1 -2
  540. package/lib/typescript/components/Poll/components/PollOption.d.ts.map +1 -1
  541. package/lib/typescript/components/Poll/components/PollResults/PollOptionFullResults.d.ts +1 -4
  542. package/lib/typescript/components/Poll/components/PollResults/PollOptionFullResults.d.ts.map +1 -1
  543. package/lib/typescript/components/Poll/components/PollResults/PollResults.d.ts +1 -2
  544. package/lib/typescript/components/Poll/components/PollResults/PollResults.d.ts.map +1 -1
  545. package/lib/typescript/components/Reply/Reply.d.ts +4 -3
  546. package/lib/typescript/components/Reply/Reply.d.ts.map +1 -1
  547. package/lib/typescript/components/Thread/Thread.d.ts +2 -8
  548. package/lib/typescript/components/Thread/Thread.d.ts.map +1 -1
  549. package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts +1 -2
  550. package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts.map +1 -1
  551. package/lib/typescript/components/ThreadList/ThreadList.d.ts +2 -3
  552. package/lib/typescript/components/ThreadList/ThreadList.d.ts.map +1 -1
  553. package/lib/typescript/components/ThreadList/ThreadListItem.d.ts.map +1 -1
  554. package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts +0 -17
  555. package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts.map +1 -1
  556. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +0 -23
  557. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts.map +1 -1
  558. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +0 -112
  559. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts.map +1 -1
  560. package/lib/typescript/contexts/chatContext/ChatContext.d.ts +0 -5
  561. package/lib/typescript/contexts/chatContext/ChatContext.d.ts.map +1 -1
  562. package/lib/typescript/contexts/componentsContext/ComponentsContext.d.ts +321 -0
  563. package/lib/typescript/contexts/componentsContext/ComponentsContext.d.ts.map +1 -0
  564. package/lib/typescript/contexts/componentsContext/defaultComponents.d.ts +296 -0
  565. package/lib/typescript/contexts/componentsContext/defaultComponents.d.ts.map +1 -0
  566. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts.map +1 -1
  567. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContextBase.d.ts +0 -5
  568. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContextBase.d.ts.map +1 -1
  569. package/lib/typescript/contexts/index.d.ts +1 -0
  570. package/lib/typescript/contexts/index.d.ts.map +1 -1
  571. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +1 -169
  572. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts.map +1 -1
  573. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +1 -1
  574. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts.map +1 -1
  575. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +3 -332
  576. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts.map +1 -1
  577. package/lib/typescript/contexts/overlayContext/MessageOverlayHostLayer.d.ts +2 -5
  578. package/lib/typescript/contexts/overlayContext/MessageOverlayHostLayer.d.ts.map +1 -1
  579. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +0 -4
  580. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts.map +1 -1
  581. package/lib/typescript/contexts/overlayContext/OverlayProvider.d.ts.map +1 -1
  582. package/lib/typescript/contexts/threadsContext/ThreadsContext.d.ts +0 -9
  583. package/lib/typescript/contexts/threadsContext/ThreadsContext.d.ts.map +1 -1
  584. package/lib/typescript/hooks/messagePreview/useMessagePreviewText.d.ts.map +1 -1
  585. package/lib/typescript/i18n/en.json +20 -0
  586. package/lib/typescript/i18n/es.json +20 -0
  587. package/lib/typescript/i18n/fr.json +20 -0
  588. package/lib/typescript/i18n/he.json +20 -0
  589. package/lib/typescript/i18n/hi.json +20 -0
  590. package/lib/typescript/i18n/it.json +20 -0
  591. package/lib/typescript/i18n/ja.json +20 -0
  592. package/lib/typescript/i18n/ko.json +20 -0
  593. package/lib/typescript/i18n/nl.json +20 -0
  594. package/lib/typescript/i18n/pt-br.json +20 -0
  595. package/lib/typescript/i18n/ru.json +20 -0
  596. package/lib/typescript/i18n/tr.json +20 -0
  597. package/lib/typescript/icons/arrow-up-right.d.ts.map +1 -1
  598. package/lib/typescript/icons/audio.d.ts.map +1 -1
  599. package/lib/typescript/icons/chevron-left.d.ts.map +1 -1
  600. package/lib/typescript/icons/leave.d.ts.map +1 -1
  601. package/lib/typescript/icons/message-bubble.d.ts.map +1 -1
  602. package/lib/typescript/icons/mute.d.ts.map +1 -1
  603. package/lib/typescript/icons/reply.d.ts.map +1 -1
  604. package/lib/typescript/icons/search.d.ts.map +1 -1
  605. package/lib/typescript/icons/send.d.ts.map +1 -1
  606. package/lib/typescript/icons/thread.d.ts.map +1 -1
  607. package/lib/typescript/icons/video-fill.d.ts.map +1 -1
  608. package/lib/typescript/icons/video.d.ts.map +1 -1
  609. package/lib/typescript/utils/i18n/Streami18n.d.ts +20 -0
  610. package/lib/typescript/utils/i18n/Streami18n.d.ts.map +1 -1
  611. package/lib/typescript/utils/rtlMirrorSwitchStyle.d.ts +9 -0
  612. package/lib/typescript/utils/rtlMirrorSwitchStyle.d.ts.map +1 -0
  613. package/package.json +1 -1
  614. package/src/__tests__/offline-support/offline-feature.js +64 -67
  615. package/src/components/Attachment/Attachment.tsx +7 -69
  616. package/src/components/Attachment/FileAttachment.tsx +4 -7
  617. package/src/components/Attachment/FileAttachmentGroup.tsx +9 -19
  618. package/src/components/Attachment/FilePreview.tsx +4 -9
  619. package/src/components/Attachment/Gallery.tsx +6 -83
  620. package/src/components/Attachment/GalleryImage.tsx +5 -4
  621. package/src/components/Attachment/Giphy/GiphyImage.tsx +15 -37
  622. package/src/components/Attachment/UnsupportedAttachment.tsx +5 -10
  623. package/src/components/Attachment/UrlPreview/URLPreview.tsx +6 -4
  624. package/src/components/Attachment/UrlPreview/URLPreviewCompact.tsx +6 -4
  625. package/src/components/AttachmentPicker/AttachmentPicker.tsx +2 -2
  626. package/src/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.tsx +5 -4
  627. package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +4 -20
  628. package/src/components/Channel/Channel.tsx +31 -438
  629. package/src/components/Channel/__tests__/isAttachmentEqualHandler.test.js +12 -9
  630. package/src/components/Channel/hooks/useCreateChannelContext.ts +0 -8
  631. package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +1 -81
  632. package/src/components/Channel/hooks/useCreateMessagesContext.ts +0 -130
  633. package/src/components/ChannelList/ChannelList.tsx +3 -76
  634. package/src/components/ChannelList/ChannelListLoadingIndicator.tsx +3 -1
  635. package/src/components/ChannelList/ChannelListView.tsx +12 -33
  636. package/src/components/ChannelList/__tests__/ChannelList.test.js +173 -116
  637. package/src/components/ChannelList/__tests__/ChannelListView.test.js +64 -41
  638. package/src/components/ChannelList/hooks/useCreateChannelsContext.ts +0 -39
  639. package/src/components/ChannelPreview/ChannelDetailsBottomSheet.tsx +2 -2
  640. package/src/components/ChannelPreview/ChannelPreview.tsx +6 -14
  641. package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +7 -33
  642. package/src/components/ChannelPreview/ChannelPreviewView.tsx +11 -40
  643. package/src/components/ChannelPreview/ChannelSwipableWrapper.tsx +2 -4
  644. package/src/components/ChannelPreview/__tests__/ChannelDetailsBottomSheet.test.tsx +16 -12
  645. package/src/components/ChannelPreview/__tests__/ChannelPreview.test.tsx +25 -24
  646. package/src/components/ChannelPreview/__tests__/ChannelSwipableWrapper.test.tsx +11 -6
  647. package/src/components/Chat/Chat.tsx +5 -12
  648. package/src/components/Chat/hooks/useCreateChatContext.ts +0 -2
  649. package/src/components/ImageGallery/ImageGallery.tsx +14 -16
  650. package/src/components/ImageGallery/__tests__/ImageGallery.test.tsx +0 -8
  651. package/src/components/ImageGallery/__tests__/ImageGalleryFooter.test.tsx +25 -21
  652. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +3 -1
  653. package/src/components/ImageGallery/components/types.ts +0 -3
  654. package/src/components/Message/Message.tsx +11 -32
  655. package/src/components/Message/MessageItemView/MessageBubble.tsx +11 -7
  656. package/src/components/Message/MessageItemView/MessageContent.tsx +14 -47
  657. package/src/components/Message/MessageItemView/MessageDeleted.tsx +3 -9
  658. package/src/components/Message/MessageItemView/MessageFooter.tsx +2 -14
  659. package/src/components/Message/MessageItemView/MessageHeader.tsx +11 -29
  660. package/src/components/Message/MessageItemView/MessageItemView.tsx +10 -42
  661. package/src/components/Message/MessageItemView/MessageReplies.tsx +2 -8
  662. package/src/components/Message/MessageItemView/MessageTextContainer.tsx +4 -8
  663. package/src/components/Message/MessageItemView/MessageWrapper.tsx +4 -9
  664. package/src/components/Message/MessageItemView/ReactionList/ReactionListBottom.tsx +4 -12
  665. package/src/components/Message/MessageItemView/ReactionList/ReactionListTop.tsx +4 -20
  666. package/src/components/Message/MessageItemView/__tests__/MessageContent.test.js +47 -30
  667. package/src/components/Message/MessageItemView/__tests__/MessageItemView.test.js +16 -7
  668. package/src/components/Message/MessageItemView/__tests__/MessageTextContainer.test.tsx +8 -4
  669. package/src/components/Message/MessageItemView/__tests__/__snapshots__/MessageTextContainer.test.tsx.snap +1 -0
  670. package/src/components/Message/MessageItemView/utils/renderText.tsx +2 -0
  671. package/src/components/MessageInput/MessageComposer.tsx +16 -76
  672. package/src/components/MessageInput/MessageInputHeaderView.tsx +3 -3
  673. package/src/components/MessageInput/__tests__/__snapshots__/SendButton.test.js.snap +54 -36
  674. package/src/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.tsx +7 -35
  675. package/src/components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview.tsx +2 -2
  676. package/src/components/MessageInput/components/AttachmentPreview/ImageAttachmentUploadPreview.tsx +2 -2
  677. package/src/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.tsx +6 -4
  678. package/src/components/MessageInput/components/InputButtons/index.tsx +4 -5
  679. package/src/components/MessageInput/components/LinkPreviewList.tsx +3 -2
  680. package/src/components/MessageInput/components/OutputButtons/index.tsx +4 -23
  681. package/src/components/MessageList/MessageFlashList.tsx +13 -57
  682. package/src/components/MessageList/MessageList.tsx +15 -57
  683. package/src/components/MessageList/StickyHeader.tsx +4 -3
  684. package/src/components/MessageMenu/MessageActionList.tsx +4 -3
  685. package/src/components/MessageMenu/MessageMenu.tsx +35 -47
  686. package/src/components/MessageMenu/MessageUserReactions.tsx +7 -27
  687. package/src/components/MessageMenu/MessageUserReactionsItem.tsx +3 -6
  688. package/src/components/MessageMenu/__tests__/MessageUserReactions.test.tsx +12 -11
  689. package/src/components/Poll/CreatePollContent.tsx +7 -6
  690. package/src/components/Poll/Poll.tsx +22 -24
  691. package/src/components/Poll/components/MultipleAnswersField.tsx +4 -3
  692. package/src/components/Poll/components/MultipleVotesSettings.tsx +4 -2
  693. package/src/components/Poll/components/PollAnswersList.tsx +9 -11
  694. package/src/components/Poll/components/PollInputDialog.tsx +1 -0
  695. package/src/components/Poll/components/PollOption.tsx +9 -11
  696. package/src/components/Poll/components/PollResults/PollOptionFullResults.tsx +10 -11
  697. package/src/components/Poll/components/PollResults/PollResults.tsx +9 -15
  698. package/src/components/Reply/Reply.tsx +25 -10
  699. package/src/components/Thread/Thread.tsx +3 -18
  700. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +31 -18
  701. package/src/components/Thread/components/ThreadFooterComponent.tsx +10 -11
  702. package/src/components/ThreadList/ThreadList.tsx +14 -22
  703. package/src/components/ThreadList/ThreadListItem.tsx +6 -11
  704. package/src/components/ui/Avatar/Avatar.tsx +2 -2
  705. package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +0 -15
  706. package/src/contexts/channelContext/ChannelContext.tsx +0 -24
  707. package/src/contexts/channelsContext/ChannelsContext.tsx +0 -113
  708. package/src/contexts/chatContext/ChatContext.tsx +0 -5
  709. package/src/contexts/componentsContext/ComponentsContext.tsx +62 -0
  710. package/src/contexts/componentsContext/PLAN.md +148 -0
  711. package/src/contexts/componentsContext/__tests__/defaultComponents.test.ts +44 -0
  712. package/src/contexts/componentsContext/defaultComponents.ts +332 -0
  713. package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +0 -8
  714. package/src/contexts/imageGalleryContext/ImageGalleryContextBase.tsx +0 -10
  715. package/src/contexts/index.ts +1 -0
  716. package/src/contexts/messageInputContext/MessageInputContext.tsx +0 -185
  717. package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +1 -75
  718. package/src/contexts/messagesContext/MessagesContext.tsx +3 -358
  719. package/src/contexts/overlayContext/MessageOverlayHostLayer.tsx +5 -7
  720. package/src/contexts/overlayContext/OverlayContext.tsx +0 -4
  721. package/src/contexts/overlayContext/OverlayProvider.tsx +1 -2
  722. package/src/contexts/overlayContext/__tests__/MessageOverlayHostLayer.test.tsx +21 -6
  723. package/src/contexts/threadsContext/ThreadsContext.tsx +0 -9
  724. package/src/hooks/messagePreview/useMessagePreviewText.tsx +17 -13
  725. package/src/i18n/en.json +20 -0
  726. package/src/i18n/es.json +20 -0
  727. package/src/i18n/fr.json +20 -0
  728. package/src/i18n/he.json +20 -0
  729. package/src/i18n/hi.json +20 -0
  730. package/src/i18n/it.json +20 -0
  731. package/src/i18n/ja.json +20 -0
  732. package/src/i18n/ko.json +20 -0
  733. package/src/i18n/nl.json +20 -0
  734. package/src/i18n/pt-br.json +20 -0
  735. package/src/i18n/ru.json +20 -0
  736. package/src/i18n/tr.json +20 -0
  737. package/src/icons/arrow-up-right.tsx +11 -8
  738. package/src/icons/audio.tsx +11 -8
  739. package/src/icons/chevron-left.tsx +11 -8
  740. package/src/icons/leave.tsx +11 -8
  741. package/src/icons/message-bubble.tsx +11 -8
  742. package/src/icons/mute.tsx +12 -9
  743. package/src/icons/reply.tsx +11 -8
  744. package/src/icons/search.tsx +12 -9
  745. package/src/icons/send.tsx +12 -9
  746. package/src/icons/thread.tsx +11 -8
  747. package/src/icons/video-fill.tsx +5 -1
  748. package/src/icons/video.tsx +11 -8
  749. package/src/utils/rtlMirrorSwitchStyle.ts +20 -0
  750. package/src/version.json +1 -1
@@ -6,6 +6,7 @@ import { GestureDetector } from 'react-native-gesture-handler';
6
6
  import { cleanup, render, screen, waitFor } from '@testing-library/react-native';
7
7
 
8
8
  import { ChannelsStateProvider } from '../../../../contexts/channelsStateContext/ChannelsStateContext';
9
+ import { WithComponents } from '../../../../contexts/componentsContext/ComponentsContext';
9
10
  import { useMessageContext } from '../../../../contexts/messageContext/MessageContext';
10
11
 
11
12
  import { getOrCreateChannelApi } from '../../../../mock-builders/api/getOrCreateChannel';
@@ -42,13 +43,21 @@ describe('MessageItemView', () => {
42
43
  useMockedApis(chatClient, [getOrCreateChannelApi(mockedChannel)]);
43
44
  channel = chatClient.channel('messaging', mockedChannel.id);
44
45
 
45
- renderMessage = (options, channelProps) =>
46
+ renderMessage = (options, channelProps, componentOverrides) =>
46
47
  render(
47
48
  <ChannelsStateProvider>
48
49
  <Chat client={chatClient}>
49
- <Channel channel={channel} {...channelProps}>
50
- <Message groupStyles={['bottom']} {...options} />
51
- </Channel>
50
+ {componentOverrides ? (
51
+ <WithComponents overrides={componentOverrides}>
52
+ <Channel channel={channel} {...channelProps}>
53
+ <Message groupStyles={['bottom']} {...options} />
54
+ </Channel>
55
+ </WithComponents>
56
+ ) : (
57
+ <Channel channel={channel} {...channelProps}>
58
+ <Message groupStyles={['bottom']} {...options} />
59
+ </Channel>
60
+ )}
52
61
  </Chat>
53
62
  </ChannelsStateProvider>,
54
63
  );
@@ -136,7 +145,7 @@ describe('MessageItemView', () => {
136
145
  return <Text ref={contextMenuAnchorRef}>Custom Message Item</Text>;
137
146
  };
138
147
 
139
- renderMessage({ message }, { MessageItemView: CustomMessageItemView });
148
+ renderMessage({ message }, {}, { MessageItemView: CustomMessageItemView });
140
149
 
141
150
  await waitFor(() => {
142
151
  expect(screen.queryByText('Custom Message Item')).not.toBeNull();
@@ -147,7 +156,7 @@ describe('MessageItemView', () => {
147
156
  const user = generateUser();
148
157
  const message = generateMessage({ user });
149
158
 
150
- renderMessage({ message }, { MessageSpacer: () => <Text>Message Spacer</Text> });
159
+ renderMessage({ message }, {}, { MessageSpacer: () => <Text>Message Spacer</Text> });
151
160
 
152
161
  await waitFor(() => {
153
162
  expect(screen.queryByText('Message Spacer')).not.toBeNull();
@@ -193,7 +202,7 @@ describe('MessageItemView', () => {
193
202
  const user = generateUser();
194
203
  const message = generateMessage({ user });
195
204
 
196
- renderMessage({ message }, { MessageHeader: () => <Text>Message Header</Text> });
205
+ renderMessage({ message }, {}, { MessageHeader: () => <Text>Message Header</Text> });
197
206
 
198
207
  await waitFor(() => {
199
208
  expect(screen.queryByText('Message Header')).not.toBeNull();
@@ -5,6 +5,7 @@ import { cleanup, render, waitFor } from '@testing-library/react-native';
5
5
 
6
6
  import { LocalMessage } from 'stream-chat';
7
7
 
8
+ import { WithComponents } from '../../../../contexts/componentsContext/ComponentsContext';
8
9
  import { OverlayProvider } from '../../../../contexts/overlayContext/OverlayProvider';
9
10
  import { ThemeProvider } from '../../../../contexts/themeContext/ThemeContext';
10
11
  import { defaultTheme } from '../../../../contexts/themeContext/utils/theme';
@@ -43,10 +44,13 @@ describe('MessageTextContainer', () => {
43
44
 
44
45
  rerender(
45
46
  <ThemeProvider theme={defaultTheme}>
46
- <MessageTextContainer
47
- message={message as unknown as LocalMessage}
48
- MessageText={({ message }) => <Text testID='message-text'>{message?.text}</Text>}
49
- />
47
+ <WithComponents
48
+ overrides={{
49
+ MessageText: ({ message }) => <Text testID='message-text'>{message?.text}</Text>,
50
+ }}
51
+ >
52
+ <MessageTextContainer message={message as unknown as LocalMessage} />
53
+ </WithComponents>
50
54
  </ThemeProvider>,
51
55
  );
52
56
 
@@ -44,6 +44,7 @@ exports[`MessageTextContainer should render message text container 1`] = `
44
44
  "color": "#1a1b25",
45
45
  "fontSize": 17,
46
46
  "lineHeight": 20,
47
+ "writingDirection": "ltr",
47
48
  }
48
49
  }
49
50
  >
@@ -1,6 +1,7 @@
1
1
  import React, { PropsWithChildren, ReactNode, useCallback, useMemo } from 'react';
2
2
  import {
3
3
  GestureResponderEvent,
4
+ I18nManager,
4
5
  Linking,
5
6
  Platform,
6
7
  Text,
@@ -294,6 +295,7 @@ export const renderText = (params: RenderTextParams) => {
294
295
  ...defaultMarkdownStyles.text,
295
296
  color: isMyMessage ? semantics.chatTextOutgoing : semantics.chatTextIncoming,
296
297
  ...markdownStyles?.text,
298
+ writingDirection: I18nManager.isRTL ? 'rtl' : 'ltr',
297
299
  },
298
300
  };
299
301
 
@@ -27,6 +27,7 @@ import {
27
27
  ChannelContextValue,
28
28
  useChannelContext,
29
29
  } from '../../contexts/channelContext/ChannelContext';
30
+ import { useComponentsContext } from '../../contexts/componentsContext/ComponentsContext';
30
31
  import {
31
32
  MessageComposerAPIContextValue,
32
33
  useMessageComposerAPIContext,
@@ -36,10 +37,6 @@ import {
36
37
  MessageInputContextValue,
37
38
  useMessageInputContext,
38
39
  } from '../../contexts/messageInputContext/MessageInputContext';
39
- import {
40
- MessagesContextValue,
41
- useMessagesContext,
42
- } from '../../contexts/messagesContext/MessagesContext';
43
40
 
44
41
  import { useTheme } from '../../contexts/themeContext/ThemeContext';
45
42
  import {
@@ -160,36 +157,18 @@ type MessageComposerPropsWithContext = Pick<ChatContextValue, 'isOnline'> &
160
157
  | 'asyncMessagesLockDistance'
161
158
  | 'asyncMessagesMinimumPressDuration'
162
159
  | 'asyncMessagesSlideToCancelDistance'
163
- | 'AttachmentUploadPreviewList'
164
- | 'AudioRecorder'
165
- | 'AudioRecordingInProgress'
166
- | 'AudioRecordingLockIndicator'
167
- | 'AudioRecordingPreview'
168
- | 'AutoCompleteSuggestionList'
169
160
  | 'closeAttachmentPicker'
170
161
  | 'compressImageQuality'
171
- | 'Input'
172
- | 'InputView'
173
162
  | 'inputBoxRef'
174
- | 'InputButtons'
175
- | 'MessageComposerLeadingView'
176
- | 'MessageComposerTrailingView'
177
163
  | 'messageInputFloating'
178
164
  | 'messageInputHeightStore'
179
- | 'MessageInputHeaderView'
180
- | 'MessageInputTrailingView'
181
- | 'SendButton'
182
- | 'StartAudioRecordingButton'
183
165
  | 'uploadNewFile'
184
166
  | 'openPollCreationDialog'
185
167
  | 'closePollCreationDialog'
186
168
  | 'showPollCreationDialog'
187
169
  | 'sendMessage'
188
- | 'CreatePollContent'
189
170
  | 'createPollOptionGap'
190
- | 'StopMessageStreamingButton'
191
171
  > &
192
- Pick<MessagesContextValue, 'Reply'> &
193
172
  Pick<TranslationContextValue, 't'> &
194
173
  Pick<MessageComposerAPIContextValue, 'clearEditingState'> &
195
174
  Pick<AudioRecorderManagerState, 'micLocked'> & {
@@ -210,23 +189,11 @@ const MessageComposerWithContext = (props: MessageComposerPropsWithContext) => {
210
189
  additionalTextInputProps,
211
190
  asyncMessagesLockDistance,
212
191
  asyncMessagesSlideToCancelDistance,
213
- AudioRecorder,
214
- AudioRecordingInProgress,
215
- AudioRecordingLockIndicator,
216
- AudioRecordingPreview,
217
- AutoCompleteSuggestionList,
218
192
  closeAttachmentPicker,
219
193
  closePollCreationDialog,
220
- CreatePollContent,
221
194
  createPollOptionGap,
222
- InputView,
223
- MessageComposerLeadingView,
224
- MessageComposerTrailingView,
225
195
  messageInputFloating,
226
196
  messageInputHeightStore,
227
- MessageInputHeaderView,
228
- MessageInputTrailingView,
229
- Input,
230
197
  inputBoxRef,
231
198
  isKeyboardVisible,
232
199
  members,
@@ -239,6 +206,20 @@ const MessageComposerWithContext = (props: MessageComposerPropsWithContext) => {
239
206
  recordingStatus,
240
207
  } = props;
241
208
 
209
+ const {
210
+ AudioRecorder,
211
+ AudioRecordingInProgress,
212
+ AudioRecordingLockIndicator,
213
+ AudioRecordingPreview,
214
+ AutoCompleteSuggestionList,
215
+ Input,
216
+ InputView,
217
+ MessageComposerLeadingView,
218
+ MessageComposerTrailingView,
219
+ MessageInputHeaderView,
220
+ MessageInputTrailingView,
221
+ } = useComponentsContext();
222
+
242
223
  const styles = useStyles();
243
224
  const { selectedPicker } = useAttachmentPickerState();
244
225
  const { attachmentPickerBottomSheetHeight, bottomInset } = useAttachmentPickerContext();
@@ -486,7 +467,6 @@ const MessageComposerWithContext = (props: MessageComposerPropsWithContext) => {
486
467
  <SafeAreaViewWrapper style={styles.pollSafeArea}>
487
468
  <CreatePoll
488
469
  closePollCreationDialog={closePollCreationDialog}
489
- CreatePollContent={CreatePollContent}
490
470
  createPollOptionGap={createPollOptionGap}
491
471
  sendMessage={sendMessage}
492
472
  />
@@ -660,42 +640,22 @@ export const MessageComposer = (props: MessageComposerProps) => {
660
640
  asyncMessagesLockDistance,
661
641
  asyncMessagesMinimumPressDuration,
662
642
  asyncMessagesSlideToCancelDistance,
663
- AttachmentUploadPreviewList,
664
- AudioRecorder,
665
643
  audioRecordingEnabled,
666
- AudioRecordingInProgress,
667
- AudioRecordingLockIndicator,
668
- AudioRecordingPreview,
669
- AudioRecordingWaveform,
670
- AutoCompleteSuggestionList,
671
644
  closeAttachmentPicker,
672
645
  closePollCreationDialog,
673
646
  compressImageQuality,
674
- CreatePollContent,
675
- Input,
676
- InputView,
677
647
  inputBoxRef,
678
- InputButtons,
679
- MessageComposerLeadingView,
680
- MessageComposerTrailingView,
681
648
  messageInputFloating,
682
649
  messageInputHeightStore,
683
- MessageInputHeaderView,
684
- MessageInputTrailingView,
685
650
  openPollCreationDialog,
686
- SendButton,
687
651
  sendMessage,
688
- SendMessageDisallowedIndicator,
689
652
  showPollCreationDialog,
690
- StartAudioRecordingButton,
691
- StopMessageStreamingButton,
692
653
  uploadNewFile,
693
654
  } = useMessageInputContext();
655
+ const { SendMessageDisallowedIndicator } = useComponentsContext();
694
656
  const messageComposer = useMessageComposer();
695
657
  const editing = !!messageComposer.editedMessage;
696
658
  const { clearEditingState } = useMessageComposerAPIContext();
697
-
698
- const { Reply } = useMessagesContext();
699
659
  const isKeyboardVisible = useKeyboardVisibility();
700
660
 
701
661
  const { micLocked, isRecordingStateIdle, recordingStatus } = useStateStore(
@@ -725,43 +685,23 @@ export const MessageComposer = (props: MessageComposerProps) => {
725
685
  asyncMessagesLockDistance,
726
686
  asyncMessagesMinimumPressDuration,
727
687
  asyncMessagesSlideToCancelDistance,
728
- AttachmentUploadPreviewList,
729
- AudioRecorder,
730
688
  audioRecordingEnabled,
731
- AudioRecordingInProgress,
732
- AudioRecordingLockIndicator,
733
- AudioRecordingPreview,
734
- AudioRecordingWaveform,
735
- AutoCompleteSuggestionList,
736
689
  channel,
737
690
  clearEditingState,
738
691
  closeAttachmentPicker,
739
692
  closePollCreationDialog,
740
693
  compressImageQuality,
741
- CreatePollContent,
742
694
  // TODO: probably not needed anymore, please check
743
695
  editing,
744
- Input,
745
- InputView,
746
696
  inputBoxRef,
747
- InputButtons,
748
- MessageComposerLeadingView,
749
- MessageComposerTrailingView,
750
697
  isKeyboardVisible,
751
698
  isOnline,
752
699
  members,
753
700
  messageInputFloating,
754
701
  messageInputHeightStore,
755
- MessageInputHeaderView,
756
- MessageInputTrailingView,
757
702
  openPollCreationDialog,
758
- Reply,
759
- SendButton,
760
703
  sendMessage,
761
- SendMessageDisallowedIndicator,
762
704
  showPollCreationDialog,
763
- StartAudioRecordingButton,
764
- StopMessageStreamingButton,
765
705
  t,
766
706
  uploadNewFile,
767
707
  watchers,
@@ -9,11 +9,11 @@ import { useHasLinkPreviews } from './hooks/useLinkPreviews';
9
9
  import { idleRecordingStateSelector } from './utils/audioRecorderSelectors';
10
10
  import { messageComposerStateStoreSelector } from './utils/messageComposerSelectors';
11
11
 
12
+ import { useComponentsContext } from '../../contexts/componentsContext/ComponentsContext';
12
13
  import { useMessageComposerAPIContext } from '../../contexts/messageComposerContext/MessageComposerAPIContext';
13
14
  import { useHasAttachments } from '../../contexts/messageInputContext/hooks/useHasAttachments';
14
15
  import { useMessageComposer } from '../../contexts/messageInputContext/hooks/useMessageComposer';
15
16
  import { useMessageInputContext } from '../../contexts/messageInputContext/MessageInputContext';
16
- import { useMessagesContext } from '../../contexts/messagesContext/MessagesContext';
17
17
  import { useTheme } from '../../contexts/themeContext/ThemeContext';
18
18
  import { useStateStore } from '../../hooks/useStateStore';
19
19
  import { primitives } from '../../theme';
@@ -30,8 +30,8 @@ export const MessageInputHeaderView = () => {
30
30
  const { clearEditingState } = useMessageComposerAPIContext();
31
31
  const { quotedMessage } = useStateStore(messageComposer.state, messageComposerStateStoreSelector);
32
32
  const hasLinkPreviews = useHasLinkPreviews();
33
- const { audioRecorderManager, AttachmentUploadPreviewList } = useMessageInputContext();
34
- const { Reply } = useMessagesContext();
33
+ const { audioRecorderManager } = useMessageInputContext();
34
+ const { AttachmentUploadPreviewList, Reply } = useComponentsContext();
35
35
  const { isRecordingStateIdle } = useStateStore(
36
36
  audioRecorderManager.state,
37
37
  idleRecordingStateSelector,
@@ -122,28 +122,37 @@ exports[`SendButton should render a SendButton 1`] = `
122
122
  }
123
123
  strokeWidth={1.5}
124
124
  >
125
- <RNSVGPath
126
- d="M11.2498 10H6.24982M6.24982 10L3.7881 2.71328C3.74537 2.59349 3.7402 2.4635 3.7733 2.34069C3.80639 2.21788 3.87616 2.10808 3.9733 2.02597C4.07044 1.94386 4.19032 1.89335 4.31693 1.88117C4.44353 1.86899 4.57084 1.89573 4.68185 1.95781L17.8069 9.4461C17.9045 9.50015 17.986 9.57937 18.0427 9.67555C18.0994 9.77172 18.1293 9.88133 18.1293 9.99297C18.1293 10.1046 18.0994 10.2142 18.0427 10.3104C17.986 10.4066 17.9045 10.4858 17.8069 10.5398L4.68185 18.0469C4.57051 18.1096 4.4426 18.1367 4.31537 18.1245C4.18815 18.1123 4.06772 18.0614 3.97032 17.9787C3.87292 17.8959 3.80323 17.7853 3.77065 17.6617C3.73807 17.5381 3.74416 17.4075 3.7881 17.2875L6.24982 10Z"
127
- fill={null}
128
- propList={
129
- [
130
- "fill",
131
- "stroke",
132
- "strokeWidth",
133
- "strokeLinecap",
134
- "strokeLinejoin",
135
- ]
136
- }
137
- stroke={
125
+ <RNSVGGroup
126
+ fill={
138
127
  {
139
- "payload": 4294967295,
128
+ "payload": 4278190080,
140
129
  "type": 0,
141
130
  }
142
131
  }
143
- strokeLinecap={1}
144
- strokeLinejoin={1}
145
- strokeWidth={1.5}
146
- />
132
+ >
133
+ <RNSVGPath
134
+ d="M11.2498 10H6.24982M6.24982 10L3.7881 2.71328C3.74537 2.59349 3.7402 2.4635 3.7733 2.34069C3.80639 2.21788 3.87616 2.10808 3.9733 2.02597C4.07044 1.94386 4.19032 1.89335 4.31693 1.88117C4.44353 1.86899 4.57084 1.89573 4.68185 1.95781L17.8069 9.4461C17.9045 9.50015 17.986 9.57937 18.0427 9.67555C18.0994 9.77172 18.1293 9.88133 18.1293 9.99297C18.1293 10.1046 18.0994 10.2142 18.0427 10.3104C17.986 10.4066 17.9045 10.4858 17.8069 10.5398L4.68185 18.0469C4.57051 18.1096 4.4426 18.1367 4.31537 18.1245C4.18815 18.1123 4.06772 18.0614 3.97032 17.9787C3.87292 17.8959 3.80323 17.7853 3.77065 17.6617C3.73807 17.5381 3.74416 17.4075 3.7881 17.2875L6.24982 10Z"
135
+ fill={null}
136
+ propList={
137
+ [
138
+ "fill",
139
+ "stroke",
140
+ "strokeWidth",
141
+ "strokeLinecap",
142
+ "strokeLinejoin",
143
+ ]
144
+ }
145
+ stroke={
146
+ {
147
+ "payload": 4294967295,
148
+ "type": 0,
149
+ }
150
+ }
151
+ strokeLinecap={1}
152
+ strokeLinejoin={1}
153
+ strokeWidth={1.5}
154
+ />
155
+ </RNSVGGroup>
147
156
  </RNSVGGroup>
148
157
  </RNSVGSvgView>
149
158
  </View>
@@ -980,28 +989,37 @@ exports[`SendButton should render a disabled SendButton 1`] = `
980
989
  }
981
990
  strokeWidth={1.5}
982
991
  >
983
- <RNSVGPath
984
- d="M11.2498 10H6.24982M6.24982 10L3.7881 2.71328C3.74537 2.59349 3.7402 2.4635 3.7733 2.34069C3.80639 2.21788 3.87616 2.10808 3.9733 2.02597C4.07044 1.94386 4.19032 1.89335 4.31693 1.88117C4.44353 1.86899 4.57084 1.89573 4.68185 1.95781L17.8069 9.4461C17.9045 9.50015 17.986 9.57937 18.0427 9.67555C18.0994 9.77172 18.1293 9.88133 18.1293 9.99297C18.1293 10.1046 18.0994 10.2142 18.0427 10.3104C17.986 10.4066 17.9045 10.4858 17.8069 10.5398L4.68185 18.0469C4.57051 18.1096 4.4426 18.1367 4.31537 18.1245C4.18815 18.1123 4.06772 18.0614 3.97032 17.9787C3.87292 17.8959 3.80323 17.7853 3.77065 17.6617C3.73807 17.5381 3.74416 17.4075 3.7881 17.2875L6.24982 10Z"
985
- fill={null}
986
- propList={
987
- [
988
- "fill",
989
- "stroke",
990
- "strokeWidth",
991
- "strokeLinecap",
992
- "strokeLinejoin",
993
- ]
994
- }
995
- stroke={
992
+ <RNSVGGroup
993
+ fill={
996
994
  {
997
- "payload": 4288916666,
995
+ "payload": 4278190080,
998
996
  "type": 0,
999
997
  }
1000
998
  }
1001
- strokeLinecap={1}
1002
- strokeLinejoin={1}
1003
- strokeWidth={1.5}
1004
- />
999
+ >
1000
+ <RNSVGPath
1001
+ d="M11.2498 10H6.24982M6.24982 10L3.7881 2.71328C3.74537 2.59349 3.7402 2.4635 3.7733 2.34069C3.80639 2.21788 3.87616 2.10808 3.9733 2.02597C4.07044 1.94386 4.19032 1.89335 4.31693 1.88117C4.44353 1.86899 4.57084 1.89573 4.68185 1.95781L17.8069 9.4461C17.9045 9.50015 17.986 9.57937 18.0427 9.67555C18.0994 9.77172 18.1293 9.88133 18.1293 9.99297C18.1293 10.1046 18.0994 10.2142 18.0427 10.3104C17.986 10.4066 17.9045 10.4858 17.8069 10.5398L4.68185 18.0469C4.57051 18.1096 4.4426 18.1367 4.31537 18.1245C4.18815 18.1123 4.06772 18.0614 3.97032 17.9787C3.87292 17.8959 3.80323 17.7853 3.77065 17.6617C3.73807 17.5381 3.74416 17.4075 3.7881 17.2875L6.24982 10Z"
1002
+ fill={null}
1003
+ propList={
1004
+ [
1005
+ "fill",
1006
+ "stroke",
1007
+ "strokeWidth",
1008
+ "strokeLinecap",
1009
+ "strokeLinejoin",
1010
+ ]
1011
+ }
1012
+ stroke={
1013
+ {
1014
+ "payload": 4288916666,
1015
+ "type": 0,
1016
+ }
1017
+ }
1018
+ strokeLinecap={1}
1019
+ strokeLinejoin={1}
1020
+ strokeWidth={1.5}
1021
+ />
1022
+ </RNSVGGroup>
1005
1023
  </RNSVGGroup>
1006
1024
  </RNSVGSvgView>
1007
1025
  </View>
@@ -31,11 +31,9 @@ import {
31
31
  } from 'stream-chat';
32
32
 
33
33
  import { useMessageComposer } from '../../../../contexts';
34
+ import { useComponentsContext } from '../../../../contexts/componentsContext/ComponentsContext';
34
35
  import { useAttachmentManagerState } from '../../../../contexts/messageInputContext/hooks/useAttachmentManagerState';
35
- import {
36
- MessageInputContextValue,
37
- useMessageInputContext,
38
- } from '../../../../contexts/messageInputContext/MessageInputContext';
36
+ import { useMessageInputContext } from '../../../../contexts/messageInputContext/MessageInputContext';
39
37
  import { useTheme } from '../../../../contexts/themeContext/ThemeContext';
40
38
  import { isSoundPackageAvailable } from '../../../../native';
41
39
  import { primitives } from '../../../../theme';
@@ -44,13 +42,7 @@ const END_ANCHOR_THRESHOLD = 16;
44
42
  const END_SHRINK_COMPENSATION_DURATION = 200;
45
43
  const MAX_AUDIO_ATTACHMENTS_CONTAINER_WIDTH = 560;
46
44
 
47
- export type AttachmentUploadListPreviewPropsWithContext = Pick<
48
- MessageInputContextValue,
49
- | 'AudioAttachmentUploadPreview'
50
- | 'FileAttachmentUploadPreview'
51
- | 'ImageAttachmentUploadPreview'
52
- | 'VideoAttachmentUploadPreview'
53
- >;
45
+ export type AttachmentUploadListPreviewPropsWithContext = Record<string, never>;
54
46
 
55
47
  const AttachmentPreviewCell = ({ children }: { children: React.ReactNode }) => (
56
48
  <Animated.View
@@ -85,15 +77,13 @@ const getIsAudioAttachmentPreview =
85
77
  * AttachmentUploadPreviewList
86
78
  * UI Component to preview the files set for upload
87
79
  */
88
- const UnMemoizedAttachmentUploadPreviewList = (
89
- props: AttachmentUploadListPreviewPropsWithContext,
90
- ) => {
80
+ const UnMemoizedAttachmentUploadPreviewList = () => {
91
81
  const {
92
82
  AudioAttachmentUploadPreview,
93
83
  FileAttachmentUploadPreview,
94
84
  ImageAttachmentUploadPreview,
95
85
  VideoAttachmentUploadPreview,
96
- } = props;
86
+ } = useComponentsContext();
97
87
  const { audioRecordingSendOnComplete } = useMessageInputContext();
98
88
  const { attachmentManager } = useMessageComposer();
99
89
  const { attachments } = useAttachmentManagerState();
@@ -370,7 +360,7 @@ const UnMemoizedAttachmentUploadPreviewList = (
370
360
  );
371
361
  };
372
362
 
373
- export type AttachmentUploadPreviewListProps = Partial<AttachmentUploadListPreviewPropsWithContext>;
363
+ export type AttachmentUploadPreviewListProps = Record<string, never>;
374
364
 
375
365
  const MemoizedAttachmentUploadPreviewListWithContext = React.memo(
376
366
  UnMemoizedAttachmentUploadPreviewList,
@@ -380,25 +370,7 @@ const MemoizedAttachmentUploadPreviewListWithContext = React.memo(
380
370
  * AttachmentUploadPreviewList
381
371
  * UI Component to preview the files set for upload
382
372
  */
383
- export const AttachmentUploadPreviewList = (props: AttachmentUploadPreviewListProps) => {
384
- const {
385
- AudioAttachmentUploadPreview,
386
- FileAttachmentUploadPreview,
387
- ImageAttachmentUploadPreview,
388
- VideoAttachmentUploadPreview,
389
- } = useMessageInputContext();
390
- return (
391
- <MemoizedAttachmentUploadPreviewListWithContext
392
- {...{
393
- AudioAttachmentUploadPreview,
394
- FileAttachmentUploadPreview,
395
- ImageAttachmentUploadPreview,
396
- VideoAttachmentUploadPreview,
397
- }}
398
- {...props}
399
- />
400
- );
401
- };
373
+ export const AttachmentUploadPreviewList = () => <MemoizedAttachmentUploadPreviewListWithContext />;
402
374
 
403
375
  const styles = StyleSheet.create({
404
376
  audioAttachmentsContainer: {
@@ -8,7 +8,7 @@ import { AttachmentRemoveControl } from './AttachmentRemoveControl';
8
8
 
9
9
  import { FilePreview } from '../../../../components/Attachment/FilePreview';
10
10
  import { useChatContext } from '../../../../contexts/chatContext/ChatContext';
11
- import { useMessageInputContext } from '../../../../contexts/messageInputContext/MessageInputContext';
11
+ import { useComponentsContext } from '../../../../contexts/componentsContext/ComponentsContext';
12
12
  import { useTheme } from '../../../../contexts/themeContext/ThemeContext';
13
13
  import { primitives } from '../../../../theme';
14
14
  import { UploadAttachmentPreviewProps } from '../../../../types/types';
@@ -31,7 +31,7 @@ export const FileAttachmentUploadPreview = ({
31
31
  FileUploadInProgressIndicator,
32
32
  FileUploadRetryIndicator,
33
33
  FileUploadNotSupportedIndicator,
34
- } = useMessageInputContext();
34
+ } = useComponentsContext();
35
35
  const { enableOfflineSupport } = useChatContext();
36
36
  const indicatorType = getIndicatorTypeForFileState(
37
37
  attachment.localMetadata.uploadState,
@@ -7,7 +7,7 @@ import { LocalImageAttachment } from 'stream-chat';
7
7
  import { AttachmentRemoveControl } from './AttachmentRemoveControl';
8
8
 
9
9
  import { useChatContext } from '../../../../contexts/chatContext/ChatContext';
10
- import { useMessageInputContext } from '../../../../contexts/messageInputContext/MessageInputContext';
10
+ import { useComponentsContext } from '../../../../contexts/componentsContext/ComponentsContext';
11
11
  import { useTheme } from '../../../../contexts/themeContext/ThemeContext';
12
12
  import { primitives } from '../../../../theme';
13
13
  import { UploadAttachmentPreviewProps } from '../../../../types/types';
@@ -29,7 +29,7 @@ export const ImageAttachmentUploadPreview = ({
29
29
  ImageUploadInProgressIndicator,
30
30
  ImageUploadRetryIndicator,
31
31
  ImageUploadNotSupportedIndicator,
32
- } = useMessageInputContext();
32
+ } = useComponentsContext();
33
33
  const indicatorType = loading
34
34
  ? ProgressIndicatorTypes.IN_PROGRESS
35
35
  : getIndicatorTypeForFileState(attachment.localMetadata.uploadState, enableOfflineSupport);
@@ -3,6 +3,7 @@ import { StyleSheet, Text, View } from 'react-native';
3
3
 
4
4
  import dayjs from 'dayjs';
5
5
 
6
+ import { useComponentsContext } from '../../../../contexts/componentsContext/ComponentsContext';
6
7
  import {
7
8
  MessageInputContextValue,
8
9
  useMessageInputContext,
@@ -15,7 +16,7 @@ import { primitives } from '../../../../theme';
15
16
 
16
17
  type AudioRecordingInProgressPropsWithContext = Pick<
17
18
  MessageInputContextValue,
18
- 'audioRecorderManager' | 'AudioRecordingWaveform'
19
+ 'audioRecorderManager'
19
20
  > &
20
21
  Pick<AudioRecorderManagerState, 'duration' | 'waveformData'> & {
21
22
  /**
@@ -25,7 +26,8 @@ type AudioRecordingInProgressPropsWithContext = Pick<
25
26
  };
26
27
 
27
28
  const AudioRecordingInProgressWithContext = (props: AudioRecordingInProgressPropsWithContext) => {
28
- const { AudioRecordingWaveform, maxDataPointsDrawn = 60, duration, waveformData } = props;
29
+ const { maxDataPointsDrawn = 60, duration, waveformData } = props;
30
+ const { AudioRecordingWaveform } = useComponentsContext();
29
31
 
30
32
  const styles = useStyles();
31
33
 
@@ -69,7 +71,7 @@ const audioRecorderSelector = (state: AudioRecorderManagerState) => ({
69
71
  * Component displayed when the audio is in the recording state.
70
72
  */
71
73
  export const AudioRecordingInProgress = (props: AudioRecordingInProgressProps) => {
72
- const { audioRecorderManager, AudioRecordingWaveform } = useMessageInputContext();
74
+ const { audioRecorderManager } = useMessageInputContext();
73
75
 
74
76
  const { duration, waveformData } = useStateStore(
75
77
  audioRecorderManager.state,
@@ -78,7 +80,7 @@ export const AudioRecordingInProgress = (props: AudioRecordingInProgressProps) =
78
80
 
79
81
  return (
80
82
  <MemoizedAudioRecordingInProgress
81
- {...{ audioRecorderManager, AudioRecordingWaveform, duration, waveformData }}
83
+ {...{ audioRecorderManager, duration, waveformData }}
82
84
  {...props}
83
85
  />
84
86
  );
@@ -10,6 +10,7 @@ import Animated, {
10
10
  } from 'react-native-reanimated';
11
11
 
12
12
  import { OwnCapabilitiesContextValue } from '../../../../contexts';
13
+ import { useComponentsContext } from '../../../../contexts/componentsContext/ComponentsContext';
13
14
  import { useActiveCommand } from '../../../../contexts/messageInputContext/hooks/useActiveCommand';
14
15
  import {
15
16
  MessageInputContextValue,
@@ -23,19 +24,19 @@ export type InputButtonsProps = Partial<InputButtonsWithContextProps>;
23
24
 
24
25
  export type InputButtonsWithContextProps = Pick<
25
26
  MessageInputContextValue,
26
- 'AttachButton' | 'hasCameraPicker' | 'hasCommands' | 'hasFilePicker' | 'hasImagePicker'
27
+ 'hasCameraPicker' | 'hasCommands' | 'hasFilePicker' | 'hasImagePicker'
27
28
  > &
28
29
  Pick<OwnCapabilitiesContextValue, 'uploadFile'>;
29
30
 
30
31
  export const InputButtonsWithContext = (props: InputButtonsWithContextProps) => {
31
32
  const {
32
- AttachButton,
33
33
  hasCameraPicker,
34
34
  hasCommands,
35
35
  hasFilePicker,
36
36
  hasImagePicker,
37
37
  uploadFile: ownCapabilitiesUploadFile,
38
38
  } = props;
39
+ const { AttachButton } = useComponentsContext();
39
40
  const { selectedPicker } = useAttachmentPickerState();
40
41
  const rotation = useSharedValue(0);
41
42
  const command = useActiveCommand();
@@ -107,14 +108,12 @@ const MemoizedInputButtonsWithContext = React.memo(
107
108
  ) as typeof InputButtonsWithContext;
108
109
 
109
110
  export const InputButtons = (props: InputButtonsProps) => {
110
- const { AttachButton, hasCameraPicker, hasCommands, hasFilePicker, hasImagePicker } =
111
- useMessageInputContext();
111
+ const { hasCameraPicker, hasCommands, hasFilePicker, hasImagePicker } = useMessageInputContext();
112
112
  const { uploadFile } = useOwnCapabilitiesContext();
113
113
 
114
114
  return (
115
115
  <MemoizedInputButtonsWithContext
116
116
  {...{
117
- AttachButton,
118
117
  hasCameraPicker,
119
118
  hasCommands,
120
119
  hasFilePicker,