stream-chat-react-native-core 3.10.1 → 4.0.0-beta.2

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 (623) hide show
  1. package/lib/commonjs/components/Attachment/Card.js +18 -15
  2. package/lib/commonjs/components/Attachment/Card.js.map +1 -1
  3. package/lib/commonjs/components/Attachment/Gallery.js +8 -15
  4. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  5. package/lib/commonjs/components/Attachment/Giphy.js +3 -3
  6. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  7. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +21 -45
  8. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  9. package/lib/commonjs/components/AutoCompleteInput/{CommandsItem.js → AutoCompleteSuggestionCommandIcon.js} +21 -94
  10. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -0
  11. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +145 -0
  12. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -0
  13. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +248 -0
  14. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -0
  15. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +223 -0
  16. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -0
  17. package/lib/commonjs/components/Avatar/GroupAvatar.js +3 -9
  18. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  19. package/lib/commonjs/components/Channel/Channel.js +293 -208
  20. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  21. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +5 -5
  22. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  23. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js +7 -5
  24. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  25. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +9 -31
  26. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  27. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +35 -0
  28. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -0
  29. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -0
  30. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  31. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +2 -1
  32. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  33. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +32 -20
  34. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  35. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +8 -7
  36. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  37. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js +16 -7
  38. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  39. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js +2 -1
  40. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  41. package/lib/commonjs/components/Chat/hooks/useIsOnline.js +12 -5
  42. package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
  43. package/lib/commonjs/components/ImageGallery/ImageGallery.js +1 -2
  44. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  45. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +14 -16
  46. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  47. package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  48. package/lib/commonjs/components/Message/Message.js +144 -851
  49. package/lib/commonjs/components/Message/Message.js.map +1 -1
  50. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +39 -38
  51. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  52. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +4 -2
  53. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  54. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +24 -16
  55. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  56. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +122 -0
  57. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -0
  58. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +5 -1
  59. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  60. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +27 -13
  61. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  62. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +19 -20
  63. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  64. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +7 -3
  65. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  66. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +52 -80
  67. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +1 -1
  68. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +42 -14
  69. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  70. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +1 -5
  71. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  72. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js +294 -0
  73. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -0
  74. package/lib/commonjs/components/Message/hooks/useMessageActions.js +559 -0
  75. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -0
  76. package/lib/commonjs/components/Message/utils/messageActions.js +17 -15
  77. package/lib/commonjs/components/Message/utils/messageActions.js.map +1 -1
  78. package/lib/commonjs/components/MessageInput/CooldownTimer.js +78 -0
  79. package/lib/commonjs/components/MessageInput/CooldownTimer.js.map +1 -0
  80. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +2 -2
  81. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  82. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +2 -2
  83. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
  84. package/lib/commonjs/components/MessageInput/InputButtons.js +16 -21
  85. package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
  86. package/lib/commonjs/components/MessageInput/MessageInput.js +90 -62
  87. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  88. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +71 -0
  89. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -0
  90. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +1 -0
  91. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  92. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js +63 -0
  93. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -0
  94. package/lib/commonjs/components/MessageInput/hooks/useCountdown.js +57 -0
  95. package/lib/commonjs/components/MessageInput/hooks/useCountdown.js.map +1 -0
  96. package/lib/commonjs/components/MessageList/DateHeader.js +2 -2
  97. package/lib/commonjs/components/MessageList/DateHeader.js.map +1 -1
  98. package/lib/commonjs/components/MessageList/InlineDateSeparator.js +2 -2
  99. package/lib/commonjs/components/MessageList/InlineDateSeparator.js.map +1 -1
  100. package/lib/commonjs/components/MessageList/MessageList.js +75 -42
  101. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  102. package/lib/commonjs/components/MessageList/hooks/useMessageList.js +16 -3
  103. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  104. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js +2 -1
  105. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js.map +1 -1
  106. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js +10 -5
  107. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
  108. package/lib/{module/components/MessageOverlay/MessageActions.js → commonjs/components/MessageOverlay/MessageActionList.js} +33 -85
  109. package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -0
  110. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +131 -0
  111. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -0
  112. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +83 -70
  113. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  114. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +38 -0
  115. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js.map +1 -0
  116. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +1 -0
  117. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  118. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js +37 -0
  119. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -0
  120. package/lib/commonjs/components/Thread/Thread.js +13 -4
  121. package/lib/commonjs/components/Thread/Thread.js.map +1 -1
  122. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +9 -1
  123. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  124. package/lib/commonjs/components/docs/ListProps.md +1 -1
  125. package/lib/commonjs/components/index.js +107 -55
  126. package/lib/commonjs/components/index.js.map +1 -1
  127. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +68 -0
  128. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -0
  129. package/lib/commonjs/contexts/channelContext/ChannelContext.js +2 -2
  130. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  131. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  132. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +155 -0
  133. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -0
  134. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +144 -0
  135. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -0
  136. package/lib/commonjs/contexts/messageContext/MessageContext.js +2 -2
  137. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  138. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +112 -78
  139. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  140. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +9 -5
  141. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  142. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  143. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +2 -2
  144. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  145. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -1
  146. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  147. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +31 -24
  148. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  149. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +61 -0
  150. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -0
  151. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +19 -32
  152. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  153. package/lib/commonjs/contexts/themeContext/utils/theme.js +25 -9
  154. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  155. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  156. package/lib/commonjs/contexts/utils/getDisplayName.js.map +1 -1
  157. package/lib/commonjs/emoji-data/compiled.js +0 -315
  158. package/lib/commonjs/emoji-data/compiled.js.map +1 -1
  159. package/lib/commonjs/emoji-data/emojiNames.js +0 -105
  160. package/lib/commonjs/emoji-data/emojiNames.js.map +1 -1
  161. package/lib/commonjs/emoji-data/emojis.js +0 -175
  162. package/lib/commonjs/emoji-data/emojis.js.map +1 -1
  163. package/lib/commonjs/i18n/en.json +9 -3
  164. package/lib/commonjs/i18n/fr.json +9 -3
  165. package/lib/commonjs/i18n/hi.json +9 -3
  166. package/lib/commonjs/i18n/it.json +9 -3
  167. package/lib/commonjs/i18n/ja.json +9 -0
  168. package/lib/commonjs/i18n/ko.json +9 -0
  169. package/lib/commonjs/i18n/nl.json +9 -3
  170. package/lib/commonjs/i18n/ru.json +9 -3
  171. package/lib/commonjs/i18n/tr.json +10 -4
  172. package/lib/commonjs/icons/Pin.js +42 -0
  173. package/lib/commonjs/icons/Pin.js.map +1 -0
  174. package/lib/commonjs/icons/PinHeader.js +38 -0
  175. package/lib/commonjs/icons/PinHeader.js.map +1 -0
  176. package/lib/commonjs/icons/Unpin.js +38 -0
  177. package/lib/commonjs/icons/Unpin.js.map +1 -0
  178. package/lib/commonjs/icons/index.js +39 -0
  179. package/lib/commonjs/icons/index.js.map +1 -1
  180. package/lib/commonjs/mock-builders/api/sendMessage.js +4 -1
  181. package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
  182. package/lib/commonjs/mock-builders/generator/channel.js +1 -0
  183. package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
  184. package/lib/commonjs/mock-builders/mock.js +2 -2
  185. package/lib/commonjs/mock-builders/mock.js.map +1 -1
  186. package/lib/commonjs/native.js +1 -7
  187. package/lib/commonjs/native.js.map +1 -1
  188. package/lib/commonjs/utils/date.js +13 -0
  189. package/lib/commonjs/utils/date.js.map +1 -0
  190. package/lib/commonjs/utils/utils.js +9 -7
  191. package/lib/commonjs/utils/utils.js.map +1 -1
  192. package/lib/commonjs/version.json +1 -1
  193. package/lib/module/components/Attachment/Card.js +18 -15
  194. package/lib/module/components/Attachment/Card.js.map +1 -1
  195. package/lib/module/components/Attachment/Gallery.js +8 -15
  196. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  197. package/lib/module/components/Attachment/Giphy.js +3 -3
  198. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  199. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +21 -45
  200. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  201. package/lib/module/components/AutoCompleteInput/{CommandsItem.js → AutoCompleteSuggestionCommandIcon.js} +21 -94
  202. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -0
  203. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +145 -0
  204. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -0
  205. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +248 -0
  206. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -0
  207. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +223 -0
  208. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -0
  209. package/lib/module/components/Avatar/GroupAvatar.js +3 -9
  210. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  211. package/lib/module/components/Channel/Channel.js +293 -208
  212. package/lib/module/components/Channel/Channel.js.map +1 -1
  213. package/lib/module/components/Channel/hooks/useCreateChannelContext.js +5 -5
  214. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  215. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +7 -5
  216. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  217. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +9 -31
  218. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  219. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +35 -0
  220. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -0
  221. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -0
  222. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  223. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +2 -1
  224. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  225. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +32 -20
  226. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  227. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +8 -7
  228. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  229. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js +16 -7
  230. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  231. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js +2 -1
  232. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  233. package/lib/module/components/Chat/hooks/useIsOnline.js +12 -5
  234. package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
  235. package/lib/module/components/ImageGallery/ImageGallery.js +1 -2
  236. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  237. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +14 -16
  238. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  239. package/lib/module/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  240. package/lib/module/components/Message/Message.js +144 -851
  241. package/lib/module/components/Message/Message.js.map +1 -1
  242. package/lib/module/components/Message/MessageSimple/MessageContent.js +39 -38
  243. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  244. package/lib/module/components/Message/MessageSimple/MessageDeleted.js +4 -2
  245. package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  246. package/lib/module/components/Message/MessageSimple/MessageFooter.js +24 -16
  247. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  248. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +122 -0
  249. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -0
  250. package/lib/module/components/Message/MessageSimple/MessageReplies.js +5 -1
  251. package/lib/module/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  252. package/lib/module/components/Message/MessageSimple/MessageSimple.js +27 -13
  253. package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  254. package/lib/module/components/Message/MessageSimple/MessageStatus.js +19 -20
  255. package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  256. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +7 -3
  257. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  258. package/lib/module/components/Message/MessageSimple/ReactionList.js +52 -80
  259. package/lib/module/components/Message/MessageSimple/ReactionList.js.map +1 -1
  260. package/lib/module/components/Message/MessageSimple/utils/renderText.js +42 -14
  261. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  262. package/lib/module/components/Message/hooks/useCreateMessageContext.js +1 -5
  263. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  264. package/lib/module/components/Message/hooks/useMessageActionHandlers.js +294 -0
  265. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -0
  266. package/lib/module/components/Message/hooks/useMessageActions.js +559 -0
  267. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -0
  268. package/lib/module/components/Message/utils/messageActions.js +17 -15
  269. package/lib/module/components/Message/utils/messageActions.js.map +1 -1
  270. package/lib/module/components/MessageInput/CooldownTimer.js +78 -0
  271. package/lib/module/components/MessageInput/CooldownTimer.js.map +1 -0
  272. package/lib/module/components/MessageInput/FileUploadPreview.js +2 -2
  273. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  274. package/lib/module/components/MessageInput/ImageUploadPreview.js +2 -2
  275. package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
  276. package/lib/module/components/MessageInput/InputButtons.js +16 -21
  277. package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
  278. package/lib/module/components/MessageInput/MessageInput.js +90 -62
  279. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  280. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +71 -0
  281. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -0
  282. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +1 -0
  283. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  284. package/lib/module/components/MessageInput/hooks/useCooldown.js +63 -0
  285. package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -0
  286. package/lib/module/components/MessageInput/hooks/useCountdown.js +57 -0
  287. package/lib/module/components/MessageInput/hooks/useCountdown.js.map +1 -0
  288. package/lib/module/components/MessageList/DateHeader.js +2 -2
  289. package/lib/module/components/MessageList/DateHeader.js.map +1 -1
  290. package/lib/module/components/MessageList/InlineDateSeparator.js +2 -2
  291. package/lib/module/components/MessageList/InlineDateSeparator.js.map +1 -1
  292. package/lib/module/components/MessageList/MessageList.js +75 -42
  293. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  294. package/lib/module/components/MessageList/hooks/useMessageList.js +16 -3
  295. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  296. package/lib/module/components/MessageList/utils/getDateSeparators.js +2 -1
  297. package/lib/module/components/MessageList/utils/getDateSeparators.js.map +1 -1
  298. package/lib/module/components/MessageList/utils/getGroupStyles.js +10 -5
  299. package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
  300. package/lib/{commonjs/components/MessageOverlay/MessageActions.js → module/components/MessageOverlay/MessageActionList.js} +33 -85
  301. package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -0
  302. package/lib/module/components/MessageOverlay/MessageActionListItem.js +131 -0
  303. package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -0
  304. package/lib/module/components/MessageOverlay/MessageOverlay.js +83 -70
  305. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  306. package/lib/module/components/MessageOverlay/OverlayBackdrop.js +38 -0
  307. package/lib/module/components/MessageOverlay/OverlayBackdrop.js.map +1 -0
  308. package/lib/module/components/MessageOverlay/OverlayReactionList.js +1 -0
  309. package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  310. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js +37 -0
  311. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -0
  312. package/lib/module/components/Thread/Thread.js +13 -4
  313. package/lib/module/components/Thread/Thread.js.map +1 -1
  314. package/lib/module/components/Thread/components/ThreadFooterComponent.js +9 -1
  315. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  316. package/lib/module/components/docs/ListProps.md +1 -1
  317. package/lib/module/components/index.js +107 -55
  318. package/lib/module/components/index.js.map +1 -1
  319. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +68 -0
  320. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -0
  321. package/lib/module/contexts/channelContext/ChannelContext.js +2 -2
  322. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  323. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  324. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +155 -0
  325. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -0
  326. package/lib/module/contexts/channelsStateContext/useChannelState.js +144 -0
  327. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -0
  328. package/lib/module/contexts/messageContext/MessageContext.js +2 -2
  329. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  330. package/lib/module/contexts/messageInputContext/MessageInputContext.js +112 -78
  331. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  332. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +9 -5
  333. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  334. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  335. package/lib/module/contexts/messagesContext/MessagesContext.js +2 -2
  336. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  337. package/lib/module/contexts/overlayContext/OverlayContext.js +1 -1
  338. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  339. package/lib/module/contexts/overlayContext/OverlayProvider.js +31 -24
  340. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  341. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +61 -0
  342. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -0
  343. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +19 -32
  344. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  345. package/lib/module/contexts/themeContext/utils/theme.js +25 -9
  346. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  347. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  348. package/lib/module/contexts/utils/getDisplayName.js.map +1 -1
  349. package/lib/module/emoji-data/compiled.js +0 -315
  350. package/lib/module/emoji-data/compiled.js.map +1 -1
  351. package/lib/module/emoji-data/emojiNames.js +0 -105
  352. package/lib/module/emoji-data/emojiNames.js.map +1 -1
  353. package/lib/module/emoji-data/emojis.js +0 -175
  354. package/lib/module/emoji-data/emojis.js.map +1 -1
  355. package/lib/module/i18n/en.json +9 -3
  356. package/lib/module/i18n/fr.json +9 -3
  357. package/lib/module/i18n/hi.json +9 -3
  358. package/lib/module/i18n/it.json +9 -3
  359. package/lib/module/i18n/ja.json +9 -0
  360. package/lib/module/i18n/ko.json +9 -0
  361. package/lib/module/i18n/nl.json +9 -3
  362. package/lib/module/i18n/ru.json +9 -3
  363. package/lib/module/i18n/tr.json +10 -4
  364. package/lib/module/icons/Pin.js +42 -0
  365. package/lib/module/icons/Pin.js.map +1 -0
  366. package/lib/module/icons/PinHeader.js +38 -0
  367. package/lib/module/icons/PinHeader.js.map +1 -0
  368. package/lib/module/icons/Unpin.js +38 -0
  369. package/lib/module/icons/Unpin.js.map +1 -0
  370. package/lib/module/icons/index.js +39 -0
  371. package/lib/module/icons/index.js.map +1 -1
  372. package/lib/module/mock-builders/api/sendMessage.js +4 -1
  373. package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
  374. package/lib/module/mock-builders/generator/channel.js +1 -0
  375. package/lib/module/mock-builders/generator/channel.js.map +1 -1
  376. package/lib/module/mock-builders/mock.js +2 -2
  377. package/lib/module/mock-builders/mock.js.map +1 -1
  378. package/lib/module/native.js +1 -7
  379. package/lib/module/native.js.map +1 -1
  380. package/lib/module/utils/date.js +13 -0
  381. package/lib/module/utils/date.js.map +1 -0
  382. package/lib/module/utils/utils.js +9 -7
  383. package/lib/module/utils/utils.js.map +1 -1
  384. package/lib/module/version.json +1 -1
  385. package/lib/typescript/components/Attachment/Card.d.ts +2 -0
  386. package/lib/typescript/components/Attachment/Gallery.d.ts +3 -2
  387. package/lib/typescript/components/AutoCompleteInput/AutoCompleteInput.d.ts +7 -1
  388. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.d.ts +4 -0
  389. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionHeader.d.ts +8 -0
  390. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionItem.d.ts +10 -0
  391. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts +22 -0
  392. package/lib/typescript/components/Channel/Channel.d.ts +11 -10
  393. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
  394. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +1 -68
  395. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -126
  396. package/lib/typescript/components/Channel/hooks/useCreateOwnCapabilitiesContext.d.ts +7 -0
  397. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +1 -1
  398. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.d.ts +12 -0
  399. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +1 -0
  400. package/lib/typescript/components/Indicators/LoadingErrorIndicator.d.ts +1 -1
  401. package/lib/typescript/components/Message/Message.d.ts +3 -2
  402. package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts +1 -1
  403. package/lib/typescript/components/Message/MessageSimple/MessagePinnedHeader.d.ts +8 -0
  404. package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts +1 -1
  405. package/lib/typescript/components/Message/MessageSimple/MessageStatus.d.ts +1 -1
  406. package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts +1 -0
  407. package/lib/typescript/components/Message/MessageSimple/ReactionList.d.ts +2 -1
  408. package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +1 -0
  409. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +1 -1
  410. package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +15 -0
  411. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +26 -0
  412. package/lib/typescript/components/Message/utils/messageActions.d.ts +22 -21
  413. package/lib/typescript/components/MessageInput/CooldownTimer.d.ts +10 -0
  414. package/lib/typescript/components/MessageInput/InputButtons.d.ts +1 -1
  415. package/lib/typescript/components/MessageInput/MessageInput.d.ts +1 -1
  416. package/lib/typescript/components/MessageInput/SendMessageDisallowedIndicator.d.ts +1 -0
  417. package/lib/typescript/components/MessageInput/hooks/useCooldown.d.ts +9 -0
  418. package/lib/typescript/components/MessageInput/hooks/useCountdown.d.ts +8 -0
  419. package/lib/typescript/components/MessageList/MessageList.d.ts +2 -1
  420. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +1 -0
  421. package/lib/typescript/components/MessageOverlay/MessageActionList.d.ts +12 -0
  422. package/lib/typescript/components/MessageOverlay/MessageActionListItem.d.ts +20 -0
  423. package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts +4 -4
  424. package/lib/typescript/components/MessageOverlay/OverlayBackdrop.d.ts +6 -0
  425. package/lib/typescript/components/MessageOverlay/hooks/useMessageActionAnimation.d.ts +12 -0
  426. package/lib/typescript/components/index.d.ts +11 -7
  427. package/lib/typescript/contexts/activeChannelsRefContext/ActiveChannelsRefContext.d.ts +9 -0
  428. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +28 -30
  429. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +1 -1
  430. package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts +41 -0
  431. package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts +20 -0
  432. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +2 -6
  433. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +15 -6
  434. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +1 -1
  435. package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +8 -11
  436. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +15 -106
  437. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +10 -3
  438. package/lib/typescript/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.d.ts +25 -0
  439. package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts +15 -14
  440. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +24 -8
  441. package/lib/typescript/contexts/utils/getDisplayName.d.ts +2 -2
  442. package/lib/typescript/i18n/en.json +9 -3
  443. package/lib/typescript/i18n/fr.json +9 -3
  444. package/lib/typescript/i18n/hi.json +9 -3
  445. package/lib/typescript/i18n/it.json +9 -3
  446. package/lib/typescript/i18n/ja.json +9 -0
  447. package/lib/typescript/i18n/ko.json +9 -0
  448. package/lib/typescript/i18n/nl.json +9 -3
  449. package/lib/typescript/i18n/ru.json +9 -3
  450. package/lib/typescript/i18n/tr.json +10 -4
  451. package/lib/typescript/icons/Pin.d.ts +3 -0
  452. package/lib/typescript/icons/PinHeader.d.ts +3 -0
  453. package/lib/typescript/icons/Unpin.d.ts +3 -0
  454. package/lib/typescript/icons/index.d.ts +3 -0
  455. package/lib/typescript/native.d.ts +1 -9
  456. package/lib/typescript/utils/Streami18n.d.ts +9 -6
  457. package/lib/typescript/utils/date.d.ts +2 -0
  458. package/lib/typescript/utils/utils.d.ts +8 -10
  459. package/package.json +5 -3
  460. package/src/components/Attachment/Card.tsx +5 -1
  461. package/src/components/Attachment/Gallery.tsx +5 -10
  462. package/src/components/Attachment/Giphy.tsx +3 -3
  463. package/src/components/Attachment/__tests__/Attachment.test.js +13 -6
  464. package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +41 -27
  465. package/src/components/AutoCompleteInput/{CommandsItem.tsx → AutoCompleteSuggestionCommandIcon.tsx} +2 -56
  466. package/src/components/AutoCompleteInput/AutoCompleteSuggestionHeader.tsx +109 -0
  467. package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx +154 -0
  468. package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +213 -0
  469. package/src/components/AutoCompleteInput/__tests__/AutoCompleteInput.test.js +0 -4
  470. package/src/components/Avatar/GroupAvatar.tsx +0 -19
  471. package/src/components/Avatar/__tests__/Avatar.test.js +0 -28
  472. package/src/components/Channel/Channel.tsx +225 -176
  473. package/src/components/Channel/__tests__/Channel.test.js +25 -20
  474. package/src/components/Channel/__tests__/ownCapabilities.test.js +376 -0
  475. package/src/components/Channel/hooks/useCreateChannelContext.ts +6 -6
  476. package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +4 -3
  477. package/src/components/Channel/hooks/useCreateMessagesContext.ts +9 -30
  478. package/src/components/Channel/hooks/useCreateOwnCapabilitiesContext.ts +53 -0
  479. package/src/components/ChannelList/ChannelListFooterLoadingIndicator.tsx +1 -1
  480. package/src/components/ChannelList/ChannelListHeaderNetworkDownIndicator.tsx +4 -1
  481. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +16 -4
  482. package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +4 -1
  483. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.ts +6 -0
  484. package/src/components/ChannelPreview/hooks/useLatestMessagePreview.ts +2 -1
  485. package/src/components/Chat/__tests__/Chat.test.js +6 -2
  486. package/src/components/Chat/hooks/useIsOnline.ts +8 -5
  487. package/src/components/ImageGallery/ImageGallery.tsx +3 -2
  488. package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +4 -5
  489. package/src/components/Indicators/LoadingErrorIndicator.tsx +1 -1
  490. package/src/components/Message/Message.tsx +140 -579
  491. package/src/components/Message/MessageSimple/MessageContent.tsx +21 -22
  492. package/src/components/Message/MessageSimple/MessageDeleted.tsx +5 -2
  493. package/src/components/Message/MessageSimple/MessageFooter.tsx +36 -17
  494. package/src/components/Message/MessageSimple/MessagePinnedHeader.tsx +150 -0
  495. package/src/components/Message/MessageSimple/MessageReplies.tsx +5 -0
  496. package/src/components/Message/MessageSimple/MessageSimple.tsx +47 -26
  497. package/src/components/Message/MessageSimple/MessageStatus.tsx +10 -29
  498. package/src/components/Message/MessageSimple/MessageTextContainer.tsx +5 -0
  499. package/src/components/Message/MessageSimple/ReactionList.tsx +64 -77
  500. package/src/components/Message/MessageSimple/__tests__/Message.test.js +0 -1
  501. package/src/components/Message/MessageSimple/__tests__/MessageContent.test.js +32 -22
  502. package/src/components/Message/MessageSimple/__tests__/MessagePinnedHeader.test.js +53 -0
  503. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessagePinnedHeader.test.js.snap +80 -0
  504. package/src/components/Message/MessageSimple/utils/renderText.tsx +25 -3
  505. package/src/components/Message/hooks/useCreateMessageContext.ts +0 -5
  506. package/src/components/Message/hooks/useMessageActionHandlers.ts +163 -0
  507. package/src/components/Message/hooks/useMessageActions.tsx +381 -0
  508. package/src/components/Message/utils/messageActions.ts +64 -38
  509. package/src/components/MessageInput/CooldownTimer.tsx +66 -0
  510. package/src/components/MessageInput/FileUploadPreview.tsx +2 -2
  511. package/src/components/MessageInput/ImageUploadPreview.tsx +2 -2
  512. package/src/components/MessageInput/InputButtons.tsx +4 -10
  513. package/src/components/MessageInput/MessageInput.tsx +59 -31
  514. package/src/components/MessageInput/SendMessageDisallowedIndicator.tsx +47 -0
  515. package/src/components/MessageInput/ShowThreadMessageInChannelButton.tsx +1 -1
  516. package/src/components/MessageInput/__tests__/FileUploadPreview.test.js +29 -29
  517. package/src/components/MessageInput/__tests__/ImageUploadPreview.test.js +12 -12
  518. package/src/components/MessageInput/__tests__/MessageInput.test.js +8 -16
  519. package/src/components/MessageInput/__tests__/__snapshots__/FileUploadPreview.test.js.snap +6061 -2789
  520. package/src/components/MessageInput/__tests__/__snapshots__/ImageUploadPreview.test.js.snap +1912 -1572
  521. package/src/components/MessageInput/__tests__/__snapshots__/MessageInput.test.js.snap +1167 -282
  522. package/src/components/MessageInput/__tests__/__snapshots__/UploadProgressIndicator.test.js.snap +4 -4
  523. package/src/components/MessageInput/hooks/useCooldown.ts +60 -0
  524. package/src/components/MessageInput/hooks/useCountdown.ts +47 -0
  525. package/src/components/MessageList/DateHeader.tsx +2 -2
  526. package/src/components/MessageList/InlineDateSeparator.tsx +2 -2
  527. package/src/components/MessageList/MessageList.tsx +60 -36
  528. package/src/components/MessageList/__tests__/MessageList.test.js +231 -106
  529. package/src/components/MessageList/hooks/useMessageList.ts +14 -2
  530. package/src/components/MessageList/utils/getDateSeparators.ts +4 -3
  531. package/src/components/MessageList/utils/getGroupStyles.ts +13 -7
  532. package/src/components/MessageOverlay/{MessageActions.tsx → MessageActionList.tsx} +57 -89
  533. package/src/components/MessageOverlay/MessageActionListItem.tsx +111 -0
  534. package/src/components/MessageOverlay/MessageOverlay.tsx +242 -205
  535. package/src/components/MessageOverlay/OverlayBackdrop.tsx +17 -0
  536. package/src/components/MessageOverlay/OverlayReactionList.tsx +1 -1
  537. package/src/components/MessageOverlay/hooks/useMessageActionAnimation.tsx +43 -0
  538. package/src/components/Thread/Thread.tsx +8 -0
  539. package/src/components/Thread/__tests__/Thread.test.js +28 -101
  540. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +1085 -1018
  541. package/src/components/Thread/components/ThreadFooterComponent.tsx +13 -1
  542. package/src/components/docs/ListProps.md +1 -1
  543. package/src/components/index.ts +11 -7
  544. package/src/contexts/activeChannelsRefContext/ActiveChannelsRefContext.tsx +33 -0
  545. package/src/contexts/channelContext/ChannelContext.tsx +27 -30
  546. package/src/contexts/channelsContext/ChannelsContext.tsx +1 -1
  547. package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +287 -0
  548. package/src/contexts/channelsStateContext/useChannelState.ts +206 -0
  549. package/src/contexts/messageContext/MessageContext.tsx +1 -8
  550. package/src/contexts/messageInputContext/MessageInputContext.tsx +56 -18
  551. package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +7 -3
  552. package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +12 -12
  553. package/src/contexts/messagesContext/MessagesContext.tsx +28 -129
  554. package/src/contexts/overlayContext/OverlayContext.tsx +10 -4
  555. package/src/contexts/overlayContext/OverlayProvider.tsx +21 -20
  556. package/src/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.tsx +38 -0
  557. package/src/contexts/suggestionsContext/SuggestionsContext.tsx +27 -48
  558. package/src/contexts/suggestionsContext/__tests__/Suggestions.test.js +0 -1
  559. package/src/contexts/themeContext/utils/theme.ts +48 -16
  560. package/src/contexts/translationContext/TranslationContext.tsx +1 -1
  561. package/src/contexts/utils/getDisplayName.ts +2 -1
  562. package/src/emoji-data/compiled.ts +1830 -9609
  563. package/src/emoji-data/emojiNames.ts +0 -140
  564. package/src/emoji-data/emojis.ts +0 -210
  565. package/src/i18n/en.json +9 -3
  566. package/src/i18n/fr.json +9 -3
  567. package/src/i18n/hi.json +9 -3
  568. package/src/i18n/it.json +9 -3
  569. package/src/i18n/ja.json +9 -0
  570. package/src/i18n/ko.json +9 -0
  571. package/src/i18n/nl.json +9 -3
  572. package/src/i18n/ru.json +9 -3
  573. package/src/i18n/tr.json +10 -4
  574. package/src/icons/Pin.tsx +17 -0
  575. package/src/icons/PinHeader.tsx +12 -0
  576. package/src/icons/Unpin.tsx +12 -0
  577. package/src/icons/index.ts +3 -0
  578. package/src/mock-builders/api/sendMessage.js +3 -2
  579. package/src/mock-builders/generator/channel.js +18 -0
  580. package/src/mock-builders/mock.js +2 -2
  581. package/src/native.ts +1 -13
  582. package/src/utils/date.ts +4 -0
  583. package/src/utils/utils.ts +14 -12
  584. package/src/version.json +1 -1
  585. package/lib/commonjs/components/AutoCompleteInput/CommandsHeader.js +0 -78
  586. package/lib/commonjs/components/AutoCompleteInput/CommandsHeader.js.map +0 -1
  587. package/lib/commonjs/components/AutoCompleteInput/CommandsItem.js.map +0 -1
  588. package/lib/commonjs/components/AutoCompleteInput/EmojisHeader.js +0 -81
  589. package/lib/commonjs/components/AutoCompleteInput/EmojisHeader.js.map +0 -1
  590. package/lib/commonjs/components/AutoCompleteInput/EmojisItem.js +0 -75
  591. package/lib/commonjs/components/AutoCompleteInput/EmojisItem.js.map +0 -1
  592. package/lib/commonjs/components/AutoCompleteInput/MentionsItem.js +0 -125
  593. package/lib/commonjs/components/AutoCompleteInput/MentionsItem.js.map +0 -1
  594. package/lib/commonjs/components/AutoCompleteInput/SuggestionsList.js +0 -199
  595. package/lib/commonjs/components/AutoCompleteInput/SuggestionsList.js.map +0 -1
  596. package/lib/commonjs/components/MessageOverlay/MessageActions.js.map +0 -1
  597. package/lib/module/components/AutoCompleteInput/CommandsHeader.js +0 -78
  598. package/lib/module/components/AutoCompleteInput/CommandsHeader.js.map +0 -1
  599. package/lib/module/components/AutoCompleteInput/CommandsItem.js.map +0 -1
  600. package/lib/module/components/AutoCompleteInput/EmojisHeader.js +0 -81
  601. package/lib/module/components/AutoCompleteInput/EmojisHeader.js.map +0 -1
  602. package/lib/module/components/AutoCompleteInput/EmojisItem.js +0 -75
  603. package/lib/module/components/AutoCompleteInput/EmojisItem.js.map +0 -1
  604. package/lib/module/components/AutoCompleteInput/MentionsItem.js +0 -125
  605. package/lib/module/components/AutoCompleteInput/MentionsItem.js.map +0 -1
  606. package/lib/module/components/AutoCompleteInput/SuggestionsList.js +0 -199
  607. package/lib/module/components/AutoCompleteInput/SuggestionsList.js.map +0 -1
  608. package/lib/module/components/MessageOverlay/MessageActions.js.map +0 -1
  609. package/lib/typescript/components/AutoCompleteInput/CommandsHeader.d.ts +0 -2
  610. package/lib/typescript/components/AutoCompleteInput/CommandsItem.d.ts +0 -15
  611. package/lib/typescript/components/AutoCompleteInput/EmojisHeader.d.ts +0 -5
  612. package/lib/typescript/components/AutoCompleteInput/EmojisItem.d.ts +0 -12
  613. package/lib/typescript/components/AutoCompleteInput/MentionsItem.d.ts +0 -16
  614. package/lib/typescript/components/AutoCompleteInput/SuggestionsList.d.ts +0 -13
  615. package/lib/typescript/components/MessageOverlay/MessageActions.d.ts +0 -11
  616. package/src/components/AutoCompleteInput/CommandsHeader.tsx +0 -43
  617. package/src/components/AutoCompleteInput/EmojisHeader.tsx +0 -45
  618. package/src/components/AutoCompleteInput/EmojisItem.tsx +0 -52
  619. package/src/components/AutoCompleteInput/MentionsItem.tsx +0 -74
  620. package/src/components/AutoCompleteInput/SuggestionsList.tsx +0 -138
  621. package/src/components/AutoCompleteInput/__tests__/CommandsItem.test.js +0 -26
  622. package/src/components/AutoCompleteInput/__tests__/MentionsItem.test.js +0 -62
  623. package/src/components/MessageList/__tests__/__snapshots__/MessageList.test.js.snap +0 -936
