stream-chat-react-native-core 3.10.2 → 4.0.0-beta.1

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 -857
  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 +30 -11
  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 -857
  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 +30 -11
  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 +11 -0
  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,621 +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 () {
617
- var _action = (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
- function action() {
647
- return _action.apply(this, arguments);
648
- }
649
-
650
- return action;
651
- }(),
652
- icon: _react["default"].createElement(_icons.UserDelete, {
653
- pathFill: grey,
654
- __self: _this,
655
- __source: {
656
- fileName: _jsxFileName,
657
- lineNumber: 685,
658
- columnNumber: 17
659
- }
660
- }),
661
- title: (_message$user5 = message.user) != null && _message$user5.banned ? t('Unblock User') : t('Block User')
662
- };
663
- copyMessage = copyMessageProp ? copyMessageProp(message) : copyMessageProp === null ? null : {
664
- action: function action() {
665
- setOverlay('none');
666
-
667
- if (handleCopy) {
668
- handleCopy(message);
669
- }
670
-
671
- _reactNative.Clipboard.setString(message.text || '');
672
- },
673
- icon: _react["default"].createElement(_icons.Copy, {
674
- pathFill: grey,
675
- __self: _this,
676
- __source: {
677
- fileName: _jsxFileName,
678
- lineNumber: 702,
679
- columnNumber: 17
680
- }
681
- }),
682
- title: t('Copy Message')
683
- };
684
- deleteMessage = deleteMessageProp ? deleteMessageProp(message) : deleteMessageProp === null ? null : {
685
- action: function action() {
686
- setOverlay('alert');
687
-
688
- if (message.id) {
689
- _reactNative.Alert.alert(t('Delete Message'), t('Are you sure you want to permanently delete this message?'), [{
690
- onPress: function onPress() {
691
- return setOverlay('none');
692
- },
693
- text: t('Cancel')
694
- }, {
695
- onPress: function () {
696
- var _onPress = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee7() {
697
- return _regenerator["default"].wrap(function _callee7$(_context7) {
698
- while (1) {
699
- switch (_context7.prev = _context7.next) {
700
- case 0:
701
- setOverlay('none');
702
-
703
- if (handleDelete) {
704
- handleDelete(message);
705
- }
706
-
707
- _context7.next = 4;
708
- return handleDeleteMessage();
709
-
710
- case 4:
711
- case "end":
712
- return _context7.stop();
713
- }
714
- }
715
- }, _callee7);
716
- }));
717
-
718
- function onPress() {
719
- return _onPress.apply(this, arguments);
720
- }
721
-
722
- return onPress;
723
- }(),
724
- style: 'destructive',
725
- text: t('Delete')
726
- }], {
727
- cancelable: false
728
- });
729
- }
730
- },
731
- icon: _react["default"].createElement(_icons.Delete, {
732
- pathFill: accent_red,
733
- __self: _this,
734
- __source: {
735
- fileName: _jsxFileName,
736
- lineNumber: 736,
737
- columnNumber: 17
738
- }
739
- }),
740
- title: t('Delete Message'),
741
- titleStyle: {
742
- color: accent_red
743
- }
744
- };
745
- editMessage = editMessageProp ? editMessageProp(message) : editMessageProp === null ? null : {
746
- action: function action() {
747
- setOverlay('none');
748
-
749
- if (handleEdit) {
750
- handleEdit(message);
751
- }
752
-
753
- handleEditMessage();
754
- },
755
- icon: _react["default"].createElement(_icons.Edit, {
756
- pathFill: grey,
757
- __self: _this,
758
- __source: {
759
- fileName: _jsxFileName,
760
- lineNumber: 753,
761
- columnNumber: 17
762
- }
763
- }),
764
- title: t('Edit Message')
765
- };
766
- flagMessage = flagMessageProp ? flagMessageProp(message) : flagMessageProp === null ? null : {
767
- action: function action() {
768
- setOverlay('alert');
769
-
770
- if (message.id) {
771
- _reactNative.Alert.alert(t('Flag Message'), t('Do you want to send a copy of this message to a moderator for further investigation?'), [{
772
- onPress: function onPress() {
773
- return setOverlay('none');
774
- },
775
- text: t('Cancel')
776
- }, {
777
- onPress: function () {
778
- var _onPress2 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee8() {
779
- return _regenerator["default"].wrap(function _callee8$(_context8) {
780
- while (1) {
781
- switch (_context8.prev = _context8.next) {
782
- case 0:
783
- _context8.prev = 0;
784
-
785
- if (handleFlag) {
786
- handleFlag(message);
787
- }
788
-
789
- _context8.next = 4;
790
- return client.flagMessage(message.id);
791
-
792
- case 4:
793
- _reactNative.Alert.alert(t('Message flagged'), t('The message has been reported to a moderator.'), [{
794
- onPress: function onPress() {
795
- return setOverlay('none');
796
- },
797
- text: t('Dismiss')
798
- }]);
799
-
800
- _context8.next = 10;
801
- break;
802
-
803
- case 7:
804
- _context8.prev = 7;
805
- _context8.t0 = _context8["catch"](0);
806
-
807
- _reactNative.Alert.alert(t('Something went wrong'), t("The operation couldn't be completed."), [{
808
- onPress: function onPress() {
809
- return setOverlay('none');
810
- },
811
- text: t('Dismiss')
812
- }]);
813
-
814
- case 10:
815
- case "end":
816
- return _context8.stop();
817
- }
818
- }
819
- }, _callee8, null, [[0, 7]]);
820
- }));
821
-
822
- function onPress() {
823
- return _onPress2.apply(this, arguments);
824
- }
825
-
826
- return onPress;
827
- }(),
828
- text: t('Flag')
829
- }], {
830
- cancelable: false
831
- });
832
- }
833
- },
834
- icon: _react["default"].createElement(_icons.MessageFlag, {
835
- pathFill: grey,
836
- __self: _this,
837
- __source: {
838
- fileName: _jsxFileName,
839
- lineNumber: 809,
840
- columnNumber: 17
841
- }
842
- }),
843
- title: t('Flag Message')
844
- };
845
- handleReaction = !error ? selectReaction ? selectReaction(message) : function () {
846
- var _ref8 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee9(reactionType) {
847
- return _regenerator["default"].wrap(function _callee9$(_context9) {
848
- while (1) {
849
- switch (_context9.prev = _context9.next) {
850
- case 0:
851
- if (handleReactionProp) {
852
- handleReactionProp(message, reactionType);
853
- }
854
-
855
- _context9.next = 3;
856
- return handleToggleReaction(reactionType);
857
-
858
- case 3:
859
- case "end":
860
- return _context9.stop();
861
- }
862
- }
863
- }, _callee9);
864
- }));
865
-
866
- return function (_x4) {
867
- return _ref8.apply(this, arguments);
868
- };
869
- }() : undefined;
870
- muteUser = muteUserProp ? muteUserProp(message) : muteUserProp === null ? null : {
871
- action: function () {
872
- var _action2 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee10() {
873
- var _message$user6;
874
-
875
- return _regenerator["default"].wrap(function _callee10$(_context10) {
876
- while (1) {
877
- switch (_context10.prev = _context10.next) {
878
- case 0:
879
- setOverlay('none');
880
-
881
- if (!((_message$user6 = message.user) != null && _message$user6.id)) {
882
- _context10.next = 5;
883
- break;
884
- }
885
-
886
- if (handleMute) {
887
- handleMute(message);
888
- }
889
-
890
- _context10.next = 5;
891
- return handleToggleMuteUser();
892
-
893
- case 5:
894
- case "end":
895
- return _context10.stop();
896
- }
897
- }
898
- }, _callee10);
899
- }));
900
-
901
- function action() {
902
- return _action2.apply(this, arguments);
903
- }
904
-
905
- return action;
906
- }(),
907
- icon: _react["default"].createElement(_icons.Mute, {
908
- pathFill: grey,
909
- __self: _this,
910
- __source: {
911
- fileName: _jsxFileName,
912
- lineNumber: 840,
913
- columnNumber: 17
914
- }
915
- }),
916
- title: isMuted ? t('Unmute User') : t('Mute User')
917
- };
918
- quotedReply = quotedReplyProp ? quotedReplyProp(message) : quotedReplyProp === null ? null : {
919
- action: function action() {
920
- setOverlay('none');
921
-
922
- if (handleQuotedReply) {
923
- handleQuotedReply(message);
924
- }
925
-
926
- handleQuotedReplyMessage();
927
- },
928
- icon: _react["default"].createElement(_icons.CurveLineLeftUp, {
929
- pathFill: grey,
930
- __self: _this,
931
- __source: {
932
- fileName: _jsxFileName,
933
- lineNumber: 856,
934
- columnNumber: 17
935
- }
936
- }),
937
- title: t('Reply')
938
- };
939
- retry = retryProp ? retryProp(message) : retryProp === null ? null : {
940
- action: function () {
941
- var _action3 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee11() {
942
- var messageWithoutReservedFields;
943
- return _regenerator["default"].wrap(function _callee11$(_context11) {
944
- while (1) {
945
- switch (_context11.prev = _context11.next) {
946
- case 0:
947
- setOverlay('none');
948
- messageWithoutReservedFields = (0, _removeReservedFields.removeReservedFields)(message);
949
-
950
- if (handleRetry) {
951
- handleRetry(messageWithoutReservedFields);
952
- }
953
-
954
- _context11.next = 5;
955
- return handleResendMessage();
956
-
957
- case 5:
958
- case "end":
959
- return _context11.stop();
960
- }
961
- }
962
- }, _callee11);
963
- }));
964
-
965
- function action() {
966
- return _action3.apply(this, arguments);
967
- }
968
-
969
- return action;
970
- }(),
971
- icon: _react["default"].createElement(_icons.SendUp, {
972
- pathFill: accent_blue,
973
- __self: _this,
974
- __source: {
975
- fileName: _jsxFileName,
976
- lineNumber: 874,
977
- columnNumber: 17
978
- }
979
- }),
980
- title: t('Resend')
981
- };
982
- threadReply = threadReplyProp ? threadReplyProp(message) : threadReplyProp === null ? null : {
983
- action: function action() {
984
- setOverlay('none');
985
-
986
- if (handleThreadReply) {
987
- handleThreadReply(message);
988
- }
989
-
990
- onOpenThread();
991
- },
992
- icon: _react["default"].createElement(_icons.ThreadReply, {
993
- pathFill: grey,
994
- __self: _this,
995
- __source: {
996
- fileName: _jsxFileName,
997
- lineNumber: 890,
998
- columnNumber: 17
999
- }
1000
- }),
1001
- title: t('Thread Reply')
1002
- };
1003
356
  isThreadMessage = threadList || !!message.parent_id;
