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

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 (1083) hide show
  1. package/lib/commonjs/components/Attachment/Attachment.js +2 -2
  2. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  3. package/lib/commonjs/components/Attachment/AttachmentActions.js.map +1 -1
  4. package/lib/commonjs/components/Attachment/Card.js +18 -15
  5. package/lib/commonjs/components/Attachment/Card.js.map +1 -1
  6. package/lib/commonjs/components/Attachment/FileAttachment.js +8 -8
  7. package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
  8. package/lib/commonjs/components/Attachment/FileIcon.js.map +1 -1
  9. package/lib/commonjs/components/Attachment/Gallery.js +97 -113
  10. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  11. package/lib/commonjs/components/Attachment/Giphy.js +30 -30
  12. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  13. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js +46 -0
  14. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
  15. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
  16. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
  17. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
  18. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
  19. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
  20. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
  21. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
  22. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
  23. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
  24. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
  25. package/lib/commonjs/components/Attachment/utils/buildGallery/types.js +4 -0
  26. package/lib/commonjs/components/Attachment/utils/buildGallery/types.js.map +1 -0
  27. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js +14 -0
  28. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -0
  29. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
  30. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
  31. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +9 -8
  32. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  33. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +21 -45
  34. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  35. package/lib/commonjs/components/AutoCompleteInput/{CommandsItem.js → AutoCompleteSuggestionCommandIcon.js} +21 -94
  36. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -0
  37. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +145 -0
  38. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -0
  39. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +248 -0
  40. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -0
  41. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +223 -0
  42. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -0
  43. package/lib/commonjs/components/Avatar/Avatar.js +13 -7
  44. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  45. package/lib/commonjs/components/Avatar/GroupAvatar.js +10 -10
  46. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  47. package/lib/commonjs/components/Channel/Channel.js +332 -247
  48. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  49. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +5 -5
  50. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  51. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js +7 -5
  52. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  53. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +9 -31
  54. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  55. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +35 -0
  56. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -0
  57. package/lib/commonjs/components/ChannelList/ChannelList.js +6 -6
  58. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  59. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +5 -4
  60. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  61. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +6 -7
  62. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  63. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +4 -3
  64. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  65. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +17 -17
  66. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  67. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  68. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  69. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  70. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  71. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  72. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  73. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  74. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  75. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  76. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  77. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
  78. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  79. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  80. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  81. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js +2 -2
  82. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  83. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +89 -64
  84. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  85. package/lib/commonjs/components/ChannelList/utils.js +1 -1
  86. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +2 -2
  87. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  88. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +2 -2
  89. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  90. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  91. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +49 -20
  92. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  93. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
  94. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
  95. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
  96. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  97. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  98. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  99. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  100. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js +16 -7
  101. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  102. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  103. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  104. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js +2 -1
  105. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  106. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  107. package/lib/commonjs/components/Chat/hooks/useIsOnline.js +12 -5
  108. package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
  109. package/lib/commonjs/components/ImageGallery/ImageGallery.js +90 -58
  110. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  111. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +2 -2
  112. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  113. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +12 -12
  114. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  115. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +14 -16
  116. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  117. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +7 -7
  118. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  119. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +5 -5
  120. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  121. package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  122. package/lib/commonjs/components/Indicators/LoadingIndicator.js +9 -9
  123. package/lib/commonjs/components/Indicators/LoadingIndicator.js.map +1 -1
  124. package/lib/commonjs/components/Message/Message.js +151 -860
  125. package/lib/commonjs/components/Message/Message.js.map +1 -1
  126. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +6 -6
  127. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  128. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +39 -38
  129. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  130. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +8 -6
  131. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  132. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +24 -16
  133. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  134. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +122 -0
  135. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -0
  136. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +5 -1
  137. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  138. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +5 -5
  139. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  140. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +27 -13
  141. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  142. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +25 -24
  143. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  144. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +7 -3
  145. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  146. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +52 -80
  147. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +1 -1
  148. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js +89 -0
  149. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
  150. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
  151. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
  152. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +36 -19
  153. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  154. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +1 -5
  155. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  156. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js +307 -0
  157. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -0
  158. package/lib/commonjs/components/Message/hooks/useMessageActions.js +563 -0
  159. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -0
  160. package/lib/commonjs/components/Message/utils/messageActions.js +17 -15
  161. package/lib/commonjs/components/Message/utils/messageActions.js.map +1 -1
  162. package/lib/commonjs/components/Message/utils/removeReservedFields.js.map +1 -1
  163. package/lib/commonjs/components/MessageInput/AttachButton.js +3 -3
  164. package/lib/commonjs/components/MessageInput/AttachButton.js.map +1 -1
  165. package/lib/commonjs/components/MessageInput/CommandsButton.js +3 -3
  166. package/lib/commonjs/components/MessageInput/CommandsButton.js.map +1 -1
  167. package/lib/commonjs/components/MessageInput/CooldownTimer.js +78 -0
  168. package/lib/commonjs/components/MessageInput/CooldownTimer.js.map +1 -0
  169. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +4 -4
  170. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  171. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +9 -9
  172. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
  173. package/lib/commonjs/components/MessageInput/InputButtons.js +17 -22
  174. package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
  175. package/lib/commonjs/components/MessageInput/MessageInput.js +93 -65
  176. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  177. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +3 -3
  178. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js.map +1 -1
  179. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +71 -0
  180. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -0
  181. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +4 -3
  182. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  183. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js +63 -0
  184. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -0
  185. package/lib/commonjs/components/MessageInput/hooks/useCountdown.js +57 -0
  186. package/lib/commonjs/components/MessageInput/hooks/useCountdown.js.map +1 -0
  187. package/lib/commonjs/components/MessageList/DateHeader.js +2 -2
  188. package/lib/commonjs/components/MessageList/DateHeader.js.map +1 -1
  189. package/lib/commonjs/components/MessageList/InlineDateSeparator.js +2 -2
  190. package/lib/commonjs/components/MessageList/InlineDateSeparator.js.map +1 -1
  191. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  192. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  193. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  194. package/lib/commonjs/components/MessageList/MessageList.js +77 -44
  195. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  196. package/lib/commonjs/components/MessageList/MessageSystem.js.map +1 -1
  197. package/lib/commonjs/components/MessageList/TypingIndicator.js +5 -5
  198. package/lib/commonjs/components/MessageList/TypingIndicator.js.map +1 -1
  199. package/lib/commonjs/components/MessageList/hooks/useMessageList.js +23 -10
  200. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  201. package/lib/commonjs/components/MessageList/hooks/useTypingString.js +2 -2
  202. package/lib/commonjs/components/MessageList/hooks/useTypingString.js.map +1 -1
  203. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js +2 -1
  204. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js.map +1 -1
  205. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js +10 -5
  206. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
  207. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js +3 -1
  208. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  209. package/lib/{module/components/MessageOverlay/MessageActions.js → commonjs/components/MessageOverlay/MessageActionList.js} +33 -85
  210. package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -0
  211. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +131 -0
  212. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -0
  213. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +97 -78
  214. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  215. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +38 -0
  216. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js.map +1 -0
  217. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +12 -11
  218. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  219. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +31 -34
  220. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
  221. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
  222. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
  223. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js +37 -0
  224. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -0
  225. package/lib/commonjs/components/Reply/Reply.js +25 -19
  226. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  227. package/lib/commonjs/components/Thread/Thread.js +11 -2
  228. package/lib/commonjs/components/Thread/Thread.js.map +1 -1
  229. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +20 -12
  230. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  231. package/lib/commonjs/components/docs/ListProps.md +1 -1
  232. package/lib/commonjs/components/docs/data.js +1 -1
  233. package/lib/commonjs/components/index.js +133 -55
  234. package/lib/commonjs/components/index.js.map +1 -1
  235. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +68 -0
  236. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -0
  237. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +2 -2
  238. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  239. package/lib/commonjs/contexts/channelContext/ChannelContext.js +2 -2
  240. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  241. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +2 -2
  242. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  243. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +155 -0
  244. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -0
  245. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +144 -0
  246. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -0
  247. package/lib/commonjs/contexts/chatContext/ChatContext.js +2 -2
  248. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  249. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
  250. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  251. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +2 -2
  252. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  253. package/lib/commonjs/contexts/messageContext/MessageContext.js +2 -2
  254. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  255. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +122 -84
  256. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  257. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +9 -5
  258. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  259. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js +10 -3
  260. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  261. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +5 -19
  262. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  263. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
  264. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
  265. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
  266. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
  267. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +2 -2
  268. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  269. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -1
  270. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  271. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +55 -46
  272. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  273. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +61 -0
  274. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -0
  275. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
  276. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  277. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +20 -33
  278. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  279. package/lib/commonjs/contexts/themeContext/ThemeContext.js +2 -2
  280. package/lib/commonjs/contexts/themeContext/ThemeContext.js.map +1 -1
  281. package/lib/commonjs/contexts/themeContext/utils/theme.js +38 -14
  282. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  283. package/lib/commonjs/contexts/threadContext/ThreadContext.js +2 -2
  284. package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
  285. package/lib/commonjs/contexts/translationContext/TranslationContext.js +1 -1
  286. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  287. package/lib/commonjs/contexts/typingContext/TypingContext.js +2 -2
  288. package/lib/commonjs/contexts/typingContext/TypingContext.js.map +1 -1
  289. package/lib/commonjs/contexts/utils/getDisplayName.js.map +1 -1
  290. package/lib/commonjs/emoji-data/compiled.js +0 -315
  291. package/lib/commonjs/emoji-data/compiled.js.map +1 -1
  292. package/lib/commonjs/emoji-data/emojiNames.js +0 -105
  293. package/lib/commonjs/emoji-data/emojiNames.js.map +1 -1
  294. package/lib/commonjs/emoji-data/emojis.js +0 -175
  295. package/lib/commonjs/emoji-data/emojis.js.map +1 -1
  296. package/lib/commonjs/emoji-data/index.js +2 -2
  297. package/lib/commonjs/emoji-data/index.js.map +1 -1
  298. package/lib/commonjs/hooks/useStreami18n.js.map +1 -1
  299. package/lib/commonjs/i18n/en.json +9 -3
  300. package/lib/commonjs/i18n/fr.json +9 -3
  301. package/lib/commonjs/i18n/hi.json +9 -3
  302. package/lib/commonjs/i18n/it.json +9 -3
  303. package/lib/commonjs/i18n/ja.json +9 -0
  304. package/lib/commonjs/i18n/ko.json +9 -0
  305. package/lib/commonjs/i18n/nl.json +9 -3
  306. package/lib/commonjs/i18n/ru.json +9 -3
  307. package/lib/commonjs/i18n/tr.json +10 -4
  308. package/lib/commonjs/icons/Pin.js +42 -0
  309. package/lib/commonjs/icons/Pin.js.map +1 -0
  310. package/lib/commonjs/icons/PinHeader.js +38 -0
  311. package/lib/commonjs/icons/PinHeader.js.map +1 -0
  312. package/lib/commonjs/icons/Unpin.js +38 -0
  313. package/lib/commonjs/icons/Unpin.js.map +1 -0
  314. package/lib/commonjs/icons/index.js +39 -0
  315. package/lib/commonjs/icons/index.js.map +1 -1
  316. package/lib/commonjs/icons/utils/base.js +1 -1
  317. package/lib/commonjs/index.js +6 -6
  318. package/lib/commonjs/mock-builders/api/error.js +1 -1
  319. package/lib/commonjs/mock-builders/api/sendMessage.js +4 -1
  320. package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
  321. package/lib/commonjs/mock-builders/generator/attachment.js +1 -3
  322. package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
  323. package/lib/commonjs/mock-builders/generator/channel.js +101 -50
  324. package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
  325. package/lib/commonjs/mock-builders/generator/user.js +32 -33
  326. package/lib/commonjs/mock-builders/generator/user.js.map +1 -1
  327. package/lib/commonjs/mock-builders/mock.js +3 -3
  328. package/lib/commonjs/mock-builders/mock.js.map +1 -1
  329. package/lib/commonjs/native.js +1 -7
  330. package/lib/commonjs/native.js.map +1 -1
  331. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js +7 -7
  332. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js.map +1 -1
  333. package/lib/commonjs/styleguideComponents/JsDoc.js +4 -4
  334. package/lib/commonjs/styleguideComponents/JsDoc.js.map +1 -1
  335. package/lib/commonjs/styleguideComponents/PathlineRenderer.js +7 -7
  336. package/lib/commonjs/styleguideComponents/PathlineRenderer.js.map +1 -1
  337. package/lib/commonjs/styleguideComponents/PropsRenderer.js +25 -25
  338. package/lib/commonjs/styleguideComponents/PropsRenderer.js.map +1 -1
  339. package/lib/commonjs/styleguideComponents/Wrapper.js +1 -1
  340. package/lib/commonjs/styleguideComponents/Wrapper.js.map +1 -1
  341. package/lib/commonjs/utils/Streami18n.js.map +1 -1
  342. package/lib/commonjs/utils/date.js +13 -0
  343. package/lib/commonjs/utils/date.js.map +1 -0
  344. package/lib/commonjs/utils/getResizedImageUrl.js +26 -0
  345. package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -0
  346. package/lib/commonjs/utils/getUrlOfImageAttachment.js +9 -0
  347. package/lib/commonjs/utils/getUrlOfImageAttachment.js.map +1 -0
  348. package/lib/commonjs/utils/utils.js +17 -9
  349. package/lib/commonjs/utils/utils.js.map +1 -1
  350. package/lib/commonjs/version.json +1 -1
  351. package/lib/module/components/Attachment/Attachment.js +2 -2
  352. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  353. package/lib/module/components/Attachment/AttachmentActions.js.map +1 -1
  354. package/lib/module/components/Attachment/Card.js +18 -15
  355. package/lib/module/components/Attachment/Card.js.map +1 -1
  356. package/lib/module/components/Attachment/FileAttachment.js +8 -8
  357. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  358. package/lib/module/components/Attachment/FileIcon.js.map +1 -1
  359. package/lib/module/components/Attachment/Gallery.js +97 -113
  360. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  361. package/lib/module/components/Attachment/Giphy.js +30 -30
  362. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  363. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js +46 -0
  364. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
  365. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
  366. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
  367. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
  368. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
  369. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
  370. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
  371. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
  372. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
  373. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
  374. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
  375. package/lib/module/components/Attachment/utils/buildGallery/types.js +4 -0
  376. package/lib/module/components/Attachment/utils/buildGallery/types.js.map +1 -0
  377. package/lib/module/components/Attachment/utils/getAspectRatio.js +14 -0
  378. package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -0
  379. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
  380. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
  381. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +9 -8
  382. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  383. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +21 -45
  384. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  385. package/lib/module/components/AutoCompleteInput/{CommandsItem.js → AutoCompleteSuggestionCommandIcon.js} +21 -94
  386. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -0
  387. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +145 -0
  388. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -0
  389. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +248 -0
  390. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -0
  391. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +223 -0
  392. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -0
  393. package/lib/module/components/Avatar/Avatar.js +13 -7
  394. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  395. package/lib/module/components/Avatar/GroupAvatar.js +10 -10
  396. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  397. package/lib/module/components/Channel/Channel.js +332 -247
  398. package/lib/module/components/Channel/Channel.js.map +1 -1
  399. package/lib/module/components/Channel/hooks/useCreateChannelContext.js +5 -5
  400. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  401. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +7 -5
  402. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  403. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +9 -31
  404. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  405. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +35 -0
  406. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -0
  407. package/lib/module/components/ChannelList/ChannelList.js +6 -6
  408. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  409. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +5 -4
  410. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  411. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +6 -7
  412. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  413. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +4 -3
  414. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  415. package/lib/module/components/ChannelList/ChannelListMessenger.js +17 -17
  416. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  417. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  418. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  419. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  420. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  421. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  422. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  423. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  424. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  425. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  426. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  427. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
  428. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  429. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  430. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  431. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js +2 -2
  432. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  433. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +89 -64
  434. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  435. package/lib/module/components/ChannelList/utils.js +1 -1
  436. package/lib/module/components/ChannelPreview/ChannelAvatar.js +2 -2
  437. package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  438. package/lib/module/components/ChannelPreview/ChannelPreview.js +2 -2
  439. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  440. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  441. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +49 -20
  442. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  443. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
  444. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
  445. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
  446. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  447. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  448. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  449. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  450. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js +16 -7
  451. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  452. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  453. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  454. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js +2 -1
  455. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  456. package/lib/module/components/Chat/Chat.js.map +1 -1
  457. package/lib/module/components/Chat/hooks/useIsOnline.js +12 -5
  458. package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
  459. package/lib/module/components/ImageGallery/ImageGallery.js +90 -58
  460. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  461. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +2 -2
  462. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  463. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +12 -12
  464. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  465. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +14 -16
  466. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  467. package/lib/module/components/ImageGallery/components/ImageGrid.js +7 -7
  468. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  469. package/lib/module/components/ImageGallery/components/ImageGridHandle.js +5 -5
  470. package/lib/module/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  471. package/lib/module/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  472. package/lib/module/components/Indicators/LoadingIndicator.js +9 -9
  473. package/lib/module/components/Indicators/LoadingIndicator.js.map +1 -1
  474. package/lib/module/components/Message/Message.js +151 -860
  475. package/lib/module/components/Message/Message.js.map +1 -1
  476. package/lib/module/components/Message/MessageSimple/MessageAvatar.js +6 -6
  477. package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  478. package/lib/module/components/Message/MessageSimple/MessageContent.js +39 -38
  479. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  480. package/lib/module/components/Message/MessageSimple/MessageDeleted.js +8 -6
  481. package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  482. package/lib/module/components/Message/MessageSimple/MessageFooter.js +24 -16
  483. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  484. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +122 -0
  485. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -0
  486. package/lib/module/components/Message/MessageSimple/MessageReplies.js +5 -1
  487. package/lib/module/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  488. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +5 -5
  489. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  490. package/lib/module/components/Message/MessageSimple/MessageSimple.js +27 -13
  491. package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  492. package/lib/module/components/Message/MessageSimple/MessageStatus.js +25 -24
  493. package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  494. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +7 -3
  495. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  496. package/lib/module/components/Message/MessageSimple/ReactionList.js +52 -80
  497. package/lib/module/components/Message/MessageSimple/ReactionList.js.map +1 -1
  498. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js +89 -0
  499. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
  500. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
  501. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
  502. package/lib/module/components/Message/MessageSimple/utils/renderText.js +36 -19
  503. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  504. package/lib/module/components/Message/hooks/useCreateMessageContext.js +1 -5
  505. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  506. package/lib/module/components/Message/hooks/useMessageActionHandlers.js +307 -0
  507. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -0
  508. package/lib/module/components/Message/hooks/useMessageActions.js +563 -0
  509. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -0
  510. package/lib/module/components/Message/utils/messageActions.js +17 -15
  511. package/lib/module/components/Message/utils/messageActions.js.map +1 -1
  512. package/lib/module/components/Message/utils/removeReservedFields.js.map +1 -1
  513. package/lib/module/components/MessageInput/AttachButton.js +3 -3
  514. package/lib/module/components/MessageInput/AttachButton.js.map +1 -1
  515. package/lib/module/components/MessageInput/CommandsButton.js +3 -3
  516. package/lib/module/components/MessageInput/CommandsButton.js.map +1 -1
  517. package/lib/module/components/MessageInput/CooldownTimer.js +78 -0
  518. package/lib/module/components/MessageInput/CooldownTimer.js.map +1 -0
  519. package/lib/module/components/MessageInput/FileUploadPreview.js +4 -4
  520. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  521. package/lib/module/components/MessageInput/ImageUploadPreview.js +9 -9
  522. package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
  523. package/lib/module/components/MessageInput/InputButtons.js +17 -22
  524. package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
  525. package/lib/module/components/MessageInput/MessageInput.js +93 -65
  526. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  527. package/lib/module/components/MessageInput/MoreOptionsButton.js +3 -3
  528. package/lib/module/components/MessageInput/MoreOptionsButton.js.map +1 -1
  529. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +71 -0
  530. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -0
  531. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +4 -3
  532. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  533. package/lib/module/components/MessageInput/hooks/useCooldown.js +63 -0
  534. package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -0
  535. package/lib/module/components/MessageInput/hooks/useCountdown.js +57 -0
  536. package/lib/module/components/MessageInput/hooks/useCountdown.js.map +1 -0
  537. package/lib/module/components/MessageList/DateHeader.js +2 -2
  538. package/lib/module/components/MessageList/DateHeader.js.map +1 -1
  539. package/lib/module/components/MessageList/InlineDateSeparator.js +2 -2
  540. package/lib/module/components/MessageList/InlineDateSeparator.js.map +1 -1
  541. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  542. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  543. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  544. package/lib/module/components/MessageList/MessageList.js +77 -44
  545. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  546. package/lib/module/components/MessageList/MessageSystem.js.map +1 -1
  547. package/lib/module/components/MessageList/TypingIndicator.js +5 -5
  548. package/lib/module/components/MessageList/TypingIndicator.js.map +1 -1
  549. package/lib/module/components/MessageList/hooks/useMessageList.js +23 -10
  550. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  551. package/lib/module/components/MessageList/hooks/useTypingString.js +2 -2
  552. package/lib/module/components/MessageList/hooks/useTypingString.js.map +1 -1
  553. package/lib/module/components/MessageList/utils/getDateSeparators.js +2 -1
  554. package/lib/module/components/MessageList/utils/getDateSeparators.js.map +1 -1
  555. package/lib/module/components/MessageList/utils/getGroupStyles.js +10 -5
  556. package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
  557. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js +3 -1
  558. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  559. package/lib/{commonjs/components/MessageOverlay/MessageActions.js → module/components/MessageOverlay/MessageActionList.js} +33 -85
  560. package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -0
  561. package/lib/module/components/MessageOverlay/MessageActionListItem.js +131 -0
  562. package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -0
  563. package/lib/module/components/MessageOverlay/MessageOverlay.js +97 -78
  564. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  565. package/lib/module/components/MessageOverlay/OverlayBackdrop.js +38 -0
  566. package/lib/module/components/MessageOverlay/OverlayBackdrop.js.map +1 -0
  567. package/lib/module/components/MessageOverlay/OverlayReactionList.js +12 -11
  568. package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  569. package/lib/module/components/MessageOverlay/OverlayReactions.js +31 -34
  570. package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
  571. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
  572. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
  573. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js +37 -0
  574. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -0
  575. package/lib/module/components/Reply/Reply.js +25 -19
  576. package/lib/module/components/Reply/Reply.js.map +1 -1
  577. package/lib/module/components/Thread/Thread.js +11 -2
  578. package/lib/module/components/Thread/Thread.js.map +1 -1
  579. package/lib/module/components/Thread/components/ThreadFooterComponent.js +20 -12
  580. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  581. package/lib/module/components/docs/ListProps.md +1 -1
  582. package/lib/module/components/docs/data.js +1 -1
  583. package/lib/module/components/index.js +133 -55
  584. package/lib/module/components/index.js.map +1 -1
  585. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +68 -0
  586. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -0
  587. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +2 -2
  588. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  589. package/lib/module/contexts/channelContext/ChannelContext.js +2 -2
  590. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  591. package/lib/module/contexts/channelsContext/ChannelsContext.js +2 -2
  592. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  593. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +155 -0
  594. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -0
  595. package/lib/module/contexts/channelsStateContext/useChannelState.js +144 -0
  596. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -0
  597. package/lib/module/contexts/chatContext/ChatContext.js +2 -2
  598. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  599. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
  600. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  601. package/lib/module/contexts/keyboardContext/KeyboardContext.js +2 -2
  602. package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  603. package/lib/module/contexts/messageContext/MessageContext.js +2 -2
  604. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  605. package/lib/module/contexts/messageInputContext/MessageInputContext.js +122 -84
  606. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  607. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +9 -5
  608. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  609. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js +10 -3
  610. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  611. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +5 -19
  612. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  613. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
  614. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
  615. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
  616. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
  617. package/lib/module/contexts/messagesContext/MessagesContext.js +2 -2
  618. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  619. package/lib/module/contexts/overlayContext/OverlayContext.js +1 -1
  620. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  621. package/lib/module/contexts/overlayContext/OverlayProvider.js +55 -46
  622. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  623. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +61 -0
  624. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -0
  625. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
  626. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  627. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +20 -33
  628. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  629. package/lib/module/contexts/themeContext/ThemeContext.js +2 -2
  630. package/lib/module/contexts/themeContext/ThemeContext.js.map +1 -1
  631. package/lib/module/contexts/themeContext/utils/theme.js +38 -14
  632. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  633. package/lib/module/contexts/threadContext/ThreadContext.js +2 -2
  634. package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
  635. package/lib/module/contexts/translationContext/TranslationContext.js +1 -1
  636. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  637. package/lib/module/contexts/typingContext/TypingContext.js +2 -2
  638. package/lib/module/contexts/typingContext/TypingContext.js.map +1 -1
  639. package/lib/module/contexts/utils/getDisplayName.js.map +1 -1
  640. package/lib/module/emoji-data/compiled.js +0 -315
  641. package/lib/module/emoji-data/compiled.js.map +1 -1
  642. package/lib/module/emoji-data/emojiNames.js +0 -105
  643. package/lib/module/emoji-data/emojiNames.js.map +1 -1
  644. package/lib/module/emoji-data/emojis.js +0 -175
  645. package/lib/module/emoji-data/emojis.js.map +1 -1
  646. package/lib/module/emoji-data/index.js +2 -2
  647. package/lib/module/emoji-data/index.js.map +1 -1
  648. package/lib/module/hooks/useStreami18n.js.map +1 -1
  649. package/lib/module/i18n/en.json +9 -3
  650. package/lib/module/i18n/fr.json +9 -3
  651. package/lib/module/i18n/hi.json +9 -3
  652. package/lib/module/i18n/it.json +9 -3
  653. package/lib/module/i18n/ja.json +9 -0
  654. package/lib/module/i18n/ko.json +9 -0
  655. package/lib/module/i18n/nl.json +9 -3
  656. package/lib/module/i18n/ru.json +9 -3
  657. package/lib/module/i18n/tr.json +10 -4
  658. package/lib/module/icons/Pin.js +42 -0
  659. package/lib/module/icons/Pin.js.map +1 -0
  660. package/lib/module/icons/PinHeader.js +38 -0
  661. package/lib/module/icons/PinHeader.js.map +1 -0
  662. package/lib/module/icons/Unpin.js +38 -0
  663. package/lib/module/icons/Unpin.js.map +1 -0
  664. package/lib/module/icons/index.js +39 -0
  665. package/lib/module/icons/index.js.map +1 -1
  666. package/lib/module/icons/utils/base.js +1 -1
  667. package/lib/module/index.js +6 -6
  668. package/lib/module/mock-builders/api/error.js +1 -1
  669. package/lib/module/mock-builders/api/sendMessage.js +4 -1
  670. package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
  671. package/lib/module/mock-builders/generator/attachment.js +1 -3
  672. package/lib/module/mock-builders/generator/attachment.js.map +1 -1
  673. package/lib/module/mock-builders/generator/channel.js +101 -50
  674. package/lib/module/mock-builders/generator/channel.js.map +1 -1
  675. package/lib/module/mock-builders/generator/user.js +32 -33
  676. package/lib/module/mock-builders/generator/user.js.map +1 -1
  677. package/lib/module/mock-builders/mock.js +3 -3
  678. package/lib/module/mock-builders/mock.js.map +1 -1
  679. package/lib/module/native.js +1 -7
  680. package/lib/module/native.js.map +1 -1
  681. package/lib/module/styleguideComponents/ArgumentsRenderer.js +7 -7
  682. package/lib/module/styleguideComponents/ArgumentsRenderer.js.map +1 -1
  683. package/lib/module/styleguideComponents/JsDoc.js +4 -4
  684. package/lib/module/styleguideComponents/JsDoc.js.map +1 -1
  685. package/lib/module/styleguideComponents/PathlineRenderer.js +7 -7
  686. package/lib/module/styleguideComponents/PathlineRenderer.js.map +1 -1
  687. package/lib/module/styleguideComponents/PropsRenderer.js +25 -25
  688. package/lib/module/styleguideComponents/PropsRenderer.js.map +1 -1
  689. package/lib/module/styleguideComponents/Wrapper.js +1 -1
  690. package/lib/module/styleguideComponents/Wrapper.js.map +1 -1
  691. package/lib/module/utils/Streami18n.js.map +1 -1
  692. package/lib/module/utils/date.js +13 -0
  693. package/lib/module/utils/date.js.map +1 -0
  694. package/lib/module/utils/getResizedImageUrl.js +26 -0
  695. package/lib/module/utils/getResizedImageUrl.js.map +1 -0
  696. package/lib/module/utils/getUrlOfImageAttachment.js +9 -0
  697. package/lib/module/utils/getUrlOfImageAttachment.js.map +1 -0
  698. package/lib/module/utils/utils.js +17 -9
  699. package/lib/module/utils/utils.js.map +1 -1
  700. package/lib/module/version.json +1 -1
  701. package/lib/typescript/components/Attachment/Attachment.d.ts +1 -1
  702. package/lib/typescript/components/Attachment/AttachmentActions.d.ts +1 -1
  703. package/lib/typescript/components/Attachment/Card.d.ts +3 -1
  704. package/lib/typescript/components/Attachment/FileAttachment.d.ts +1 -1
  705. package/lib/typescript/components/Attachment/Gallery.d.ts +4 -6
  706. package/lib/typescript/components/Attachment/Giphy.d.ts +1 -1
  707. package/lib/typescript/components/Attachment/utils/buildGallery/buildGallery.d.ts +23 -0
  708. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.d.ts +7 -0
  709. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.d.ts +7 -0
  710. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.d.ts +7 -0
  711. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnail.d.ts +10 -0
  712. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnailGrid.d.ts +137 -0
  713. package/lib/typescript/components/Attachment/utils/buildGallery/types.d.ts +23 -0
  714. package/lib/typescript/components/Attachment/utils/getAspectRatio.d.ts +9 -0
  715. package/lib/typescript/components/Attachment/utils/getGalleryImageBorderRadius.d.ts +22 -0
  716. package/lib/typescript/components/AutoCompleteInput/AutoCompleteInput.d.ts +7 -1
  717. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.d.ts +4 -0
  718. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionHeader.d.ts +8 -0
  719. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionItem.d.ts +10 -0
  720. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts +21 -0
  721. package/lib/typescript/components/Channel/Channel.d.ts +13 -12
  722. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
  723. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +1 -68
  724. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -126
  725. package/lib/typescript/components/Channel/hooks/useCreateOwnCapabilitiesContext.d.ts +7 -0
  726. package/lib/typescript/components/ChannelList/ChannelList.d.ts +1 -1
  727. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +4 -2
  728. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +2 -2
  729. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts +2 -2
  730. package/lib/typescript/components/ChannelPreview/ChannelPreviewMutedStatus.d.ts +9 -0
  731. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.d.ts +12 -0
  732. package/lib/typescript/components/Chat/Chat.d.ts +1 -1
  733. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +4 -1
  734. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryImage.d.ts +1 -1
  735. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +1 -1
  736. package/lib/typescript/components/ImageGallery/components/ImageGalleryHeader.d.ts +1 -1
  737. package/lib/typescript/components/ImageGallery/components/ImageGrid.d.ts +1 -1
  738. package/lib/typescript/components/Indicators/LoadingErrorIndicator.d.ts +1 -1
  739. package/lib/typescript/components/Message/Message.d.ts +4 -3
  740. package/lib/typescript/components/Message/MessageSimple/MessageAvatar.d.ts +1 -1
  741. package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts +1 -1
  742. package/lib/typescript/components/Message/MessageSimple/MessageDeleted.d.ts +2 -2
  743. package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts +2 -2
  744. package/lib/typescript/components/Message/MessageSimple/MessagePinnedHeader.d.ts +8 -0
  745. package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts +1 -1
  746. package/lib/typescript/components/Message/MessageSimple/MessageStatus.d.ts +1 -1
  747. package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts +1 -0
  748. package/lib/typescript/components/Message/MessageSimple/ReactionList.d.ts +2 -1
  749. package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.d.ts +7 -0
  750. package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.test.d.ts +1 -0
  751. package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +3 -2
  752. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +1 -1
  753. package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +15 -0
  754. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +26 -0
  755. package/lib/typescript/components/Message/utils/messageActions.d.ts +22 -21
  756. package/lib/typescript/components/Message/utils/removeReservedFields.d.ts +1 -1
  757. package/lib/typescript/components/MessageInput/AttachButton.d.ts +1 -1
  758. package/lib/typescript/components/MessageInput/CommandsButton.d.ts +1 -1
  759. package/lib/typescript/components/MessageInput/CooldownTimer.d.ts +10 -0
  760. package/lib/typescript/components/MessageInput/InputButtons.d.ts +1 -1
  761. package/lib/typescript/components/MessageInput/MessageInput.d.ts +1 -1
  762. package/lib/typescript/components/MessageInput/MoreOptionsButton.d.ts +1 -1
  763. package/lib/typescript/components/MessageInput/SendMessageDisallowedIndicator.d.ts +1 -0
  764. package/lib/typescript/components/MessageInput/hooks/useCooldown.d.ts +9 -0
  765. package/lib/typescript/components/MessageInput/hooks/useCountdown.d.ts +8 -0
  766. package/lib/typescript/components/MessageList/MessageList.d.ts +2 -1
  767. package/lib/typescript/components/MessageList/MessageSystem.d.ts +1 -1
  768. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +1 -0
  769. package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts +1 -1
  770. package/lib/typescript/components/MessageOverlay/MessageActionList.d.ts +12 -0
  771. package/lib/typescript/components/MessageOverlay/MessageActionListItem.d.ts +20 -0
  772. package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts +4 -4
  773. package/lib/typescript/components/MessageOverlay/OverlayBackdrop.d.ts +6 -0
  774. package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts +3 -1
  775. package/lib/typescript/components/MessageOverlay/OverlayReactionsAvatar.d.ts +7 -0
  776. package/lib/typescript/components/MessageOverlay/hooks/useMessageActionAnimation.d.ts +12 -0
  777. package/lib/typescript/components/Reply/Reply.d.ts +1 -1
  778. package/lib/typescript/components/Thread/Thread.d.ts +2 -2
  779. package/lib/typescript/components/index.d.ts +13 -7
  780. package/lib/typescript/contexts/activeChannelsRefContext/ActiveChannelsRefContext.d.ts +9 -0
  781. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +28 -30
  782. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +13 -5
  783. package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts +41 -0
  784. package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts +20 -0
  785. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +2 -6
  786. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +21 -10
  787. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +3 -3
  788. package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts +1 -1
  789. package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +12 -13
  790. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.d.ts +12 -0
  791. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.test.d.ts +1 -0
  792. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +23 -114
  793. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +14 -7
  794. package/lib/typescript/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.d.ts +25 -0
  795. package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts +14 -13
  796. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +35 -11
  797. package/lib/typescript/contexts/utils/getDisplayName.d.ts +2 -2
  798. package/lib/typescript/hooks/useStreami18n.d.ts +1 -1
  799. package/lib/typescript/i18n/en.json +9 -3
  800. package/lib/typescript/i18n/fr.json +9 -3
  801. package/lib/typescript/i18n/hi.json +9 -3
  802. package/lib/typescript/i18n/it.json +9 -3
  803. package/lib/typescript/i18n/ja.json +9 -0
  804. package/lib/typescript/i18n/ko.json +9 -0
  805. package/lib/typescript/i18n/nl.json +9 -3
  806. package/lib/typescript/i18n/ru.json +9 -3
  807. package/lib/typescript/i18n/tr.json +10 -4
  808. package/lib/typescript/icons/Pin.d.ts +3 -0
  809. package/lib/typescript/icons/PinHeader.d.ts +3 -0
  810. package/lib/typescript/icons/Unpin.d.ts +3 -0
  811. package/lib/typescript/icons/index.d.ts +3 -0
  812. package/lib/typescript/native.d.ts +1 -9
  813. package/lib/typescript/utils/Streami18n.d.ts +11 -8
  814. package/lib/typescript/utils/date.d.ts +2 -0
  815. package/lib/typescript/utils/getResizedImageUrl.d.ts +19 -0
  816. package/lib/typescript/utils/getUrlOfImageAttachment.d.ts +7 -0
  817. package/lib/typescript/utils/utils.d.ts +14 -11
  818. package/package.json +12 -14
  819. package/src/components/Attachment/Attachment.tsx +3 -3
  820. package/src/components/Attachment/AttachmentActions.tsx +2 -2
  821. package/src/components/Attachment/Card.tsx +8 -5
  822. package/src/components/Attachment/FileAttachment.tsx +3 -4
  823. package/src/components/Attachment/FileIcon.tsx +2 -2
  824. package/src/components/Attachment/Gallery.tsx +164 -193
  825. package/src/components/Attachment/Giphy.tsx +6 -7
  826. package/src/components/Attachment/__tests__/Attachment.test.js +22 -14
  827. package/src/components/Attachment/__tests__/Gallery.test.js +233 -0
  828. package/src/components/Attachment/__tests__/buildGallery.test.js +131 -0
  829. package/src/components/Attachment/utils/buildGallery/buildGallery.ts +75 -0
  830. package/src/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.ts +95 -0
  831. package/src/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.ts +99 -0
  832. package/src/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.ts +64 -0
  833. package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +46 -0
  834. package/src/components/Attachment/utils/buildGallery/buildThumbnailGrid.ts +186 -0
  835. package/src/components/Attachment/utils/buildGallery/types.ts +27 -0
  836. package/src/components/Attachment/utils/getAspectRatio.ts +21 -0
  837. package/src/components/Attachment/utils/getGalleryImageBorderRadius.ts +71 -0
  838. package/src/components/AttachmentPicker/AttachmentPicker.tsx +4 -2
  839. package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +43 -28
  840. package/src/components/AutoCompleteInput/{CommandsItem.tsx → AutoCompleteSuggestionCommandIcon.tsx} +3 -57
  841. package/src/components/AutoCompleteInput/AutoCompleteSuggestionHeader.tsx +109 -0
  842. package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx +156 -0
  843. package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +212 -0
  844. package/src/components/AutoCompleteInput/__tests__/AutoCompleteInput.test.js +6 -12
  845. package/src/components/Avatar/Avatar.tsx +7 -10
  846. package/src/components/Avatar/GroupAvatar.tsx +7 -21
  847. package/src/components/Avatar/__tests__/Avatar.test.js +2 -30
  848. package/src/components/Channel/Channel.tsx +288 -232
  849. package/src/components/Channel/__tests__/Channel.test.js +34 -29
  850. package/src/components/Channel/__tests__/ownCapabilities.test.js +376 -0
  851. package/src/components/Channel/hooks/useCreateChannelContext.ts +6 -6
  852. package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +4 -3
  853. package/src/components/Channel/hooks/useCreateMessagesContext.ts +9 -30
  854. package/src/components/Channel/hooks/useCreateOwnCapabilitiesContext.ts +54 -0
  855. package/src/components/ChannelList/ChannelList.tsx +8 -9
  856. package/src/components/ChannelList/ChannelListFooterLoadingIndicator.tsx +2 -3
  857. package/src/components/ChannelList/ChannelListHeaderErrorIndicator.tsx +3 -7
  858. package/src/components/ChannelList/ChannelListHeaderNetworkDownIndicator.tsx +5 -2
  859. package/src/components/ChannelList/ChannelListMessenger.tsx +3 -4
  860. package/src/components/ChannelList/__tests__/ChannelList.test.js +73 -13
  861. package/src/components/ChannelList/__tests__/ChannelListMessenger.test.js +11 -12
  862. package/src/components/ChannelList/hooks/listeners/useAddedToChannelNotification.ts +3 -3
  863. package/src/components/ChannelList/hooks/listeners/useChannelDeleted.ts +2 -2
  864. package/src/components/ChannelList/hooks/listeners/useChannelHidden.ts +2 -2
  865. package/src/components/ChannelList/hooks/listeners/useChannelTruncated.ts +2 -2
  866. package/src/components/ChannelList/hooks/listeners/useChannelUpdated.ts +2 -2
  867. package/src/components/ChannelList/hooks/listeners/useChannelVisible.ts +3 -3
  868. package/src/components/ChannelList/hooks/listeners/useNewMessage.ts +2 -3
  869. package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +4 -4
  870. package/src/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.ts +2 -2
  871. package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +2 -2
  872. package/src/components/ChannelList/hooks/useCreateChannelsContext.ts +1 -2
  873. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +86 -44
  874. package/src/components/ChannelPreview/ChannelAvatar.tsx +3 -5
  875. package/src/components/ChannelPreview/ChannelPreview.tsx +3 -3
  876. package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +2 -2
  877. package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +27 -11
  878. package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx +71 -0
  879. package/src/components/ChannelPreview/ChannelPreviewStatus.tsx +4 -3
  880. package/src/components/ChannelPreview/ChannelPreviewTitle.tsx +2 -2
  881. package/src/components/ChannelPreview/ChannelPreviewUnreadCount.tsx +2 -1
  882. package/src/components/ChannelPreview/__tests__/ChannelPreview.test.js +8 -9
  883. package/src/components/ChannelPreview/__tests__/ChannelPreviewMessenger.test.js +8 -9
  884. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.ts +8 -2
  885. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +3 -4
  886. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.ts +2 -2
  887. package/src/components/ChannelPreview/hooks/useLatestMessagePreview.ts +4 -3
  888. package/src/components/Chat/Chat.tsx +6 -6
  889. package/src/components/Chat/__tests__/Chat.test.js +10 -6
  890. package/src/components/Chat/hooks/useIsOnline.ts +12 -8
  891. package/src/components/ImageGallery/ImageGallery.tsx +83 -49
  892. package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +1 -2
  893. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +2 -5
  894. package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +5 -7
  895. package/src/components/ImageGallery/components/ImageGrid.tsx +4 -5
  896. package/src/components/ImageGallery/components/ImageGridHandle.tsx +1 -0
  897. package/src/components/Indicators/LoadingErrorIndicator.tsx +1 -1
  898. package/src/components/Indicators/LoadingIndicator.tsx +1 -2
  899. package/src/components/Message/Message.tsx +155 -594
  900. package/src/components/Message/MessageSimple/MessageAvatar.tsx +1 -2
  901. package/src/components/Message/MessageSimple/MessageContent.tsx +23 -25
  902. package/src/components/Message/MessageSimple/MessageDeleted.tsx +8 -6
  903. package/src/components/Message/MessageSimple/MessageFooter.tsx +42 -24
  904. package/src/components/Message/MessageSimple/MessagePinnedHeader.tsx +150 -0
  905. package/src/components/Message/MessageSimple/MessageReplies.tsx +5 -0
  906. package/src/components/Message/MessageSimple/MessageRepliesAvatars.tsx +2 -3
  907. package/src/components/Message/MessageSimple/MessageSimple.tsx +47 -26
  908. package/src/components/Message/MessageSimple/MessageStatus.tsx +19 -34
  909. package/src/components/Message/MessageSimple/MessageTextContainer.tsx +5 -0
  910. package/src/components/Message/MessageSimple/ReactionList.tsx +64 -77
  911. package/src/components/Message/MessageSimple/__tests__/Message.test.js +9 -10
  912. package/src/components/Message/MessageSimple/__tests__/MessageAvatar.test.js +2 -2
  913. package/src/components/Message/MessageSimple/__tests__/MessageContent.test.js +40 -47
  914. package/src/components/Message/MessageSimple/__tests__/MessagePinnedHeader.test.js +53 -0
  915. package/src/components/Message/MessageSimple/__tests__/MessageReplies.test.js +2 -2
  916. package/src/components/Message/MessageSimple/__tests__/MessageStatus.test.js +4 -5
  917. package/src/components/Message/MessageSimple/__tests__/MessageTextContainer.test.js +2 -2
  918. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageAvatar.test.js.snap +1 -1
  919. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessagePinnedHeader.test.js.snap +80 -0
  920. package/src/components/Message/MessageSimple/utils/parseLinks.test.ts +100 -0
  921. package/src/components/Message/MessageSimple/utils/parseLinks.ts +95 -0
  922. package/src/components/Message/MessageSimple/utils/renderText.tsx +22 -12
  923. package/src/components/Message/hooks/useCreateMessageContext.ts +1 -7
  924. package/src/components/Message/hooks/useMessageActionHandlers.ts +172 -0
  925. package/src/components/Message/hooks/useMessageActions.tsx +386 -0
  926. package/src/components/Message/utils/messageActions.ts +64 -38
  927. package/src/components/Message/utils/removeReservedFields.ts +1 -1
  928. package/src/components/MessageInput/AttachButton.tsx +1 -2
  929. package/src/components/MessageInput/CommandsButton.tsx +1 -2
  930. package/src/components/MessageInput/CooldownTimer.tsx +67 -0
  931. package/src/components/MessageInput/FileUploadPreview.tsx +5 -5
  932. package/src/components/MessageInput/ImageUploadPreview.tsx +3 -4
  933. package/src/components/MessageInput/InputButtons.tsx +4 -10
  934. package/src/components/MessageInput/MessageInput.tsx +62 -35
  935. package/src/components/MessageInput/MoreOptionsButton.tsx +1 -2
  936. package/src/components/MessageInput/SendMessageDisallowedIndicator.tsx +47 -0
  937. package/src/components/MessageInput/ShowThreadMessageInChannelButton.tsx +2 -2
  938. package/src/components/MessageInput/__tests__/AttachButton.test.js +2 -2
  939. package/src/components/MessageInput/__tests__/FileUploadPreview.test.js +43 -45
  940. package/src/components/MessageInput/__tests__/ImageUploadPreview.test.js +15 -15
  941. package/src/components/MessageInput/__tests__/MessageInput.test.js +15 -23
  942. package/src/components/MessageInput/__tests__/SendButton.test.js +2 -2
  943. package/src/components/MessageInput/__tests__/UploadProgressIndicator.test.js +2 -2
  944. package/src/components/MessageInput/__tests__/__snapshots__/FileUploadPreview.test.js.snap +3593 -2889
  945. package/src/components/MessageInput/__tests__/__snapshots__/ImageUploadPreview.test.js.snap +1912 -1572
  946. package/src/components/MessageInput/__tests__/__snapshots__/MessageInput.test.js.snap +539 -296
  947. package/src/components/MessageInput/__tests__/__snapshots__/UploadProgressIndicator.test.js.snap +4 -4
  948. package/src/components/MessageInput/hooks/useCooldown.ts +62 -0
  949. package/src/components/MessageInput/hooks/useCountdown.ts +48 -0
  950. package/src/components/MessageList/DateHeader.tsx +2 -2
  951. package/src/components/MessageList/InlineDateSeparator.tsx +2 -2
  952. package/src/components/MessageList/MessageList.tsx +63 -39
  953. package/src/components/MessageList/MessageSystem.tsx +2 -2
  954. package/src/components/MessageList/TypingIndicator.tsx +1 -2
  955. package/src/components/MessageList/__tests__/MessageList.test.js +241 -116
  956. package/src/components/MessageList/__tests__/MessageSystem.test.js +3 -3
  957. package/src/components/MessageList/__tests__/ScrollToBottomButton.test.js +3 -3
  958. package/src/components/MessageList/__tests__/TypingIndicator.test.js +5 -6
  959. package/src/components/MessageList/__tests__/__snapshots__/TypingIndicator.test.js.snap +1 -1
  960. package/src/components/MessageList/hooks/useMessageList.ts +19 -9
  961. package/src/components/MessageList/hooks/useTypingString.ts +1 -2
  962. package/src/components/MessageList/utils/getDateSeparators.ts +4 -3
  963. package/src/components/MessageList/utils/getGroupStyles.ts +14 -9
  964. package/src/components/MessageList/utils/getLastReceivedMessage.ts +6 -1
  965. package/src/components/MessageOverlay/{MessageActions.tsx → MessageActionList.tsx} +59 -91
  966. package/src/components/MessageOverlay/MessageActionListItem.tsx +113 -0
  967. package/src/components/MessageOverlay/MessageOverlay.tsx +258 -217
  968. package/src/components/MessageOverlay/OverlayBackdrop.tsx +18 -0
  969. package/src/components/MessageOverlay/OverlayReactionList.tsx +3 -5
  970. package/src/components/MessageOverlay/OverlayReactions.tsx +27 -8
  971. package/src/components/MessageOverlay/OverlayReactionsAvatar.tsx +27 -0
  972. package/src/components/MessageOverlay/hooks/useMessageActionAnimation.tsx +44 -0
  973. package/src/components/Reply/Reply.tsx +25 -15
  974. package/src/components/Thread/Thread.tsx +13 -6
  975. package/src/components/Thread/__tests__/Thread.test.js +38 -113
  976. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +1085 -1018
  977. package/src/components/Thread/components/ThreadFooterComponent.tsx +14 -3
  978. package/src/components/docs/ListProps.md +1 -1
  979. package/src/components/index.ts +13 -7
  980. package/src/contexts/activeChannelsRefContext/ActiveChannelsRefContext.tsx +32 -0
  981. package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +1 -2
  982. package/src/contexts/channelContext/ChannelContext.tsx +28 -32
  983. package/src/contexts/channelsContext/ChannelsContext.tsx +18 -7
  984. package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +286 -0
  985. package/src/contexts/channelsStateContext/useChannelState.ts +207 -0
  986. package/src/contexts/chatContext/ChatContext.tsx +1 -2
  987. package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +1 -2
  988. package/src/contexts/keyboardContext/KeyboardContext.tsx +1 -2
  989. package/src/contexts/messageContext/MessageContext.tsx +2 -10
  990. package/src/contexts/messageInputContext/MessageInputContext.tsx +77 -36
  991. package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +9 -7
  992. package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +15 -10
  993. package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +19 -28
  994. package/src/contexts/messageOverlayContext/hooks/useResettableState.test.tsx +46 -0
  995. package/src/contexts/messageOverlayContext/hooks/useResettableState.ts +22 -0
  996. package/src/contexts/messagesContext/MessagesContext.tsx +39 -140
  997. package/src/contexts/overlayContext/OverlayContext.tsx +19 -11
  998. package/src/contexts/overlayContext/OverlayProvider.tsx +48 -42
  999. package/src/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.tsx +38 -0
  1000. package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +1 -2
  1001. package/src/contexts/suggestionsContext/SuggestionsContext.tsx +26 -46
  1002. package/src/contexts/suggestionsContext/__tests__/Suggestions.test.js +1 -1
  1003. package/src/contexts/themeContext/ThemeContext.tsx +1 -0
  1004. package/src/contexts/themeContext/utils/theme.ts +71 -24
  1005. package/src/contexts/threadContext/ThreadContext.tsx +1 -2
  1006. package/src/contexts/translationContext/TranslationContext.tsx +3 -3
  1007. package/src/contexts/typingContext/TypingContext.tsx +1 -2
  1008. package/src/contexts/utils/getDisplayName.ts +3 -1
  1009. package/src/emoji-data/compiled.ts +1830 -9609
  1010. package/src/emoji-data/emojiNames.ts +0 -140
  1011. package/src/emoji-data/emojis.ts +0 -210
  1012. package/src/emoji-data/index.js +1 -1
  1013. package/src/hooks/useStreami18n.ts +1 -1
  1014. package/src/i18n/en.json +9 -3
  1015. package/src/i18n/fr.json +9 -3
  1016. package/src/i18n/hi.json +9 -3
  1017. package/src/i18n/it.json +9 -3
  1018. package/src/i18n/ja.json +9 -0
  1019. package/src/i18n/ko.json +9 -0
  1020. package/src/i18n/nl.json +9 -3
  1021. package/src/i18n/ru.json +9 -3
  1022. package/src/i18n/tr.json +10 -4
  1023. package/src/icons/Pin.tsx +17 -0
  1024. package/src/icons/PinHeader.tsx +12 -0
  1025. package/src/icons/Unpin.tsx +12 -0
  1026. package/src/icons/index.ts +3 -0
  1027. package/src/mock-builders/api/sendMessage.js +3 -1
  1028. package/src/mock-builders/generator/attachment.js +0 -2
  1029. package/src/mock-builders/generator/channel.js +101 -46
  1030. package/src/mock-builders/generator/user.js +33 -26
  1031. package/src/mock-builders/mock.js +2 -2
  1032. package/src/native.ts +2 -13
  1033. package/src/styleguideComponents/ArgumentsRenderer.tsx +2 -1
  1034. package/src/styleguideComponents/JsDoc.tsx +3 -1
  1035. package/src/styleguideComponents/PathlineRenderer.tsx +2 -1
  1036. package/src/styleguideComponents/PropsRenderer.tsx +7 -4
  1037. package/src/styleguideComponents/Wrapper.tsx +1 -0
  1038. package/src/utils/Streami18n.ts +3 -3
  1039. package/src/utils/__tests__/Streami18n.test.js +1 -2
  1040. package/src/utils/date.ts +4 -0
  1041. package/src/utils/getResizedImageUrl.ts +43 -0
  1042. package/src/utils/getUrlOfImageAttachment.ts +10 -0
  1043. package/src/utils/utils.ts +23 -16
  1044. package/src/version.json +1 -1
  1045. package/lib/commonjs/components/AutoCompleteInput/CommandsHeader.js +0 -78
  1046. package/lib/commonjs/components/AutoCompleteInput/CommandsHeader.js.map +0 -1
  1047. package/lib/commonjs/components/AutoCompleteInput/CommandsItem.js.map +0 -1
  1048. package/lib/commonjs/components/AutoCompleteInput/EmojisHeader.js +0 -81
  1049. package/lib/commonjs/components/AutoCompleteInput/EmojisHeader.js.map +0 -1
  1050. package/lib/commonjs/components/AutoCompleteInput/EmojisItem.js +0 -75
  1051. package/lib/commonjs/components/AutoCompleteInput/EmojisItem.js.map +0 -1
  1052. package/lib/commonjs/components/AutoCompleteInput/MentionsItem.js +0 -125
  1053. package/lib/commonjs/components/AutoCompleteInput/MentionsItem.js.map +0 -1
  1054. package/lib/commonjs/components/AutoCompleteInput/SuggestionsList.js +0 -199
  1055. package/lib/commonjs/components/AutoCompleteInput/SuggestionsList.js.map +0 -1
  1056. package/lib/commonjs/components/MessageOverlay/MessageActions.js.map +0 -1
  1057. package/lib/module/components/AutoCompleteInput/CommandsHeader.js +0 -78
  1058. package/lib/module/components/AutoCompleteInput/CommandsHeader.js.map +0 -1
  1059. package/lib/module/components/AutoCompleteInput/CommandsItem.js.map +0 -1
  1060. package/lib/module/components/AutoCompleteInput/EmojisHeader.js +0 -81
  1061. package/lib/module/components/AutoCompleteInput/EmojisHeader.js.map +0 -1
  1062. package/lib/module/components/AutoCompleteInput/EmojisItem.js +0 -75
  1063. package/lib/module/components/AutoCompleteInput/EmojisItem.js.map +0 -1
  1064. package/lib/module/components/AutoCompleteInput/MentionsItem.js +0 -125
  1065. package/lib/module/components/AutoCompleteInput/MentionsItem.js.map +0 -1
  1066. package/lib/module/components/AutoCompleteInput/SuggestionsList.js +0 -199
  1067. package/lib/module/components/AutoCompleteInput/SuggestionsList.js.map +0 -1
  1068. package/lib/module/components/MessageOverlay/MessageActions.js.map +0 -1
  1069. package/lib/typescript/components/AutoCompleteInput/CommandsHeader.d.ts +0 -2
  1070. package/lib/typescript/components/AutoCompleteInput/CommandsItem.d.ts +0 -15
  1071. package/lib/typescript/components/AutoCompleteInput/EmojisHeader.d.ts +0 -5
  1072. package/lib/typescript/components/AutoCompleteInput/EmojisItem.d.ts +0 -12
  1073. package/lib/typescript/components/AutoCompleteInput/MentionsItem.d.ts +0 -16
  1074. package/lib/typescript/components/AutoCompleteInput/SuggestionsList.d.ts +0 -13
  1075. package/lib/typescript/components/MessageOverlay/MessageActions.d.ts +0 -11
  1076. package/src/components/AutoCompleteInput/CommandsHeader.tsx +0 -43
  1077. package/src/components/AutoCompleteInput/EmojisHeader.tsx +0 -45
  1078. package/src/components/AutoCompleteInput/EmojisItem.tsx +0 -52
  1079. package/src/components/AutoCompleteInput/MentionsItem.tsx +0 -74
  1080. package/src/components/AutoCompleteInput/SuggestionsList.tsx +0 -138
  1081. package/src/components/AutoCompleteInput/__tests__/CommandsItem.test.js +0 -26
  1082. package/src/components/AutoCompleteInput/__tests__/MentionsItem.test.js +0 -62
  1083. package/src/components/MessageList/__tests__/__snapshots__/MessageList.test.js.snap +0 -936