@@ -1,7 +1,5 @@
1
1
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2
2
 
3
- var _typeof = require("@babel/runtime/helpers/typeof");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
@@ -15,22 +13,18 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
15
13
 
16
14
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
15
 
18
- var _react = _interopRequireWildcard(require("react"));
16
+ var _react = _interopRequireDefault(require("react"));
19
17
 
20
18
  var _reactNative = require("react-native");
21
19
 
22
- var _reactNativeGestureHandler = require("react-native-gesture-handler");
23
-
24
- var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
25
-
26
20
  var _useCreateMessageContext = require("./hooks/useCreateMessageContext");
27
21
 
28
22
  var _messageActions = require("./utils/messageActions");
29
23
 
30
- var _removeReservedFields = require("./utils/removeReservedFields");
31
-
32
24
  var _useMessageList = require("../MessageList/hooks/useMessageList");
33
25
 
26
+ var _OwnCapabilitiesContext = require("../../contexts/ownCapabilitiesContext/OwnCapabilitiesContext");
27
+
34
28
  var _ChannelContext = require("../../contexts/channelContext/ChannelContext");
35
29
 
36
30
  var _ChatContext = require("../../contexts/chatContext/ChatContext");
@@ -51,50 +45,29 @@ var _ThreadContext = require("../../contexts/threadContext/ThreadContext");
51
45
 