1004
357
 
1005
358
  dismissOverlay = function dismissOverlay() {
@@ -1008,7 +361,6 @@ var MessageWithContext = function MessageWithContext(props) {
1008
361
 
1009
362
  messageActions = typeof messageActionsProp !== 'function' ? messageActionsProp : messageActionsProp({
1010
363
  blockUser: blockUser,
1011
- canModifyMessage: canModifyMessage,
1012
364
  copyMessage: copyMessage,
1013
365
  deleteMessage: deleteMessage,
1014
366
  dismissOverlay: dismissOverlay,
@@ -1019,20 +371,20 @@ var MessageWithContext = function MessageWithContext(props) {
1019
371
  isThreadMessage: isThreadMessage,
1020
372
  message: message,
1021
373
  messageReactions: messageReactions,
1022
- mutesEnabled: mutesEnabled,
1023
374
  muteUser: muteUser,
1024
- quotedRepliesEnabled: quotedRepliesEnabled,
375
+ ownCapabilities: ownCapabilities,
376
+ pinMessage: pinMessage,
1025
377
  quotedReply: quotedReply,
1026
378
  retry: retry,
1027
- threadRepliesEnabled: threadRepliesEnabled,
1028
- threadReply: threadReply
379
+ threadReply: threadReply,
380
+ unpinMessage: unpinMessage
1029
381
  });
1030
382
  setData({
1031
383
  alignment: alignment,
1032
384
  clientId: client.userID,
1033
385
  files: attachments.files,
1034
386
  groupStyles: groupStyles,
1035
- handleReaction: reactionsEnabled ? handleReaction : undefined,
387
+ handleReaction: ownCapabilities.sendReaction ? handleReaction : undefined,
1036
388
  images: attachments.images,
1037
389
  message: message,
1038
390
  messageActions: messageActions == null ? void 0 : messageActions.filter(Boolean),
@@ -1047,27 +399,29 @@ var MessageWithContext = function MessageWithContext(props) {
1047
399
  onlyEmojis: onlyEmojis,
1048
400
  otherAttachments: attachments.other,
1049
401
  OverlayReactionList: OverlayReactionList,
402
+ ownCapabilities: ownCapabilities,
1050
403
  supportedReactions: supportedReactions,
1051
404
  threadList: threadList
1052
405
  });
1053
406
  setOverlay('message');
1054
407
 
1055
- case 19:
408
+ case 9:
1056
409
  case "end":
1057
- return _context12.stop();
410
+ return _context2.stop();
1058
411
  }
1059
412
  }
1060
- }, _callee12);
413
+ }, _callee2);
1061
414
  }));