@@ -0,0 +1,53 @@
1
+ import React from 'react';
2
+
3
+ import { cleanup, render, waitFor } from '@testing-library/react-native';
4
+
5
+ import { ThemeProvider } from '../../../../contexts/themeContext/ThemeContext';
6
+ import { defaultTheme } from '../../../../contexts/themeContext/utils/theme';
7
+ import {
8
+ generateMessage,
9
+ generateStaticMessage,
10
+ } from '../../../../mock-builders/generator/message';
11
+ import { generateStaticUser } from '../../../../mock-builders/generator/user';
12
+ import { MessagePinnedHeader } from '../MessagePinnedHeader';
13
+
14
+ afterEach(cleanup);
15
+
16
+ describe('MessagePinnedHeader', () => {
17
+ it('should render message pinned', async () => {
18
+ const staticUser = generateStaticUser(0);
19
+ const message = generateMessage({
20
+ user: { ...staticUser, image: undefined },
21
+ });
22
+ const { getByTestId, rerender, toJSON } = render(
23
+ <ThemeProvider style={defaultTheme}>
24
+ <MessagePinnedHeader alignment='right' message={message} />
25
+ </ThemeProvider>,
26
+ );
27
+
28
+ await waitFor(() => {
29
+ expect(getByTestId('message-pinned')).toBeTruthy();
30
+ });
31
+
32
+ rerender(
33
+ <ThemeProvider style={defaultTheme}>
34
+ <MessagePinnedHeader alignment='right' message={message} />
35
+ </ThemeProvider>,
36
+ );
37
+
38
+ const staticMessage = generateStaticMessage('hi', {
39
+ user: staticUser,
40
+ });
41
+
42
+ rerender(
43
+ <ThemeProvider style={defaultTheme}>
44
+ <MessagePinnedHeader alignment='left' message={staticMessage} />
45
+ </ThemeProvider>,
46
+ );
47
+
48
+ await waitFor(() => {
49
+ expect(getByTestId('message-pinned')).toBeTruthy();
50
+ expect(toJSON()).toMatchSnapshot();
51
+ });
52
+ });
53
+ });
@@ -1,13 +1,13 @@
1
1
  import React from 'react';
