stream-chat-react-native-core 5.25.0-beta.6 → 5.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (659) hide show
  1. package/lib/commonjs/components/Channel/Channel.js +22 -17
  2. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  3. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js +3 -1
  4. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  5. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +22 -5
  6. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  7. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  8. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +2 -2
  9. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  10. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +1 -4
  11. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  12. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
  13. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  14. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  15. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  16. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  17. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  18. package/lib/commonjs/components/Message/Message.js +11 -8
  19. package/lib/commonjs/components/Message/Message.js.map +1 -1
  20. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +7 -3
  21. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  22. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +7 -1
  23. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  24. package/lib/commonjs/components/MessageInput/MessageInput.js +5 -5
  25. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  26. package/lib/commonjs/components/MessageInput/hooks/useCountdown.js.map +1 -1
  27. package/lib/commonjs/components/MessageList/MessageList.js +32 -30
  28. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  29. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +5 -5
  30. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  31. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  32. package/lib/commonjs/contexts/chatContext/ChatContext.js +2 -2
  33. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  34. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  35. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +3 -1
  36. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  37. package/lib/commonjs/contexts/themeContext/ThemeContext.js.map +1 -1
  38. package/lib/commonjs/i18n/en.json +1 -1
  39. package/lib/commonjs/i18n/es.json +56 -56
  40. package/lib/commonjs/i18n/fr.json +56 -56
  41. package/lib/commonjs/i18n/he.json +56 -56
  42. package/lib/commonjs/i18n/hi.json +56 -56
  43. package/lib/commonjs/i18n/it.json +56 -56
  44. package/lib/commonjs/i18n/ja.json +56 -56
  45. package/lib/commonjs/i18n/ko.json +56 -56
  46. package/lib/commonjs/i18n/nl.json +56 -56
  47. package/lib/commonjs/i18n/ru.json +56 -56
  48. package/lib/commonjs/i18n/tr.json +56 -56
  49. package/lib/commonjs/icons/ArrowRight.js.map +1 -1
  50. package/lib/commonjs/icons/AtMentions.js.map +1 -1
  51. package/lib/commonjs/icons/Attach.js.map +1 -1
  52. package/lib/commonjs/icons/Audio.js.map +1 -1
  53. package/lib/commonjs/icons/CSV.js.map +1 -1
  54. package/lib/commonjs/icons/Camera.js.map +1 -1
  55. package/lib/commonjs/icons/Check.js.map +1 -1
  56. package/lib/commonjs/icons/CheckAll.js.map +1 -1
  57. package/lib/commonjs/icons/CheckSend.js.map +1 -1
  58. package/lib/commonjs/icons/CircleClose.js.map +1 -1
  59. package/lib/commonjs/icons/CirclePlus.js.map +1 -1
  60. package/lib/commonjs/icons/CircleRight.js.map +1 -1
  61. package/lib/commonjs/icons/Close.js.map +1 -1
  62. package/lib/commonjs/icons/Copy.js.map +1 -1
  63. package/lib/commonjs/icons/CurveLineLeftUp.js.map +1 -1
  64. package/lib/commonjs/icons/DOC.js.map +1 -1
  65. package/lib/commonjs/icons/DOCX.js.map +1 -1
  66. package/lib/commonjs/icons/Delete.js.map +1 -1
  67. package/lib/commonjs/icons/Down.js.map +1 -1
  68. package/lib/commonjs/icons/DownloadArrow.js.map +1 -1
  69. package/lib/commonjs/icons/DownloadCloud.js.map +1 -1
  70. package/lib/commonjs/icons/Edit.js.map +1 -1
  71. package/lib/commonjs/icons/Error.js.map +1 -1
  72. package/lib/commonjs/icons/Eye.js.map +1 -1
  73. package/lib/commonjs/icons/Flag.js.map +1 -1
  74. package/lib/commonjs/icons/Folder.js.map +1 -1
  75. package/lib/commonjs/icons/GenericFile.js.map +1 -1
  76. package/lib/commonjs/icons/GiphyIcon.js.map +1 -1
  77. package/lib/commonjs/icons/Grid.js.map +1 -1
  78. package/lib/commonjs/icons/Group.js.map +1 -1
  79. package/lib/commonjs/icons/HTML.js.map +1 -1
  80. package/lib/commonjs/icons/Imgur.js.map +1 -1
  81. package/lib/commonjs/icons/LOLReaction.js.map +1 -1
  82. package/lib/commonjs/icons/Lightning.js.map +1 -1
  83. package/lib/commonjs/icons/Link.js.map +1 -1
  84. package/lib/commonjs/icons/Logo.js.map +1 -1
  85. package/lib/commonjs/icons/LoveReaction.js.map +1 -1
  86. package/lib/commonjs/icons/MD.js.map +1 -1
  87. package/lib/commonjs/icons/MailOpen.js.map +1 -1
  88. package/lib/commonjs/icons/MenuPointHorizontal.js.map +1 -1
  89. package/lib/commonjs/icons/MenuPointVertical.js.map +1 -1
  90. package/lib/commonjs/icons/MessageFlag.js.map +1 -1
  91. package/lib/commonjs/icons/MessageIcon.js.map +1 -1
  92. package/lib/commonjs/icons/Mute.js.map +1 -1
  93. package/lib/commonjs/icons/Notification.js.map +1 -1
  94. package/lib/commonjs/icons/ODT.js.map +1 -1
  95. package/lib/commonjs/icons/PDF.js.map +1 -1
  96. package/lib/commonjs/icons/PPT.js.map +1 -1
  97. package/lib/commonjs/icons/PPTX.js.map +1 -1
  98. package/lib/commonjs/icons/Pause.js.map +1 -1
  99. package/lib/commonjs/icons/Picture.js.map +1 -1
  100. package/lib/commonjs/icons/Pin.js.map +1 -1
  101. package/lib/commonjs/icons/PinHeader.js.map +1 -1
  102. package/lib/commonjs/icons/Play.js.map +1 -1
  103. package/lib/commonjs/icons/RAR.js.map +1 -1
  104. package/lib/commonjs/icons/RTF.js.map +1 -1
  105. package/lib/commonjs/icons/Recorder.js.map +1 -1
  106. package/lib/commonjs/icons/Refresh.js.map +1 -1
  107. package/lib/commonjs/icons/SEVEN_Z.js.map +1 -1
  108. package/lib/commonjs/icons/Search.js.map +1 -1
  109. package/lib/commonjs/icons/SendRight.js.map +1 -1
  110. package/lib/commonjs/icons/SendUp.js.map +1 -1
  111. package/lib/commonjs/icons/Share.js.map +1 -1
  112. package/lib/commonjs/icons/ShareRightArrow.js.map +1 -1
  113. package/lib/commonjs/icons/Smile.js.map +1 -1
  114. package/lib/commonjs/icons/Sound.js.map +1 -1
  115. package/lib/commonjs/icons/TAR.js.map +1 -1
  116. package/lib/commonjs/icons/TXT.js.map +1 -1
  117. package/lib/commonjs/icons/ThreadReply.js.map +1 -1
  118. package/lib/commonjs/icons/ThumbsDownReaction.js.map +1 -1
  119. package/lib/commonjs/icons/ThumbsUpReaction.js.map +1 -1
  120. package/lib/commonjs/icons/Time.js.map +1 -1
  121. package/lib/commonjs/icons/Unknown.js.map +1 -1
  122. package/lib/commonjs/icons/Unpin.js.map +1 -1
  123. package/lib/commonjs/icons/User.js.map +1 -1
  124. package/lib/commonjs/icons/UserAdd.js.map +1 -1
  125. package/lib/commonjs/icons/UserAdmin.js.map +1 -1
  126. package/lib/commonjs/icons/UserDelete.js.map +1 -1
  127. package/lib/commonjs/icons/UserMinus.js.map +1 -1
  128. package/lib/commonjs/icons/Video.js.map +1 -1
  129. package/lib/commonjs/icons/Warning.js.map +1 -1
  130. package/lib/commonjs/icons/WutReaction.js.map +1 -1
  131. package/lib/commonjs/icons/XLS.js.map +1 -1
  132. package/lib/commonjs/icons/XLSX.js.map +1 -1
  133. package/lib/commonjs/icons/ZIP.js.map +1 -1
  134. package/lib/commonjs/icons/utils/base.js.map +1 -1
  135. package/lib/commonjs/version.json +1 -1
  136. package/lib/module/components/Channel/Channel.js +22 -17
  137. package/lib/module/components/Channel/Channel.js.map +1 -1
  138. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +3 -1
  139. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  140. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +22 -5
  141. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  142. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  143. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +2 -2
  144. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  145. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +1 -4
  146. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  147. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
  148. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  149. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  150. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  151. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  152. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  153. package/lib/module/components/Message/Message.js +11 -8
  154. package/lib/module/components/Message/Message.js.map +1 -1
  155. package/lib/module/components/Message/MessageSimple/MessageContent.js +7 -3
  156. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  157. package/lib/module/components/Message/MessageSimple/MessageSimple.js +7 -1
  158. package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  159. package/lib/module/components/MessageInput/MessageInput.js +5 -5
  160. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  161. package/lib/module/components/MessageInput/hooks/useCountdown.js.map +1 -1
  162. package/lib/module/components/MessageList/MessageList.js +32 -30
  163. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  164. package/lib/module/components/MessageOverlay/MessageActionListItem.js +5 -5
  165. package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  166. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  167. package/lib/module/contexts/chatContext/ChatContext.js +2 -2
  168. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  169. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  170. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +3 -1
  171. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  172. package/lib/module/contexts/themeContext/ThemeContext.js.map +1 -1
  173. package/lib/module/i18n/en.json +1 -1
  174. package/lib/module/i18n/es.json +56 -56
  175. package/lib/module/i18n/fr.json +56 -56
  176. package/lib/module/i18n/he.json +56 -56
  177. package/lib/module/i18n/hi.json +56 -56
  178. package/lib/module/i18n/it.json +56 -56
  179. package/lib/module/i18n/ja.json +56 -56
  180. package/lib/module/i18n/ko.json +56 -56
  181. package/lib/module/i18n/nl.json +56 -56
  182. package/lib/module/i18n/ru.json +56 -56
  183. package/lib/module/i18n/tr.json +56 -56
  184. package/lib/module/icons/ArrowRight.js.map +1 -1
  185. package/lib/module/icons/AtMentions.js.map +1 -1
  186. package/lib/module/icons/Attach.js.map +1 -1
  187. package/lib/module/icons/Audio.js.map +1 -1
  188. package/lib/module/icons/CSV.js.map +1 -1
  189. package/lib/module/icons/Camera.js.map +1 -1
  190. package/lib/module/icons/Check.js.map +1 -1
  191. package/lib/module/icons/CheckAll.js.map +1 -1
  192. package/lib/module/icons/CheckSend.js.map +1 -1
  193. package/lib/module/icons/CircleClose.js.map +1 -1
  194. package/lib/module/icons/CirclePlus.js.map +1 -1
  195. package/lib/module/icons/CircleRight.js.map +1 -1
  196. package/lib/module/icons/Close.js.map +1 -1
  197. package/lib/module/icons/Copy.js.map +1 -1
  198. package/lib/module/icons/CurveLineLeftUp.js.map +1 -1
  199. package/lib/module/icons/DOC.js.map +1 -1
  200. package/lib/module/icons/DOCX.js.map +1 -1
  201. package/lib/module/icons/Delete.js.map +1 -1
  202. package/lib/module/icons/Down.js.map +1 -1
  203. package/lib/module/icons/DownloadArrow.js.map +1 -1
  204. package/lib/module/icons/DownloadCloud.js.map +1 -1
  205. package/lib/module/icons/Edit.js.map +1 -1
  206. package/lib/module/icons/Error.js.map +1 -1
  207. package/lib/module/icons/Eye.js.map +1 -1
  208. package/lib/module/icons/Flag.js.map +1 -1
  209. package/lib/module/icons/Folder.js.map +1 -1
  210. package/lib/module/icons/GenericFile.js.map +1 -1
  211. package/lib/module/icons/GiphyIcon.js.map +1 -1
  212. package/lib/module/icons/Grid.js.map +1 -1
  213. package/lib/module/icons/Group.js.map +1 -1
  214. package/lib/module/icons/HTML.js.map +1 -1
  215. package/lib/module/icons/Imgur.js.map +1 -1
  216. package/lib/module/icons/LOLReaction.js.map +1 -1
  217. package/lib/module/icons/Lightning.js.map +1 -1
  218. package/lib/module/icons/Link.js.map +1 -1
  219. package/lib/module/icons/Logo.js.map +1 -1
  220. package/lib/module/icons/LoveReaction.js.map +1 -1
  221. package/lib/module/icons/MD.js.map +1 -1
  222. package/lib/module/icons/MailOpen.js.map +1 -1
  223. package/lib/module/icons/MenuPointHorizontal.js.map +1 -1
  224. package/lib/module/icons/MenuPointVertical.js.map +1 -1
  225. package/lib/module/icons/MessageFlag.js.map +1 -1
  226. package/lib/module/icons/MessageIcon.js.map +1 -1
  227. package/lib/module/icons/Mute.js.map +1 -1
  228. package/lib/module/icons/Notification.js.map +1 -1
  229. package/lib/module/icons/ODT.js.map +1 -1
  230. package/lib/module/icons/PDF.js.map +1 -1
  231. package/lib/module/icons/PPT.js.map +1 -1
  232. package/lib/module/icons/PPTX.js.map +1 -1
  233. package/lib/module/icons/Pause.js.map +1 -1
  234. package/lib/module/icons/Picture.js.map +1 -1
  235. package/lib/module/icons/Pin.js.map +1 -1
  236. package/lib/module/icons/PinHeader.js.map +1 -1
  237. package/lib/module/icons/Play.js.map +1 -1
  238. package/lib/module/icons/RAR.js.map +1 -1
  239. package/lib/module/icons/RTF.js.map +1 -1
  240. package/lib/module/icons/Recorder.js.map +1 -1
  241. package/lib/module/icons/Refresh.js.map +1 -1
  242. package/lib/module/icons/SEVEN_Z.js.map +1 -1
  243. package/lib/module/icons/Search.js.map +1 -1
  244. package/lib/module/icons/SendRight.js.map +1 -1
  245. package/lib/module/icons/SendUp.js.map +1 -1
  246. package/lib/module/icons/Share.js.map +1 -1
  247. package/lib/module/icons/ShareRightArrow.js.map +1 -1
  248. package/lib/module/icons/Smile.js.map +1 -1
  249. package/lib/module/icons/Sound.js.map +1 -1
  250. package/lib/module/icons/TAR.js.map +1 -1
  251. package/lib/module/icons/TXT.js.map +1 -1
  252. package/lib/module/icons/ThreadReply.js.map +1 -1
  253. package/lib/module/icons/ThumbsDownReaction.js.map +1 -1
  254. package/lib/module/icons/ThumbsUpReaction.js.map +1 -1
  255. package/lib/module/icons/Time.js.map +1 -1
  256. package/lib/module/icons/Unknown.js.map +1 -1
  257. package/lib/module/icons/Unpin.js.map +1 -1
  258. package/lib/module/icons/User.js.map +1 -1
  259. package/lib/module/icons/UserAdd.js.map +1 -1
  260. package/lib/module/icons/UserAdmin.js.map +1 -1
  261. package/lib/module/icons/UserDelete.js.map +1 -1
  262. package/lib/module/icons/UserMinus.js.map +1 -1
  263. package/lib/module/icons/Video.js.map +1 -1
  264. package/lib/module/icons/Warning.js.map +1 -1
  265. package/lib/module/icons/WutReaction.js.map +1 -1
  266. package/lib/module/icons/XLS.js.map +1 -1
  267. package/lib/module/icons/XLSX.js.map +1 -1
  268. package/lib/module/icons/ZIP.js.map +1 -1
  269. package/lib/module/icons/utils/base.js.map +1 -1
  270. package/lib/module/version.json +1 -1
  271. package/lib/typescript/components/Attachment/Attachment.d.ts +3 -3
  272. package/lib/typescript/components/Attachment/AttachmentActions.d.ts +2 -2
  273. package/lib/typescript/components/Attachment/AudioAttachment.d.ts +2 -2
  274. package/lib/typescript/components/Attachment/Card.d.ts +2 -2
  275. package/lib/typescript/components/Attachment/FileAttachment.d.ts +3 -3
  276. package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts +2 -2
  277. package/lib/typescript/components/Attachment/FileIcon.d.ts +1 -1
  278. package/lib/typescript/components/Attachment/Gallery.d.ts +2 -2
  279. package/lib/typescript/components/Attachment/GalleryImage.d.ts +2 -2
  280. package/lib/typescript/components/Attachment/Giphy.d.ts +2 -2
  281. package/lib/typescript/components/Attachment/ImageLoadingFailedIndicator.d.ts +1 -1
  282. package/lib/typescript/components/Attachment/ImageLoadingIndicator.d.ts +1 -1
  283. package/lib/typescript/components/Attachment/VideoThumbnail.d.ts +1 -1
  284. package/lib/typescript/components/Attachment/utils/buildGallery/types.d.ts +4 -4
  285. package/lib/typescript/components/Attachment/utils/getGalleryImageBorderRadius.d.ts +1 -1
  286. package/lib/typescript/components/Attachment/utils/openUrlSafely.d.ts +1 -1
  287. package/lib/typescript/components/AttachmentPicker/AttachmentPicker.d.ts +1 -1
  288. package/lib/typescript/components/AttachmentPicker/components/AttachmentPickerError.d.ts +1 -1
  289. package/lib/typescript/components/AttachmentPicker/components/AttachmentPickerItem.d.ts +1 -1
  290. package/lib/typescript/components/AttachmentPicker/components/ImageSelectorIcon.d.ts +1 -1
  291. package/lib/typescript/components/AutoCompleteInput/AutoCompleteInput.d.ts +2 -2
  292. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionHeader.d.ts +2 -2
  293. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionItem.d.ts +2 -2
  294. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts +3 -3
  295. package/lib/typescript/components/Avatar/Avatar.d.ts +1 -1
  296. package/lib/typescript/components/Avatar/GroupAvatar.d.ts +1 -1
  297. package/lib/typescript/components/Channel/Channel.d.ts +2 -2
  298. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +62 -1
  299. package/lib/typescript/components/Channel/hooks/useTargetedMessage.d.ts +1 -1
  300. package/lib/typescript/components/ChannelList/ChannelList.d.ts +1 -1
  301. package/lib/typescript/components/ChannelList/ChannelListHeaderErrorIndicator.d.ts +1 -1
  302. package/lib/typescript/components/ChannelList/ChannelListMessenger.d.ts +2 -2
  303. package/lib/typescript/components/ChannelList/hooks/listeners/useAddedToChannelNotification.d.ts +1 -1
  304. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelDeleted.d.ts +1 -1
  305. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelHidden.d.ts +1 -1
  306. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelTruncated.d.ts +1 -1
  307. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelUpdated.d.ts +1 -1
  308. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelVisible.d.ts +1 -1
  309. package/lib/typescript/components/ChannelList/hooks/listeners/useNewMessage.d.ts +1 -1
  310. package/lib/typescript/components/ChannelList/hooks/listeners/useNewMessageNotification.d.ts +1 -1
  311. package/lib/typescript/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.d.ts +1 -1
  312. package/lib/typescript/components/ChannelList/hooks/listeners/useUserPresence.d.ts +1 -1
  313. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +3 -3
  314. package/lib/typescript/components/ChannelList/utils.d.ts +2 -2
  315. package/lib/typescript/components/ChannelPreview/ChannelAvatar.d.ts +2 -2
  316. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +3 -3
  317. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessage.d.ts +4 -1
  318. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts +2 -2
  319. package/lib/typescript/components/ChannelPreview/ChannelPreviewStatus.d.ts +1 -2
  320. package/lib/typescript/components/ChannelPreview/ChannelPreviewTitle.d.ts +5 -4
  321. package/lib/typescript/components/ChannelPreview/ChannelPreviewUnreadCount.d.ts +5 -3
  322. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayName.d.ts +1 -1
  323. package/lib/typescript/components/ChannelPreview/hooks/useLatestMessagePreview.d.ts +2 -2
  324. package/lib/typescript/components/Chat/Chat.d.ts +1 -1
  325. package/lib/typescript/components/Chat/hooks/handleEventToSyncDB.d.ts +1 -1
  326. package/lib/typescript/components/Chat/hooks/useSyncDatabase.d.ts +1 -1
  327. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +3 -3
  328. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryImage.d.ts +1 -1
  329. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryVideo.d.ts +1 -1
  330. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +6 -6
  331. package/lib/typescript/components/ImageGallery/components/ImageGalleryHeader.d.ts +3 -3
  332. package/lib/typescript/components/ImageGallery/components/ImageGalleryOverlay.d.ts +1 -1
  333. package/lib/typescript/components/ImageGallery/components/ImageGrid.d.ts +4 -4
  334. package/lib/typescript/components/ImageGallery/components/ImageGridHandle.d.ts +3 -3
  335. package/lib/typescript/components/Indicators/EmptyStateIndicator.d.ts +1 -1
  336. package/lib/typescript/components/Indicators/LoadingDot.d.ts +1 -1
  337. package/lib/typescript/components/Indicators/LoadingDots.d.ts +1 -1
  338. package/lib/typescript/components/Indicators/LoadingErrorIndicator.d.ts +1 -1
  339. package/lib/typescript/components/Indicators/LoadingIndicator.d.ts +1 -1
  340. package/lib/typescript/components/Message/Message.d.ts +18 -9
  341. package/lib/typescript/components/Message/MessageSimple/MessageAvatar.d.ts +2 -2
  342. package/lib/typescript/components/Message/MessageSimple/MessageBounce.d.ts +2 -2
  343. package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts +2 -2
  344. package/lib/typescript/components/Message/MessageSimple/MessageDeleted.d.ts +2 -2
  345. package/lib/typescript/components/Message/MessageSimple/MessageError.d.ts +1 -1
  346. package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts +2 -2
  347. package/lib/typescript/components/Message/MessageSimple/MessagePinnedHeader.d.ts +2 -2
  348. package/lib/typescript/components/Message/MessageSimple/MessageReplies.d.ts +2 -2
  349. package/lib/typescript/components/Message/MessageSimple/MessageRepliesAvatars.d.ts +2 -2
  350. package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts +2 -2
  351. package/lib/typescript/components/Message/MessageSimple/MessageStatus.d.ts +2 -2
  352. package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts +3 -3
  353. package/lib/typescript/components/Message/MessageSimple/ReactionList.d.ts +3 -3
  354. package/lib/typescript/components/Message/MessageSimple/utils/generateMarkdownText.d.ts +1 -1
  355. package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +2 -2
  356. package/lib/typescript/components/Message/utils/messageActions.d.ts +2 -2
  357. package/lib/typescript/components/MessageInput/AttachButton.d.ts +2 -2
  358. package/lib/typescript/components/MessageInput/CommandsButton.d.ts +2 -2
  359. package/lib/typescript/components/MessageInput/CooldownTimer.d.ts +1 -1
  360. package/lib/typescript/components/MessageInput/FileUploadPreview.d.ts +2 -2
  361. package/lib/typescript/components/MessageInput/ImageUploadPreview.d.ts +2 -2
  362. package/lib/typescript/components/MessageInput/InputButtons.d.ts +2 -2
  363. package/lib/typescript/components/MessageInput/MessageInput.d.ts +2 -2
  364. package/lib/typescript/components/MessageInput/MoreOptionsButton.d.ts +2 -2
  365. package/lib/typescript/components/MessageInput/SendButton.d.ts +2 -2
  366. package/lib/typescript/components/MessageInput/ShowThreadMessageInChannelButton.d.ts +2 -2
  367. package/lib/typescript/components/MessageInput/UploadProgressIndicator.d.ts +1 -1
  368. package/lib/typescript/components/MessageInput/components/InputEditingStateHeader.d.ts +2 -2
  369. package/lib/typescript/components/MessageInput/components/InputGiphySearch.d.ts +2 -2
  370. package/lib/typescript/components/MessageInput/components/InputReplyStateHeader.d.ts +2 -2
  371. package/lib/typescript/components/MessageList/DateHeader.d.ts +1 -1
  372. package/lib/typescript/components/MessageList/InlineDateSeparator.d.ts +1 -1
  373. package/lib/typescript/components/MessageList/InlineLoadingMoreIndicator.d.ts +1 -1
  374. package/lib/typescript/components/MessageList/InlineLoadingMoreRecentIndicator.d.ts +1 -1
  375. package/lib/typescript/components/MessageList/InlineLoadingMoreThreadIndicator.d.ts +1 -1
  376. package/lib/typescript/components/MessageList/MessageList.d.ts +2 -2
  377. package/lib/typescript/components/MessageList/MessageSystem.d.ts +1 -1
  378. package/lib/typescript/components/MessageList/ScrollToBottomButton.d.ts +1 -1
  379. package/lib/typescript/components/MessageList/TypingIndicatorContainer.d.ts +2 -2
  380. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +4 -4
  381. package/lib/typescript/components/MessageList/utils/filterTypingUsers.d.ts +1 -1
  382. package/lib/typescript/components/MessageList/utils/getDateSeparators.d.ts +2 -2
  383. package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts +1 -1
  384. package/lib/typescript/components/MessageList/utils/getReadStates.d.ts +1 -0
  385. package/lib/typescript/components/MessageOverlay/MessageActionList.d.ts +2 -2
  386. package/lib/typescript/components/MessageOverlay/MessageActionListItem.d.ts +19 -3
  387. package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts +2 -2
  388. package/lib/typescript/components/MessageOverlay/OverlayBackdrop.d.ts +1 -1
  389. package/lib/typescript/components/MessageOverlay/OverlayReactionList.d.ts +3 -3
  390. package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts +2 -2
  391. package/lib/typescript/components/MessageOverlay/OverlayReactionsAvatar.d.ts +1 -1
  392. package/lib/typescript/components/MessageOverlay/hooks/useMessageActionAnimation.d.ts +1 -1
  393. package/lib/typescript/components/ProgressControl/ProgressControl.d.ts +1 -1
  394. package/lib/typescript/components/RTLComponents/WritingDirectionAwareText.d.ts +1 -1
  395. package/lib/typescript/components/Reply/Reply.d.ts +2 -2
  396. package/lib/typescript/components/Spinner/Spinner.d.ts +1 -1
  397. package/lib/typescript/components/Thread/Thread.d.ts +2 -2
  398. package/lib/typescript/contexts/activeChannelsRefContext/ActiveChannelsRefContext.d.ts +1 -1
  399. package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts +2 -2
  400. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +1 -1
  401. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +2 -2
  402. package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts +5 -5
  403. package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts +1 -1
  404. package/lib/typescript/contexts/chatContext/ChatContext.d.ts +4 -1
  405. package/lib/typescript/contexts/debugContext/DebugContext.d.ts +2 -2
  406. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts +2 -2
  407. package/lib/typescript/contexts/keyboardContext/KeyboardContext.d.ts +1 -1
  408. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +3 -3
  409. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +6 -6
  410. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +1 -1
  411. package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts +1 -1
  412. package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +2 -2
  413. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +3 -3
  414. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +3 -3
  415. package/lib/typescript/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.d.ts +2 -2
  416. package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +1 -1
  417. package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts +6 -6
  418. package/lib/typescript/contexts/themeContext/ThemeContext.d.ts +5 -5
  419. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +2 -2
  420. package/lib/typescript/contexts/threadContext/ThreadContext.d.ts +1 -1
  421. package/lib/typescript/contexts/translationContext/TranslationContext.d.ts +5 -5
  422. package/lib/typescript/contexts/typingContext/TypingContext.d.ts +1 -1
  423. package/lib/typescript/emoji-data/index.d.ts +2 -2
  424. package/lib/typescript/hooks/useAppStateListener.d.ts +1 -1
  425. package/lib/typescript/hooks/useStreami18n.d.ts +1 -1
  426. package/lib/typescript/hooks/useViewport.d.ts +1 -1
  427. package/lib/typescript/i18n/en.json +1 -1
  428. package/lib/typescript/i18n/es.json +56 -56
  429. package/lib/typescript/i18n/fr.json +56 -56
  430. package/lib/typescript/i18n/he.json +56 -56
  431. package/lib/typescript/i18n/hi.json +56 -56
  432. package/lib/typescript/i18n/it.json +56 -56
  433. package/lib/typescript/i18n/ja.json +56 -56
  434. package/lib/typescript/i18n/ko.json +56 -56
  435. package/lib/typescript/i18n/nl.json +56 -56
  436. package/lib/typescript/i18n/ru.json +56 -56
  437. package/lib/typescript/i18n/tr.json +56 -56
  438. package/lib/typescript/icons/ArrowRight.d.ts +2 -2
  439. package/lib/typescript/icons/AtMentions.d.ts +2 -2
  440. package/lib/typescript/icons/Attach.d.ts +2 -2
  441. package/lib/typescript/icons/Audio.d.ts +2 -2
  442. package/lib/typescript/icons/CSV.d.ts +2 -2
  443. package/lib/typescript/icons/Camera.d.ts +2 -2
  444. package/lib/typescript/icons/Check.d.ts +2 -2
  445. package/lib/typescript/icons/CheckAll.d.ts +2 -2
  446. package/lib/typescript/icons/CheckSend.d.ts +2 -2
  447. package/lib/typescript/icons/CircleClose.d.ts +2 -2
  448. package/lib/typescript/icons/CirclePlus.d.ts +2 -2
  449. package/lib/typescript/icons/CircleRight.d.ts +2 -2
  450. package/lib/typescript/icons/Close.d.ts +2 -2
  451. package/lib/typescript/icons/CurveLineLeftUp.d.ts +2 -2
  452. package/lib/typescript/icons/DOC.d.ts +2 -2
  453. package/lib/typescript/icons/DOCX.d.ts +2 -2
  454. package/lib/typescript/icons/Delete.d.ts +2 -2
  455. package/lib/typescript/icons/Down.d.ts +2 -2
  456. package/lib/typescript/icons/DownloadArrow.d.ts +2 -2
  457. package/lib/typescript/icons/DownloadCloud.d.ts +2 -2
  458. package/lib/typescript/icons/Edit.d.ts +2 -2
  459. package/lib/typescript/icons/Error.d.ts +2 -2
  460. package/lib/typescript/icons/Eye.d.ts +2 -2
  461. package/lib/typescript/icons/Flag.d.ts +2 -2
  462. package/lib/typescript/icons/Folder.d.ts +2 -2
  463. package/lib/typescript/icons/GenericFile.d.ts +2 -2
  464. package/lib/typescript/icons/GiphyIcon.d.ts +2 -2
  465. package/lib/typescript/icons/Grid.d.ts +2 -2
  466. package/lib/typescript/icons/Group.d.ts +2 -2
  467. package/lib/typescript/icons/HTML.d.ts +2 -2
  468. package/lib/typescript/icons/Imgur.d.ts +2 -2
  469. package/lib/typescript/icons/LOLReaction.d.ts +2 -2
  470. package/lib/typescript/icons/Lightning.d.ts +2 -2
  471. package/lib/typescript/icons/Link.d.ts +2 -2
  472. package/lib/typescript/icons/Loading.d.ts +1 -1
  473. package/lib/typescript/icons/Logo.d.ts +2 -2
  474. package/lib/typescript/icons/LoveReaction.d.ts +2 -2
  475. package/lib/typescript/icons/MD.d.ts +2 -2
  476. package/lib/typescript/icons/MailOpen.d.ts +2 -2
  477. package/lib/typescript/icons/MenuPointHorizontal.d.ts +2 -2
  478. package/lib/typescript/icons/MenuPointVertical.d.ts +2 -2
  479. package/lib/typescript/icons/MessageFlag.d.ts +2 -2
  480. package/lib/typescript/icons/MessageIcon.d.ts +2 -2
  481. package/lib/typescript/icons/Mute.d.ts +2 -2
  482. package/lib/typescript/icons/Notification.d.ts +2 -2
  483. package/lib/typescript/icons/ODT.d.ts +2 -2
  484. package/lib/typescript/icons/PDF.d.ts +2 -2
  485. package/lib/typescript/icons/PPT.d.ts +2 -2
  486. package/lib/typescript/icons/PPTX.d.ts +2 -2
  487. package/lib/typescript/icons/Pause.d.ts +2 -2
  488. package/lib/typescript/icons/Picture.d.ts +2 -2
  489. package/lib/typescript/icons/Pin.d.ts +2 -2
  490. package/lib/typescript/icons/PinHeader.d.ts +2 -2
  491. package/lib/typescript/icons/Play.d.ts +2 -2
  492. package/lib/typescript/icons/RAR.d.ts +2 -2
  493. package/lib/typescript/icons/RTF.d.ts +2 -2
  494. package/lib/typescript/icons/Recorder.d.ts +2 -2
  495. package/lib/typescript/icons/Refresh.d.ts +2 -2
  496. package/lib/typescript/icons/SEVEN_Z.d.ts +2 -2
  497. package/lib/typescript/icons/Search.d.ts +2 -2
  498. package/lib/typescript/icons/SendRight.d.ts +2 -2
  499. package/lib/typescript/icons/SendUp.d.ts +2 -2
  500. package/lib/typescript/icons/Share.d.ts +2 -2
  501. package/lib/typescript/icons/ShareRightArrow.d.ts +2 -2
  502. package/lib/typescript/icons/Smile.d.ts +2 -2
  503. package/lib/typescript/icons/Sound.d.ts +2 -2
  504. package/lib/typescript/icons/TAR.d.ts +2 -2
  505. package/lib/typescript/icons/TXT.d.ts +2 -2
  506. package/lib/typescript/icons/ThreadReply.d.ts +2 -2
  507. package/lib/typescript/icons/ThumbsDownReaction.d.ts +2 -2
  508. package/lib/typescript/icons/ThumbsUpReaction.d.ts +2 -2
  509. package/lib/typescript/icons/Time.d.ts +2 -2
  510. package/lib/typescript/icons/Unknown.d.ts +2 -2
  511. package/lib/typescript/icons/Unpin.d.ts +2 -2
  512. package/lib/typescript/icons/User.d.ts +2 -2
  513. package/lib/typescript/icons/UserAdd.d.ts +2 -2
  514. package/lib/typescript/icons/UserAdmin.d.ts +2 -2
  515. package/lib/typescript/icons/UserDelete.d.ts +2 -2
  516. package/lib/typescript/icons/UserMinus.d.ts +2 -2
  517. package/lib/typescript/icons/Video.d.ts +2 -2
  518. package/lib/typescript/icons/Warning.d.ts +2 -2
  519. package/lib/typescript/icons/WutReaction.d.ts +2 -2
  520. package/lib/typescript/icons/XLS.d.ts +2 -2
  521. package/lib/typescript/icons/XLSX.d.ts +2 -2
  522. package/lib/typescript/icons/ZIP.d.ts +2 -2
  523. package/lib/typescript/icons/utils/base.d.ts +5 -5
  524. package/lib/typescript/native.d.ts +26 -26
  525. package/lib/typescript/store/QuickSqliteClient.d.ts +1 -1
  526. package/lib/typescript/store/apis/upsertChannels.d.ts +2 -2
  527. package/lib/typescript/store/apis/upsertCidsForQuery.d.ts +2 -2
  528. package/lib/typescript/store/mappers/mapDateTimeToStorable.d.ts +1 -1
  529. package/lib/typescript/store/schema.d.ts +2 -2
  530. package/lib/typescript/store/sqlite-utils/appendOrderByClause.d.ts +1 -1
  531. package/lib/typescript/store/sqlite-utils/appendWhereCluase.d.ts +1 -1
  532. package/lib/typescript/store/sqlite-utils/createUpsertQuery.d.ts +1 -1
  533. package/lib/typescript/store/types.d.ts +8 -8
  534. package/lib/typescript/types/types.d.ts +7 -7
  535. package/lib/typescript/utils/StreamChatRN.d.ts +1 -1
  536. package/lib/typescript/utils/Streami18n.d.ts +2 -2
  537. package/lib/typescript/utils/compressImage.d.ts +1 -1
  538. package/lib/typescript/utils/getResizedImageUrl.d.ts +1 -1
  539. package/lib/typescript/utils/utils.d.ts +14 -14
  540. package/package.json +3 -7
  541. package/src/components/Channel/Channel.tsx +9 -3
  542. package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +11 -1
  543. package/src/components/Channel/hooks/useCreateOwnCapabilitiesContext.ts +24 -6
  544. package/src/components/ChannelPreview/ChannelPreview.tsx +1 -1
  545. package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +3 -0
  546. package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +2 -3
  547. package/src/components/ChannelPreview/ChannelPreviewStatus.tsx +1 -3
  548. package/src/components/ChannelPreview/ChannelPreviewTitle.tsx +5 -12
  549. package/src/components/ChannelPreview/ChannelPreviewUnreadCount.tsx +5 -4
  550. package/src/components/Message/Message.tsx +15 -1
  551. package/src/components/Message/MessageSimple/MessageContent.tsx +5 -0
  552. package/src/components/Message/MessageSimple/MessageSimple.tsx +8 -2
  553. package/src/components/MessageInput/MessageInput.tsx +3 -7
  554. package/src/components/MessageInput/hooks/useCountdown.ts +1 -1
  555. package/src/components/MessageList/MessageList.tsx +3 -1
  556. package/src/components/MessageOverlay/MessageActionListItem.tsx +16 -0
  557. package/src/contexts/channelsContext/ChannelsContext.tsx +1 -1
  558. package/src/contexts/chatContext/ChatContext.tsx +3 -0
  559. package/src/contexts/messageInputContext/MessageInputContext.tsx +1 -1
  560. package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +3 -0
  561. package/src/contexts/themeContext/ThemeContext.tsx +3 -3
  562. package/src/i18n/en.json +1 -1
  563. package/src/i18n/es.json +56 -56
  564. package/src/i18n/fr.json +56 -56
  565. package/src/i18n/he.json +56 -56
  566. package/src/i18n/hi.json +56 -56
  567. package/src/i18n/it.json +56 -56
  568. package/src/i18n/ja.json +56 -56
  569. package/src/i18n/ko.json +56 -56
  570. package/src/i18n/nl.json +56 -56
  571. package/src/i18n/ru.json +56 -56
  572. package/src/i18n/tr.json +56 -56
  573. package/src/icons/ArrowRight.tsx +1 -1
  574. package/src/icons/AtMentions.tsx +1 -1
  575. package/src/icons/Attach.tsx +1 -1
  576. package/src/icons/Audio.tsx +1 -1
  577. package/src/icons/CSV.tsx +1 -1
  578. package/src/icons/Camera.tsx +1 -1
  579. package/src/icons/Check.tsx +1 -1
  580. package/src/icons/CheckAll.tsx +1 -1
  581. package/src/icons/CheckSend.tsx +1 -1
  582. package/src/icons/CircleClose.tsx +1 -1
  583. package/src/icons/CirclePlus.tsx +1 -1
  584. package/src/icons/CircleRight.tsx +1 -1
  585. package/src/icons/Close.tsx +1 -1
  586. package/src/icons/Copy.tsx +1 -1
  587. package/src/icons/CurveLineLeftUp.tsx +1 -1
  588. package/src/icons/DOC.tsx +1 -1
  589. package/src/icons/DOCX.tsx +1 -1
  590. package/src/icons/Delete.tsx +1 -1
  591. package/src/icons/Down.tsx +1 -1
  592. package/src/icons/DownloadArrow.tsx +1 -1
  593. package/src/icons/DownloadCloud.tsx +1 -1
  594. package/src/icons/Edit.tsx +1 -1
  595. package/src/icons/Error.tsx +1 -1
  596. package/src/icons/Eye.tsx +1 -1
  597. package/src/icons/Flag.tsx +1 -1
  598. package/src/icons/Folder.tsx +1 -1
  599. package/src/icons/GenericFile.tsx +1 -1
  600. package/src/icons/GiphyIcon.tsx +1 -1
  601. package/src/icons/Grid.tsx +1 -1
  602. package/src/icons/Group.tsx +1 -1
  603. package/src/icons/HTML.tsx +1 -1
  604. package/src/icons/Imgur.tsx +1 -1
  605. package/src/icons/LOLReaction.tsx +1 -1
  606. package/src/icons/Lightning.tsx +1 -1
  607. package/src/icons/Link.tsx +1 -1
  608. package/src/icons/Logo.tsx +1 -1
  609. package/src/icons/LoveReaction.tsx +1 -1
  610. package/src/icons/MD.tsx +1 -1
  611. package/src/icons/MailOpen.tsx +1 -1
  612. package/src/icons/MenuPointHorizontal.tsx +1 -1
  613. package/src/icons/MenuPointVertical.tsx +1 -1
  614. package/src/icons/MessageFlag.tsx +1 -1
  615. package/src/icons/MessageIcon.tsx +1 -1
  616. package/src/icons/Mute.tsx +1 -1
  617. package/src/icons/Notification.tsx +1 -1
  618. package/src/icons/ODT.tsx +1 -1
  619. package/src/icons/PDF.tsx +1 -1
  620. package/src/icons/PPT.tsx +1 -1
  621. package/src/icons/PPTX.tsx +1 -1
  622. package/src/icons/Pause.tsx +1 -1
  623. package/src/icons/Picture.tsx +1 -1
  624. package/src/icons/Pin.tsx +1 -1
  625. package/src/icons/PinHeader.tsx +1 -1
  626. package/src/icons/Play.tsx +1 -1
  627. package/src/icons/RAR.tsx +1 -1
  628. package/src/icons/RTF.tsx +1 -1
  629. package/src/icons/Recorder.tsx +1 -1
  630. package/src/icons/Refresh.tsx +1 -1
  631. package/src/icons/SEVEN_Z.tsx +1 -1
  632. package/src/icons/Search.tsx +1 -1
  633. package/src/icons/SendRight.tsx +1 -1
  634. package/src/icons/SendUp.tsx +1 -1
  635. package/src/icons/Share.tsx +1 -1
  636. package/src/icons/ShareRightArrow.tsx +1 -1
  637. package/src/icons/Smile.tsx +1 -1
  638. package/src/icons/Sound.tsx +1 -1
  639. package/src/icons/TAR.tsx +1 -1
  640. package/src/icons/TXT.tsx +1 -1
  641. package/src/icons/ThreadReply.tsx +1 -1
  642. package/src/icons/ThumbsDownReaction.tsx +1 -1
  643. package/src/icons/ThumbsUpReaction.tsx +1 -1
  644. package/src/icons/Time.tsx +1 -1
  645. package/src/icons/Unknown.tsx +1 -1
  646. package/src/icons/Unpin.tsx +1 -1
  647. package/src/icons/User.tsx +1 -1
  648. package/src/icons/UserAdd.tsx +1 -1
  649. package/src/icons/UserAdmin.tsx +1 -1
  650. package/src/icons/UserDelete.tsx +1 -1
  651. package/src/icons/UserMinus.tsx +1 -1
  652. package/src/icons/Video.tsx +1 -1
  653. package/src/icons/Warning.tsx +1 -1
  654. package/src/icons/WutReaction.tsx +1 -1
  655. package/src/icons/XLS.tsx +1 -1
  656. package/src/icons/XLSX.tsx +1 -1
  657. package/src/icons/ZIP.tsx +1 -1
  658. package/src/icons/utils/base.tsx +2 -2
  659. package/src/version.json +1 -1