1062
415
 
1063
416
  return function showMessageOverlay() {
1064
- return _ref7.apply(this, arguments);
417
+ return _ref2.apply(this, arguments);
1065
418
  };
1066
419
  }();
1067
420
 
1068
421
  var actionHandlers = {
1069
422
  deleteMessage: handleDeleteMessage,
1070
423
  editMessage: handleEditMessage,
424
+ pinMessage: handleTogglePinMessage,
1071
425
  quotedReply: handleQuotedReplyMessage,
1072
426
  resendMessage: handleResendMessage,
1073
427
  showMessageOverlay: showMessageOverlay,
@@ -1093,24 +447,14 @@ var MessageWithContext = function MessageWithContext(props) {
1093
447
  event: payload == null ? void 0 : payload.event
1094
448
  });
1095
449
  } : enableLongPress ? function () {
1096
- return showMessageOverlay(false);
450
+ (0, _native.triggerHaptic)('impactMedium');
451
+ showMessageOverlay(false);
1097
452
  } : function () {
1098
453
  return null;
1099
454
  };
1100
-
1101
- var onDoubleTapMessage = function onDoubleTapMessage() {
1102
- if (onDoubleTapMessageProp) {
1103
- onDoubleTapMessageProp({
1104
- actionHandlers: actionHandlers,
1105
- message: message
1106
- });
1107
- }
1108
- };
1109
-
1110
455
  var messageContext = (0, _useCreateMessageContext.useCreateMessageContext)({
1111
456
  actionsEnabled: actionsEnabled,
1112
457
  alignment: alignment,
1113
- canModifyMessage: canModifyMessage,
1114
458
  channel: channel,
1115
459
  disabled: disabled,
1116
460
  files: attachments.files,
@@ -1132,25 +476,23 @@ var MessageWithContext = function MessageWithContext(props) {
1132
476
  members: members,
1133
477
  message: message,
1134
478
  messageContentOrder: messageContentOrder,
1135
- onLongPress: !animatedLongPress ? onLongPressMessage : function () {
1136
- return null;
1137
- },
479
+ onLongPress: onLongPressMessage,
1138
480
  onlyEmojis: onlyEmojis,
1139
481
  onOpenThread: onOpenThread,
1140
482
  onPress: function onPress(payload) {
1141
483
  onPressProp ? onPressProp({
1142
484
  actionHandlers: actionHandlers,
1143
- defaultHandler: payload.defaultHandler || _onPress3,
485
+ defaultHandler: payload.defaultHandler || _onPress,
1144
486
  emitter: payload.emitter || 'message',
1145
487
  event: payload.event,
1146
488
  message: message
1147
489
  }) : onPressMessageProp ? onPressMessageProp({
1148
490
  actionHandlers: actionHandlers,
1149
- defaultHandler: payload.defaultHandler || _onPress3,
491
+ defaultHandler: payload.defaultHandler || _onPress,
1150
492
  emitter: payload.emitter || 'message',
1151
493
  event: payload.event,
1152
494
  message: message
1153
- }) : payload.defaultHandler ? payload.defaultHandler() : _onPress3();
495
+ }) : payload.defaultHandler ? payload.defaultHandler() : _onPress();
1154
496
  },
1155
497
  onPressIn: onPressInProp || onPressInMessageProp ? function (payload) {
1156
498
  onPressInProp ? onPressInProp({
@@ -1170,144 +512,95 @@ var MessageWithContext = function MessageWithContext(props) {
1170
512
  otherAttachments: attachments.other,
1171
513
  preventPress: preventPress,
1172
514
  reactions: reactions,
1173
- readEventsEnabled: readEventsEnabled,
1174
515
  showAvatar: showAvatar,
1175
516
  showMessageOverlay: showMessageOverlay,
1176
517
  showMessageStatus: typeof showMessageStatus === 'boolean' ? showMessageStatus : isMyMessage,
1177
518
  threadList: threadList
1178
519
  });
1179
- var onLongPressTouchable = (0, _reactNativeReanimated.useAnimatedGestureHandler)({
1180
- onFinish: function onFinish() {
1181
- pressActive.value = false;
1182
- (0, _reactNativeReanimated.cancelAnimation)(scale);
1183
- scale.value = (0, _reactNativeReanimated.withTiming)(1, {
1184
- duration: 100
1185
- });
1186
- },
1187
- onStart: function onStart() {
1188
- pressActive.value = true;
1189
- (0, _reactNativeReanimated.cancelAnimation)(scale);
1190
- scale.value = (0, _reactNativeReanimated.withSequence)((0, _reactNativeReanimated.withTiming)(1, {
1191
- duration: 100
1192
- }), (0, _reactNativeReanimated.withTiming)(0.98, {
1193
- duration: 400
1194
- }, function () {
1195
- if (pressActive.value) {
1196
- (0, _reactNativeReanimated.runOnJS)(onLongPressMessage)();
1197
- (0, _reactNativeReanimated.runOnJS)(_native.triggerHaptic)('impactMedium');
1198
- }
1199
- }), (0, _reactNativeReanimated.withTiming)(1.02, {
1200
- duration: 100
1201
- }), (0, _reactNativeReanimated.withTiming)(1.0, {
1202
- duration: 300
1203
- }));
1204
- }
1205
- }, [onLongPressMessage]);
1206
- var onDoubleTap = (0, _reactNativeReanimated.useAnimatedGestureHandler)({
1207
- onActive: function onActive() {
1208
- pressActive.value = false;
1209
- (0, _reactNativeReanimated.cancelAnimation)(scale);
1210
- scale.value = (0, _reactNativeReanimated.withTiming)(1, {
1211
- duration: 100
1212
- });
1213
- (0, _reactNativeReanimated.runOnJS)(onDoubleTapMessage)();
1214
- }
1215
- }, [onDoubleTapMessage]);
1216
- return message.deleted_at || messageContentOrder.length ? _react["default"].createElement(_reactNativeGestureHandler.TapGestureHandler, {
1217
- enabled: animatedLongPress && !preventPress,
1218
- maxDeltaX: 8,
1219
- maxDurationMs: 3000,
1220
- onGestureEvent: animatedLongPress ? onLongPressTouchable : undefined,
1221
- waitFor: doubleTapRef,
1222
- __self: _this,
1223
- __source: {
1224
- fileName: _jsxFileName,
1225
- lineNumber: 1110,
1226
- columnNumber: 5
1227
- }
1228
- }, _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
+ }],
1229
525
  testID: "message-wrapper",
1230
526
  __self: _this,
1231
527
  __source: {
1232
528
  fileName: _jsxFileName,
1233
- lineNumber: 1117,
1234
- columnNumber: 7
1235
- }
1236
- }, _react["default"].createElement(_reactNativeGestureHandler.TapGestureHandler, {
1237
- enabled: !preventPress,
1238
- numberOfTaps: 2,
1239
- onGestureEvent: onDoubleTap,
1240
- ref: doubleTapRef,
1241
- __self: _this,
1242
- __source: {
1243
- fileName: _jsxFileName,
1244
- lineNumber: 1118,
1245
- columnNumber: 9
529
+ lineNumber: 682,
530
+ columnNumber: 5
1246
531
  }
1247
- }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
532
+ }, _react["default"].createElement(_reactNative.View, {
1248
533
  style: [style, {
1249
534
  backgroundColor: showUnreadUnderlay ? bg_gradient_start : undefined
1250
- }, scaleStyle],
535
+ }],
1251
536
  __self: _this,
1252
537
  __source: {
1253
538
  fileName: _jsxFileName,
1254
- lineNumber: 1124,
1255
- columnNumber: 11
539
+ lineNumber: 686,
540
+ columnNumber: 7
1256
541
  }
1257
- }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
1258
- style: [_reactNative.StyleSheet.absoluteFillObject, targetedMessageUnderlay, {
542
+ }, _react["default"].createElement(_reactNative.View, {
543
+ style: [isTargetedMessage ? (0, _extends2["default"])({
1259
544
  backgroundColor: targetedMessageBackground
1260
- }, targetedStyle],
545
+ }, targetedMessageUnderlay) : {}],
1261
546
  __self: _this,
1262
547
  __source: {
1263
548
  fileName: _jsxFileName,
1264
- lineNumber: 1133,
1265
- columnNumber: 13
549
+ lineNumber: 694,
550
+ columnNumber: 9
1266
551
  }
1267
- }), _react["default"].createElement(_MessageContext.MessageProvider, {
552
+ }, _react["default"].createElement(_MessageContext.MessageProvider, {
1268
553
  value: messageContext,
1269
554
  __self: _this,
1270
555
  __source: {
1271
556
  fileName: _jsxFileName,
1272
- lineNumber: 1141,
1273
- columnNumber: 13
557
+ lineNumber: 701,
558
+ columnNumber: 11
1274
559
  }
1275
560
  }, _react["default"].createElement(MessageSimple, {
1276
561
  __self: _this,
1277
562
  __source: {
1278
563
  fileName: _jsxFileName,
1279
- lineNumber: 1142,
1280
- columnNumber: 15
564
+ lineNumber: 702,
565
+ columnNumber: 13
1281
566
  }
1282
- })))))) : null;
567
+ })))));
1283
568
  };