2
- import { cleanup, fireEvent, render, waitFor } from '@testing-library/react-native';
3
2
 
4
- import { MessageReplies } from '../MessageReplies';
3
+ import { cleanup, fireEvent, render, waitFor } from '@testing-library/react-native';
5
4
 
6
5
  import { ThemeProvider } from '../../../../contexts/themeContext/ThemeContext';
7
6
  import { defaultTheme } from '../../../../contexts/themeContext/utils/theme';
8
7
  import { TranslationProvider } from '../../../../contexts/translationContext/TranslationContext';
9
8
  import { generateMessage } from '../../../../mock-builders/generator/message';
10
9
  import { generateStaticUser, generateUser } from '../../../../mock-builders/generator/user';
10
+ import { MessageReplies } from '../MessageReplies';
11
11
  import { MessageRepliesAvatars } from '../MessageRepliesAvatars';
12
12
 
13
13
  afterEach(cleanup);
@@ -1,14 +1,13 @@
1
1
  import React from 'react';
2
- import { cleanup, render, waitFor } from '@testing-library/react-native';
3
-
4
- import { MessageStatus } from '../MessageStatus';
5
2
 
6
- import { Chat } from '../../../Chat/Chat';
3
+ import { cleanup, render, waitFor } from '@testing-library/react-native';
7
4
 