52
46
  var _TranslationContext = require("../../contexts/translationContext/TranslationContext");
53
47
 
54
- var _icons = require("../../icons");
55
-
56
48
  var _native = require("../../native");
57
49
 
58
50
  var _utils = require("../../utils/utils");
59
51
 
60
- var _this = this,
61
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/Message.tsx";
62
-
63
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
52
+ var _useMessageActions2 = require("./hooks/useMessageActions");
64
53
 
65
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
54
+ var _useMessageActionHandlers = require("./hooks/useMessageActionHandlers");
66
55
 
67
- var prefetchImage = function prefetchImage(_ref) {
68
- var height = _ref.height,
69
- url = _ref.url;
70
-
71
- if (url.includes('&h=%2A')) {
72
- _reactNative.Image.prefetch(url.replace('h=%2A', "h=" + _reactNative.PixelRatio.getPixelSizeForLayoutSize(Number(height))))["catch"](function () {
73
- return _reactNative.Image.prefetch(url);
74
- })["catch"](function () {});
75
- } else {
76
- _reactNative.Image.prefetch(url)["catch"](function () {});
77
- }
78
- };
56
+ var _this = this,
57
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/Message.tsx";
79
58
 
80
59
  var MessageWithContext = function MessageWithContext(props) {
81
60
  var _message$user;
82
61
 
83
- var _props$animatedLongPr = props.animatedLongPress,
84
- animatedLongPress = _props$animatedLongPr === void 0 ? _reactNative.Platform.OS === 'ios' && !props.message.deleted_at : _props$animatedLongPr,
85
- blockUserProp = props.blockUser,
86
- channel = props.channel,
62
+ var isMessageTypeDeleted = props.message.type === 'deleted';
63
+ var channel = props.channel,
87
64
  client = props.client,
88
- copyMessageProp = props.copyMessage,
89
- deleteMessageProp = props.deleteMessage,
90
65
  disabled = props.disabled,
91
66
  dismissKeyboard = props.dismissKeyboard,
92
67
  dismissKeyboardOnMessageTouch = props.dismissKeyboardOnMessageTouch,
93
- editMessageProp = props.editMessage,
94
68
  _props$enableLongPres = props.enableLongPress,
95
69
  enableLongPress = _props$enableLongPres === void 0 ? true : _props$enableLongPres,
96
70
  enforceUniqueReaction = props.enforceUniqueReaction,
97
- flagMessageProp = props.flagMessage,
98
71
  _props$forceAlignMess = props.forceAlignMessages,
99
72
  forceAlignMessages = _props$forceAlignMess === void 0 ? false : _props$forceAlignMess,
100
73
  goToMessage = props.goToMessage,
@@ -106,12 +79,11 @@ var MessageWithContext = function MessageWithContext(props) {
106
79
  handleEdit = props.handleEdit,
107
80
  handleFlag = props.handleFlag,
108
81
  handleMute = props.handleMute,
82
+ handlePinMessage = props.handlePinMessage,
109
83
  handleQuotedReply = props.handleQuotedReply,
110
84
  handleReactionProp = props.handleReaction,
111
85
  handleRetry = props.handleRetry,
112
86
  handleThreadReply = props.handleThreadReply,
113
- isAdmin = props.isAdmin,
114
- isModerator = props.isModerator,
115
87
  lastReceivedId = props.lastReceivedId,
116
88
  members = props.members,
117
89
  message = props.message,
@@ -120,9 +92,6 @@ var MessageWithContext = function MessageWithContext(props) {
120
92
  messageContentOrderProp = props.messageContentOrder,
121
93
  messagesContext = props.messagesContext,
122
94
  MessageSimple = props.MessageSimple,
123
- mutesEnabled = props.mutesEnabled,
124
- muteUserProp = props.muteUser,
125
- onDoubleTapMessageProp = props.onDoubleTapMessage,
126
95
  onLongPressProp = props.onLongPress,
127
96
  onLongPressMessageProp = props.onLongPressMessage,
128
97
  onPressProp = props.onPress,
@@ -133,12 +102,7 @@ var MessageWithContext = function MessageWithContext(props) {
133
102
  openThread = props.openThread,
134
103
  OverlayReactionList = props.OverlayReactionList,
135
104
  preventPress = props.preventPress,
136
- quotedRepliesEnabled = props.quotedRepliesEnabled,
137
- reactionsEnabled = props.reactionsEnabled,
138
- readEventsEnabled = props.readEventsEnabled,
139
105
  removeMessage = props.removeMessage,
140
- quotedReplyProp = props.quotedReply,
141
- retryProp = props.retry,
142
106
  retrySendMessage = props.retrySendMessage,
143
107
  selectReaction = props.selectReaction,
144
108
  setData = props.setData,
@@ -151,60 +115,23 @@ var MessageWithContext = function MessageWithContext(props) {
151
115
  style = props.style,
152
116
  supportedReactions = props.supportedReactions,
153
117
  t = props.t,
154
- targetedMessage = props.targetedMessage,
118
+ isTargetedMessage = props.isTargetedMessage,
155
119
  _props$threadList = props.threadList,
156
120
  threadList = _props$threadList === void 0 ? false : _props$threadList,
157
- threadRepliesEnabled = props.threadRepliesEnabled,
158
- threadReplyProp = props.threadReply,
159
121
  updateMessage = props.updateMessage;
160
122
 
161
123
  var _useTheme = (0, _ThemeContext.useTheme)(),
162
124
  _useTheme$theme = _useTheme.theme,
163
125
  _useTheme$theme$color = _useTheme$theme.colors,
164
- accent_blue = _useTheme$theme$color.accent_blue,
165
- accent_red = _useTheme$theme$color.accent_red,
166
126
  bg_gradient_start = _useTheme$theme$color.bg_gradient_start,
167
- grey = _useTheme$theme$color.grey,
168
127
  targetedMessageBackground = _useTheme$theme$color.targetedMessageBackground,
169
- _useTheme$theme$messa = _useTheme$theme.messageSimple,
170
- _useTheme$theme$messa2 = _useTheme$theme$messa.gallery,
171
- halfSize = _useTheme$theme$messa2.halfSize,
172
- size = _useTheme$theme$messa2.size,
173
- targetedMessageUnderlay = _useTheme$theme$messa.targetedMessageUnderlay;
174
-
175
- var doubleTapRef = (0, _react.useRef)(null);
176
- var pressActive = (0, _reactNativeReanimated.useSharedValue)(false);
177
- var scale = (0, _reactNativeReanimated.useSharedValue)(1);
178
- (0, _react.useEffect)(function () {
179
- return function () {
180
- pressActive.value = false;
181
- (0, _reactNativeReanimated.cancelAnimation)(scale);
182
- };
183
- }, []);
184
- var scaleStyle = (0, _reactNativeReanimated.useAnimatedStyle)(function () {
185
- return {
186
- transform: [{
187
- scale: scale.value
188
- }]
189
- };
190
- }, []);
191
- var targetedOpacity = (0, _reactNativeReanimated.useSharedValue)(0);
192
- var targetedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(function () {
193
- return {
194
- opacity: targetedOpacity.value
195
- };
196
- }, []);
197
- (0, _react.useEffect)(function () {
198
- targetedOpacity.value = (0, _reactNativeReanimated.withTiming)(targetedMessage ? 1 : 0, {
199
- duration: 1000
200
- });
201
- }, [targetedMessage]);
128
+ targetedMessageUnderlay = _useTheme$theme.messageSimple.targetedMessageUnderlay;
129
+
202
130
  var actionsEnabled = message.type === 'regular' && message.status === 'received';
203
131
  var isMyMessage = client && message && client.userID === ((_message$user = message.user) == null ? void 0 : _message$user.id);
204
- var canModifyMessage = isMyMessage || isModerator || isAdmin;
205
132
 
206
133
  var handleAction = function () {
207
- var _ref2 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(name, value) {
134
+ var _ref = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(name, value) {
208
135
  var data;
209
136
  return _regenerator["default"].wrap(function _callee$(_context) {
210
137
  while (1) {
@@ -239,21 +166,16 @@ var MessageWithContext = function MessageWithContext(props) {
239
166
  }));
240
167
 
241
168
  return function handleAction(_x, _x2) {
242
- return _ref2.apply(this, arguments);
169
+ return _ref.apply(this, arguments);
243
170
  };
244
171
  }();
245
172
 
246
173
  var onPressQuotedMessage = function onPressQuotedMessage(quotedMessage) {
247
174
  if (!goToMessage) return;
248
- pressActive.value = false;
249
- (0, _reactNativeReanimated.cancelAnimation)(scale);
250
- scale.value = (0, _reactNativeReanimated.withTiming)(1, {
251
- duration: 100
252
- });
253
175
  goToMessage(quotedMessage.id);
254
176
  };
255
177
 
256
- var _onPress3 = function onPress() {
178
+ var _onPress = function onPress() {
257
179
  var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : message.type === 'error' || message.status === 'failed';
258
180
 
259
181
  if (dismissKeyboardOnMessageTouch) {
@@ -270,7 +192,7 @@ var MessageWithContext = function MessageWithContext(props) {
270
192
  };
271
193
 
272
194
  var alignment = forceAlignMessages && (forceAlignMessages === 'left' || forceAlignMessages === 'right') ? forceAlignMessages : isMyMessage ? 'right' : 'left';
273
- var attachments = !message.deleted_at && Array.isArray(message.attachments) ? message.attachments.reduce(function (acc, cur) {
195
+ var attachments = !isMessageTypeDeleted && Array.isArray(message.attachments) ? message.attachments.reduce(function (acc, cur) {
274
196
  if (cur.type === 'file' || cur.type === 'video') {
275
197
  acc.files.push(cur);
276
198
  acc.other = [];
@@ -293,43 +215,9 @@ var MessageWithContext = function MessageWithContext(props) {
293
215
  images: [],
294
216
  other: []
295
217
  };
296
- var hasAttachmentActions = !message.deleted_at && Array.isArray(message.attachments) && message.attachments.some(function (attachment) {
218
+ var hasAttachmentActions = !isMessageTypeDeleted && Array.isArray(message.attachments) && message.attachments.some(function (attachment) {
297
219
  return attachment.actions && attachment.actions.length;
298
220
  });
299
- var attachmentImageLength = attachments.images.length;
300
- (0, _react.useEffect)(function () {
301
- if (attachmentImageLength) {
302
- attachments.images.slice(0, 4).forEach(function (image, index) {
303
- var url = image.image_url || image.thumb_url;
304
-
305
- if (url) {
306
- if (attachmentImageLength <= 2) {
307
- prefetchImage({
308
- height: size || 200,
309
- url: url
310
- });
311
- } else if (attachmentImageLength === 3) {
312
- if (index === 0) {
313
- prefetchImage({
314
- height: size || 200,
315
- url: url
316
- });
317
- } else {
318
- prefetchImage({
319
- height: halfSize || 100,
320
- url: url
321
- });
322
- }
323
- } else {
324
- prefetchImage({
325
- height: halfSize || 100,
326
- url: url
327
- });
328
- }
329
- }
330
- });
331
- }
332
- }, [attachmentImageLength]);
333
221
  var messageContentOrder = messageContentOrderProp.filter(function (content) {
334
222
  if (content === 'quoted_reply') {
335
223
  return !!message.quoted_message;
@@ -363,7 +251,7 @@ var MessageWithContext = function MessageWithContext(props) {
363
251
  }
364
252
  };
365
253
 
366
- var hasReactions = !!reactionsEnabled && !message.deleted_at && !!message.latest_reactions && message.latest_reactions.length > 0;
254
+ var hasReactions = !isMessageTypeDeleted && !!message.latest_reactions && message.latest_reactions.length > 0;
367
255
  var clientId = client.userID;
368
256
  var reactions = hasReactions ? supportedReactions.reduce(function (acc, cur) {
369
257
  var _message$latest_react;
@@ -385,615 +273,86 @@ var MessageWithContext = function MessageWithContext(props) {
385
273
 
386
274
  return acc;
387
275
  }, []) : [];
276
+ var ownCapabilities = (0, _OwnCapabilitiesContext.useOwnCapabilitiesContext)();
388
277
 
389
- var handleToggleReaction = function () {
390
- var _ref3 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(reactionType) {
391
- var messageId, ownReaction;
392
- return _regenerator["default"].wrap(function _callee2$(_context2) {
393
- while (1) {
394
- switch (_context2.prev = _context2.next) {
395
- case 0:
396
- messageId = message.id;
397
- ownReaction = !!reactions.find(function (reaction) {
398
- return reaction.own && reaction.type === reactionType;
399
- });
400
- _context2.prev = 2;
401
-
402
- if (!(channel && messageId)) {
403
- _context2.next = 11;
404
- break;
405
- }
406
-
407
- if (!ownReaction) {
408
- _context2.next = 9;
409
- break;
410
- }
411
-
412
- _context2.next = 7;
413
- return channel.deleteReaction(messageId, reactionType);
414
-
415
- case 7:
416
- _context2.next = 11;
417
- break;
418
-
419
- case 9:
420
- _context2.next = 11;
421
- return channel.sendReaction(messageId, {
422
- type: reactionType
423
- }, {
424
- enforce_unique: enforceUniqueReaction
425
- });
426
-
427
- case 11:
428
- _context2.next = 16;
429
- break;
430
-
431
- case 13:
432
- _context2.prev = 13;
433
- _context2.t0 = _context2["catch"](2);
434
- console.log(_context2.t0);
435
-
436
- case 16:
437
- case "end":
438
- return _context2.stop();
439
- }
440
- }
441
- }, _callee2, null, [[2, 13]]);
442
- }));
443
-
444
- return function handleToggleReaction(_x3) {
445
- return _ref3.apply(this, arguments);
446
- };
447
- }();
448
-
449
- var handleResendMessage = function handleResendMessage() {
450
- return retrySendMessage(message);
451
- };
452
-
453
- var handleQuotedReplyMessage = function handleQuotedReplyMessage() {
454
- setQuotedMessageState(message);
455
- };
456
-
457
- var isMuted = (client.mutedUsers || []).some(function (mute) {
458
- var _message$user2;
459
-
460
- return mute.user.id === client.userID && mute.target.id === ((_message$user2 = message.user) == null ? void 0 : _message$user2.id);
461
- });
462
-
463
- var handleToggleMuteUser = function () {
464
- var _ref4 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3() {
465
- var _message$user3;
466
-
467
- return _regenerator["default"].wrap(function _callee3$(_context3) {
468
- while (1) {
469
- switch (_context3.prev = _context3.next) {
470
- case 0:
471
- if ((_message$user3 = message.user) != null && _message$user3.id) {
472
- _context3.next = 2;
473
- break;
474
- }
475
-
476
- return _context3.abrupt("return");
477
-
478
- case 2:
479
- if (!isMuted) {
480
- _context3.next = 7;
481
- break;
482
- }
483
-
484
- _context3.next = 5;
485
- return client.unmuteUser(message.user.id);
486
-
487
- case 5:
488
- _context3.next = 9;
489
- break;
490
-
491
- case 7:
492
- _context3.next = 9;
493
- return client.muteUser(message.user.id);
494
-
495
- case 9:
496
- case "end":
497
- return _context3.stop();
498
- }
499
- }
500
- }, _callee3);
501
- }));
502
-
503
- return function handleToggleMuteUser() {
504
- return _ref4.apply(this, arguments);
505
- };
506
- }();
507
-
508
- var handleDeleteMessage = function () {
509
- var _ref5 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4() {
510
- var data;
511
- return _regenerator["default"].wrap(function _callee4$(_context4) {
512
- while (1) {
513
- switch (_context4.prev = _context4.next) {
514
- case 0:
515
- _context4.next = 2;
516
- return client.deleteMessage(message.id);
517
-
518
- case 2:
519
- data = _context4.sent;
520
- updateMessage(data.message);
521
-
522
- case 4:
523
- case "end":
524
- return _context4.stop();
525
- }
526
- }
527
- }, _callee4);
528
- }));
529
-
530
- return function handleDeleteMessage() {
531
- return _ref5.apply(this, arguments);
532
- };
533
- }();
534
-
535
- var handleEditMessage = function handleEditMessage() {
536
- setEditingState(message);
537
- };
538
-
539
- var handleToggleBanUser = function () {
540
- var _ref6 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5() {
541
- var messageUser;
542
- return _regenerator["default"].wrap(function _callee5$(_context5) {
543
- while (1) {
544
- switch (_context5.prev = _context5.next) {
545
- case 0:
546
- messageUser = message.user;
547
-
548
- if (messageUser) {
549
- _context5.next = 3;
550
- break;
551
- }
552
-
553
- return _context5.abrupt("return");
554
-
555
- case 3:
556
- if (!messageUser.banned) {
557
- _context5.next = 8;
558
- break;
559
- }
560
-
561
- _context5.next = 6;
562
- return client.unbanUser(messageUser.id);
563
-
564
- case 6:
565
- _context5.next = 10;
566
- break;
567
-
568
- case 8:
569
- _context5.next = 10;
570
- return client.banUser(messageUser.id);
571
-
572
- case 10:
573
- case "end":
574
- return _context5.stop();
575
- }
576
- }
577
- }, _callee5);
578
- }));
579
-
580
- return function handleToggleBanUser() {
581
- return _ref6.apply(this, arguments);
582
- };
583
- }();
278
+ var _useMessageActionHand = (0, _useMessageActionHandlers.useMessageActionHandlers)({
279
+ channel: channel,
280
+ client: client,
281
+ enforceUniqueReaction: enforceUniqueReaction,
282
+ message: message,
283
+ retrySendMessage: retrySendMessage,
284
+ setEditingState: setEditingState,
285
+ setQuotedMessageState: setQuotedMessageState,
286
+ supportedReactions: supportedReactions,
287
+ updateMessage: updateMessage
288
+ }),
289
+ handleDeleteMessage = _useMessageActionHand.handleDeleteMessage,
290
+ handleEditMessage = _useMessageActionHand.handleEditMessage,
291
+ handleQuotedReplyMessage = _useMessageActionHand.handleQuotedReplyMessage,
292
+ handleResendMessage = _useMessageActionHand.handleResendMessage,
293
+ handleToggleBanUser = _useMessageActionHand.handleToggleBanUser,
294
+ handleToggleMuteUser = _useMessageActionHand.handleToggleMuteUser,
295
+ handleTogglePinMessage = _useMessageActionHand.handleTogglePinMessage,
296
+ handleToggleReaction = _useMessageActionHand.handleToggleReaction;
297
+
298
+ var _useMessageActions = (0, _useMessageActions2.useMessageActions)({
299
+ channel: channel,
300
+ client: client,
301
+ enforceUniqueReaction: enforceUniqueReaction,
302
+ handleBlock: handleBlock,
303
+ handleCopy: handleCopy,
304
+ handleDelete: handleDelete,
305
+ handleEdit: handleEdit,
306
+ handleFlag: handleFlag,
307
+ handleMute: handleMute,
308
+ handlePinMessage: handlePinMessage,
309
+ handleQuotedReply: handleQuotedReply,
310
+ handleReaction: handleReactionProp,
311
+ handleRetry: handleRetry,
312
+ handleThreadReply: handleThreadReply,
313
+ message: message,
314
+ onThreadSelect: onThreadSelect,
315
+ openThread: openThread,
316
+ retrySendMessage: retrySendMessage,
317
+ selectReaction: selectReaction,
318
+ setEditingState: setEditingState,
319
+ setOverlay: setOverlay,
320
+ setQuotedMessageState: setQuotedMessageState,
321
+ supportedReactions: supportedReactions,
322
+ t: t,
323
+ updateMessage: updateMessage
324
+ }),
325
+ blockUser = _useMessageActions.blockUser,
326
+ copyMessage = _useMessageActions.copyMessage,
327
+ deleteMessage = _useMessageActions.deleteMessage,
328
+ editMessage = _useMessageActions.editMessage,
329
+ flagMessage = _useMessageActions.flagMessage,
330
+ handleReaction = _useMessageActions.handleReaction,
331
+ muteUser = _useMessageActions.muteUser,
332
+ pinMessage = _useMessageActions.pinMessage,
333
+ quotedReply = _useMessageActions.quotedReply,
334
+ retry = _useMessageActions.retry,
335
+ threadReply = _useMessageActions.threadReply,
336
+ unpinMessage = _useMessageActions.unpinMessage;
584
337
 
585
338
  var showMessageOverlay = function () {
586
- var _ref7 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee12() {
587
- var _message$user5;
588
-
339
+ var _ref2 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2() {
589
340
  var messageReactions,
590
341
  error,
591
- blockUser,
592
- copyMessage,
593
- deleteMessage,
594
- editMessage,
595
- flagMessage,
596
- handleReaction,
597
- muteUser,
598
- quotedReply,
599
- retry,
600
- threadReply,
601
342
  isThreadMessage,
602
343
  dismissOverlay,
603
344
  messageActions,
604
- _args12 = arguments;
605
- return _regenerator["default"].wrap(function _callee12$(_context12) {
345
+ _args2 = arguments;
346
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
606
347
  while (1) {
607
- switch (_context12.prev = _context12.next) {
348
+ switch (_context2.prev = _context2.next) {
608
349
  case 0:
609
- messageReactions = _args12.length > 0 && _args12[0] !== undefined ? _args12[0] : false;
610
- error = _args12.length > 1 && _args12[1] !== undefined ? _args12[1] : message.type === 'error' || message.status === 'failed';
611
- _context12.next = 4;
350
+ messageReactions = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : false;
351
+ error = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : message.type === 'error' || message.status === 'failed';
352
+ _context2.next = 4;
612
353
  return dismissKeyboard();
613
354
 
614
355
  case 4:
615
- blockUser = blockUserProp ? blockUserProp(message) : blockUserProp === null ? null : {
616
- action: function action() {
617
- return (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee6() {
618
- var _message$user4;
619
-
620
- return _regenerator["default"].wrap(function _callee6$(_context6) {
621
- while (1) {
622
- switch (_context6.prev = _context6.next) {
623
- case 0:
624
- setOverlay('none');
625
-
626
- if (!((_message$user4 = message.user) != null && _message$user4.id)) {
627
- _context6.next = 5;
628
- break;
629
- }
630
-
631
- if (handleBlock) {
632
- handleBlock(message);
633
- }
634
-
635
- _context6.next = 5;
636
- return handleToggleBanUser();
637
-
638
- case 5:
639
- case "end":
640
- return _context6.stop();
641
- }
642
- }
643
- }, _callee6);
644
- }));
645
- },
646
- icon: _react["default"].createElement(_icons.UserDelete, {
647
- pathFill: grey,
648
- __self: _this,
649
- __source: {
650
- fileName: _jsxFileName,
651
- lineNumber: 685,
652
- columnNumber: 17
653
- }
654
- }),
655
- title: (_message$user5 = message.user) != null && _message$user5.banned ? t('Unblock User') : t('Block User')
656
- };
657
- copyMessage = copyMessageProp ? copyMessageProp(message) : copyMessageProp === null ? null : {
658
- action: function action() {
659
- setOverlay('none');
660
-
661
- if (handleCopy) {
662
- handleCopy(message);
663
- }
664
-
665
- _reactNative.Clipboard.setString(message.text || '');
666
- },
667
- icon: _react["default"].createElement(_icons.Copy, {
668
- pathFill: grey,
669
- __self: _this,
670
- __source: {
671
- fileName: _jsxFileName,
672
- lineNumber: 702,
673
- columnNumber: 17
674
- }
675
- }),
676
- title: t('Copy Message')
677
- };
678
- deleteMessage = deleteMessageProp ? deleteMessageProp(message) : deleteMessageProp === null ? null : {
679
- action: function action() {
680
- setOverlay('alert');
681
-
682
- if (message.id) {
683
- _reactNative.Alert.alert(t('Delete Message'), t('Are you sure you want to permanently delete this message?'), [{
684
- onPress: function onPress() {
685
- return setOverlay('none');
686
- },
687
- text: t('Cancel')
688
- }, {
689
- onPress: function () {
690
- var _onPress = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee7() {
691
- return _regenerator["default"].wrap(function _callee7$(_context7) {
692
- while (1) {
693
- switch (_context7.prev = _context7.next) {
694
- case 0:
695
- setOverlay('none');
696
-
697
- if (handleDelete) {
698
- handleDelete(message);
699
- }
700
-
701
- _context7.next = 4;
702
- return handleDeleteMessage();
703
-
704
- case 4:
705
- case "end":
706
- return _context7.stop();
707
- }
708
- }
709
- }, _callee7);
710
- }));
711
-
712
- function onPress() {
713
- return _onPress.apply(this, arguments);
714
- }
715
-
716
- return onPress;
717
- }(),
718
- style: 'destructive',
719
- text: t('Delete')
720
- }], {
721
- cancelable: false
722
- });
723
- }
724
- },
725
- icon: _react["default"].createElement(_icons.Delete, {
726
- pathFill: accent_red,
727
- __self: _this,
728
- __source: {
729
- fileName: _jsxFileName,
730
- lineNumber: 736,
731
- columnNumber: 17
732
- }
733
- }),
734
- title: t('Delete Message'),
735
- titleStyle: {
736
- color: accent_red
737
- }
738
- };
739
- editMessage = editMessageProp ? editMessageProp(message) : editMessageProp === null ? null : {
740
- action: function action() {
741
- setOverlay('none');
742
-
743
- if (handleEdit) {
744
- handleEdit(message);
745
- }
746
-
747
- handleEditMessage();
748
- },
749
- icon: _react["default"].createElement(_icons.Edit, {
750
- pathFill: grey,
751
- __self: _this,
752
- __source: {
753
- fileName: _jsxFileName,
754
- lineNumber: 753,
755
- columnNumber: 17
756
- }
757
- }),
758
- title: t('Edit Message')
759
- };
760
- flagMessage = flagMessageProp ? flagMessageProp(message) : flagMessageProp === null ? null : {
761
- action: function action() {
762
- setOverlay('alert');
763
-
764
- if (message.id) {
765
- _reactNative.Alert.alert(t('Flag Message'), t('Do you want to send a copy of this message to a moderator for further investigation?'), [{
766
- onPress: function onPress() {
767
- return setOverlay('none');
768
- },
769
- text: t('Cancel')
770
- }, {
771
- onPress: function () {
772
- var _onPress2 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee8() {
773
- return _regenerator["default"].wrap(function _callee8$(_context8) {
774
- while (1) {
775
- switch (_context8.prev = _context8.next) {
776
- case 0:
777
- _context8.prev = 0;
778
-
779
- if (handleFlag) {
780
- handleFlag(message);
781
- }
782
-
783
- _context8.next = 4;
784
- return client.flagMessage(message.id);
785
-
786
- case 4:
787
- _reactNative.Alert.alert(t('Message flagged'), t('The message has been reported to a moderator.'), [{
788
- onPress: function onPress() {
789
- return setOverlay('none');
790
- },
791
- text: t('Dismiss')
792
- }]);
793
-
794
- _context8.next = 10;
795
- break;
796
-
797
- case 7:
798
- _context8.prev = 7;
799
- _context8.t0 = _context8["catch"](0);
800
-
801
- _reactNative.Alert.alert(t('Something went wrong'), t("The operation couldn't be completed."), [{
802
- onPress: function onPress() {
803
- return setOverlay('none');
804
- },
805
- text: t('Dismiss')
806
- }]);
807
-
808
- case 10:
809
- case "end":
810
- return _context8.stop();
811
- }
812
- }
813
- }, _callee8, null, [[0, 7]]);
814
- }));
815
-
816
- function onPress() {
817
- return _onPress2.apply(this, arguments);
818
- }
819
-
820
- return onPress;
821
- }(),
822
- text: t('Flag')
823
- }], {
824
- cancelable: false
825
- });
826
- }
827
- },
828
- icon: _react["default"].createElement(_icons.MessageFlag, {
829
- pathFill: grey,
830
- __self: _this,
831
- __source: {
832
- fileName: _jsxFileName,
833
- lineNumber: 809,
834
- columnNumber: 17
835
- }
836
- }),
837
- title: t('Flag Message')
838
- };
839
- handleReaction = !error ? selectReaction ? selectReaction(message) : function () {
840
- var _ref9 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee9(reactionType) {
841
- return _regenerator["default"].wrap(function _callee9$(_context9) {
842
- while (1) {
843
- switch (_context9.prev = _context9.next) {
844
- case 0:
845
- if (handleReactionProp) {
846
- handleReactionProp(message, reactionType);
847
- }
848
-
849
- _context9.next = 3;
850
- return handleToggleReaction(reactionType);
851
-
852
- case 3:
853
- case "end":
854
- return _context9.stop();
855
- }
856
- }
857
- }, _callee9);
858
- }));
859
-
860
- return function (_x4) {
861
- return _ref9.apply(this, arguments);
862
- };
863
- }() : undefined;
864
- muteUser = muteUserProp ? muteUserProp(message) : muteUserProp === null ? null : {
865
- action: function () {
866
- var _action = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee10() {
867
- var _message$user6;
868
-
869
- return _regenerator["default"].wrap(function _callee10$(_context10) {
870
- while (1) {
871
- switch (_context10.prev = _context10.next) {
872
- case 0:
873
- setOverlay('none');
874
-
875
- if (!((_message$user6 = message.user) != null && _message$user6.id)) {
876
- _context10.next = 5;
877
- break;
878
- }
879
-
880
- if (handleMute) {
881
- handleMute(message);
882
- }
883
-
884
- _context10.next = 5;
885
- return handleToggleMuteUser();
886
-
887
- case 5:
888
- case "end":
889
- return _context10.stop();
890
- }
891
- }
892
- }, _callee10);
893
- }));
894
-
895
- function action() {
896
- return _action.apply(this, arguments);
897
- }
898
-
899
- return action;
900
- }(),
901
- icon: _react["default"].createElement(_icons.Mute, {
902
- pathFill: grey,
903
- __self: _this,
904
- __source: {
905
- fileName: _jsxFileName,
906
- lineNumber: 840,
907
- columnNumber: 17
908
- }
909
- }),
910
- title: isMuted ? t('Unmute User') : t('Mute User')
911
- };
912
- quotedReply = quotedReplyProp ? quotedReplyProp(message) : quotedReplyProp === null ? null : {
913
- action: function action() {
914
- setOverlay('none');
915
-
916
- if (handleQuotedReply) {
917
- handleQuotedReply(message);
918
- }
919
-
920
- handleQuotedReplyMessage();
921
- },
922
- icon: _react["default"].createElement(_icons.CurveLineLeftUp, {
923
- pathFill: grey,
924
- __self: _this,
925
- __source: {
926
- fileName: _jsxFileName,
927
- lineNumber: 856,
928
- columnNumber: 17
929
- }
930
- }),
931
- title: t('Reply')
932
- };
933
- retry = retryProp ? retryProp(message) : retryProp === null ? null : {
934
- action: function () {
935
- var _action2 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee11() {
936
- var messageWithoutReservedFields;
937
- return _regenerator["default"].wrap(function _callee11$(_context11) {
938
- while (1) {
939
- switch (_context11.prev = _context11.next) {
940
- case 0:
941
- setOverlay('none');
942
- messageWithoutReservedFields = (0, _removeReservedFields.removeReservedFields)(message);
943
-
944
- if (handleRetry) {
945
- handleRetry(messageWithoutReservedFields);
946
- }
947
-
948
- _context11.next = 5;
949
- return handleResendMessage();
950
-
951
- case 5:
952
- case "end":
953
- return _context11.stop();
954
- }
955
- }
956
- }, _callee11);
957
- }));
958
-
959
- function action() {
960
- return _action2.apply(this, arguments);
961
- }
962
-
963
- return action;
964
- }(),
965
- icon: _react["default"].createElement(_icons.SendUp, {
966
- pathFill: accent_blue,
967
- __self: _this,
968
- __source: {
969
- fileName: _jsxFileName,
970
- lineNumber: 874,
971
- columnNumber: 17
972
- }
973
- }),
974
- title: t('Resend')
975
- };
976
- threadReply = threadReplyProp ? threadReplyProp(message) : threadReplyProp === null ? null : {
977
- action: function action() {
978
- setOverlay('none');
979
-
980
- if (handleThreadReply) {
981
- handleThreadReply(message);
982
- }
983
-
984
- onOpenThread();
985
- },
986
- icon: _react["default"].createElement(_icons.ThreadReply, {
987
- pathFill: grey,
988
- __self: _this,
989
- __source: {
990
- fileName: _jsxFileName,
991
- lineNumber: 890,
992
- columnNumber: 17
993
- }
994
- }),
995
- title: t('Thread Reply')
996
- };
997
356
  isThreadMessage = threadList || !!message.parent_id;
998
357
 
999
358
  dismissOverlay = function dismissOverlay() {
@@ -1002,7 +361,6 @@ var MessageWithContext = function MessageWithContext(props) {
1002
361
 
1003
362
  messageActions = typeof messageActionsProp !== 'function' ? messageActionsProp : messageActionsProp({
1004
363
  blockUser: blockUser,
1005
- canModifyMessage: canModifyMessage,
1006
364
  copyMessage: copyMessage,
1007
365
  deleteMessage: deleteMessage,
1008
366
  dismissOverlay: dismissOverlay,
@@ -1013,20 +371,20 @@ var MessageWithContext = function MessageWithContext(props) {
1013
371
  isThreadMessage: isThreadMessage,
1014
372
  message: message,
1015
373
  messageReactions: messageReactions,
1016
- mutesEnabled: mutesEnabled,
1017
374
  muteUser: muteUser,
1018
- quotedRepliesEnabled: quotedRepliesEnabled,
375
+ ownCapabilities: ownCapabilities,
376
+ pinMessage: pinMessage,
1019
377
  quotedReply: quotedReply,
1020
378
  retry: retry,
1021
- threadRepliesEnabled: threadRepliesEnabled,
1022
- threadReply: threadReply
379
+ threadReply: threadReply,
380
+ unpinMessage: unpinMessage
1023
381
  });
1024
382
  setData({
1025
383
  alignment: alignment,
1026
384
  clientId: client.userID,
1027
385
  files: attachments.files,
1028
386
  groupStyles: groupStyles,
1029
- handleReaction: reactionsEnabled ? handleReaction : undefined,
387
+ handleReaction: ownCapabilities.sendReaction ? handleReaction : undefined,
1030
388
  images: attachments.images,
1031
389
  message: message,
1032
390
  messageActions: messageActions == null ? void 0 : messageActions.filter(Boolean),
@@ -1041,27 +399,29 @@ var MessageWithContext = function MessageWithContext(props) {
1041
399
  onlyEmojis: onlyEmojis,
1042
400
  otherAttachments: attachments.other,
1043
401
  OverlayReactionList: OverlayReactionList,
402
+ ownCapabilities: ownCapabilities,
1044
403
  supportedReactions: supportedReactions,
1045
404
  threadList: threadList
1046
405
  });
1047
406
  setOverlay('message');
1048
407
 
1049
- case 19:
408
+ case 9:
1050
409
  case "end":
1051
- return _context12.stop();
410
+ return _context2.stop();
1052
411
  }
1053
412
  }
1054
- }, _callee12);
413
+ }, _callee2);
1055
414
  }));
1056
415
 
1057
416
  return function showMessageOverlay() {
1058
- return _ref7.apply(this, arguments);
417
+ return _ref2.apply(this, arguments);
1059
418
  };
1060
419
  }();
1061
420
 
1062
421
  var actionHandlers = {
1063
422
  deleteMessage: handleDeleteMessage,
1064
423
  editMessage: handleEditMessage,
424
+ pinMessage: handleTogglePinMessage,
1065
425
  quotedReply: handleQuotedReplyMessage,
1066
426
  resendMessage: handleResendMessage,
1067
427
  showMessageOverlay: showMessageOverlay,
@@ -1087,24 +447,14 @@ var MessageWithContext = function MessageWithContext(props) {
1087
447
  event: payload == null ? void 0 : payload.event
1088
448
  });
1089
449
  } : enableLongPress ? function () {
1090
- return showMessageOverlay(false);
450
+ (0, _native.triggerHaptic)('impactMedium');
451
+ showMessageOverlay(false);
1091
452
  } : function () {
1092
453
  return null;
1093
454
  };
1094
-
1095
- var onDoubleTapMessage = function onDoubleTapMessage() {
1096
- if (onDoubleTapMessageProp) {
1097
- onDoubleTapMessageProp({
1098
- actionHandlers: actionHandlers,
1099
- message: message
1100
- });
1101
- }
1102
- };
1103
-
1104
455
  var messageContext = (0, _useCreateMessageContext.useCreateMessageContext)({
1105
456
  actionsEnabled: actionsEnabled,
1106
457
  alignment: alignment,
1107
- canModifyMessage: canModifyMessage,
1108
458
  channel: channel,
1109
459
  disabled: disabled,
1110
460
  files: attachments.files,
@@ -1126,25 +476,23 @@ var MessageWithContext = function MessageWithContext(props) {
1126
476
  members: members,
1127
477
  message: message,
1128
478
  messageContentOrder: messageContentOrder,
1129
- onLongPress: !animatedLongPress ? onLongPressMessage : function () {
1130
- return null;
1131
- },
479
+ onLongPress: onLongPressMessage,
1132
480
  onlyEmojis: onlyEmojis,
1133
481
  onOpenThread: onOpenThread,
1134
482
  onPress: function onPress(payload) {
1135
483
  onPressProp ? onPressProp({
1136
484
  actionHandlers: actionHandlers,
1137
- defaultHandler: payload.defaultHandler || _onPress3,
485
+ defaultHandler: payload.defaultHandler || _onPress,
1138
486
  emitter: payload.emitter || 'message',
1139
487
  event: payload.event,
1140
488
  message: message
1141
489
  }) : onPressMessageProp ? onPressMessageProp({
1142
490
  actionHandlers: actionHandlers,
1143
- defaultHandler: payload.defaultHandler || _onPress3,
491
+ defaultHandler: payload.defaultHandler || _onPress,
1144
492
  emitter: payload.emitter || 'message',
1145
493
  event: payload.event,
1146
494
  message: message
1147
- }) : payload.defaultHandler ? payload.defaultHandler() : _onPress3();
495
+ }) : payload.defaultHandler ? payload.defaultHandler() : _onPress();
1148
496
  },
1149
497
  onPressIn: onPressInProp || onPressInMessageProp ? function (payload) {
1150
498
  onPressInProp ? onPressInProp({
@@ -1164,144 +512,95 @@ var MessageWithContext = function MessageWithContext(props) {
1164
512
  otherAttachments: attachments.other,
1165
513
  preventPress: preventPress,
1166
514
  reactions: reactions,
1167
- readEventsEnabled: readEventsEnabled,
1168
515
  showAvatar: showAvatar,
1169
516
  showMessageOverlay: showMessageOverlay,
1170
517
  showMessageStatus: typeof showMessageStatus === 'boolean' ? showMessageStatus : isMyMessage,
1171
518
  threadList: threadList
1172
519
  });
1173
- var onLongPressTouchable = (0, _reactNativeReanimated.useAnimatedGestureHandler)({
1174
- onFinish: function onFinish() {
1175
- pressActive.value = false;
1176
- (0, _reactNativeReanimated.cancelAnimation)(scale);
1177
- scale.value = (0, _reactNativeReanimated.withTiming)(1, {
1178
- duration: 100
1179
- });
1180
- },
1181
- onStart: function onStart() {
1182
- pressActive.value = true;
1183
- (0, _reactNativeReanimated.cancelAnimation)(scale);
1184
- scale.value = (0, _reactNativeReanimated.withSequence)((0, _reactNativeReanimated.withTiming)(1, {
1185
- duration: 100
1186
- }), (0, _reactNativeReanimated.withTiming)(0.98, {
1187
- duration: 400
1188
- }, function () {
1189
- if (pressActive.value) {
1190
- (0, _reactNativeReanimated.runOnJS)(onLongPressMessage)();
1191
- (0, _reactNativeReanimated.runOnJS)(_native.triggerHaptic)('impactMedium');
1192
- }
1193
- }), (0, _reactNativeReanimated.withTiming)(1.02, {
1194
- duration: 100
1195
- }), (0, _reactNativeReanimated.withTiming)(1.0, {
1196
- duration: 300
1197
- }));
1198
- }
1199
- }, [onLongPressMessage]);
1200
- var onDoubleTap = (0, _reactNativeReanimated.useAnimatedGestureHandler)({
1201
- onActive: function onActive() {
1202
- pressActive.value = false;
1203
- (0, _reactNativeReanimated.cancelAnimation)(scale);
1204
- scale.value = (0, _reactNativeReanimated.withTiming)(1, {
1205
- duration: 100
1206
- });
1207
- (0, _reactNativeReanimated.runOnJS)(onDoubleTapMessage)();
1208
- }
1209
- }, [onDoubleTapMessage]);
1210
- return message.deleted_at || messageContentOrder.length ? _react["default"].createElement(_reactNativeGestureHandler.TapGestureHandler, {
1211
- enabled: animatedLongPress && !preventPress,
1212
- maxDeltaX: 8,
1213
- maxDurationMs: 3000,
1214
- onGestureEvent: animatedLongPress ? onLongPressTouchable : undefined,
1215
- waitFor: doubleTapRef,
1216
- __self: _this,
1217
- __source: {
1218
- fileName: _jsxFileName,
1219
- lineNumber: 1110,
1220
- columnNumber: 5
1221
- }
1222
- }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
520
+ if (!(isMessageTypeDeleted || messageContentOrder.length)) return null;
521
+ return _react["default"].createElement(_reactNative.View, {
522
+ style: [message.pinned && {
523
+ backgroundColor: targetedMessageBackground
524
+ }],
1223
525
  testID: "message-wrapper",
1224
526
  __self: _this,
1225
527
  __source: {
1226
528
  fileName: _jsxFileName,
1227
- lineNumber: 1117,
1228
- columnNumber: 7
1229
- }
1230
- }, _react["default"].createElement(_reactNativeGestureHandler.TapGestureHandler, {
1231
- enabled: !preventPress,
1232
- numberOfTaps: 2,
1233
- onGestureEvent: onDoubleTap,
1234
- ref: doubleTapRef,
1235
- __self: _this,
1236
- __source: {
1237
- fileName: _jsxFileName,
1238
- lineNumber: 1118,
1239
- columnNumber: 9
529
+ lineNumber: 682,
530
+ columnNumber: 5
1240
531
  }
1241
- }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
532
+ }, _react["default"].createElement(_reactNative.View, {
1242
533
  style: [style, {
1243
534
  backgroundColor: showUnreadUnderlay ? bg_gradient_start : undefined
1244
- }, scaleStyle],
535
+ }],
1245
536
  __self: _this,
1246
537
  __source: {
1247
538
  fileName: _jsxFileName,
1248
- lineNumber: 1124,
1249
- columnNumber: 11
539
+ lineNumber: 686,
540
+ columnNumber: 7
1250
541
  }
1251
- }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
1252
- style: [_reactNative.StyleSheet.absoluteFillObject, targetedMessageUnderlay, {
542
+ }, _react["default"].createElement(_reactNative.View, {
543
+ style: [isTargetedMessage ? (0, _extends2["default"])({
1253
544
  backgroundColor: targetedMessageBackground
1254
- }, targetedStyle],
545
+ }, targetedMessageUnderlay) : {}],
1255
546
  __self: _this,
1256
547
  __source: {
1257
548
  fileName: _jsxFileName,
1258
- lineNumber: 1133,
1259
- columnNumber: 13
549
+ lineNumber: 694,
550
+ columnNumber: 9
1260
551
  }
1261
- }), _react["default"].createElement(_MessageContext.MessageProvider, {
552
+ }, _react["default"].createElement(_MessageContext.MessageProvider, {
1262
553
  value: messageContext,
1263
554
  __self: _this,
1264
555
  __source: {
1265
556
  fileName: _jsxFileName,
1266
- lineNumber: 1141,
1267
- columnNumber: 13
557
+ lineNumber: 701,
558
+ columnNumber: 11
1268
559
  }
1269
560
  }, _react["default"].createElement(MessageSimple, {
1270
561
  __self: _this,
1271
562
  __source: {
1272
563
  fileName: _jsxFileName,
1273
- lineNumber: 1142,
1274
- columnNumber: 15
564
+ lineNumber: 702,
565
+ columnNumber: 13
1275
566
  }
1276
- })))))) : null;
567
+ })))));
1277
568
  };