1284
569
 
1285
570
  var areEqual = function areEqual(prevProps, nextProps) {
1286
571
  var _prevMessage$quoted_m, _nextMessage$quoted_m, _prevMessage$quoted_m2, _nextMessage$quoted_m2, _prevMessage$user, _nextMessage$user;
1287
572
 
1288
573
  var prevGoToMessage = prevProps.goToMessage,
574
+ prevIsTargetedMessage = prevProps.isTargetedMessage,
1289
575
  prevLastReceivedId = prevProps.lastReceivedId,
576
+ prevMembers = prevProps.members,
1290
577
  prevMessage = prevProps.message,
1291
578
  prevMutedUsers = prevProps.mutedUsers,
1292
579
  prevShowUnreadUnderlay = prevProps.showUnreadUnderlay,
1293
- prevT = prevProps.t,
1294
- prevTargetedMessage = prevProps.targetedMessage;
580
+ prevT = prevProps.t;
1295
581
  var nextGoToMessage = nextProps.goToMessage,
582
+ nextIsTargetedMessage = nextProps.isTargetedMessage,
1296
583
  nextLastReceivedId = nextProps.lastReceivedId,
584
+ nextMembers = nextProps.members,
1297
585
  nextMessage = nextProps.message,
1298
586
  nextMutedUsers = nextProps.mutedUsers,
1299
587
  nextShowUnreadUnderlay = nextProps.showUnreadUnderlay,
1300
- nextT = nextProps.t,
1301
- nextTargetedMessage = nextProps.targetedMessage;
588
+ nextT = nextProps.t;
589
+ var membersEqual = Object.keys(prevMembers).length === Object.keys(nextMembers).length;
590
+ if (!membersEqual) return false;
1302
591
  var repliesEqual = prevMessage.reply_count === nextMessage.reply_count;
1303
592
  if (!repliesEqual) return false;
1304
593
  var lastReceivedIdChangedAndMatters = prevLastReceivedId !== nextLastReceivedId && (prevLastReceivedId === prevMessage.id || prevLastReceivedId === nextMessage.id || nextLastReceivedId === prevMessage.id || nextLastReceivedId === nextMessage.id);
1305
594
  if (lastReceivedIdChangedAndMatters) return false;
1306
595
  var goToMessageChangedAndMatters = nextMessage.quoted_message_id && prevGoToMessage !== nextGoToMessage;
1307
596
  if (goToMessageChangedAndMatters) return false;
1308
- 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;
1309
600
  if (!messageEqual) return false;
1310
- 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;
1311
604
  if (!quotedMessageEqual) return false;
1312
605
  var messageUserBannedEqual = ((_prevMessage$user = prevMessage.user) == null ? void 0 : _prevMessage$user.banned) === ((_nextMessage$user = nextMessage.user) == null ? void 0 : _nextMessage$user.banned);
1313
606
  if (!messageUserBannedEqual) return false;
@@ -1317,10 +610,10 @@ var areEqual = function areEqual(prevProps, nextProps) {
1317
610
  return attachment.type === 'image' ? attachment.image_url === nextMessageAttachments[index].image_url && attachment.thumb_url === nextMessageAttachments[index].thumb_url : attachment.type === nextMessageAttachments[index].type;
1318
611
  }) || prevMessageAttachments === nextMessageAttachments;