8
- import { Streami18n } from '../../../../utils/Streami18n';
9
5
  import { generateMessage } from '../../../../mock-builders/generator/message';
10
6
  import { generateStaticUser, generateUser } from '../../../../mock-builders/generator/user';
11
7
  import { getTestClientWithUser } from '../../../../mock-builders/mock';
8
+ import { Streami18n } from '../../../../utils/Streami18n';
9
+ import { Chat } from '../../../Chat/Chat';
10
+ import { MessageStatus } from '../MessageStatus';
12
11
 
13
12
  let chatClient;
14
13
  let id;
@@ -1,8 +1,7 @@
1
1
  import React from 'react';
2
2
  import { Text } from 'react-native';
3
- import { cleanup, render, waitFor } from '@testing-library/react-native';
4
3
 
5
- import { MessageTextContainer } from '../MessageTextContainer';
4
+ import { cleanup, render, waitFor } from '@testing-library/react-native';
6
5
 
7
6
  import { ThemeProvider } from '../../../../contexts/themeContext/ThemeContext';
8
7
  import { defaultTheme } from '../../../../contexts/themeContext/utils/theme';
@@ -11,6 +10,7 @@ import {
11
10
  generateStaticMessage,
12
11
  } from '../../../../mock-builders/generator/message';
13
12
  import { generateStaticUser } from '../../../../mock-builders/generator/user';