1278
569
 
1279
570
  var areEqual = function areEqual(prevProps, nextProps) {
1280
571
  var _prevMessage$quoted_m, _nextMessage$quoted_m, _prevMessage$quoted_m2, _nextMessage$quoted_m2, _prevMessage$user, _nextMessage$user;
1281
572
 
1282
573
  var prevGoToMessage = prevProps.goToMessage,
574
+ prevIsTargetedMessage = prevProps.isTargetedMessage,
1283
575
  prevLastReceivedId = prevProps.lastReceivedId,
576
+ prevMembers = prevProps.members,
1284
577
  prevMessage = prevProps.message,
1285
578
  prevMutedUsers = prevProps.mutedUsers,
1286
579
  prevShowUnreadUnderlay = prevProps.showUnreadUnderlay,
1287
- prevT = prevProps.t,
1288
- prevTargetedMessage = prevProps.targetedMessage;
580
+ prevT = prevProps.t;
1289
581
  var nextGoToMessage = nextProps.goToMessage,
582
+ nextIsTargetedMessage = nextProps.isTargetedMessage,
1290
583
  nextLastReceivedId = nextProps.lastReceivedId,
584
+ nextMembers = nextProps.members,
1291
585
  nextMessage = nextProps.message,
1292
586
  nextMutedUsers = nextProps.mutedUsers,
1293
587
  nextShowUnreadUnderlay = nextProps.showUnreadUnderlay,
1294
- nextT = nextProps.t,
1295
- nextTargetedMessage = nextProps.targetedMessage;
588
+ nextT = nextProps.t;
589
+ var membersEqual = Object.keys(prevMembers).length === Object.keys(nextMembers).length;
590
+ if (!membersEqual) return false;
1296
591
  var repliesEqual = prevMessage.reply_count === nextMessage.reply_count;
1297
592
  if (!repliesEqual) return false;
1298
593
  var lastReceivedIdChangedAndMatters = prevLastReceivedId !== nextLastReceivedId && (prevLastReceivedId === prevMessage.id || prevLastReceivedId === nextMessage.id || nextLastReceivedId === prevMessage.id || nextLastReceivedId === nextMessage.id);
1299
594
  if (lastReceivedIdChangedAndMatters) return false;
1300
595
  var goToMessageChangedAndMatters = nextMessage.quoted_message_id && prevGoToMessage !== nextGoToMessage;
1301
596
  if (goToMessageChangedAndMatters) return false;
1302
- var messageEqual = prevMessage.deleted_at === nextMessage.deleted_at && ((0, _useMessageList.isMessageWithStylesReadByAndDateSeparator)(prevMessage) && prevMessage.readBy) === ((0, _useMessageList.isMessageWithStylesReadByAndDateSeparator)(nextMessage) && nextMessage.readBy) && prevMessage.status === nextMessage.status && prevMessage.type === nextMessage.type && prevMessage.text === nextMessage.text && prevMessage.updated_at === nextMessage.updated_at;
597
+ var isPrevMessageTypeDeleted = prevMessage.type === 'deleted';
598
+ var isNextMessageTypeDeleted = nextMessage.type === 'deleted';
599
+ var messageEqual = isPrevMessageTypeDeleted === isNextMessageTypeDeleted && ((0, _useMessageList.isMessageWithStylesReadByAndDateSeparator)(prevMessage) && prevMessage.readBy) === ((0, _useMessageList.isMessageWithStylesReadByAndDateSeparator)(nextMessage) && nextMessage.readBy) && prevMessage.status === nextMessage.status && prevMessage.type === nextMessage.type && prevMessage.text === nextMessage.text && prevMessage.updated_at === nextMessage.updated_at && prevMessage.pinned === nextMessage.pinned;
1303
600
  if (!messageEqual) return false;
1304
- var quotedMessageEqual = ((_prevMessage$quoted_m = prevMessage.quoted_message) == null ? void 0 : _prevMessage$quoted_m.id) === ((_nextMessage$quoted_m = nextMessage.quoted_message) == null ? void 0 : _nextMessage$quoted_m.id) && ((_prevMessage$quoted_m2 = prevMessage.quoted_message) == null ? void 0 : _prevMessage$quoted_m2.deleted_at) === ((_nextMessage$quoted_m2 = nextMessage.quoted_message) == null ? void 0 : _nextMessage$quoted_m2.deleted_at);
601
+ var isPrevQuotedMessageTypeDeleted = ((_prevMessage$quoted_m = prevMessage.quoted_message) == null ? void 0 : _prevMessage$quoted_m.type) === 'deleted';
602
+ var isNextQuotedMessageTypeDeleted = ((_nextMessage$quoted_m = nextMessage.quoted_message) == null ? void 0 : _nextMessage$quoted_m.type) === 'deleted';
603
+ var quotedMessageEqual = ((_prevMessage$quoted_m2 = prevMessage.quoted_message) == null ? void 0 : _prevMessage$quoted_m2.id) === ((_nextMessage$quoted_m2 = nextMessage.quoted_message) == null ? void 0 : _nextMessage$quoted_m2.id) && isPrevQuotedMessageTypeDeleted === isNextQuotedMessageTypeDeleted;
1305
604
  if (!quotedMessageEqual) return false;
1306
605
  var messageUserBannedEqual = ((_prevMessage$user = prevMessage.user) == null ? void 0 : _prevMessage$user.banned) === ((_nextMessage$user = nextMessage.user) == null ? void 0 : _nextMessage$user.banned);
1307
606
  if (!messageUserBannedEqual) return false;
@@ -1311,10 +610,10 @@ var areEqual = function areEqual(prevProps, nextProps) {
1311
610
  return attachment.type === 'image' ? attachment.image_url === nextMessageAttachments[index].image_url && attachment.thumb_url === nextMessageAttachments[index].thumb_url : attachment.type === nextMessageAttachments[index].type;
1312
611
  }) || prevMessageAttachments === nextMessageAttachments;