@@ -90,15 +90,19 @@ var MessageSimpleWithContext = function MessageSimpleWithContext(props) {
90
90
  var areEqual = function areEqual(prevProps, nextProps) {
91
91
  var _prevMessage$quoted_m, _nextMessage$quoted_m, _prevMessage$quoted_m2, _nextMessage$quoted_m2;
92
92
  var prevChannel = prevProps.channel,
93
+ prevDisabled = prevProps.disabled,
93
94
  prevGroupStyles = prevProps.groupStyles,
94
95
  prevHasReactions = prevProps.hasReactions,
95
96
  prevMessage = prevProps.message,
96
97
  prevMyMessageTheme = prevProps.myMessageTheme;
97
98
  var nextChannel = nextProps.channel,
99
+ nextDisabled = nextProps.disabled,
98
100
  nextGroupStyles = nextProps.groupStyles,
99
101
  nextHasReactions = nextProps.hasReactions,
100
102
  nextMessage = nextProps.message,
101
103
  nextMyMessageTheme = nextProps.myMessageTheme;
104
+ var disabledEqual = prevDisabled === nextDisabled;
105
+ if (!disabledEqual) return false;
102
106
  var hasReactionsEqual = prevHasReactions === nextHasReactions;
103
107
  if (!hasReactionsEqual) return false;
104
108
  var repliesEqual = prevMessage.reply_count === nextMessage.reply_count;
@@ -137,6 +141,7 @@ var MessageSimple = function MessageSimple(props) {
137
141
  var _useMessageContext = (0, _MessageContext.useMessageContext)(),
138
142
  alignment = _useMessageContext.alignment,
139
143
  channel = _useMessageContext.channel,
144
+ disabled = _useMessageContext.disabled,
140
145
  groupStyles = _useMessageContext.groupStyles,
141
146
  hasReactions = _useMessageContext.hasReactions,
142
147
  message = _useMessageContext.message;
@@ -150,6 +155,7 @@ var MessageSimple = function MessageSimple(props) {
150
155
  return _react["default"].createElement(MemoizedMessageSimple, (0, _extends2["default"])({
151
156
  alignment: alignment,
152
157
  channel: channel,
158
+ disabled: disabled,
153
159
  enableMessageGroupingByUser: enableMessageGroupingByUser,
154
160
  groupStyles: groupStyles,
155
161
  hasReactions: hasReactions,
@@ -163,7 +169,7 @@ var MessageSimple = function MessageSimple(props) {
163
169
  __self: _this,
164
170
  __source: {
165
171
  fileName: _jsxFileName,
166
- lineNumber: 212,
172
+ lineNumber: 217,
167
173
  columnNumber: 5
168
174
  }
169
175
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_MessageContext","_MessagesContext","_ThemeContext","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","styles","StyleSheet","create","container","alignItems","flexDirection","MessageSimpleWithContext","props","_channel$state$messag","alignment","channel","enableMessageGroupingByUser","groupStyles","hasReactions","message","MessageAvatar","MessageContent","MessagePinnedHeader","ReactionList","_useTheme","useTheme","theme","messageSimple","_useState","useState","_useState2","_slicedToArray2","messageContentWidth","setMessageContentWidth","isVeryLastMessage","state","messages","length","id","hasMarginBottom","includes","showReactions","createElement","Fragment","pinned","__self","__source","fileName","lineNumber","columnNumber","View","style","justifyContent","marginBottom","marginTop","testID","areEqual","prevProps","nextProps","_prevMessage$quoted_m","_nextMessage$quoted_m","_prevMessage$quoted_m2","_nextMessage$quoted_m2","prevChannel","prevGroupStyles","prevHasReactions","prevMessage","prevMyMessageTheme","myMessageTheme","nextChannel","nextGroupStyles","nextHasReactions","nextMessage","nextMyMessageTheme","hasReactionsEqual","repliesEqual","reply_count","groupStylesEqual","JSON","stringify","isPrevMessageTypeDeleted","type","isNextMessageTypeDeleted","messageEqual","status","text","isPrevQuotedMessageTypeDeleted","quoted_message","isNextQuotedMessageTypeDeleted","quotedMessageEqual","channelEqual","prevMessageAttachments","attachments","nextMessageAttachments","attachmentsEqual","Array","isArray","every","attachment","index","attachmentKeysEqual","image_url","og_scrape_url","thumb_url","latestReactionsEqual","latest_reactions","_ref","_nextMessage$latest_r","messageThemeEqual","MemoizedMessageSimple","React","memo","MessageSimple","_useMessageContext","useMessageContext","_useMessagesContext","useMessagesContext","_extends2","exports","displayName"],"sources":["MessageSimple.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'flex-end',\n flexDirection: 'row',\n },\n});\n\nexport type MessageSimplePropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n 'alignment' | 'channel' | 'groupStyles' | 'hasReactions' | 'message'\n> &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'enableMessageGroupingByUser'\n | 'myMessageTheme'\n | 'MessageAvatar'\n | 'MessageContent'\n | 'MessagePinnedHeader'\n | 'ReactionList'\n >;\n\nconst MessageSimpleWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageSimplePropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n channel,\n enableMessageGroupingByUser,\n groupStyles,\n hasReactions,\n message,\n MessageAvatar,\n MessageContent,\n MessagePinnedHeader,\n ReactionList,\n } = props;\n\n const {\n theme: {\n messageSimple: { container },\n },\n } = useTheme();\n\n const [messageContentWidth, setMessageContentWidth] = useState(0);\n\n const isVeryLastMessage =\n channel?.state.messages[channel?.state.messages.length - 1]?.id === message.id;\n\n const hasMarginBottom = groupStyles.includes('single') || groupStyles.includes('bottom');\n\n const showReactions = hasReactions && ReactionList;\n\n return (\n <>\n {message.pinned && <MessagePinnedHeader />}\n <View\n style={[\n styles.container,\n {\n justifyContent: alignment === 'left' ? 'flex-start' : 'flex-end',\n marginBottom: hasMarginBottom\n ? isVeryLastMessage && enableMessageGroupingByUser\n ? 30\n : 8\n : 0,\n marginTop: showReactions ? 2 : 0,\n },\n container,\n ]}\n testID='message-simple-wrapper'\n >\n {alignment === 'left' && <MessageAvatar />}\n <MessageContent setMessageContentWidth={setMessageContentWidth} />\n {showReactions && <ReactionList messageContentWidth={messageContentWidth} />}\n </View>\n </>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageSimplePropsWithContext<StreamChatGenerics>,\n nextProps: MessageSimplePropsWithContext<StreamChatGenerics>,\n) => {\n const {\n channel: prevChannel,\n groupStyles: prevGroupStyles,\n hasReactions: prevHasReactions,\n message: prevMessage,\n myMessageTheme: prevMyMessageTheme,\n } = prevProps;\n const {\n channel: nextChannel,\n groupStyles: nextGroupStyles,\n hasReactions: nextHasReactions,\n message: nextMessage,\n myMessageTheme: nextMyMessageTheme,\n } = nextProps;\n\n const hasReactionsEqual = prevHasReactions === nextHasReactions;\n if (!hasReactionsEqual) return false;\n\n const repliesEqual = prevMessage.reply_count === nextMessage.reply_count;\n if (!repliesEqual) return false;\n\n const groupStylesEqual = JSON.stringify(prevGroupStyles) === JSON.stringify(nextGroupStyles);\n if (!groupStylesEqual) return false;\n\n const isPrevMessageTypeDeleted = prevMessage.type === 'deleted';\n const isNextMessageTypeDeleted = nextMessage.type === 'deleted';\n\n const messageEqual =\n isPrevMessageTypeDeleted === isNextMessageTypeDeleted &&\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n prevMessage.text === nextMessage.text &&\n prevMessage.pinned === nextMessage.pinned;\n if (!messageEqual) return false;\n\n const isPrevQuotedMessageTypeDeleted = prevMessage.quoted_message?.type === 'deleted';\n const isNextQuotedMessageTypeDeleted = nextMessage.quoted_message?.type === 'deleted';\n\n const quotedMessageEqual =\n prevMessage.quoted_message?.id === nextMessage.quoted_message?.id &&\n isPrevQuotedMessageTypeDeleted === isNextQuotedMessageTypeDeleted;\n\n if (!quotedMessageEqual) return false;\n\n const channelEqual = prevChannel?.state.messages.length === nextChannel?.state.messages.length;\n if (!channelEqual) return false;\n\n const prevMessageAttachments = prevMessage.attachments;\n const nextMessageAttachments = nextMessage.attachments;\n const attachmentsEqual =\n Array.isArray(prevMessageAttachments) && Array.isArray(nextMessageAttachments)\n ? prevMessageAttachments.length === nextMessageAttachments.length &&\n prevMessageAttachments.every((attachment, index) => {\n const attachmentKeysEqual =\n attachment.image_url === nextMessageAttachments[index].image_url &&\n attachment.og_scrape_url === nextMessageAttachments[index].og_scrape_url &&\n attachment.thumb_url === nextMessageAttachments[index].thumb_url;\n\n return attachmentKeysEqual;\n })\n : prevMessageAttachments === nextMessageAttachments;\n if (!attachmentsEqual) return false;\n\n const latestReactionsEqual =\n Array.isArray(prevMessage.latest_reactions) && Array.isArray(nextMessage.latest_reactions)\n ? prevMessage.latest_reactions.length === nextMessage.latest_reactions.length &&\n prevMessage.latest_reactions.every(\n ({ type }, index) => type === nextMessage.latest_reactions?.[index].type,\n )\n : prevMessage.latest_reactions === nextMessage.latest_reactions;\n if (!latestReactionsEqual) return false;\n\n const messageThemeEqual =\n JSON.stringify(prevMyMessageTheme) === JSON.stringify(nextMyMessageTheme);\n if (!messageThemeEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageSimple = React.memo(\n MessageSimpleWithContext,\n areEqual,\n) as typeof MessageSimpleWithContext;\n\nexport type MessageSimpleProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<MessageSimplePropsWithContext<StreamChatGenerics>>;\n\n/**\n *\n * Message UI component\n */\nexport const MessageSimple = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageSimpleProps<StreamChatGenerics>,\n) => {\n const { alignment, channel, groupStyles, hasReactions, message } =\n useMessageContext<StreamChatGenerics>();\n const {\n enableMessageGroupingByUser,\n MessageAvatar,\n MessageContent,\n MessagePinnedHeader,\n myMessageTheme,\n ReactionList,\n } = useMessagesContext<StreamChatGenerics>();\n\n return (\n <MemoizedMessageSimple<StreamChatGenerics>\n {...{\n alignment,\n channel,\n enableMessageGroupingByUser,\n groupStyles,\n hasReactions,\n message,\n MessageAvatar,\n MessageContent,\n MessagePinnedHeader,\n myMessageTheme,\n ReactionList,\n }}\n {...props}\n />\n );\n};\n\nMessageSimple.displayName = 'MessageSimple{messageSimple{container}}';\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_MessageContext","_MessagesContext","_ThemeContext","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","styles","StyleSheet","create","container","alignItems","flexDirection","MessageSimpleWithContext","props","_channel$state$messag","alignment","channel","enableMessageGroupingByUser","groupStyles","hasReactions","message","MessageAvatar","MessageContent","MessagePinnedHeader","ReactionList","_useTheme","useTheme","theme","messageSimple","_useState","useState","_useState2","_slicedToArray2","messageContentWidth","setMessageContentWidth","isVeryLastMessage","state","messages","length","id","hasMarginBottom","includes","showReactions","createElement","Fragment","pinned","__self","__source","fileName","lineNumber","columnNumber","View","style","justifyContent","marginBottom","marginTop","testID","areEqual","prevProps","nextProps","_prevMessage$quoted_m","_nextMessage$quoted_m","_prevMessage$quoted_m2","_nextMessage$quoted_m2","prevChannel","prevDisabled","disabled","prevGroupStyles","prevHasReactions","prevMessage","prevMyMessageTheme","myMessageTheme","nextChannel","nextDisabled","nextGroupStyles","nextHasReactions","nextMessage","nextMyMessageTheme","disabledEqual","hasReactionsEqual","repliesEqual","reply_count","groupStylesEqual","JSON","stringify","isPrevMessageTypeDeleted","type","isNextMessageTypeDeleted","messageEqual","status","text","isPrevQuotedMessageTypeDeleted","quoted_message","isNextQuotedMessageTypeDeleted","quotedMessageEqual","channelEqual","prevMessageAttachments","attachments","nextMessageAttachments","attachmentsEqual","Array","isArray","every","attachment","index","attachmentKeysEqual","image_url","og_scrape_url","thumb_url","latestReactionsEqual","latest_reactions","_ref","_nextMessage$latest_r","messageThemeEqual","MemoizedMessageSimple","React","memo","MessageSimple","_useMessageContext","useMessageContext","_useMessagesContext","useMessagesContext","_extends2","exports","displayName"],"sources":["MessageSimple.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'flex-end',\n flexDirection: 'row',\n },\n});\n\nexport type MessageSimplePropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n 'alignment' | 'channel' | 'disabled' | 'groupStyles' | 'hasReactions' | 'message'\n> &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'enableMessageGroupingByUser'\n | 'myMessageTheme'\n | 'MessageAvatar'\n | 'MessageContent'\n | 'MessagePinnedHeader'\n | 'ReactionList'\n >;\n\nconst MessageSimpleWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageSimplePropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n channel,\n enableMessageGroupingByUser,\n groupStyles,\n hasReactions,\n message,\n MessageAvatar,\n MessageContent,\n MessagePinnedHeader,\n ReactionList,\n } = props;\n\n const {\n theme: {\n messageSimple: { container },\n },\n } = useTheme();\n\n const [messageContentWidth, setMessageContentWidth] = useState(0);\n\n const isVeryLastMessage =\n channel?.state.messages[channel?.state.messages.length - 1]?.id === message.id;\n\n const hasMarginBottom = groupStyles.includes('single') || groupStyles.includes('bottom');\n\n const showReactions = hasReactions && ReactionList;\n\n return (\n <>\n {message.pinned && <MessagePinnedHeader />}\n <View\n style={[\n styles.container,\n {\n justifyContent: alignment === 'left' ? 'flex-start' : 'flex-end',\n marginBottom: hasMarginBottom\n ? isVeryLastMessage && enableMessageGroupingByUser\n ? 30\n : 8\n : 0,\n marginTop: showReactions ? 2 : 0,\n },\n container,\n ]}\n testID='message-simple-wrapper'\n >\n {alignment === 'left' && <MessageAvatar />}\n <MessageContent setMessageContentWidth={setMessageContentWidth} />\n {showReactions && <ReactionList messageContentWidth={messageContentWidth} />}\n </View>\n </>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageSimplePropsWithContext<StreamChatGenerics>,\n nextProps: MessageSimplePropsWithContext<StreamChatGenerics>,\n) => {\n const {\n channel: prevChannel,\n disabled: prevDisabled,\n groupStyles: prevGroupStyles,\n hasReactions: prevHasReactions,\n message: prevMessage,\n myMessageTheme: prevMyMessageTheme,\n } = prevProps;\n const {\n channel: nextChannel,\n disabled: nextDisabled,\n groupStyles: nextGroupStyles,\n hasReactions: nextHasReactions,\n message: nextMessage,\n myMessageTheme: nextMyMessageTheme,\n } = nextProps;\n\n const disabledEqual = prevDisabled === nextDisabled;\n if (!disabledEqual) return false;\n\n const hasReactionsEqual = prevHasReactions === nextHasReactions;\n if (!hasReactionsEqual) return false;\n\n const repliesEqual = prevMessage.reply_count === nextMessage.reply_count;\n if (!repliesEqual) return false;\n\n const groupStylesEqual = JSON.stringify(prevGroupStyles) === JSON.stringify(nextGroupStyles);\n if (!groupStylesEqual) return false;\n\n const isPrevMessageTypeDeleted = prevMessage.type === 'deleted';\n const isNextMessageTypeDeleted = nextMessage.type === 'deleted';\n\n const messageEqual =\n isPrevMessageTypeDeleted === isNextMessageTypeDeleted &&\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n prevMessage.text === nextMessage.text &&\n prevMessage.pinned === nextMessage.pinned;\n if (!messageEqual) return false;\n\n const isPrevQuotedMessageTypeDeleted = prevMessage.quoted_message?.type === 'deleted';\n const isNextQuotedMessageTypeDeleted = nextMessage.quoted_message?.type === 'deleted';\n\n const quotedMessageEqual =\n prevMessage.quoted_message?.id === nextMessage.quoted_message?.id &&\n isPrevQuotedMessageTypeDeleted === isNextQuotedMessageTypeDeleted;\n\n if (!quotedMessageEqual) return false;\n\n const channelEqual = prevChannel?.state.messages.length === nextChannel?.state.messages.length;\n if (!channelEqual) return false;\n\n const prevMessageAttachments = prevMessage.attachments;\n const nextMessageAttachments = nextMessage.attachments;\n const attachmentsEqual =\n Array.isArray(prevMessageAttachments) && Array.isArray(nextMessageAttachments)\n ? prevMessageAttachments.length === nextMessageAttachments.length &&\n prevMessageAttachments.every((attachment, index) => {\n const attachmentKeysEqual =\n attachment.image_url === nextMessageAttachments[index].image_url &&\n attachment.og_scrape_url === nextMessageAttachments[index].og_scrape_url &&\n attachment.thumb_url === nextMessageAttachments[index].thumb_url;\n\n return attachmentKeysEqual;\n })\n : prevMessageAttachments === nextMessageAttachments;\n if (!attachmentsEqual) return false;\n\n const latestReactionsEqual =\n Array.isArray(prevMessage.latest_reactions) && Array.isArray(nextMessage.latest_reactions)\n ? prevMessage.latest_reactions.length === nextMessage.latest_reactions.length &&\n prevMessage.latest_reactions.every(\n ({ type }, index) => type === nextMessage.latest_reactions?.[index].type,\n )\n : prevMessage.latest_reactions === nextMessage.latest_reactions;\n if (!latestReactionsEqual) return false;\n\n const messageThemeEqual =\n JSON.stringify(prevMyMessageTheme) === JSON.stringify(nextMyMessageTheme);\n if (!messageThemeEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageSimple = React.memo(\n MessageSimpleWithContext,\n areEqual,\n) as typeof MessageSimpleWithContext;\n\nexport type MessageSimpleProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<MessageSimplePropsWithContext<StreamChatGenerics>>;\n\n/**\n *\n * Message UI component\n */\nexport const MessageSimple = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageSimpleProps<StreamChatGenerics>,\n) => {\n const { alignment, channel, disabled, groupStyles, hasReactions, message } =\n useMessageContext<StreamChatGenerics>();\n const {\n enableMessageGroupingByUser,\n MessageAvatar,\n MessageContent,\n MessagePinnedHeader,\n myMessageTheme,\n ReactionList,\n } = useMessagesContext<StreamChatGenerics>();\n\n return (\n <MemoizedMessageSimple<StreamChatGenerics>\n {...{\n alignment,\n channel,\n disabled,\n enableMessageGroupingByUser,\n groupStyles,\n hasReactions,\n message,\n MessageAvatar,\n MessageContent,\n MessagePinnedHeader,\n myMessageTheme,\n ReactionList,\n }}\n {...props}\n />\n );\n};\n\nMessageSimple.displayName = 'MessageSimple{messageSimple{container}}';\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAF,OAAA;AAIA,IAAAG,gBAAA,GAAAH,OAAA;AAIA,IAAAI,aAAA,GAAAJ,OAAA;AAAuE,IAAAK,KAAA;EAAAC,YAAA;AAAA,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAT,wBAAAa,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAIvE,IAAMW,MAAM,GAAGC,uBAAU,CAACC,MAAM,CAAC;EAC/BC,SAAS,EAAE;IACTC,UAAU,EAAE,UAAU;IACtBC,aAAa,EAAE;EACjB;AACF,CAAC,CAAC;AAkBF,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAG5BC,KAAwD,EACrD;EAAA,IAAAC,qBAAA;EACH,IACEC,SAAS,GAUPF,KAAK,CAVPE,SAAS;IACTC,OAAO,GASLH,KAAK,CATPG,OAAO;IACPC,2BAA2B,GAQzBJ,KAAK,CARPI,2BAA2B;IAC3BC,WAAW,GAOTL,KAAK,CAPPK,WAAW;IACXC,YAAY,GAMVN,KAAK,CANPM,YAAY;IACZC,OAAO,GAKLP,KAAK,CALPO,OAAO;IACPC,aAAa,GAIXR,KAAK,CAJPQ,aAAa;IACbC,cAAc,GAGZT,KAAK,CAHPS,cAAc;IACdC,mBAAmB,GAEjBV,KAAK,CAFPU,mBAAmB;IACnBC,YAAY,GACVX,KAAK,CADPW,YAAY;EAGd,IAAAC,SAAA,GAII,IAAAC,sBAAQ,EAAC,CAAC;IAFOjB,SAAS,GAAAgB,SAAA,CAD5BE,KAAK,CACHC,aAAa,CAAInB,SAAS;EAI9B,IAAAoB,SAAA,GAAsD,IAAAC,eAAQ,EAAC,CAAC,CAAC;IAAAC,UAAA,OAAAC,eAAA,aAAAH,SAAA;IAA1DI,mBAAmB,GAAAF,UAAA;IAAEG,sBAAsB,GAAAH,UAAA;EAElD,IAAMI,iBAAiB,GACrB,CAAAnB,OAAO,qBAAAF,qBAAA,GAAPE,OAAO,CAAEoB,KAAK,CAACC,QAAQ,CAAC,CAAArB,OAAO,oBAAPA,OAAO,CAAEoB,KAAK,CAACC,QAAQ,CAACC,MAAM,IAAG,CAAC,CAAC,qBAA3DxB,qBAAA,CAA6DyB,EAAE,MAAKnB,OAAO,CAACmB,EAAE;EAEhF,IAAMC,eAAe,GAAGtB,WAAW,CAACuB,QAAQ,CAAC,QAAQ,CAAC,IAAIvB,WAAW,CAACuB,QAAQ,CAAC,QAAQ,CAAC;EAExF,IAAMC,aAAa,GAAGvB,YAAY,IAAIK,YAAY;EAElD,OACEjD,MAAA,YAAAoE,aAAA,CAAApE,MAAA,YAAAqE,QAAA,QACGxB,OAAO,CAACyB,MAAM,IAAItE,MAAA,YAAAoE,aAAA,CAACpB,mBAAmB;IAAAuB,MAAA,EAAAhE,KAAA;IAAAiE,QAAA;MAAAC,QAAA,EAAAjE,YAAA;MAAAkE,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAAC,EAC1C3E,MAAA,YAAAoE,aAAA,CAACjE,YAAA,CAAAyE,IAAI;IACHC,KAAK,EAAE,CACL9C,MAAM,CAACG,SAAS,EAChB;MACE4C,cAAc,EAAEtC,SAAS,KAAK,MAAM,GAAG,YAAY,GAAG,UAAU;MAChEuC,YAAY,EAAEd,eAAe,GACzBL,iBAAiB,IAAIlB,2BAA2B,GAC9C,EAAE,GACF,CAAC,GACH,CAAC;MACLsC,SAAS,EAAEb,aAAa,GAAG,CAAC,GAAG;IACjC,CAAC,EACDjC,SAAS,CACT;IACF+C,MAAM,EAAC,wBAAwB;IAAAV,MAAA,EAAAhE,KAAA;IAAAiE,QAAA;MAAAC,QAAA,EAAAjE,YAAA;MAAAkE,UAAA;MAAAC,YAAA;IAAA;EAAA,GAE9BnC,SAAS,KAAK,MAAM,IAAIxC,MAAA,YAAAoE,aAAA,CAACtB,aAAa;IAAAyB,MAAA,EAAAhE,KAAA;IAAAiE,QAAA;MAAAC,QAAA,EAAAjE,YAAA;MAAAkE,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAAC,EAC1C3E,MAAA,YAAAoE,aAAA,CAACrB,cAAc;IAACY,sBAAsB,EAAEA,sBAAuB;IAAAY,MAAA,EAAAhE,KAAA;IAAAiE,QAAA;MAAAC,QAAA,EAAAjE,YAAA;MAAAkE,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAAC,EACjER,aAAa,IAAInE,MAAA,YAAAoE,aAAA,CAACnB,YAAY;IAACS,mBAAmB,EAAEA,mBAAoB;IAAAa,MAAA,EAAAhE,KAAA;IAAAiE,QAAA;MAAAC,QAAA,EAAAjE,YAAA;MAAAkE,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CACvE,CACN,CAAC;AAEP,CAAC;AAED,IAAMO,QAAQ,GAAG,SAAXA,QAAQA,CACZC,SAA4D,EAC5DC,SAA4D,EACzD;EAAA,IAAAC,qBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;EACH,IACWC,WAAW,GAMlBN,SAAS,CANX1C,OAAO;IACGiD,YAAY,GAKpBP,SAAS,CALXQ,QAAQ;IACKC,eAAe,GAI1BT,SAAS,CAJXxC,WAAW;IACGkD,gBAAgB,GAG5BV,SAAS,CAHXvC,YAAY;IACHkD,WAAW,GAElBX,SAAS,CAFXtC,OAAO;IACSkD,kBAAkB,GAChCZ,SAAS,CADXa,cAAc;EAEhB,IACWC,WAAW,GAMlBb,SAAS,CANX3C,OAAO;IACGyD,YAAY,GAKpBd,SAAS,CALXO,QAAQ;IACKQ,eAAe,GAI1Bf,SAAS,CAJXzC,WAAW;IACGyD,gBAAgB,GAG5BhB,SAAS,CAHXxC,YAAY;IACHyD,WAAW,GAElBjB,SAAS,CAFXvC,OAAO;IACSyD,kBAAkB,GAChClB,SAAS,CADXY,cAAc;EAGhB,IAAMO,aAAa,GAAGb,YAAY,KAAKQ,YAAY;EACnD,IAAI,CAACK,aAAa,EAAE,OAAO,KAAK;EAEhC,IAAMC,iBAAiB,GAAGX,gBAAgB,KAAKO,gBAAgB;EAC/D,IAAI,CAACI,iBAAiB,EAAE,OAAO,KAAK;EAEpC,IAAMC,YAAY,GAAGX,WAAW,CAACY,WAAW,KAAKL,WAAW,CAACK,WAAW;EACxE,IAAI,CAACD,YAAY,EAAE,OAAO,KAAK;EAE/B,IAAME,gBAAgB,GAAGC,IAAI,CAACC,SAAS,CAACjB,eAAe,CAAC,KAAKgB,IAAI,CAACC,SAAS,CAACV,eAAe,CAAC;EAC5F,IAAI,CAACQ,gBAAgB,EAAE,OAAO,KAAK;EAEnC,IAAMG,wBAAwB,GAAGhB,WAAW,CAACiB,IAAI,KAAK,SAAS;EAC/D,IAAMC,wBAAwB,GAAGX,WAAW,CAACU,IAAI,KAAK,SAAS;EAE/D,IAAME,YAAY,GAChBH,wBAAwB,KAAKE,wBAAwB,IACrDlB,WAAW,CAACoB,MAAM,KAAKb,WAAW,CAACa,MAAM,IACzCpB,WAAW,CAACiB,IAAI,KAAKV,WAAW,CAACU,IAAI,IACrCjB,WAAW,CAACqB,IAAI,KAAKd,WAAW,CAACc,IAAI,IACrCrB,WAAW,CAACxB,MAAM,KAAK+B,WAAW,CAAC/B,MAAM;EAC3C,IAAI,CAAC2C,YAAY,EAAE,OAAO,KAAK;EAE/B,IAAMG,8BAA8B,GAAG,EAAA/B,qBAAA,GAAAS,WAAW,CAACuB,cAAc,qBAA1BhC,qBAAA,CAA4B0B,IAAI,MAAK,SAAS;EACrF,IAAMO,8BAA8B,GAAG,EAAAhC,qBAAA,GAAAe,WAAW,CAACgB,cAAc,qBAA1B/B,qBAAA,CAA4ByB,IAAI,MAAK,SAAS;EAErF,IAAMQ,kBAAkB,GACtB,EAAAhC,sBAAA,GAAAO,WAAW,CAACuB,cAAc,qBAA1B9B,sBAAA,CAA4BvB,EAAE,QAAAwB,sBAAA,GAAKa,WAAW,CAACgB,cAAc,qBAA1B7B,sBAAA,CAA4BxB,EAAE,KACjEoD,8BAA8B,KAAKE,8BAA8B;EAEnE,IAAI,CAACC,kBAAkB,EAAE,OAAO,KAAK;EAErC,IAAMC,YAAY,GAAG,CAAA/B,WAAW,oBAAXA,WAAW,CAAE5B,KAAK,CAACC,QAAQ,CAACC,MAAM,OAAKkC,WAAW,oBAAXA,WAAW,CAAEpC,KAAK,CAACC,QAAQ,CAACC,MAAM;EAC9F,IAAI,CAACyD,YAAY,EAAE,OAAO,KAAK;EAE/B,IAAMC,sBAAsB,GAAG3B,WAAW,CAAC4B,WAAW;EACtD,IAAMC,sBAAsB,GAAGtB,WAAW,CAACqB,WAAW;EACtD,IAAME,gBAAgB,GACpBC,KAAK,CAACC,OAAO,CAACL,sBAAsB,CAAC,IAAII,KAAK,CAACC,OAAO,CAACH,sBAAsB,CAAC,GAC1EF,sBAAsB,CAAC1D,MAAM,KAAK4D,sBAAsB,CAAC5D,MAAM,IAC/D0D,sBAAsB,CAACM,KAAK,CAAC,UAACC,UAAU,EAAEC,KAAK,EAAK;IAClD,IAAMC,mBAAmB,GACvBF,UAAU,CAACG,SAAS,KAAKR,sBAAsB,CAACM,KAAK,CAAC,CAACE,SAAS,IAChEH,UAAU,CAACI,aAAa,KAAKT,sBAAsB,CAACM,KAAK,CAAC,CAACG,aAAa,IACxEJ,UAAU,CAACK,SAAS,KAAKV,sBAAsB,CAACM,KAAK,CAAC,CAACI,SAAS;IAElE,OAAOH,mBAAmB;EAC5B,CAAC,CAAC,GACFT,sBAAsB,KAAKE,sBAAsB;EACvD,IAAI,CAACC,gBAAgB,EAAE,OAAO,KAAK;EAEnC,IAAMU,oBAAoB,GACxBT,KAAK,CAACC,OAAO,CAAChC,WAAW,CAACyC,gBAAgB,CAAC,IAAIV,KAAK,CAACC,OAAO,CAACzB,WAAW,CAACkC,gBAAgB,CAAC,GACtFzC,WAAW,CAACyC,gBAAgB,CAACxE,MAAM,KAAKsC,WAAW,CAACkC,gBAAgB,CAACxE,MAAM,IAC3E+B,WAAW,CAACyC,gBAAgB,CAACR,KAAK,CAChC,UAAAS,IAAA,EAAWP,KAAK;IAAA,IAAAQ,qBAAA;IAAA,IAAb1B,IAAI,GAAAyB,IAAA,CAAJzB,IAAI;IAAA,OAAcA,IAAI,OAAA0B,qBAAA,GAAKpC,WAAW,CAACkC,gBAAgB,qBAA5BE,qBAAA,CAA+BR,KAAK,CAAC,CAAClB,IAAI;EAAA,CAC1E,CAAC,GACDjB,WAAW,CAACyC,gBAAgB,KAAKlC,WAAW,CAACkC,gBAAgB;EACnE,IAAI,CAACD,oBAAoB,EAAE,OAAO,KAAK;EAEvC,IAAMI,iBAAiB,GACrB9B,IAAI,CAACC,SAAS,CAACd,kBAAkB,CAAC,KAAKa,IAAI,CAACC,SAAS,CAACP,kBAAkB,CAAC;EAC3E,IAAI,CAACoC,iBAAiB,EAAE,OAAO,KAAK;EAEpC,OAAO,IAAI;AACb,CAAC;AAED,IAAMC,qBAAqB,GAAGC,iBAAK,CAACC,IAAI,CACtCxG,wBAAwB,EACxB6C,QACF,CAAoC;AAU7B,IAAM4D,aAAa,GAAG,SAAhBA,aAAaA,CAGxBxG,KAA6C,EAC1C;EACH,IAAAyG,kBAAA,GACE,IAAAC,iCAAiB,EAAqB,CAAC;IADjCxG,SAAS,GAAAuG,kBAAA,CAATvG,SAAS;IAAEC,OAAO,GAAAsG,kBAAA,CAAPtG,OAAO;IAAEkD,QAAQ,GAAAoD,kBAAA,CAARpD,QAAQ;IAAEhD,WAAW,GAAAoG,kBAAA,CAAXpG,WAAW;IAAEC,YAAY,GAAAmG,kBAAA,CAAZnG,YAAY;IAAEC,OAAO,GAAAkG,kBAAA,CAAPlG,OAAO;EAExE,IAAAoG,mBAAA,GAOI,IAAAC,mCAAkB,EAAqB,CAAC;IAN1CxG,2BAA2B,GAAAuG,mBAAA,CAA3BvG,2BAA2B;IAC3BI,aAAa,GAAAmG,mBAAA,CAAbnG,aAAa;IACbC,cAAc,GAAAkG,mBAAA,CAAdlG,cAAc;IACdC,mBAAmB,GAAAiG,mBAAA,CAAnBjG,mBAAmB;IACnBgD,cAAc,GAAAiD,mBAAA,CAAdjD,cAAc;IACd/C,YAAY,GAAAgG,mBAAA,CAAZhG,YAAY;EAGd,OACEjD,MAAA,YAAAoE,aAAA,CAACuE,qBAAqB,MAAAQ,SAAA;IAElB3G,SAAS,EAATA,SAAS;IACTC,OAAO,EAAPA,OAAO;IACPkD,QAAQ,EAARA,QAAQ;IACRjD,2BAA2B,EAA3BA,2BAA2B;IAC3BC,WAAW,EAAXA,WAAW;IACXC,YAAY,EAAZA,YAAY;IACZC,OAAO,EAAPA,OAAO;IACPC,aAAa,EAAbA,aAAa;IACbC,cAAc,EAAdA,cAAc;IACdC,mBAAmB,EAAnBA,mBAAmB;IACnBgD,cAAc,EAAdA,cAAc;IACd/C,YAAY,EAAZA;EAAY,GAEVX,KAAK;IAAAiC,MAAA,EAAAhE,KAAA;IAAAiE,QAAA;MAAAC,QAAA,EAAAjE,YAAA;MAAAkE,UAAA;MAAAC,YAAA;IAAA;EAAA,EACV,CAAC;AAEN,CAAC;AAACyE,OAAA,CAAAN,aAAA,GAAAA,aAAA;AAEFA,aAAa,CAACO,WAAW,GAAG,yCAAyC"}
@@ -689,8 +689,7 @@ var MessageInput = function MessageInput(props) {
689
689
  isOnline = _useChatContext.isOnline;
690
690
  var ownCapabilities = (0, _OwnCapabilitiesContext.useOwnCapabilitiesContext)();
691
691
  var _useChannelContext = (0, _ChannelContext.useChannelContext)(),
692
- _useChannelContext$di = _useChannelContext.disabled,
693
- disabled = _useChannelContext$di === void 0 ? false : _useChannelContext$di,
692
+ disabled = _useChannelContext.disabled,
694
693
  members = _useChannelContext.members,
695
694
  threadList = _useChannelContext.threadList,
696
695
  watchers = _useChannelContext.watchers;
@@ -745,12 +744,12 @@ var MessageInput = function MessageInput(props) {
745
744
  thread = _useThreadContext.thread;
746
745
  var _useTranslationContex2 = (0, _TranslationContext.useTranslationContext)(),
747
746
  t = _useTranslationContex2.t;
748
- if (!ownCapabilities.sendMessage && SendMessageDisallowedIndicator) {
747
+ if ((disabled || !ownCapabilities.sendMessage) && SendMessageDisallowedIndicator) {
749
748
  return _react["default"].createElement(SendMessageDisallowedIndicator, {
750
749
  __self: _this,
751
750
  __source: {
752
751
  fileName: _jsxFileName,
753
- lineNumber: 858,
752
+ lineNumber: 853,
754
753
  columnNumber: 12
755
754
  }
756
755
  });
@@ -794,6 +793,7 @@ var MessageInput = function MessageInput(props) {
794
793
  SendButton: SendButton,
795
794
  sending: sending,
796
795
  sendMessageAsync: sendMessageAsync,
796
+ SendMessageDisallowedIndicator: SendMessageDisallowedIndicator,
797
797
  setGiphyActive: setGiphyActive,
798
798
  setShowMoreOptions: setShowMoreOptions,
799
799
  showMoreOptions: showMoreOptions,
@@ -810,7 +810,7 @@ var MessageInput = function MessageInput(props) {
810
810
  __self: _this,
811
811
  __source: {
812
812
  fileName: _jsxFileName,
813
- lineNumber: 862,
813
+ lineNumber: 857,
814
814
  columnNumber: 5
815
815
  }
816
816
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useCountdown2","_contexts","_AttachmentPickerContext","_ChannelContext","_MessageInputContext","_MessagesContext","_OwnCapabilitiesContext","_SuggestionsContext","_ThemeContext","_ThreadContext","_TranslationContext","_AttachmentSelectionBar","_AutoCompleteInput","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","next","bind","Array","isArray","_unsupportedIterableToArray","length","i","done","value","TypeError","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","from","test","arr","len","arr2","styles","StyleSheet","create","attachmentSeparator","borderBottomWidth","marginBottom","autoCompleteInputContainer","alignItems","flexDirection","paddingLeft","paddingRight","composerContainer","container","borderTopWidth","padding","inputBoxContainer","borderRadius","borderWidth","flex","optionsContainer","paddingBottom","replyContainer","paddingHorizontal","sendButtonContainer","suggestionsListContainer","position","width","MessageInputWithContext","props","additionalTextInputProps","asyncIds","asyncUploads","AutoCompleteSuggestionList","closeAttachmentPicker","cooldownEndsAt","CooldownTimer","disabled","editing","FileUploadPreview","fileUploads","giphyActive","ImageUploadPreview","imageUploads","Input","inputBoxRef","InputButtons","InputEditingStateHeader","InputGiphySearch","InputReplyStateHeader","isOnline","isValidMessage","maxNumberOfFiles","members","mentionedUsers","numberOfUploads","quotedMessage","removeFile","removeImage","Reply","resetInput","SendButton","sending","sendMessageAsync","setShowMoreOptions","ShowThreadMessageInChannelButton","suggestions","thread","threadList","triggerType","uploadNewFile","uploadNewImage","watchers","_useState","useState","_useState2","_slicedToArray2","height","setHeight","_useTranslationContex","useTranslationContext","t","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","border","grey_whisper","white","white_smoke","_useTheme$theme$messa","messageInput","attachmentSelectionBar","focusedInputBoxContainer","suggestionListContainer","_useAttachmentPickerC","useAttachmentPickerContext","attachmentPickerBottomSheetHeight","attachmentSelectionBarHeight","bottomInset","selectedFiles","selectedImages","selectedPicker","setMaxNumberOfFiles","setSelectedFiles","setSelectedImages","_useCountdown","useCountdown","cooldownRemainingSeconds","seconds","useEffect","_useState3","_useState4","hasResetImages","setHasResetImages","_useState5","_useState6","hasResetFiles","setHasResetFiles","_useState7","_useState8","focused","setFocused","selectedImagesLength","imageUploadsLength","selectedFilesLength","fileUploadsLength","imagesForInput","forEach","image","id","file","MEGA_BYTES_TO_BYTES","MAX_FILE_SIZE_TO_UPLOAD_IN_MB","uploadImagesHandler","imageToUpload","find","selectedImage","uploadedImage","imageUpload","uri","url","Number","size","Alert","alert","filter","removeImagesHandler","imagesToRemove","fileToUpload","selectedFile","uploadedFile","fileUpload","filesToRemove","updatedSelectedImages","map","source","Boolean","updatedSelectedFiles","duration","mimeType","editingExists","current","focus","asyncIdsString","join","asyncUploadsString","values","_ref","state","keys","getMembers","result","member","user","push","getUsers","users","concat","_toConsumableArray2","getWatchers","uniqueUsers","_iterator","_step","usersArray","apply","additionalTextInputContainerProps","_extends2","editable","undefined","memoizedAdditionalTextInputProps","useMemo","onBlur","event","onFocus","createElement","Fragment","View","onLayout","_ref2","newHeight","nativeEvent","layout","style","backgroundColor","borderColor","__self","__source","fileName","lineNumber","columnNumber","paddingVertical","quoted_message","borderBottomColor","marginHorizontal","AutoCompleteInput","cooldownActive","bottom","active","data","onSelect","queryText","AttachmentSelectionBar","areEqual","prevProps","nextProps","prevAdditionalTextInputProps","prevAsyncUploads","prevDisabled","prevEditing","prevFileUploads","prevGiphyActive","prevImageUploads","prevIsOnline","prevIsValidMessage","prevMentionedUsers","prevQuotedMessage","prevSending","prevShowMoreOptions","showMoreOptions","prevSuggestions","prevT","prevThread","prevThreadList","nextAdditionalTextInputProps","nextAsyncUploads","nextDisabled","nextEditing","nextFileUploads","nextGiphyActive","nextImageUploads","nextIsOnline","nextIsValidMessage","nextMentionedUsers","nextQuotedMessage","nextSending","nextShowMoreOptions","nextSuggestions","nextT","nextThread","nextThreadList","tEqual","additionalTextInputPropsEven","disabledEqual","editingEqual","imageUploadsEqual","giphyActiveEqual","quotedMessageEqual","sendingEqual","showMoreOptionsEqual","isOnlineEqual","isValidMessageEqual","asyncUploadsEqual","every","fileUploadsEqual","mentionedUsersEqual","suggestionsEqual","_ref3","index","threadEqual","text","reply_count","threadListEqual","MemoizedMessageInput","React","memo","MessageInput","_useChatContext","useChatContext","ownCapabilities","useOwnCapabilitiesContext","_useChannelContext","useChannelContext","_useChannelContext$di","_useMessageInputConte","useMessageInputContext","clearEditingState","clearQuotedMessageState","SendMessageDisallowedIndicator","setGiphyActive","_useMessagesContext","useMessagesContext","_useSuggestionsContex","useSuggestionsContext","AutoCompleteSuggestionHeader","AutoCompleteSuggestionItem","_useThreadContext","useThreadContext","_useTranslationContex2","sendMessage","exports","displayName"],"sources":["MessageInput.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport {\n Alert,\n NativeSyntheticEvent,\n StyleSheet,\n TextInputFocusEventData,\n View,\n} from 'react-native';\n\nimport type { UserResponse } from 'stream-chat';\n\nimport { useCountdown } from './hooks/useCountdown';\n\nimport { ChatContextValue, useChatContext } from '../../contexts';\nimport { useAttachmentPickerContext } from '../../contexts/attachmentPickerContext/AttachmentPickerContext';\nimport {\n ChannelContextValue,\n useChannelContext,\n} from '../../contexts/channelContext/ChannelContext';\nimport {\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useOwnCapabilitiesContext } from '../../contexts/ownCapabilitiesContext/OwnCapabilitiesContext';\nimport {\n SuggestionsContextValue,\n useSuggestionsContext,\n} from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { ThreadContextValue, useThreadContext } from '../../contexts/threadContext/ThreadContext';\nimport {\n TranslationContextValue,\n useTranslationContext,\n} from '../../contexts/translationContext/TranslationContext';\n\nimport type { Asset, DefaultStreamChatGenerics } from '../../types/types';\nimport { AttachmentSelectionBar } from '../AttachmentPicker/components/AttachmentSelectionBar';\nimport { AutoCompleteInput } from '../AutoCompleteInput/AutoCompleteInput';\n\nconst styles = StyleSheet.create({\n attachmentSeparator: {\n borderBottomWidth: 1,\n marginBottom: 10,\n },\n autoCompleteInputContainer: {\n alignItems: 'center',\n flexDirection: 'row',\n paddingLeft: 16,\n paddingRight: 16,\n },\n composerContainer: {\n alignItems: 'flex-end',\n flexDirection: 'row',\n },\n container: {\n borderTopWidth: 1,\n padding: 10,\n },\n inputBoxContainer: {\n borderRadius: 20,\n borderWidth: 1,\n flex: 1,\n },\n optionsContainer: {\n flexDirection: 'row',\n paddingBottom: 10,\n paddingRight: 10,\n },\n replyContainer: { paddingBottom: 12, paddingHorizontal: 8 },\n sendButtonContainer: { paddingBottom: 10, paddingLeft: 10 },\n suggestionsListContainer: {\n position: 'absolute',\n width: '100%',\n },\n});\n\ntype MessageInputPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChatContextValue<StreamChatGenerics>, 'isOnline'> &\n Pick<\n ChannelContextValue<StreamChatGenerics>,\n 'disabled' | 'members' | 'threadList' | 'watchers'\n > &\n Pick<\n MessageInputContextValue<StreamChatGenerics>,\n | 'additionalTextInputProps'\n | 'asyncIds'\n | 'asyncUploads'\n | 'cooldownEndsAt'\n | 'CooldownTimer'\n | 'clearEditingState'\n | 'clearQuotedMessageState'\n | 'closeAttachmentPicker'\n | 'editing'\n | 'FileUploadPreview'\n | 'fileUploads'\n | 'giphyActive'\n | 'ImageUploadPreview'\n | 'imageUploads'\n | 'Input'\n | 'inputBoxRef'\n | 'InputButtons'\n | 'InputEditingStateHeader'\n | 'InputGiphySearch'\n | 'InputReplyStateHeader'\n | 'isValidMessage'\n | 'maxNumberOfFiles'\n | 'mentionedUsers'\n | 'numberOfUploads'\n | 'quotedMessage'\n | 'resetInput'\n | 'SendButton'\n | 'sending'\n | 'sendMessageAsync'\n | 'setShowMoreOptions'\n | 'setGiphyActive'\n | 'showMoreOptions'\n | 'ShowThreadMessageInChannelButton'\n | 'removeFile'\n | 'removeImage'\n | 'uploadNewFile'\n | 'uploadNewImage'\n > &\n Pick<MessagesContextValue<StreamChatGenerics>, 'Reply'> &\n Pick<\n SuggestionsContextValue<StreamChatGenerics>,\n | 'AutoCompleteSuggestionHeader'\n | 'AutoCompleteSuggestionItem'\n | 'AutoCompleteSuggestionList'\n | 'suggestions'\n | 'triggerType'\n > &\n Pick<ThreadContextValue<StreamChatGenerics>, 'thread'> &\n Pick<TranslationContextValue, 't'>;\n\nconst MessageInputWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageInputPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTextInputProps,\n asyncIds,\n asyncUploads,\n AutoCompleteSuggestionList,\n closeAttachmentPicker,\n cooldownEndsAt,\n CooldownTimer,\n disabled,\n editing,\n FileUploadPreview,\n fileUploads,\n giphyActive,\n ImageUploadPreview,\n imageUploads,\n Input,\n inputBoxRef,\n InputButtons,\n InputEditingStateHeader,\n InputGiphySearch,\n InputReplyStateHeader,\n isOnline,\n isValidMessage,\n maxNumberOfFiles,\n members,\n mentionedUsers,\n numberOfUploads,\n quotedMessage,\n removeFile,\n removeImage,\n Reply,\n resetInput,\n SendButton,\n sending,\n sendMessageAsync,\n setShowMoreOptions,\n ShowThreadMessageInChannelButton,\n suggestions,\n thread,\n threadList,\n triggerType,\n uploadNewFile,\n uploadNewImage,\n watchers,\n } = props;\n\n const [height, setHeight] = useState(0);\n const { t } = useTranslationContext();\n\n const {\n theme: {\n colors: { border, grey_whisper, white, white_smoke },\n messageInput: {\n attachmentSelectionBar,\n autoCompleteInputContainer,\n composerContainer,\n container,\n focusedInputBoxContainer,\n inputBoxContainer,\n optionsContainer,\n replyContainer,\n sendButtonContainer,\n suggestionsListContainer: { container: suggestionListContainer },\n },\n },\n } = useTheme();\n\n const {\n attachmentPickerBottomSheetHeight,\n attachmentSelectionBarHeight,\n bottomInset,\n selectedFiles,\n selectedImages,\n selectedPicker,\n setMaxNumberOfFiles,\n setSelectedFiles,\n setSelectedImages,\n } = useAttachmentPickerContext();\n\n const { seconds: cooldownRemainingSeconds } = useCountdown(cooldownEndsAt);\n\n /**\n * Mounting and un-mounting logic are un-related in following useEffect.\n * While mounting we want to pass maxNumberOfFiles (which is prop on Channel component)\n * to AttachmentPicker (on OverlayProvider)\n *\n * While un-mounting, we want to close the picker e.g., while navigating away.\n */\n useEffect(() => {\n setMaxNumberOfFiles(maxNumberOfFiles ?? 10);\n\n return closeAttachmentPicker;\n }, []);\n\n const [hasResetImages, setHasResetImages] = useState(false);\n const [hasResetFiles, setHasResetFiles] = useState(false);\n const [focused, setFocused] = useState(false);\n const selectedImagesLength = hasResetImages ? selectedImages.length : 0;\n const imageUploadsLength = hasResetImages ? imageUploads.length : 0;\n const selectedFilesLength = hasResetFiles ? selectedFiles.length : 0;\n const fileUploadsLength = hasResetFiles ? fileUploads.length : 0;\n const imagesForInput = (!!thread && !!threadList) || (!thread && !threadList);\n\n useEffect(() => {\n setSelectedImages([]);\n if (imageUploads.length) {\n imageUploads.forEach((image) => removeImage(image.id));\n }\n return () => setSelectedImages([]);\n }, []);\n\n useEffect(() => {\n setSelectedFiles([]);\n if (fileUploads.length) {\n fileUploads.forEach((file) => removeFile(file.id));\n }\n return () => setSelectedFiles([]);\n }, []);\n\n useEffect(() => {\n if (hasResetImages === false && imageUploadsLength === 0 && selectedImagesLength === 0) {\n setHasResetImages(true);\n }\n }, [imageUploadsLength, selectedImagesLength]);\n\n useEffect(() => {\n if (hasResetFiles === false && fileUploadsLength === 0 && selectedFilesLength === 0) {\n setHasResetFiles(true);\n }\n }, [fileUploadsLength, selectedFilesLength]);\n\n useEffect(() => {\n if (imagesForInput === false && imageUploads.length) {\n imageUploads.forEach((image) => removeImage(image.id));\n }\n }, [imagesForInput]);\n\n const MEGA_BYTES_TO_BYTES = 1024 * 1024;\n const MAX_FILE_SIZE_TO_UPLOAD_IN_MB = 100;\n\n const uploadImagesHandler = () => {\n const imageToUpload = selectedImages.find((selectedImage) => {\n const uploadedImage = imageUploads.find(\n (imageUpload) =>\n imageUpload.file.uri === selectedImage.uri || imageUpload.url === selectedImage.uri,\n );\n return !uploadedImage;\n });\n // Check if the file size of the image exceeds the threshold of 100MB\n if (\n imageToUpload &&\n Number(imageToUpload.size) / MEGA_BYTES_TO_BYTES > MAX_FILE_SIZE_TO_UPLOAD_IN_MB\n ) {\n Alert.alert(\n t(\n `Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.`,\n { MAX_FILE_SIZE_TO_UPLOAD_IN_MB },\n ),\n );\n setSelectedImages(\n selectedImages.filter((selectedImage) => selectedImage.uri !== imageToUpload.uri),\n );\n } else {\n if (imageToUpload) uploadNewImage(imageToUpload);\n }\n };\n\n const removeImagesHandler = () => {\n const imagesToRemove = imageUploads.filter(\n (imageUpload) =>\n !selectedImages.find(\n (selectedImage) =>\n selectedImage.uri === imageUpload.file.uri || selectedImage.uri === imageUpload.url,\n ),\n );\n imagesToRemove.forEach((image) => removeImage(image.id));\n };\n\n useEffect(() => {\n if (imagesForInput) {\n if (selectedImagesLength > imageUploadsLength) {\n /** User selected an image in bottom sheet attachment picker */\n uploadImagesHandler();\n } else {\n /** User de-selected an image in bottom sheet attachment picker */\n removeImagesHandler();\n }\n }\n }, [selectedImagesLength]);\n\n useEffect(() => {\n if (selectedFilesLength > fileUploadsLength) {\n /** User selected a video in bottom sheet attachment picker */\n const fileToUpload = selectedFiles.find((selectedFile) => {\n const uploadedFile = fileUploads.find(\n (fileUpload) =>\n fileUpload.file.uri === selectedFile.uri || fileUpload.url === selectedFile.uri,\n );\n return !uploadedFile;\n });\n // Check if the file size exceeds the threshold of 100MB\n if (\n fileToUpload &&\n Number(fileToUpload.size) / MEGA_BYTES_TO_BYTES > MAX_FILE_SIZE_TO_UPLOAD_IN_MB\n ) {\n Alert.alert(\n t(\n `Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.`,\n { MAX_FILE_SIZE_TO_UPLOAD_IN_MB },\n ),\n );\n setSelectedFiles(\n selectedFiles.filter((selectedFile) => selectedFile.uri !== fileToUpload.uri),\n );\n } else {\n if (fileToUpload) uploadNewFile(fileToUpload);\n }\n } else {\n /** User de-selected a video in bottom sheet attachment picker */\n const filesToRemove = fileUploads.filter(\n (fileUpload) =>\n !selectedFiles.find(\n (selectedFile) =>\n selectedFile.uri === fileUpload.file.uri || selectedFile.uri === fileUpload.url,\n ),\n );\n filesToRemove.forEach((file) => removeFile(file.id));\n }\n }, [selectedFilesLength]);\n\n useEffect(() => {\n if (imagesForInput) {\n if (imageUploadsLength < selectedImagesLength) {\n /** User removed some image from seleted images within ImageUploadPreview. */\n const updatedSelectedImages = selectedImages.filter((selectedImage) => {\n const uploadedImage = imageUploads.find(\n (imageUpload) =>\n imageUpload.file.uri === selectedImage.uri || imageUpload.url === selectedImage.uri,\n );\n return uploadedImage;\n });\n setSelectedImages(updatedSelectedImages);\n } else if (imageUploadsLength > selectedImagesLength) {\n /**\n * User is editing some message which contains image attachments OR\n * image attachment is added from custom image picker (other than the default bottomsheet image picker)\n * using `uploadNewImage` function from `MessageInputContext`.\n **/\n setSelectedImages(\n imageUploads\n .map((imageUpload) => ({\n height: imageUpload.file.height,\n source: imageUpload.file.source,\n uri: imageUpload.url || imageUpload.file.uri,\n width: imageUpload.file.width,\n }))\n .filter(Boolean) as Asset[],\n );\n }\n }\n }, [imageUploadsLength]);\n\n useEffect(() => {\n if (fileUploadsLength < selectedFilesLength) {\n /** User removed some video from seleted files within ImageUploadPreview. */\n const updatedSelectedFiles = selectedFiles.filter((selectedFile) => {\n const uploadedFile = fileUploads.find(\n (fileUpload) =>\n fileUpload.file.uri === selectedFile.uri || fileUpload.url === selectedFile.uri,\n );\n return uploadedFile;\n });\n setSelectedFiles(updatedSelectedFiles);\n } else if (fileUploadsLength > selectedFilesLength) {\n /**\n * User is editing some message which contains video attachments OR\n * video attachment is added from custom image picker (other than the default bottom-sheet image picker)\n * using `uploadNewFile` function from `MessageInputContext`.\n **/\n setSelectedFiles(\n fileUploads.map((fileUpload) => ({\n duration: fileUpload.file.duration,\n mimeType: fileUpload.file.mimeType,\n name: fileUpload.file.name,\n size: fileUpload.file.size,\n uri: fileUpload.file.uri,\n })),\n );\n }\n }, [fileUploadsLength]);\n\n const editingExists = !!editing;\n useEffect(() => {\n if (editing && inputBoxRef.current) {\n inputBoxRef.current.focus();\n }\n\n /**\n * Make sure to test `initialValue` functionality, if you are modifying following condition.\n *\n * We have the following condition, to make sure - when user comes out of \"editing message\" state,\n * we wipe out all the state around message input such as text, mentioned users, image uploads etc.\n * But it also means, this condition will be fired up on first render, which may result in clearing\n * the initial value set on input box, through the prop - `initialValue`.\n * This prop generally gets used for the case of draft message functionality.\n */\n if (\n !editing &&\n (giphyActive ||\n fileUploads.length > 0 ||\n mentionedUsers.length > 0 ||\n imageUploads.length > 0 ||\n numberOfUploads > 0)\n ) {\n resetInput();\n }\n }, [editingExists]);\n\n const asyncIdsString = asyncIds.join();\n const asyncUploadsString = Object.values(asyncUploads)\n .map(({ state, url }) => `${state}${url}`)\n .join();\n useEffect(() => {\n if (Object.keys(asyncUploads).length) {\n /**\n * When successful image upload response occurs after hitting send,\n * send a follow up message with the image\n */\n sending.current = true;\n asyncIds.forEach((id) => sendMessageAsync(id));\n sending.current = false;\n }\n }, [asyncIdsString, asyncUploadsString, sendMessageAsync]);\n\n const getMembers = () => {\n const result: UserResponse<StreamChatGenerics>[] = [];\n if (members && Object.values(members).length) {\n Object.values(members).forEach((member) => {\n if (member.user) {\n result.push(member.user);\n }\n });\n }\n\n return result;\n };\n\n const getUsers = () => {\n const users = [...getMembers(), ...getWatchers()];\n\n // make sure we don't list users twice\n const uniqueUsers: { [key: string]: UserResponse<StreamChatGenerics> } = {};\n for (const user of users) {\n if (user && !uniqueUsers[user.id]) {\n uniqueUsers[user.id] = user;\n }\n }\n const usersArray = Object.values(uniqueUsers);\n\n return usersArray;\n };\n\n const getWatchers = () => {\n const result: UserResponse<StreamChatGenerics>[] = [];\n if (watchers && Object.values(watchers).length) {\n result.push(...Object.values(watchers));\n }\n\n return result;\n };\n\n const additionalTextInputContainerProps = {\n editable: disabled ? false : undefined,\n ...additionalTextInputProps,\n };\n\n const memoizedAdditionalTextInputProps = useMemo(\n () => ({\n ...additionalTextInputProps,\n onBlur: (event: NativeSyntheticEvent<TextInputFocusEventData>) => {\n if (additionalTextInputProps?.onBlur) {\n additionalTextInputProps?.onBlur(event);\n }\n if (setFocused) setFocused(false);\n setShowMoreOptions(true);\n },\n onFocus: (event: NativeSyntheticEvent<TextInputFocusEventData>) => {\n if (additionalTextInputProps?.onFocus) {\n additionalTextInputProps.onFocus(event);\n }\n if (setFocused) setFocused(true);\n },\n }),\n [additionalTextInputProps],\n );\n\n return (\n <>\n <View\n onLayout={({\n nativeEvent: {\n layout: { height: newHeight },\n },\n }) => setHeight(newHeight)}\n style={[styles.container, { backgroundColor: white, borderColor: border }, container]}\n >\n {editing && <InputEditingStateHeader />}\n {quotedMessage && <InputReplyStateHeader />}\n <View style={[styles.composerContainer, composerContainer]}>\n {Input ? (\n <Input\n additionalTextInputProps={additionalTextInputContainerProps}\n getUsers={getUsers}\n />\n ) : (\n <>\n <View style={[styles.optionsContainer, optionsContainer]}>\n {InputButtons && <InputButtons />}\n </View>\n <View\n style={[\n styles.inputBoxContainer,\n {\n borderColor: grey_whisper,\n paddingVertical: giphyActive ? 8 : 12,\n },\n inputBoxContainer,\n focused ? focusedInputBoxContainer : null,\n ]}\n >\n {((typeof editing !== 'boolean' && editing?.quoted_message) || quotedMessage) && (\n <View style={[styles.replyContainer, replyContainer]}>\n <Reply />\n </View>\n )}\n {imageUploads.length ? <ImageUploadPreview /> : null}\n {imageUploads.length && fileUploads.length ? (\n <View\n style={[\n styles.attachmentSeparator,\n {\n borderBottomColor: grey_whisper,\n marginHorizontal: giphyActive ? 8 : 12,\n },\n ]}\n />\n ) : null}\n {fileUploads.length ? <FileUploadPreview /> : null}\n {giphyActive ? (\n <InputGiphySearch disabled={!isOnline} />\n ) : (\n <View style={[styles.autoCompleteInputContainer, autoCompleteInputContainer]}>\n <AutoCompleteInput<StreamChatGenerics>\n additionalTextInputProps={memoizedAdditionalTextInputProps}\n cooldownActive={!!cooldownRemainingSeconds}\n />\n </View>\n )}\n </View>\n <View style={[styles.sendButtonContainer, sendButtonContainer]}>\n {cooldownRemainingSeconds ? (\n <CooldownTimer seconds={cooldownRemainingSeconds} />\n ) : (\n <SendButton\n disabled={\n disabled || sending.current || !isValidMessage() || (giphyActive && !isOnline)\n }\n />\n )}\n </View>\n </>\n )}\n </View>\n <ShowThreadMessageInChannelButton threadList={threadList} />\n </View>\n\n {triggerType && suggestions ? (\n <View\n style={[styles.suggestionsListContainer, { bottom: height }, suggestionListContainer]}\n >\n <AutoCompleteSuggestionList\n active={!!suggestions}\n data={suggestions.data}\n onSelect={suggestions.onSelect}\n queryText={suggestions.queryText}\n triggerType={triggerType}\n />\n </View>\n ) : null}\n {selectedPicker && (\n <View\n style={[\n {\n backgroundColor: white_smoke,\n height:\n (attachmentPickerBottomSheetHeight\n ? attachmentPickerBottomSheetHeight + (attachmentSelectionBarHeight ?? 52)\n : 360) - bottomInset,\n },\n attachmentSelectionBar,\n ]}\n >\n <AttachmentSelectionBar />\n </View>\n )}\n </>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageInputPropsWithContext<StreamChatGenerics>,\n nextProps: MessageInputPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTextInputProps: prevAdditionalTextInputProps,\n asyncUploads: prevAsyncUploads,\n disabled: prevDisabled,\n editing: prevEditing,\n fileUploads: prevFileUploads,\n giphyActive: prevGiphyActive,\n imageUploads: prevImageUploads,\n isOnline: prevIsOnline,\n isValidMessage: prevIsValidMessage,\n mentionedUsers: prevMentionedUsers,\n quotedMessage: prevQuotedMessage,\n sending: prevSending,\n showMoreOptions: prevShowMoreOptions,\n suggestions: prevSuggestions,\n t: prevT,\n thread: prevThread,\n threadList: prevThreadList,\n } = prevProps;\n const {\n additionalTextInputProps: nextAdditionalTextInputProps,\n asyncUploads: nextAsyncUploads,\n disabled: nextDisabled,\n editing: nextEditing,\n fileUploads: nextFileUploads,\n giphyActive: nextGiphyActive,\n imageUploads: nextImageUploads,\n isOnline: nextIsOnline,\n isValidMessage: nextIsValidMessage,\n mentionedUsers: nextMentionedUsers,\n quotedMessage: nextQuotedMessage,\n sending: nextSending,\n showMoreOptions: nextShowMoreOptions,\n suggestions: nextSuggestions,\n t: nextT,\n thread: nextThread,\n threadList: nextThreadList,\n } = nextProps;\n\n const tEqual = prevT === nextT;\n if (!tEqual) return false;\n\n const additionalTextInputPropsEven =\n prevAdditionalTextInputProps === nextAdditionalTextInputProps;\n if (!additionalTextInputPropsEven) return false;\n\n const disabledEqual = prevDisabled === nextDisabled;\n if (!disabledEqual) return false;\n\n const editingEqual = !!prevEditing === !!nextEditing;\n if (!editingEqual) return false;\n\n const imageUploadsEqual = prevImageUploads.length === nextImageUploads.length;\n if (!imageUploadsEqual) return false;\n\n const giphyActiveEqual = prevGiphyActive === nextGiphyActive;\n if (!giphyActiveEqual) return false;\n\n const quotedMessageEqual =\n !!prevQuotedMessage &&\n !!nextQuotedMessage &&\n typeof prevQuotedMessage !== 'boolean' &&\n typeof nextQuotedMessage !== 'boolean'\n ? prevQuotedMessage.id === nextQuotedMessage.id\n : !!prevQuotedMessage === !!nextQuotedMessage;\n if (!quotedMessageEqual) return false;\n\n const sendingEqual = prevSending.current === nextSending.current;\n if (!sendingEqual) return false;\n\n const showMoreOptionsEqual = prevShowMoreOptions === nextShowMoreOptions;\n if (!showMoreOptionsEqual) return false;\n\n const isOnlineEqual = prevIsOnline === nextIsOnline;\n if (!isOnlineEqual) return false;\n\n const isValidMessageEqual = prevIsValidMessage() === nextIsValidMessage();\n if (!isValidMessageEqual) return false;\n\n const asyncUploadsEqual = Object.keys(prevAsyncUploads).every(\n (key) =>\n prevAsyncUploads[key].state === nextAsyncUploads[key].state &&\n prevAsyncUploads[key].url === nextAsyncUploads[key].url,\n );\n if (!asyncUploadsEqual) return false;\n\n const fileUploadsEqual = prevFileUploads.length === nextFileUploads.length;\n if (!fileUploadsEqual) return false;\n\n const mentionedUsersEqual = prevMentionedUsers.length === nextMentionedUsers.length;\n if (!mentionedUsersEqual) return false;\n\n const suggestionsEqual =\n !!prevSuggestions?.data && !!nextSuggestions?.data\n ? prevSuggestions.data.length === nextSuggestions.data.length &&\n prevSuggestions.data.every(({ name }, index) => name === nextSuggestions.data[index].name)\n : !!prevSuggestions === !!nextSuggestions;\n if (!suggestionsEqual) return false;\n\n const threadEqual =\n prevThread?.id === nextThread?.id &&\n prevThread?.text === nextThread?.text &&\n prevThread?.reply_count === nextThread?.reply_count;\n if (!threadEqual) return false;\n\n const threadListEqual = prevThreadList === nextThreadList;\n if (!threadListEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageInput = React.memo(\n MessageInputWithContext,\n areEqual,\n) as typeof MessageInputWithContext;\n\nexport type MessageInputProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<MessageInputPropsWithContext<StreamChatGenerics>>;\n\n/**\n * UI Component for message input\n * It's a consumer of\n * [Channel Context](https://getstream.io/chat/docs/sdk/reactnative/contexts/channel-context/),\n * [Chat Context](https://getstream.io/chat/docs/sdk/reactnative/contexts/chat-context/),\n * [MessageInput Context](https://getstream.io/chat/docs/sdk/reactnative/contexts/message-input-context/),\n * [Suggestions Context](https://getstream.io/chat/docs/sdk/reactnative/contexts/suggestions-context/), and\n * [Translation Context](https://getstream.io/chat/docs/sdk/reactnative/contexts/translation-context/)\n */\nexport const MessageInput = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageInputProps<StreamChatGenerics>,\n) => {\n const { isOnline } = useChatContext();\n const ownCapabilities = useOwnCapabilitiesContext();\n\n const {\n disabled = false,\n members,\n threadList,\n watchers,\n } = useChannelContext<StreamChatGenerics>();\n\n const {\n additionalTextInputProps,\n asyncIds,\n asyncUploads,\n clearEditingState,\n clearQuotedMessageState,\n closeAttachmentPicker,\n cooldownEndsAt,\n CooldownTimer,\n editing,\n FileUploadPreview,\n fileUploads,\n giphyActive,\n ImageUploadPreview,\n imageUploads,\n Input,\n inputBoxRef,\n InputButtons,\n InputEditingStateHeader,\n InputGiphySearch,\n InputReplyStateHeader,\n isValidMessage,\n maxNumberOfFiles,\n mentionedUsers,\n numberOfUploads,\n quotedMessage,\n removeFile,\n removeImage,\n resetInput,\n SendButton,\n sending,\n sendMessageAsync,\n SendMessageDisallowedIndicator,\n setGiphyActive,\n setShowMoreOptions,\n showMoreOptions,\n ShowThreadMessageInChannelButton,\n uploadNewFile,\n uploadNewImage,\n } = useMessageInputContext<StreamChatGenerics>();\n\n const { Reply } = useMessagesContext<StreamChatGenerics>();\n\n const {\n AutoCompleteSuggestionHeader,\n AutoCompleteSuggestionItem,\n AutoCompleteSuggestionList,\n suggestions,\n triggerType,\n } = useSuggestionsContext<StreamChatGenerics>();\n\n const { thread } = useThreadContext<StreamChatGenerics>();\n\n const { t } = useTranslationContext();\n\n if (!ownCapabilities.sendMessage && SendMessageDisallowedIndicator) {\n return <SendMessageDisallowedIndicator />;\n }\n\n return (\n <MemoizedMessageInput\n {...{\n additionalTextInputProps,\n asyncIds,\n asyncUploads,\n AutoCompleteSuggestionHeader,\n AutoCompleteSuggestionItem,\n AutoCompleteSuggestionList,\n clearEditingState,\n clearQuotedMessageState,\n closeAttachmentPicker,\n cooldownEndsAt,\n CooldownTimer,\n disabled,\n editing,\n FileUploadPreview,\n fileUploads,\n giphyActive,\n ImageUploadPreview,\n imageUploads,\n Input,\n inputBoxRef,\n InputButtons,\n InputEditingStateHeader,\n InputGiphySearch,\n InputReplyStateHeader,\n isOnline,\n isValidMessage,\n maxNumberOfFiles,\n members,\n mentionedUsers,\n numberOfUploads,\n quotedMessage,\n removeFile,\n removeImage,\n Reply,\n resetInput,\n SendButton,\n sending,\n sendMessageAsync,\n setGiphyActive,\n setShowMoreOptions,\n showMoreOptions,\n ShowThreadMessageInChannelButton,\n suggestions,\n t,\n thread,\n threadList,\n triggerType,\n uploadNewFile,\n uploadNewImage,\n watchers,\n }}\n {...props}\n />\n );\n};\n\nMessageInput.displayName = 'MessageInput{messageInput}';\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useCountdown2","_contexts","_AttachmentPickerContext","_ChannelContext","_MessageInputContext","_MessagesContext","_OwnCapabilitiesContext","_SuggestionsContext","_ThemeContext","_ThreadContext","_TranslationContext","_AttachmentSelectionBar","_AutoCompleteInput","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","next","bind","Array","isArray","_unsupportedIterableToArray","length","i","done","value","TypeError","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","from","test","arr","len","arr2","styles","StyleSheet","create","attachmentSeparator","borderBottomWidth","marginBottom","autoCompleteInputContainer","alignItems","flexDirection","paddingLeft","paddingRight","composerContainer","container","borderTopWidth","padding","inputBoxContainer","borderRadius","borderWidth","flex","optionsContainer","paddingBottom","replyContainer","paddingHorizontal","sendButtonContainer","suggestionsListContainer","position","width","MessageInputWithContext","props","additionalTextInputProps","asyncIds","asyncUploads","AutoCompleteSuggestionList","closeAttachmentPicker","cooldownEndsAt","CooldownTimer","disabled","editing","FileUploadPreview","fileUploads","giphyActive","ImageUploadPreview","imageUploads","Input","inputBoxRef","InputButtons","InputEditingStateHeader","InputGiphySearch","InputReplyStateHeader","isOnline","isValidMessage","maxNumberOfFiles","members","mentionedUsers","numberOfUploads","quotedMessage","removeFile","removeImage","Reply","resetInput","SendButton","sending","sendMessageAsync","setShowMoreOptions","ShowThreadMessageInChannelButton","suggestions","thread","threadList","triggerType","uploadNewFile","uploadNewImage","watchers","_useState","useState","_useState2","_slicedToArray2","height","setHeight","_useTranslationContex","useTranslationContext","t","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","border","grey_whisper","white","white_smoke","_useTheme$theme$messa","messageInput","attachmentSelectionBar","focusedInputBoxContainer","suggestionListContainer","_useAttachmentPickerC","useAttachmentPickerContext","attachmentPickerBottomSheetHeight","attachmentSelectionBarHeight","bottomInset","selectedFiles","selectedImages","selectedPicker","setMaxNumberOfFiles","setSelectedFiles","setSelectedImages","_useCountdown","useCountdown","cooldownRemainingSeconds","seconds","useEffect","_useState3","_useState4","hasResetImages","setHasResetImages","_useState5","_useState6","hasResetFiles","setHasResetFiles","_useState7","_useState8","focused","setFocused","selectedImagesLength","imageUploadsLength","selectedFilesLength","fileUploadsLength","imagesForInput","forEach","image","id","file","MEGA_BYTES_TO_BYTES","MAX_FILE_SIZE_TO_UPLOAD_IN_MB","uploadImagesHandler","imageToUpload","find","selectedImage","uploadedImage","imageUpload","uri","url","Number","size","Alert","alert","filter","removeImagesHandler","imagesToRemove","fileToUpload","selectedFile","uploadedFile","fileUpload","filesToRemove","updatedSelectedImages","map","source","Boolean","updatedSelectedFiles","duration","mimeType","editingExists","current","focus","asyncIdsString","join","asyncUploadsString","values","_ref","state","keys","getMembers","result","member","user","push","getUsers","users","concat","_toConsumableArray2","getWatchers","uniqueUsers","_iterator","_step","usersArray","apply","additionalTextInputContainerProps","_extends2","editable","undefined","memoizedAdditionalTextInputProps","useMemo","onBlur","event","onFocus","createElement","Fragment","View","onLayout","_ref2","newHeight","nativeEvent","layout","style","backgroundColor","borderColor","__self","__source","fileName","lineNumber","columnNumber","paddingVertical","quoted_message","borderBottomColor","marginHorizontal","AutoCompleteInput","cooldownActive","bottom","active","data","onSelect","queryText","AttachmentSelectionBar","areEqual","prevProps","nextProps","prevAdditionalTextInputProps","prevAsyncUploads","prevDisabled","prevEditing","prevFileUploads","prevGiphyActive","prevImageUploads","prevIsOnline","prevIsValidMessage","prevMentionedUsers","prevQuotedMessage","prevSending","prevShowMoreOptions","showMoreOptions","prevSuggestions","prevT","prevThread","prevThreadList","nextAdditionalTextInputProps","nextAsyncUploads","nextDisabled","nextEditing","nextFileUploads","nextGiphyActive","nextImageUploads","nextIsOnline","nextIsValidMessage","nextMentionedUsers","nextQuotedMessage","nextSending","nextShowMoreOptions","nextSuggestions","nextT","nextThread","nextThreadList","tEqual","additionalTextInputPropsEven","disabledEqual","editingEqual","imageUploadsEqual","giphyActiveEqual","quotedMessageEqual","sendingEqual","showMoreOptionsEqual","isOnlineEqual","isValidMessageEqual","asyncUploadsEqual","every","fileUploadsEqual","mentionedUsersEqual","suggestionsEqual","_ref3","index","threadEqual","text","reply_count","threadListEqual","MemoizedMessageInput","React","memo","MessageInput","_useChatContext","useChatContext","ownCapabilities","useOwnCapabilitiesContext","_useChannelContext","useChannelContext","_useMessageInputConte","useMessageInputContext","clearEditingState","clearQuotedMessageState","SendMessageDisallowedIndicator","setGiphyActive","_useMessagesContext","useMessagesContext","_useSuggestionsContex","useSuggestionsContext","AutoCompleteSuggestionHeader","AutoCompleteSuggestionItem","_useThreadContext","useThreadContext","_useTranslationContex2","sendMessage","exports","displayName"],"sources":["MessageInput.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport {\n Alert,\n NativeSyntheticEvent,\n StyleSheet,\n TextInputFocusEventData,\n View,\n} from 'react-native';\n\nimport type { UserResponse } from 'stream-chat';\n\nimport { useCountdown } from './hooks/useCountdown';\n\nimport { ChatContextValue, useChatContext } from '../../contexts';\nimport { useAttachmentPickerContext } from '../../contexts/attachmentPickerContext/AttachmentPickerContext';\nimport {\n ChannelContextValue,\n useChannelContext,\n} from '../../contexts/channelContext/ChannelContext';\nimport {\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useOwnCapabilitiesContext } from '../../contexts/ownCapabilitiesContext/OwnCapabilitiesContext';\nimport {\n SuggestionsContextValue,\n useSuggestionsContext,\n} from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { ThreadContextValue, useThreadContext } from '../../contexts/threadContext/ThreadContext';\nimport {\n TranslationContextValue,\n useTranslationContext,\n} from '../../contexts/translationContext/TranslationContext';\n\nimport type { Asset, DefaultStreamChatGenerics } from '../../types/types';\nimport { AttachmentSelectionBar } from '../AttachmentPicker/components/AttachmentSelectionBar';\nimport { AutoCompleteInput } from '../AutoCompleteInput/AutoCompleteInput';\n\nconst styles = StyleSheet.create({\n attachmentSeparator: {\n borderBottomWidth: 1,\n marginBottom: 10,\n },\n autoCompleteInputContainer: {\n alignItems: 'center',\n flexDirection: 'row',\n paddingLeft: 16,\n paddingRight: 16,\n },\n composerContainer: {\n alignItems: 'flex-end',\n flexDirection: 'row',\n },\n container: {\n borderTopWidth: 1,\n padding: 10,\n },\n inputBoxContainer: {\n borderRadius: 20,\n borderWidth: 1,\n flex: 1,\n },\n optionsContainer: {\n flexDirection: 'row',\n paddingBottom: 10,\n paddingRight: 10,\n },\n replyContainer: { paddingBottom: 12, paddingHorizontal: 8 },\n sendButtonContainer: { paddingBottom: 10, paddingLeft: 10 },\n suggestionsListContainer: {\n position: 'absolute',\n width: '100%',\n },\n});\n\ntype MessageInputPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChatContextValue<StreamChatGenerics>, 'isOnline'> &\n Pick<\n ChannelContextValue<StreamChatGenerics>,\n 'disabled' | 'members' | 'threadList' | 'watchers'\n > &\n Pick<\n MessageInputContextValue<StreamChatGenerics>,\n | 'additionalTextInputProps'\n | 'asyncIds'\n | 'asyncUploads'\n | 'cooldownEndsAt'\n | 'CooldownTimer'\n | 'clearEditingState'\n | 'clearQuotedMessageState'\n | 'closeAttachmentPicker'\n | 'editing'\n | 'FileUploadPreview'\n | 'fileUploads'\n | 'giphyActive'\n | 'ImageUploadPreview'\n | 'imageUploads'\n | 'Input'\n | 'inputBoxRef'\n | 'InputButtons'\n | 'InputEditingStateHeader'\n | 'InputGiphySearch'\n | 'InputReplyStateHeader'\n | 'isValidMessage'\n | 'maxNumberOfFiles'\n | 'mentionedUsers'\n | 'numberOfUploads'\n | 'quotedMessage'\n | 'resetInput'\n | 'SendButton'\n | 'sending'\n | 'sendMessageAsync'\n | 'setShowMoreOptions'\n | 'setGiphyActive'\n | 'showMoreOptions'\n | 'ShowThreadMessageInChannelButton'\n | 'removeFile'\n | 'removeImage'\n | 'uploadNewFile'\n | 'uploadNewImage'\n > &\n Pick<MessagesContextValue<StreamChatGenerics>, 'Reply'> &\n Pick<\n SuggestionsContextValue<StreamChatGenerics>,\n | 'AutoCompleteSuggestionHeader'\n | 'AutoCompleteSuggestionItem'\n | 'AutoCompleteSuggestionList'\n | 'suggestions'\n | 'triggerType'\n > &\n Pick<ThreadContextValue<StreamChatGenerics>, 'thread'> &\n Pick<TranslationContextValue, 't'>;\n\nconst MessageInputWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageInputPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTextInputProps,\n asyncIds,\n asyncUploads,\n AutoCompleteSuggestionList,\n closeAttachmentPicker,\n cooldownEndsAt,\n CooldownTimer,\n disabled,\n editing,\n FileUploadPreview,\n fileUploads,\n giphyActive,\n ImageUploadPreview,\n imageUploads,\n Input,\n inputBoxRef,\n InputButtons,\n InputEditingStateHeader,\n InputGiphySearch,\n InputReplyStateHeader,\n isOnline,\n isValidMessage,\n maxNumberOfFiles,\n members,\n mentionedUsers,\n numberOfUploads,\n quotedMessage,\n removeFile,\n removeImage,\n Reply,\n resetInput,\n SendButton,\n sending,\n sendMessageAsync,\n setShowMoreOptions,\n ShowThreadMessageInChannelButton,\n suggestions,\n thread,\n threadList,\n triggerType,\n uploadNewFile,\n uploadNewImage,\n watchers,\n } = props;\n\n const [height, setHeight] = useState(0);\n const { t } = useTranslationContext();\n\n const {\n theme: {\n colors: { border, grey_whisper, white, white_smoke },\n messageInput: {\n attachmentSelectionBar,\n autoCompleteInputContainer,\n composerContainer,\n container,\n focusedInputBoxContainer,\n inputBoxContainer,\n optionsContainer,\n replyContainer,\n sendButtonContainer,\n suggestionsListContainer: { container: suggestionListContainer },\n },\n },\n } = useTheme();\n\n const {\n attachmentPickerBottomSheetHeight,\n attachmentSelectionBarHeight,\n bottomInset,\n selectedFiles,\n selectedImages,\n selectedPicker,\n setMaxNumberOfFiles,\n setSelectedFiles,\n setSelectedImages,\n } = useAttachmentPickerContext();\n\n const { seconds: cooldownRemainingSeconds } = useCountdown(cooldownEndsAt);\n\n /**\n * Mounting and un-mounting logic are un-related in following useEffect.\n * While mounting we want to pass maxNumberOfFiles (which is prop on Channel component)\n * to AttachmentPicker (on OverlayProvider)\n *\n * While un-mounting, we want to close the picker e.g., while navigating away.\n */\n useEffect(() => {\n setMaxNumberOfFiles(maxNumberOfFiles ?? 10);\n\n return closeAttachmentPicker;\n }, []);\n\n const [hasResetImages, setHasResetImages] = useState(false);\n const [hasResetFiles, setHasResetFiles] = useState(false);\n const [focused, setFocused] = useState(false);\n const selectedImagesLength = hasResetImages ? selectedImages.length : 0;\n const imageUploadsLength = hasResetImages ? imageUploads.length : 0;\n const selectedFilesLength = hasResetFiles ? selectedFiles.length : 0;\n const fileUploadsLength = hasResetFiles ? fileUploads.length : 0;\n const imagesForInput = (!!thread && !!threadList) || (!thread && !threadList);\n\n useEffect(() => {\n setSelectedImages([]);\n if (imageUploads.length) {\n imageUploads.forEach((image) => removeImage(image.id));\n }\n return () => setSelectedImages([]);\n }, []);\n\n useEffect(() => {\n setSelectedFiles([]);\n if (fileUploads.length) {\n fileUploads.forEach((file) => removeFile(file.id));\n }\n return () => setSelectedFiles([]);\n }, []);\n\n useEffect(() => {\n if (hasResetImages === false && imageUploadsLength === 0 && selectedImagesLength === 0) {\n setHasResetImages(true);\n }\n }, [imageUploadsLength, selectedImagesLength]);\n\n useEffect(() => {\n if (hasResetFiles === false && fileUploadsLength === 0 && selectedFilesLength === 0) {\n setHasResetFiles(true);\n }\n }, [fileUploadsLength, selectedFilesLength]);\n\n useEffect(() => {\n if (imagesForInput === false && imageUploads.length) {\n imageUploads.forEach((image) => removeImage(image.id));\n }\n }, [imagesForInput]);\n\n const MEGA_BYTES_TO_BYTES = 1024 * 1024;\n const MAX_FILE_SIZE_TO_UPLOAD_IN_MB = 100;\n\n const uploadImagesHandler = () => {\n const imageToUpload = selectedImages.find((selectedImage) => {\n const uploadedImage = imageUploads.find(\n (imageUpload) =>\n imageUpload.file.uri === selectedImage.uri || imageUpload.url === selectedImage.uri,\n );\n return !uploadedImage;\n });\n // Check if the file size of the image exceeds the threshold of 100MB\n if (\n imageToUpload &&\n Number(imageToUpload.size) / MEGA_BYTES_TO_BYTES > MAX_FILE_SIZE_TO_UPLOAD_IN_MB\n ) {\n Alert.alert(\n t(\n `Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.`,\n { MAX_FILE_SIZE_TO_UPLOAD_IN_MB },\n ),\n );\n setSelectedImages(\n selectedImages.filter((selectedImage) => selectedImage.uri !== imageToUpload.uri),\n );\n } else {\n if (imageToUpload) uploadNewImage(imageToUpload);\n }\n };\n\n const removeImagesHandler = () => {\n const imagesToRemove = imageUploads.filter(\n (imageUpload) =>\n !selectedImages.find(\n (selectedImage) =>\n selectedImage.uri === imageUpload.file.uri || selectedImage.uri === imageUpload.url,\n ),\n );\n imagesToRemove.forEach((image) => removeImage(image.id));\n };\n\n useEffect(() => {\n if (imagesForInput) {\n if (selectedImagesLength > imageUploadsLength) {\n /** User selected an image in bottom sheet attachment picker */\n uploadImagesHandler();\n } else {\n /** User de-selected an image in bottom sheet attachment picker */\n removeImagesHandler();\n }\n }\n }, [selectedImagesLength]);\n\n useEffect(() => {\n if (selectedFilesLength > fileUploadsLength) {\n /** User selected a video in bottom sheet attachment picker */\n const fileToUpload = selectedFiles.find((selectedFile) => {\n const uploadedFile = fileUploads.find(\n (fileUpload) =>\n fileUpload.file.uri === selectedFile.uri || fileUpload.url === selectedFile.uri,\n );\n return !uploadedFile;\n });\n // Check if the file size exceeds the threshold of 100MB\n if (\n fileToUpload &&\n Number(fileToUpload.size) / MEGA_BYTES_TO_BYTES > MAX_FILE_SIZE_TO_UPLOAD_IN_MB\n ) {\n Alert.alert(\n t(\n `Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.`,\n { MAX_FILE_SIZE_TO_UPLOAD_IN_MB },\n ),\n );\n setSelectedFiles(\n selectedFiles.filter((selectedFile) => selectedFile.uri !== fileToUpload.uri),\n );\n } else {\n if (fileToUpload) uploadNewFile(fileToUpload);\n }\n } else {\n /** User de-selected a video in bottom sheet attachment picker */\n const filesToRemove = fileUploads.filter(\n (fileUpload) =>\n !selectedFiles.find(\n (selectedFile) =>\n selectedFile.uri === fileUpload.file.uri || selectedFile.uri === fileUpload.url,\n ),\n );\n filesToRemove.forEach((file) => removeFile(file.id));\n }\n }, [selectedFilesLength]);\n\n useEffect(() => {\n if (imagesForInput) {\n if (imageUploadsLength < selectedImagesLength) {\n /** User removed some image from seleted images within ImageUploadPreview. */\n const updatedSelectedImages = selectedImages.filter((selectedImage) => {\n const uploadedImage = imageUploads.find(\n (imageUpload) =>\n imageUpload.file.uri === selectedImage.uri || imageUpload.url === selectedImage.uri,\n );\n return uploadedImage;\n });\n setSelectedImages(updatedSelectedImages);\n } else if (imageUploadsLength > selectedImagesLength) {\n /**\n * User is editing some message which contains image attachments OR\n * image attachment is added from custom image picker (other than the default bottomsheet image picker)\n * using `uploadNewImage` function from `MessageInputContext`.\n **/\n setSelectedImages(\n imageUploads\n .map((imageUpload) => ({\n height: imageUpload.file.height,\n source: imageUpload.file.source,\n uri: imageUpload.url || imageUpload.file.uri,\n width: imageUpload.file.width,\n }))\n .filter(Boolean) as Asset[],\n );\n }\n }\n }, [imageUploadsLength]);\n\n useEffect(() => {\n if (fileUploadsLength < selectedFilesLength) {\n /** User removed some video from seleted files within ImageUploadPreview. */\n const updatedSelectedFiles = selectedFiles.filter((selectedFile) => {\n const uploadedFile = fileUploads.find(\n (fileUpload) =>\n fileUpload.file.uri === selectedFile.uri || fileUpload.url === selectedFile.uri,\n );\n return uploadedFile;\n });\n setSelectedFiles(updatedSelectedFiles);\n } else if (fileUploadsLength > selectedFilesLength) {\n /**\n * User is editing some message which contains video attachments OR\n * video attachment is added from custom image picker (other than the default bottom-sheet image picker)\n * using `uploadNewFile` function from `MessageInputContext`.\n **/\n setSelectedFiles(\n fileUploads.map((fileUpload) => ({\n duration: fileUpload.file.duration,\n mimeType: fileUpload.file.mimeType,\n name: fileUpload.file.name,\n size: fileUpload.file.size,\n uri: fileUpload.file.uri,\n })),\n );\n }\n }, [fileUploadsLength]);\n\n const editingExists = !!editing;\n useEffect(() => {\n if (editing && inputBoxRef.current) {\n inputBoxRef.current.focus();\n }\n\n /**\n * Make sure to test `initialValue` functionality, if you are modifying following condition.\n *\n * We have the following condition, to make sure - when user comes out of \"editing message\" state,\n * we wipe out all the state around message input such as text, mentioned users, image uploads etc.\n * But it also means, this condition will be fired up on first render, which may result in clearing\n * the initial value set on input box, through the prop - `initialValue`.\n * This prop generally gets used for the case of draft message functionality.\n */\n if (\n !editing &&\n (giphyActive ||\n fileUploads.length > 0 ||\n mentionedUsers.length > 0 ||\n imageUploads.length > 0 ||\n numberOfUploads > 0)\n ) {\n resetInput();\n }\n }, [editingExists]);\n\n const asyncIdsString = asyncIds.join();\n const asyncUploadsString = Object.values(asyncUploads)\n .map(({ state, url }) => `${state}${url}`)\n .join();\n useEffect(() => {\n if (Object.keys(asyncUploads).length) {\n /**\n * When successful image upload response occurs after hitting send,\n * send a follow up message with the image\n */\n sending.current = true;\n asyncIds.forEach((id) => sendMessageAsync(id));\n sending.current = false;\n }\n }, [asyncIdsString, asyncUploadsString, sendMessageAsync]);\n\n const getMembers = () => {\n const result: UserResponse<StreamChatGenerics>[] = [];\n if (members && Object.values(members).length) {\n Object.values(members).forEach((member) => {\n if (member.user) {\n result.push(member.user);\n }\n });\n }\n\n return result;\n };\n\n const getUsers = () => {\n const users = [...getMembers(), ...getWatchers()];\n\n // make sure we don't list users twice\n const uniqueUsers: { [key: string]: UserResponse<StreamChatGenerics> } = {};\n for (const user of users) {\n if (user && !uniqueUsers[user.id]) {\n uniqueUsers[user.id] = user;\n }\n }\n const usersArray = Object.values(uniqueUsers);\n\n return usersArray;\n };\n\n const getWatchers = () => {\n const result: UserResponse<StreamChatGenerics>[] = [];\n if (watchers && Object.values(watchers).length) {\n result.push(...Object.values(watchers));\n }\n\n return result;\n };\n\n const additionalTextInputContainerProps = {\n editable: disabled ? false : undefined,\n ...additionalTextInputProps,\n };\n\n const memoizedAdditionalTextInputProps = useMemo(\n () => ({\n ...additionalTextInputProps,\n onBlur: (event: NativeSyntheticEvent<TextInputFocusEventData>) => {\n if (additionalTextInputProps?.onBlur) {\n additionalTextInputProps?.onBlur(event);\n }\n if (setFocused) setFocused(false);\n setShowMoreOptions(true);\n },\n onFocus: (event: NativeSyntheticEvent<TextInputFocusEventData>) => {\n if (additionalTextInputProps?.onFocus) {\n additionalTextInputProps.onFocus(event);\n }\n if (setFocused) setFocused(true);\n },\n }),\n [additionalTextInputProps],\n );\n\n return (\n <>\n <View\n onLayout={({\n nativeEvent: {\n layout: { height: newHeight },\n },\n }) => setHeight(newHeight)}\n style={[styles.container, { backgroundColor: white, borderColor: border }, container]}\n >\n {editing && <InputEditingStateHeader />}\n {quotedMessage && <InputReplyStateHeader />}\n <View style={[styles.composerContainer, composerContainer]}>\n {Input ? (\n <Input\n additionalTextInputProps={additionalTextInputContainerProps}\n getUsers={getUsers}\n />\n ) : (\n <>\n <View style={[styles.optionsContainer, optionsContainer]}>\n {InputButtons && <InputButtons />}\n </View>\n <View\n style={[\n styles.inputBoxContainer,\n {\n borderColor: grey_whisper,\n paddingVertical: giphyActive ? 8 : 12,\n },\n inputBoxContainer,\n focused ? focusedInputBoxContainer : null,\n ]}\n >\n {((typeof editing !== 'boolean' && editing?.quoted_message) || quotedMessage) && (\n <View style={[styles.replyContainer, replyContainer]}>\n <Reply />\n </View>\n )}\n {imageUploads.length ? <ImageUploadPreview /> : null}\n {imageUploads.length && fileUploads.length ? (\n <View\n style={[\n styles.attachmentSeparator,\n {\n borderBottomColor: grey_whisper,\n marginHorizontal: giphyActive ? 8 : 12,\n },\n ]}\n />\n ) : null}\n {fileUploads.length ? <FileUploadPreview /> : null}\n {giphyActive ? (\n <InputGiphySearch disabled={!isOnline} />\n ) : (\n <View style={[styles.autoCompleteInputContainer, autoCompleteInputContainer]}>\n <AutoCompleteInput<StreamChatGenerics>\n additionalTextInputProps={memoizedAdditionalTextInputProps}\n cooldownActive={!!cooldownRemainingSeconds}\n />\n </View>\n )}\n </View>\n <View style={[styles.sendButtonContainer, sendButtonContainer]}>\n {cooldownRemainingSeconds ? (\n <CooldownTimer seconds={cooldownRemainingSeconds} />\n ) : (\n <SendButton\n disabled={\n disabled || sending.current || !isValidMessage() || (giphyActive && !isOnline)\n }\n />\n )}\n </View>\n </>\n )}\n </View>\n <ShowThreadMessageInChannelButton threadList={threadList} />\n </View>\n\n {triggerType && suggestions ? (\n <View\n style={[styles.suggestionsListContainer, { bottom: height }, suggestionListContainer]}\n >\n <AutoCompleteSuggestionList\n active={!!suggestions}\n data={suggestions.data}\n onSelect={suggestions.onSelect}\n queryText={suggestions.queryText}\n triggerType={triggerType}\n />\n </View>\n ) : null}\n {selectedPicker && (\n <View\n style={[\n {\n backgroundColor: white_smoke,\n height:\n (attachmentPickerBottomSheetHeight\n ? attachmentPickerBottomSheetHeight + (attachmentSelectionBarHeight ?? 52)\n : 360) - bottomInset,\n },\n attachmentSelectionBar,\n ]}\n >\n <AttachmentSelectionBar />\n </View>\n )}\n </>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageInputPropsWithContext<StreamChatGenerics>,\n nextProps: MessageInputPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTextInputProps: prevAdditionalTextInputProps,\n asyncUploads: prevAsyncUploads,\n disabled: prevDisabled,\n editing: prevEditing,\n fileUploads: prevFileUploads,\n giphyActive: prevGiphyActive,\n imageUploads: prevImageUploads,\n isOnline: prevIsOnline,\n isValidMessage: prevIsValidMessage,\n mentionedUsers: prevMentionedUsers,\n quotedMessage: prevQuotedMessage,\n sending: prevSending,\n showMoreOptions: prevShowMoreOptions,\n suggestions: prevSuggestions,\n t: prevT,\n thread: prevThread,\n threadList: prevThreadList,\n } = prevProps;\n const {\n additionalTextInputProps: nextAdditionalTextInputProps,\n asyncUploads: nextAsyncUploads,\n disabled: nextDisabled,\n editing: nextEditing,\n fileUploads: nextFileUploads,\n giphyActive: nextGiphyActive,\n imageUploads: nextImageUploads,\n isOnline: nextIsOnline,\n isValidMessage: nextIsValidMessage,\n mentionedUsers: nextMentionedUsers,\n quotedMessage: nextQuotedMessage,\n sending: nextSending,\n showMoreOptions: nextShowMoreOptions,\n suggestions: nextSuggestions,\n t: nextT,\n thread: nextThread,\n threadList: nextThreadList,\n } = nextProps;\n\n const tEqual = prevT === nextT;\n if (!tEqual) return false;\n\n const additionalTextInputPropsEven =\n prevAdditionalTextInputProps === nextAdditionalTextInputProps;\n if (!additionalTextInputPropsEven) return false;\n\n const disabledEqual = prevDisabled === nextDisabled;\n if (!disabledEqual) return false;\n\n const editingEqual = !!prevEditing === !!nextEditing;\n if (!editingEqual) return false;\n\n const imageUploadsEqual = prevImageUploads.length === nextImageUploads.length;\n if (!imageUploadsEqual) return false;\n\n const giphyActiveEqual = prevGiphyActive === nextGiphyActive;\n if (!giphyActiveEqual) return false;\n\n const quotedMessageEqual =\n !!prevQuotedMessage &&\n !!nextQuotedMessage &&\n typeof prevQuotedMessage !== 'boolean' &&\n typeof nextQuotedMessage !== 'boolean'\n ? prevQuotedMessage.id === nextQuotedMessage.id\n : !!prevQuotedMessage === !!nextQuotedMessage;\n if (!quotedMessageEqual) return false;\n\n const sendingEqual = prevSending.current === nextSending.current;\n if (!sendingEqual) return false;\n\n const showMoreOptionsEqual = prevShowMoreOptions === nextShowMoreOptions;\n if (!showMoreOptionsEqual) return false;\n\n const isOnlineEqual = prevIsOnline === nextIsOnline;\n if (!isOnlineEqual) return false;\n\n const isValidMessageEqual = prevIsValidMessage() === nextIsValidMessage();\n if (!isValidMessageEqual) return false;\n\n const asyncUploadsEqual = Object.keys(prevAsyncUploads).every(\n (key) =>\n prevAsyncUploads[key].state === nextAsyncUploads[key].state &&\n prevAsyncUploads[key].url === nextAsyncUploads[key].url,\n );\n if (!asyncUploadsEqual) return false;\n\n const fileUploadsEqual = prevFileUploads.length === nextFileUploads.length;\n if (!fileUploadsEqual) return false;\n\n const mentionedUsersEqual = prevMentionedUsers.length === nextMentionedUsers.length;\n if (!mentionedUsersEqual) return false;\n\n const suggestionsEqual =\n !!prevSuggestions?.data && !!nextSuggestions?.data\n ? prevSuggestions.data.length === nextSuggestions.data.length &&\n prevSuggestions.data.every(({ name }, index) => name === nextSuggestions.data[index].name)\n : !!prevSuggestions === !!nextSuggestions;\n if (!suggestionsEqual) return false;\n\n const threadEqual =\n prevThread?.id === nextThread?.id &&\n prevThread?.text === nextThread?.text &&\n prevThread?.reply_count === nextThread?.reply_count;\n if (!threadEqual) return false;\n\n const threadListEqual = prevThreadList === nextThreadList;\n if (!threadListEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageInput = React.memo(\n MessageInputWithContext,\n areEqual,\n) as typeof MessageInputWithContext;\n\nexport type MessageInputProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<MessageInputPropsWithContext<StreamChatGenerics>>;\n\n/**\n * UI Component for message input\n * It's a consumer of\n * [Channel Context](https://getstream.io/chat/docs/sdk/reactnative/contexts/channel-context/),\n * [Chat Context](https://getstream.io/chat/docs/sdk/reactnative/contexts/chat-context/),\n * [MessageInput Context](https://getstream.io/chat/docs/sdk/reactnative/contexts/message-input-context/),\n * [Suggestions Context](https://getstream.io/chat/docs/sdk/reactnative/contexts/suggestions-context/), and\n * [Translation Context](https://getstream.io/chat/docs/sdk/reactnative/contexts/translation-context/)\n */\nexport const MessageInput = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageInputProps<StreamChatGenerics>,\n) => {\n const { isOnline } = useChatContext();\n const ownCapabilities = useOwnCapabilitiesContext();\n\n const { disabled, members, threadList, watchers } = useChannelContext<StreamChatGenerics>();\n\n const {\n additionalTextInputProps,\n asyncIds,\n asyncUploads,\n clearEditingState,\n clearQuotedMessageState,\n closeAttachmentPicker,\n cooldownEndsAt,\n CooldownTimer,\n editing,\n FileUploadPreview,\n fileUploads,\n giphyActive,\n ImageUploadPreview,\n imageUploads,\n Input,\n inputBoxRef,\n InputButtons,\n InputEditingStateHeader,\n InputGiphySearch,\n InputReplyStateHeader,\n isValidMessage,\n maxNumberOfFiles,\n mentionedUsers,\n numberOfUploads,\n quotedMessage,\n removeFile,\n removeImage,\n resetInput,\n SendButton,\n sending,\n sendMessageAsync,\n SendMessageDisallowedIndicator,\n setGiphyActive,\n setShowMoreOptions,\n showMoreOptions,\n ShowThreadMessageInChannelButton,\n uploadNewFile,\n uploadNewImage,\n } = useMessageInputContext<StreamChatGenerics>();\n\n const { Reply } = useMessagesContext<StreamChatGenerics>();\n\n const {\n AutoCompleteSuggestionHeader,\n AutoCompleteSuggestionItem,\n AutoCompleteSuggestionList,\n suggestions,\n triggerType,\n } = useSuggestionsContext<StreamChatGenerics>();\n\n const { thread } = useThreadContext<StreamChatGenerics>();\n\n const { t } = useTranslationContext();\n\n if ((disabled || !ownCapabilities.sendMessage) && SendMessageDisallowedIndicator) {\n return <SendMessageDisallowedIndicator />;\n }\n\n return (\n <MemoizedMessageInput\n {...{\n additionalTextInputProps,\n asyncIds,\n asyncUploads,\n AutoCompleteSuggestionHeader,\n AutoCompleteSuggestionItem,\n AutoCompleteSuggestionList,\n clearEditingState,\n clearQuotedMessageState,\n closeAttachmentPicker,\n cooldownEndsAt,\n CooldownTimer,\n disabled,\n editing,\n FileUploadPreview,\n fileUploads,\n giphyActive,\n ImageUploadPreview,\n imageUploads,\n Input,\n inputBoxRef,\n InputButtons,\n InputEditingStateHeader,\n InputGiphySearch,\n InputReplyStateHeader,\n isOnline,\n isValidMessage,\n maxNumberOfFiles,\n members,\n mentionedUsers,\n numberOfUploads,\n quotedMessage,\n removeFile,\n removeImage,\n Reply,\n resetInput,\n SendButton,\n sending,\n sendMessageAsync,\n SendMessageDisallowedIndicator,\n setGiphyActive,\n setShowMoreOptions,\n showMoreOptions,\n ShowThreadMessageInChannelButton,\n suggestions,\n t,\n thread,\n threadList,\n triggerType,\n uploadNewFile,\n uploadNewImage,\n watchers,\n }}\n {...props}\n />\n );\n};\n\nMessageInput.displayName = 'MessageInput{messageInput}';\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_date","useCountdown","end","_useState","useState","_useState2","_slicedToArray2","seconds","setSeconds","useEffect","intervalId","startCountdown","setInterval","previous","next","clearInterval","ONE_SECOND_IN_MS","secondsUntilEnd","secondsUntil","exports"],"sources":["useCountdown.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { ONE_SECOND_IN_MS, secondsUntil } from '../../../utils/date';\n\n/**\n * Start a countdown to a set date, in seconds.\n * The date passed in as an argument to useCountdown\n * will be rounded up to the nearest second.\n **/\nexport const useCountdown = (end: Date) => {\n const [seconds, setSeconds] = useState(0);\n\n /**\n * When a new `end` is set for the countdown, start the counter if\n * the `end` is in the future.\n **/\n useEffect(() => {\n let intervalId: NodeJS.Timer;\n\n const startCountdown = (seconds: number) => {\n setSeconds(seconds);\n intervalId = setInterval(() => {\n setSeconds((previous: number) => {\n const next = previous - 1;\n if (next < 1) {\n /* Don't trigger an unnecessary rerender when done */\n clearInterval(intervalId);\n return 0;\n }\n return next;\n });\n }, ONE_SECOND_IN_MS);\n };\n\n const secondsUntilEnd = secondsUntil(end);\n if (secondsUntilEnd > 0) {\n startCountdown(secondsUntilEnd);\n }\n\n return () => {\n if (intervalId) {\n clearInterval(intervalId);\n }\n };\n }, [end]);\n\n return { seconds };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AAOO,IAAME,YAAY,GAAG,SAAfA,YAAYA,CAAIC,GAAS,EAAK;EACzC,IAAAC,SAAA,GAA8B,IAAAC,eAAQ,EAAC,CAAC,CAAC;IAAAC,UAAA,OAAAC,eAAA,aAAAH,SAAA;IAAlCI,OAAO,GAAAF,UAAA;IAAEG,UAAU,GAAAH,UAAA;EAM1B,IAAAI,gBAAS,EAAC,YAAM;IACd,IAAIC,UAAwB;IAE5B,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAIJ,OAAe,EAAK;MAC1CC,UAAU,CAACD,OAAO,CAAC;MACnBG,UAAU,GAAGE,WAAW,CAAC,YAAM;QAC7BJ,UAAU,CAAC,UAACK,QAAgB,EAAK;UAC/B,IAAMC,IAAI,GAAGD,QAAQ,GAAG,CAAC;UACzB,IAAIC,IAAI,GAAG,CAAC,EAAE;YAEZC,aAAa,CAACL,UAAU,CAAC;YACzB,OAAO,CAAC;UACV;UACA,OAAOI,IAAI;QACb,CAAC,CAAC;MACJ,CAAC,EAAEE,sBAAgB,CAAC;IACtB,CAAC;IAED,IAAMC,eAAe,GAAG,IAAAC,kBAAY,EAAChB,GAAG,CAAC;IACzC,IAAIe,eAAe,GAAG,CAAC,EAAE;MACvBN,cAAc,CAACM,eAAe,CAAC;IACjC;IAEA,OAAO,YAAM;MACX,IAAIP,UAAU,EAAE;QACdK,aAAa,CAACL,UAAU,CAAC;MAC3B;IACF,CAAC;EACH,CAAC,EAAE,CAACR,GAAG,CAAC,CAAC;EAET,OAAO;IAAEK,OAAO,EAAPA;EAAQ,CAAC;AACpB,CAAC;AAACY,OAAA,CAAAlB,YAAA,GAAAA,YAAA"}
1
+ {"version":3,"names":["_react","require","_date","useCountdown","end","_useState","useState","_useState2","_slicedToArray2","seconds","setSeconds","useEffect","intervalId","startCountdown","setInterval","previous","next","clearInterval","ONE_SECOND_IN_MS","secondsUntilEnd","secondsUntil","exports"],"sources":["useCountdown.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { ONE_SECOND_IN_MS, secondsUntil } from '../../../utils/date';\n\n/**\n * Start a countdown to a set date, in seconds.\n * The date passed in as an argument to useCountdown\n * will be rounded up to the nearest second.\n **/\nexport const useCountdown = (end: Date) => {\n const [seconds, setSeconds] = useState(0);\n\n /**\n * When a new `end` is set for the countdown, start the counter if\n * the `end` is in the future.\n **/\n useEffect(() => {\n let intervalId: NodeJS.Timeout;\n\n const startCountdown = (seconds: number) => {\n setSeconds(seconds);\n intervalId = setInterval(() => {\n setSeconds((previous: number) => {\n const next = previous - 1;\n if (next < 1) {\n /* Don't trigger an unnecessary rerender when done */\n clearInterval(intervalId);\n return 0;\n }\n return next;\n });\n }, ONE_SECOND_IN_MS);\n };\n\n const secondsUntilEnd = secondsUntil(end);\n if (secondsUntilEnd > 0) {\n startCountdown(secondsUntilEnd);\n }\n\n return () => {\n if (intervalId) {\n clearInterval(intervalId);\n }\n };\n }, [end]);\n\n return { seconds };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AAOO,IAAME,YAAY,GAAG,SAAfA,YAAYA,CAAIC,GAAS,EAAK;EACzC,IAAAC,SAAA,GAA8B,IAAAC,eAAQ,EAAC,CAAC,CAAC;IAAAC,UAAA,OAAAC,eAAA,aAAAH,SAAA;IAAlCI,OAAO,GAAAF,UAAA;IAAEG,UAAU,GAAAH,UAAA;EAM1B,IAAAI,gBAAS,EAAC,YAAM;IACd,IAAIC,UAA0B;IAE9B,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAIJ,OAAe,EAAK;MAC1CC,UAAU,CAACD,OAAO,CAAC;MACnBG,UAAU,GAAGE,WAAW,CAAC,YAAM;QAC7BJ,UAAU,CAAC,UAACK,QAAgB,EAAK;UAC/B,IAAMC,IAAI,GAAGD,QAAQ,GAAG,CAAC;UACzB,IAAIC,IAAI,GAAG,CAAC,EAAE;YAEZC,aAAa,CAACL,UAAU,CAAC;YACzB,OAAO,CAAC;UACV;UACA,OAAOI,IAAI;QACb,CAAC,CAAC;MACJ,CAAC,EAAEE,sBAAgB,CAAC;IACtB,CAAC;IAED,IAAMC,eAAe,GAAG,IAAAC,kBAAY,EAAChB,GAAG,CAAC;IACzC,IAAIe,eAAe,GAAG,CAAC,EAAE;MACvBN,cAAc,CAACM,eAAe,CAAC;IACjC;IAEA,OAAO,YAAM;MACX,IAAIP,UAAU,EAAE;QACdK,aAAa,CAACL,UAAU,CAAC;MAC3B;IACF,CAAC;EACH,CAAC,EAAE,CAACR,GAAG,CAAC,CAAC;EAET,OAAO;IAAEK,OAAO,EAAPA;EAAQ,CAAC;AACpB,CAAC;AAACY,OAAA,CAAAlB,YAAA,GAAAA,YAAA"}