13
+ import { MessageTextContainer } from '../MessageTextContainer';
14
14
 
15
15
  afterEach(cleanup);
16
16
 
@@ -36,7 +36,7 @@ exports[`MessageAvatar should render message avatar 1`] = `
36
36
  onError={[Function]}
37
37
  source={
38
38
  Object {
39
- "uri": "https://images-na.ssl-images-amazon.com/images/I/51t29lLkg8L._AC_SL1000_.jpg",
39
+ "uri": "https://i.imgur.com/ytIyojl.png",
40
40
  }
41
41
  }
42
42
  style={
@@ -0,0 +1,80 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`MessagePinnedHeader should render message pinned 1`] = `
4
+ <View
5
+ style={
6
+ Array [
7
+ Object {
8
+ "display": "flex",
9
+ "flexDirection": "row",
10
+ "marginBottom": 8,
11
+ "marginLeft": 30,
12
+ "marginTop": 5,
13
+ },
14
+ Object {
15
+ "justifyContent": "flex-start",
16
+ },
17
+ Object {},
18
+ ]
19
+ }
20
+ testID="message-pinned"
21
+ >
22
+ <RNSVGSvgView
23
+ align="xMidYMid"
24
+ bbHeight={24}
25
+ bbWidth={24}
26
+ focusable={false}
27
+ height={24}
28
+ meetOrSlice={0}
29
+ minX={0}
30
+ minY={0}
31
+ pathFill="#7A7A7A"
32
+ style={
33
+ Array [
34
+ Object {
35
+ "backgroundColor": "transparent",
36
+ "borderWidth": 0,
37
+ },
38
+ Object {
39
+ "flex": 0,
40
+ "height": 24,
41
+ "width": 24,
42
+ },
43
+ ]
44
+ }
45
+ vbHeight={24}
46
+ vbWidth={24}
47
+ width={24}
48
+ >
49
+ <RNSVGGroup>
50
+ <RNSVGPath
51
+ clipRule={0}
52
+ d="M10.694 1.52908C10.5304 1.36544 10.2937 1.2982 10.0685 1.35137C9.84327 1.40454 9.6616 1.57053 9.5884 1.79006L9.16613 3.05694L6.72027 5.50284C5.12809 5.14216 3.59999 5.79028 2.19557 7.1947C1.93481 7.45543 1.93481 7.87823 2.19557 8.13896L4.55625 10.4997L3.1399 11.916C2.87915 12.1768 2.87915 12.5995 3.1399 12.8603C3.40065 13.1211 3.82342 13.1211 4.08417 12.8603L5.50051 11.4439L7.8612 13.8046C8.12193 14.0654 8.54473 14.0654 8.80547 13.8046C10.2099 12.4002 10.858 10.8721 10.4973 9.2799L12.9432 6.83403L14.2101 6.41173C14.4296 6.33855 14.5956 6.15692 14.6488 5.9317C14.7019 5.70648 14.6347 5.46979 14.4711 5.30616L10.694 1.52908ZM10.3832 3.62876L10.5137 3.23728L12.7629 5.4865L12.3714 5.617C12.2731 5.64977 12.1837 5.705 12.1104 5.7783L9.2776 8.6111C9.09873 8.78996 9.03633 9.05443 9.11627 9.29436C9.43453 10.249 9.2382 11.2566 8.31287 12.3678L3.6324 7.6873C4.74353 6.76196 5.7511 6.56564 6.7058 6.8839C6.94573 6.96383 7.2102 6.90143 7.38906 6.72256L10.2219 3.88975C10.2951 3.81646 10.3504 3.7271 10.3832 3.62876Z"
53
+ fill={4286216826}
54
+ fillRule={0}
55
+ propList={
56
+ Array [
57
+ "fill",
58
+ "fillRule",
59
+ ]
60
+ }
61
+ />
62
+ </RNSVGGroup>
63
+ </RNSVGSvgView>
64
+ <Text
65
+ style={
66
+ Array [
67
+ Object {
68
+ "color": "#7A7A7A",
69
+ },
70
+ Object {},
71
+ Object {},
72
+ ]
73
+ }
74
+ >
75
+ Pinned by
76
+
77
+ You
78
+ </Text>
79
+ </View>
80
+ `;
@@ -0,0 +1,100 @@
1
+ import { parseLinksFromText } from './parseLinks';
2
+
3
+ describe('parseLinksFromText', () => {
4
+ it.each([
5
+ ['www.getstream.io', 'www.getstream.io'],
6
+ ['getstream.io', 'getstream.io'],
7
+ ['scrn://team-chat', 'team-chat'],
8
+ ['https://localhost', 'localhost'],
9
+ [
10
+ 'https://localhost/with/path?and=query&multiple=params',
11
+ 'localhost/with/path?and=query&multiple=params',
12
+ ],
13
+ ['https://localhost/with/path?and=query#fragment', 'localhost/with/path?and=query#fragment'],
14
+ ['reactnative.stream', 'reactnative.stream'],
15
+ [
16
+ 'https://zh.wikipedia.org/wiki/挪威牛油危機',
17
+ 'zh.wikipedia.org/wiki/%E6%8C%AA%E5%A8%81%E7%89%9B%E6%B2%B9%E5%8D%B1%E6%A9%9F',
18
+ ],
19
+ [
20
+ 'https://getstream.io/chat/docs/react-native/?language=javascript',
21
+ 'getstream.io/chat/docs/react-native/?language=javascript',
22
+ ],
23
+ ['127.0.0.1/local_(development)_server', '127.0.0.1/local_(development)_server'],
24
+ ['https://a.co:8999/ab.php?p=12', 'a.co:8999/ab.php?p=12'],
25
+ ])('Returns the encoded value of %p as %p', (link, expected) => {
26
+ const result = parseLinksFromText(link);
27
+
28
+ expect(result[0].encoded).toBe(expected);
29
+ });
30
+
31
+ it('parses fqdn', () => {
32
+ const input = `We have put the apim bol,
33
+ temporarily so :sj: we can later put the monitors on my grasp
34
+ on reality right now is
35
+ https://www.contrived-example.com:8080/sub/page.php?p1=1🇳🇴&p2=2#fragment-identifier
36
+ :)`;
37
+
38
+ const result = parseLinksFromText(input);
39
+
40
+ expect(result).toEqual([
41
+ {
42
+ encoded:
43
+ 'www.contrived-example.com:8080/sub/page.php?p1=1%F0%9F%87%B3%F0%9F%87%B4&p2=2#fragment-identifier',
44
+ raw: 'https://www.contrived-example.com:8080/sub/page.php?p1=1🇳🇴&p2=2#fragment-identifier',
45
+ scheme: 'https://',
46
+ },
47
+ ]);
48
+ });
49
+
50
+ it.each([
51
+ ['support+rn@getstream.io'],
52
+ ['support.rn@getstream.io'],
53
+ ['support-rn@getstream.io'],
54
+ ['support_rn@getstream.io'],
55
+ ])('Can parse the email address %p', (email) => {
56
+ const result = parseLinksFromText(email);
57
+
58
+ expect(result[0].encoded).toBe(email);
59
+ expect(result[0].scheme).toBe('mailto:');
60
+ });
61
+
62
+ it("doesn't double the mailto prefix", () => {
63
+ const input = 'mailto:support@getstream.io';
64
+
65
+ const result = parseLinksFromText(input);
66
+
67
+ expect(result[0]).toEqual({
68
+ encoded: 'support@getstream.io',
69
+ raw: input,
70
+ scheme: 'mailto:',
71
+ });
72
+ });
73
+
74
+ it('Does not falsely parse LINKs from text content', () => {
75
+ const input = `#This string exists to test that we don't produce false positives
76
+
77
+ Existing links:
78
+ [already a parsed link](https://getstream.io/blog/react-native-how-to-build-bidirectional-infinite-scroll/)
79
+ [even a bogus one]( should not match )
80
+
81
+ ## These should, however, be parsed:
82
+ www.getstream.io
83
+ getstream.io
84
+ `;
85
+ const result = parseLinksFromText(input);
86
+
87
+ expect(result).toHaveLength(2);
88
+ });
89
+
90
+ it('Encodes incomplete emoji unicode', () => {
91
+ const input = 'https://getstream.io/�';
92
+ const result = parseLinksFromText(input);
93
+
94
+ expect(result[0]).toEqual({
95
+ encoded: 'getstream.io/%EF%BF%BD',
96
+ raw: 'https://getstream.io/�',
97
+ scheme: 'https://',
98
+ });
99
+ });
100
+ });
@@ -0,0 +1,95 @@
1
+ /**
2
+ * 📣 Note: Do not use named capture groups, as
3
+ * it is not yet available in Hermes.
4
+ *
5
+ * These helpers indend to make it easier to skim read
6
+ * the patterns below, but note that some are optional,
7
+ * specified in the patterns these are added to.
8
+ * */
9
+ const emailUserName = '[\\w+\\.~$_-]+';
10
+ const schema = `(\\w{2,15}:\\/\\/)`;
11
+ const domain = `((?:\\w+\\.\\w+)+(?:[^:\\/\\s]+))`;
12
+ const port = `(:[0-9]{1,5})`;
13
+ const path = `((?:\\/)?[^?#\\s]+)`;
14
+ const queryString = `(\\?[^#\\s]+)`;
15
+ const fragment = `(#[\\w_-]+)`;
16
+
17
+ /**
18
+ * Match any email address, with and without `mailto:`
19
+ */
20
+ const emailPattern = `(mailto:)?((?:${emailUserName})@(?:${domain}))`;
21
+
22
+ /**
23
+ * Match any string starting with something that seems like it's a schema.
24
+ * */
25
+ const schemePrefixedLinkPattern = `${schema}(\\S+)`;
26
+
27
+ /**
28
+ * Match as much as possible of a fqdn, at least with a domain name formed as
29
+ * something.tld
30
+ */
31
+ const fqdnLinkPattern = `${schema}?${domain}${port}?${path}?${queryString}?${fragment}?`;
32
+
33
+ interface Link {
34
+ encoded: string;
35
+ raw: string;
36
+ scheme: string;
37
+ }
38
+
39
+ /**
40
+ * This is done separately because of the version of javascript run
41
+ * for expo
42
+ * */
43
+ const removeMarkdownLinksFromText = (input: string) => input.replace(/\[[\w\s]+\]\(.*\)/g, '');
44
+
45
+ export const parseLinksFromText = (input: string): Link[] => {
46
+ let matches;
47
+
48
+ const inputWithoutMarkdownLinks = removeMarkdownLinksFromText(input);
49
+
50
+ const results: Link[] = [];
51
+
52
+ const emailRegExp = new RegExp(emailPattern, 'gi');
53
+ while ((matches = emailRegExp.exec(input)) !== null) {
54
+ const [raw, scheme = 'mailto:', displayValue] = matches;
55
+ results.push({ encoded: encodeURI(displayValue), raw, scheme });
56
+ }
57
+
58
+ /**
59
+ * The two link patterns are checked with an "or" (`|`)
60
+ * to avoid overlapping matches being duplicated in the output.
61
+ * */
62
+ const linkRegex = new RegExp(`${fqdnLinkPattern}|${schemePrefixedLinkPattern}`, 'gi');
63
+ while ((matches = linkRegex.exec(inputWithoutMarkdownLinks)) !== null) {
64
+ const [
65
+ raw,
66
+ fqdnScheme = '',
67
+ fqdnDomainName = '',
68
+ fqdnPort = '',
69
+ fqdnPath = '',
70
+ fqdnQueryStraing = '',
71
+ fqdnFragment = '',
72
+ schemePrefixedScheme = '',
73
+ schemePrefixedPath = '',
74
+ ] = matches;
75
+
76
+ if (schemePrefixedScheme !== '') {
77
+ results.push({
78
+ encoded: encodeURI(schemePrefixedPath),
79
+ raw,
80
+ scheme: schemePrefixedScheme,
81
+ });
82
+ continue;
83
+ }
84
+
85
+ results.push({
86
+ encoded: encodeURI(
87
+ [fqdnDomainName, fqdnPort, fqdnPath, fqdnQueryStraing, fqdnFragment].join(''),
88
+ ),
89
+ raw,
90
+ scheme: fqdnScheme,
91
+ });
92
+ }
93
+
94
+ return results;
95
+ };
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
2
  import { GestureResponderEvent, Linking, Text, View } from 'react-native';
3
- import anchorme from 'anchorme';
4
- import truncate from 'lodash/truncate';
3
+
5
4
  // @ts-expect-error
6
5
  import Markdown from 'react-native-markdown-package';
6
+
7
+ import truncate from 'lodash/truncate';
7
8
  import {
8
9
  DefaultRules,
9
10
  defaultRules,
@@ -14,8 +15,10 @@ import {
14
15
  SingleASTNode,
15
16
  } from 'simple-markdown';
16
17
 
17
- import type { MessageType } from '../../../MessageList/hooks/useMessageList';
18
+ import { parseLinksFromText } from './parseLinks';
18
19
 
20
+ import type { MessageContextValue } from '../../../../contexts/messageContext/MessageContext';
21
+ import type { Colors, MarkdownStyle } from '../../../../contexts/themeContext/utils/theme';
19
22
  import type {
20
23
  DefaultAttachmentType,
21
24
  DefaultChannelType,
@@ -26,8 +29,7 @@ import type {
26
29
  DefaultUserType,
27
30
  UnknownType,
28
31
  } from '../../../../types/types';
29
- import type { MessageContextValue } from '../../../../contexts/messageContext/MessageContext';
30
- import type { Colors, MarkdownStyle } from '../../../../contexts/themeContext/utils/theme';
32
+ import type { MessageType } from '../../../MessageList/hooks/useMessageList';
31
33
 
32
34
  const defaultMarkdownStyles: MarkdownStyle = {
33
35
  inlineCode: {
@@ -51,7 +53,6 @@ const defaultMarkdownStyles: MarkdownStyle = {
51
53
  mentions: {
52
54
  fontWeight: '700',
53
55
  },
54
- // unfortunately marginVertical doesn't override the defaults for these within the 3rd party lib
55
56
  paragraph: {
56
57
  marginBottom: 8,
57
58
  marginTop: 8,
@@ -88,6 +89,7 @@ export type RenderTextParams<
88
89
  markdownRules?: MarkdownRules;
89
90
  markdownStyles?: MarkdownStyle;
90
91
  messageOverlay?: boolean;
92
+ messageTextNumberOfLines?: number;
91
93
  onLink?: (url: string) => Promise<void>;
92
94
  onlyEmojis?: boolean;
93
95
  };
@@ -109,6 +111,7 @@ export const renderText = <
109
111
  markdownStyles,
110
112
  message,
111
113
  messageOverlay,
114
+ messageTextNumberOfLines,
112
115
  onLink: onLinkParams,
113
116
  onLongPress: onLongPressParam,
114
117
  onlyEmojis,
@@ -123,20 +126,19 @@ export const renderText = <
123
126
  if (!text) return null;
124
127
 
125
128
  let newText = text.trim();
126
- const urls = anchorme(newText, {
127
- list: true,
128
- });
129
+ const urls = parseLinksFromText(newText);
129
130
 
130
131
  for (const urlInfo of urls) {
131
- const displayLink = truncate(urlInfo.encoded.replace(/^(www\.)/, ''), {
132
+ const displayLink = truncate(urlInfo.encoded, {
132
133
  length: 200,
133
134
  omission: '...',
134
135
  });
135
- const markdown = `[${displayLink}](${urlInfo.protocol}${urlInfo.encoded})`;
136
+ const markdown = `[${displayLink}](${urlInfo.scheme}${urlInfo.encoded})`;
136
137
  newText = newText.replace(urlInfo.raw, markdown);
137
138
  }
138
139
 
139
140
  newText = newText.replace(/[<&"'>]/g, '\\$&');
141
+
140
142
  const styles: MarkdownStyle = {
141
143
  ...defaultMarkdownStyles,
142
144
  ...markdownStyles,
@@ -202,6 +204,12 @@ export const renderText = <
202
204
  );
203
205
  };
204
206
 
207
+ const paragraphText: ReactNodeOutput = (node, output, { ...state }) => (
208
+ <Text key={state.key} numberOfLines={messageTextNumberOfLines} style={styles.paragraph}>
209
+ {output(node.content, state)}
210
+ </Text>
211
+ );
212
+
205
213
  const mentionedUsers = Array.isArray(mentioned_users)
206
214
  ? mentioned_users.reduce((acc, cur) => {
207
215
  const userName = cur.name || cur.id || '';
@@ -252,7 +260,7 @@ export const renderText = <
252
260
  *
253
261
  * This custom rule overrides this behavior both for top level lists and sublists,
254
262
  * in order to start the numbering from the number of the first list item provided.
255
- * */
263
+ */
256
264
  const customListAtLevel =
257
265
  (level: keyof typeof listLevels): ReactNodeOutput =>
258
266
  (node, output, { ...state }) => {
@@ -286,6 +294,8 @@ export const renderText = <
286
294
  const customRules = {
287
295
  link: { react },
288
296
  list: { react: customListAtLevel('top') },
297
+ // Truncate long text content in the message overlay
298
+ paragraph: messageTextNumberOfLines ? { react: paragraphText } : {},
289
299
  // we have no react rendering support for reflinks
290
300
  reflink: { match: () => null },
291
301
  sublist: { react: customListAtLevel('sub') },
@@ -1,7 +1,5 @@
1
1
  import { useMemo } from 'react';
2
2
 
3
- import { isMessageWithStylesReadByAndDateSeparator } from '../../MessageList/hooks/useMessageList';
4
-
5
3
  import type { MessageContextValue } from '../../../contexts/messageContext/MessageContext';
6
4
  import type {
7
5
  DefaultAttachmentType,
@@ -13,6 +11,7 @@ import type {
13
11
  DefaultUserType,
14
12
  UnknownType,
15
13
  } from '../../../types/types';
14
+ import { isMessageWithStylesReadByAndDateSeparator } from '../../MessageList/hooks/useMessageList';
16
15
 
17
16
  export const useCreateMessageContext = <
18
17
  At extends UnknownType = DefaultAttachmentType,
@@ -25,7 +24,6 @@ export const useCreateMessageContext = <
25
24
  >({
26
25
  actionsEnabled,
27
26
  alignment,
28
- canModifyMessage,
29
27
  channel,
30
28
  disabled,
31
29
  files,
@@ -55,7 +53,6 @@ export const useCreateMessageContext = <
55
53
  otherAttachments,
56
54
  preventPress,
57
55
  reactions,
58
- readEventsEnabled,
59
56
  showAvatar,
60
57
  showMessageOverlay,
61
58
  showMessageStatus,
@@ -78,7 +75,6 @@ export const useCreateMessageContext = <
78
75
  () => ({
79
76
  actionsEnabled,
80
77
  alignment,
81
- canModifyMessage,
82
78
  channel,
83
79
  disabled,
84
80
  files,
@@ -108,7 +104,6 @@ export const useCreateMessageContext = <
108
104
  otherAttachments,
109
105
  preventPress,
110
106
  reactions,
111
- readEventsEnabled,
112
107
  showAvatar,
113
108
  showMessageOverlay,
114
109
  showMessageStatus,
@@ -127,7 +122,6 @@ export const useCreateMessageContext = <
127
122
  membersValue,
128
123
  messageValue,
129
124
  reactionsValue,
130
- readEventsEnabled,
131
125
  showAvatar,
132
126
  showMessageStatus,
133
127
  threadList,