1313
612
  if (!attachmentsEqual) return false;
1314
- var latestReactionsEqual = Array.isArray(prevMessage.latest_reactions) && Array.isArray(nextMessage.latest_reactions) ? prevMessage.latest_reactions.length === nextMessage.latest_reactions.length && prevMessage.latest_reactions.every(function (_ref10, index) {
613
+ var latestReactionsEqual = Array.isArray(prevMessage.latest_reactions) && Array.isArray(nextMessage.latest_reactions) ? prevMessage.latest_reactions.length === nextMessage.latest_reactions.length && prevMessage.latest_reactions.every(function (_ref3, index) {
1315
614
  var _nextMessage$latest_r;
1316
615
 
1317
- var type = _ref10.type;
616
+ var type = _ref3.type;
1318
617
  return type === ((_nextMessage$latest_r = nextMessage.latest_reactions) == null ? void 0 : _nextMessage$latest_r[index].type);
1319
618
  }) : prevMessage.latest_reactions === nextMessage.latest_reactions;
1320
619
  if (!latestReactionsEqual) return false;
@@ -1332,7 +631,7 @@ var areEqual = function areEqual(prevProps, nextProps) {
1332
631
  if (!showUnreadUnderlayEqual) return false;
1333
632
  var tEqual = prevT === nextT;
1334
633
  if (!tEqual) return false;
1335
- var targetedMessageEqual = prevTargetedMessage === nextTargetedMessage;
634
+ var targetedMessageEqual = prevIsTargetedMessage === nextIsTargetedMessage;
1336
635
  if (!targetedMessageEqual) return false;
1337
636
  return true;
1338
637
  };
@@ -1344,10 +643,7 @@ var Message = function Message(props) {
1344
643
  channel = _useChannelContext.channel,
1345
644
  disabled = _useChannelContext.disabled,
1346
645
  enforceUniqueReaction = _useChannelContext.enforceUniqueReaction,
1347
- isAdmin = _useChannelContext.isAdmin,
1348
- isModerator = _useChannelContext.isModerator,
1349
- members = _useChannelContext.members,
1350
- readEventsEnabled = _useChannelContext.readEventsEnabled;
646
+ members = _useChannelContext.members;
1351
647
 
1352
648
  var _useChatContext = (0, _ChatContext.useChatContext)(),
1353
649
  client = _useChatContext.client,
@@ -1376,13 +672,10 @@ var Message = function Message(props) {
1376
672
  disabled: disabled,
1377
673
  dismissKeyboard: dismissKeyboard,
1378
674
  enforceUniqueReaction: enforceUniqueReaction,
1379
- isAdmin: isAdmin,
1380
- isModerator: isModerator,
1381
675
  members: members,
1382
676
  messagesContext: messagesContext,
1383
677
  mutedUsers: mutedUsers,
1384
678
  openThread: openThread,
1385
- readEventsEnabled: readEventsEnabled,
1386
679
  setData: setData,
1387
680
  setOverlay: setOverlay,
1388
681
  t: t
@@ -1390,7 +683,7 @@ var Message = function Message(props) {
1390
683
  __self: _this,
1391
684
  __source: {
1392
685
  fileName: _jsxFileName,
1393
- lineNumber: 1309,
686
+ lineNumber: 873,
1394
687
  columnNumber: 5
1395
688
  }
1396
689
  }));