1319
612
  if (!attachmentsEqual) return false;
1320
- 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 (_ref9, 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) {
1321
614
  var _nextMessage$latest_r;
1322
615
 
1323
- var type = _ref9.type;
616
+ var type = _ref3.type;
1324
617
  return type === ((_nextMessage$latest_r = nextMessage.latest_reactions) == null ? void 0 : _nextMessage$latest_r[index].type);
1325
618
  }) : prevMessage.latest_reactions === nextMessage.latest_reactions;
1326
619
  if (!latestReactionsEqual) return false;
@@ -1338,7 +631,7 @@ var areEqual = function areEqual(prevProps, nextProps) {
1338
631
  if (!showUnreadUnderlayEqual) return false;
1339
632
  var tEqual = prevT === nextT;
1340
633
  if (!tEqual) return false;
1341
- var targetedMessageEqual = prevTargetedMessage === nextTargetedMessage;
634
+ var targetedMessageEqual = prevIsTargetedMessage === nextIsTargetedMessage;
1342
635
  if (!targetedMessageEqual) return false;
1343
636
  return true;
1344
637
  };
@@ -1350,10 +643,7 @@ var Message = function Message(props) {
1350
643
  channel = _useChannelContext.channel,
1351
644
  disabled = _useChannelContext.disabled,
1352
645
  enforceUniqueReaction = _useChannelContext.enforceUniqueReaction,
1353
- isAdmin = _useChannelContext.isAdmin,
1354
- isModerator = _useChannelContext.isModerator,
1355
- members = _useChannelContext.members,
1356
- readEventsEnabled = _useChannelContext.readEventsEnabled;
646
+ members = _useChannelContext.members;
1357
647
 
1358
648
  var _useChatContext = (0, _ChatContext.useChatContext)(),
1359
649
  client = _useChatContext.client,
@@ -1382,13 +672,10 @@ var Message = function Message(props) {
1382
672
  disabled: disabled,
1383
673
  dismissKeyboard: dismissKeyboard,
1384
674
  enforceUniqueReaction: enforceUniqueReaction,
1385
- isAdmin: isAdmin,
1386
- isModerator: isModerator,
1387
675
  members: members,
1388
676
  messagesContext: messagesContext,
1389
677
  mutedUsers: mutedUsers,
1390
678
  openThread: openThread,
1391
- readEventsEnabled: readEventsEnabled,
1392
679
  setData: setData,
1393
680
  setOverlay: setOverlay,
1394
681
  t: t
@@ -1396,7 +683,7 @@ var Message = function Message(props) {
1396
683
  __self: _this,
1397
684
  __source: {
1398
685
  fileName: _jsxFileName,
1399
- lineNumber: 1309,
686
+ lineNumber: 873,
1400
687
  columnNumber: 5
1401
688
  }
1402
689
  }));