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,248 @@
1
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AutoCompleteSuggestionItem = void 0;
7
+
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _reactNative = require("react-native");
13
+
14
+ var _AutoCompleteSuggestionCommandIcon = require("./AutoCompleteSuggestionCommandIcon");
15
+
16
+ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
17
+
18
+ var _AtMentions = require("../../icons/AtMentions");
19
+
20
+ var _Avatar = require("../Avatar/Avatar");
21
+
22
+ var _this = this,
23
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx";
24
+
25
+ var styles = _reactNative.StyleSheet.create({
26
+ args: {
27
+ fontSize: 14
28
+ },
29
+ column: {
30
+ flex: 1,
31
+ justifyContent: 'space-evenly',
32
+ paddingLeft: 8
33
+ },
34
+ container: {
35
+ alignItems: 'center',
36
+ flexDirection: 'row',
37
+ paddingHorizontal: 16,
38
+ paddingVertical: 8
39
+ },
40
+ name: {
41
+ fontSize: 14,
42
+ fontWeight: 'bold',
43
+ paddingBottom: 2
44
+ },
45
+ tag: {
46
+ fontSize: 12,
47
+ fontWeight: '600'
48
+ },
49
+ text: {
50
+ fontSize: 14
51
+ },
52
+ title: {
53
+ fontSize: 14,
54
+ fontWeight: 'bold',
55
+ paddingRight: 8
56
+ }
57
+ });
58
+
59
+ var AutoCompleteSuggestionItemWithContext = function AutoCompleteSuggestionItemWithContext(_ref) {
60
+ var itemProps = _ref.itemProps,
61
+ triggerType = _ref.triggerType;
62
+
63
+ var _useTheme = (0, _ThemeContext.useTheme)(),
64
+ _useTheme$theme = _useTheme.theme,
65
+ _useTheme$theme$color = _useTheme$theme.colors,
66
+ accent_blue = _useTheme$theme$color.accent_blue,
67
+ black = _useTheme$theme$color.black,
68
+ grey = _useTheme$theme$color.grey,
69
+ _useTheme$theme$messa = _useTheme$theme.messageInput.suggestions,
70
+ _useTheme$theme$messa2 = _useTheme$theme$messa.command,
71
+ argsStyle = _useTheme$theme$messa2.args,
72
+ commandContainer = _useTheme$theme$messa2.container,
73
+ title = _useTheme$theme$messa2.title,
74
+ _useTheme$theme$messa3 = _useTheme$theme$messa.emoji,
75
+ emojiContainer = _useTheme$theme$messa3.container,
76
+ text = _useTheme$theme$messa3.text,
77
+ _useTheme$theme$messa4 = _useTheme$theme$messa.mention,
78
+ avatarSize = _useTheme$theme$messa4.avatarSize,
79
+ column = _useTheme$theme$messa4.column,
80
+ mentionContainer = _useTheme$theme$messa4.container,
81
+ nameStyle = _useTheme$theme$messa4.name;
82
+
83
+ if (triggerType === 'mention') {
84
+ var _ref2 = itemProps,
85
+ id = _ref2.id,
86
+ image = _ref2.image,
87
+ name = _ref2.name,
88
+ online = _ref2.online;
89
+ return _react["default"].createElement(_reactNative.View, {
90
+ style: [styles.container, mentionContainer],
91
+ __self: _this,
92
+ __source: {
93
+ fileName: _jsxFileName,
94
+ lineNumber: 82,
95
+ columnNumber: 7
96
+ }
97
+ }, _react["default"].createElement(_Avatar.Avatar, {
98
+ image: image,
99
+ name: name,
100
+ online: online,
101
+ size: avatarSize,
102
+ __self: _this,
103
+ __source: {
104
+ fileName: _jsxFileName,
105
+ lineNumber: 83,
106
+ columnNumber: 9
107
+ }
108
+ }), _react["default"].createElement(_reactNative.View, {
109
+ style: [styles.column, column],
110
+ __self: _this,
111
+ __source: {
112
+ fileName: _jsxFileName,
113
+ lineNumber: 84,
114
+ columnNumber: 9
115
+ }
116
+ }, _react["default"].createElement(_reactNative.Text, {
117
+ style: [styles.name, {
118
+ color: black
119
+ }, nameStyle],
120
+ testID: "mentions-item-name",
121
+ __self: _this,
122
+ __source: {
123
+ fileName: _jsxFileName,
124
+ lineNumber: 85,
125
+ columnNumber: 11
126
+ }
127
+ }, name || id)), _react["default"].createElement(_AtMentions.AtMentions, {
128
+ pathFill: accent_blue,
129
+ __self: _this,
130
+ __source: {
131
+ fileName: _jsxFileName,
132
+ lineNumber: 89,
133
+ columnNumber: 9
134
+ }
135
+ }));
136
+ } else if (triggerType === 'emoji') {
137
+ var _ref3 = itemProps,
138
+ _name = _ref3.name,
139
+ unicode = _ref3.unicode;
140
+ return _react["default"].createElement(_reactNative.View, {
141
+ style: [styles.container, emojiContainer],
142
+ __self: _this,
143
+ __source: {
144
+ fileName: _jsxFileName,
145
+ lineNumber: 95,
146
+ columnNumber: 7
147
+ }
148
+ }, _react["default"].createElement(_reactNative.Text, {
149
+ style: [styles.text, {
150
+ color: black
151
+ }, text],
152
+ testID: "emojis-item-unicode",
153
+ __self: _this,
154
+ __source: {
155
+ fileName: _jsxFileName,
156
+ lineNumber: 96,
157
+ columnNumber: 9
158
+ }
159
+ }, unicode), _react["default"].createElement(_reactNative.Text, {
160
+ style: [styles.text, {
161
+ color: black
162
+ }, text],
163
+ testID: "emojis-item-name",
164
+ __self: _this,
165
+ __source: {
166
+ fileName: _jsxFileName,
167
+ lineNumber: 99,
168
+ columnNumber: 9
169
+ }
170
+ }, " " + _name));
171
+ } else if (triggerType === 'command') {
172
+ var _ref4 = itemProps,
173
+ args = _ref4.args,
174
+ _name2 = _ref4.name;
175
+ return _react["default"].createElement(_reactNative.View, {
176
+ style: [styles.container, commandContainer],
177
+ __self: _this,
178
+ __source: {
179
+ fileName: _jsxFileName,
180
+ lineNumber: 107,
181
+ columnNumber: 7
182
+ }
183
+ }, _react["default"].createElement(_AutoCompleteSuggestionCommandIcon.AutoCompleteSuggestionCommandIcon, {
184
+ name: _name2,
185
+ __self: _this,
186
+ __source: {
187
+ fileName: _jsxFileName,
188
+ lineNumber: 108,
189
+ columnNumber: 9
190
+ }
191
+ }), _react["default"].createElement(_reactNative.Text, {
192
+ style: [styles.title, {
193
+ color: black
194
+ }, title],
195
+ testID: "commands-item-title",
196
+ __self: _this,
197
+ __source: {
198
+ fileName: _jsxFileName,
199
+ lineNumber: 109,
200
+ columnNumber: 9
201
+ }
202
+ }, (_name2 || '').replace(/^\w/, function (_char) {
203
+ return _char.toUpperCase();
204
+ })), _react["default"].createElement(_reactNative.Text, {
205
+ style: [styles.args, {
206
+ color: grey
207
+ }, argsStyle],
208
+ testID: "commands-item-args",
209
+ __self: _this,
210
+ __source: {
211
+ fileName: _jsxFileName,
212
+ lineNumber: 112,
213
+ columnNumber: 9
214
+ }
215
+ }, "/" + _name2 + " " + args));
216
+ } else {
217
+ return null;
218
+ }
219
+ };
220
+
221
+ var areEqual = function areEqual(prevProps, nextProps) {
222
+ var prevItemProps = prevProps.itemProps,
223
+ prevType = prevProps.triggerType;
224
+ var nextItemProps = nextProps.itemProps,
225
+ nextType = nextProps.triggerType;
226
+ var itemPropsEqual = prevItemProps === nextItemProps;
227
+ if (!itemPropsEqual) return false;
228
+ var typeEqual = prevType === nextType;
229
+ if (!typeEqual) return false;
230
+ return true;
231
+ };
232
+
233
+ var MemoizedAutoCompleteSuggestionItem = _react["default"].memo(AutoCompleteSuggestionItemWithContext, areEqual);
234
+
235
+ var AutoCompleteSuggestionItem = function AutoCompleteSuggestionItem(props) {
236
+ return _react["default"].createElement(MemoizedAutoCompleteSuggestionItem, (0, _extends2["default"])({}, props, {
237
+ __self: _this,
238
+ __source: {
239
+ fileName: _jsxFileName,
240
+ lineNumber: 153,
241
+ columnNumber: 6
242
+ }
243
+ }));
244
+ };
245
+
246
+ exports.AutoCompleteSuggestionItem = AutoCompleteSuggestionItem;
247
+ AutoCompleteSuggestionItem.displayName = 'AutoCompleteSuggestionItem{messageInput{suggestions{Item}}}';
248
+ //# sourceMappingURL=AutoCompleteSuggestionItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["AutoCompleteSuggestionItem.tsx"],"names":["styles","StyleSheet","create","args","fontSize","column","flex","justifyContent","paddingLeft","container","alignItems","flexDirection","paddingHorizontal","paddingVertical","name","fontWeight","paddingBottom","tag","text","title","paddingRight","AutoCompleteSuggestionItemWithContext","itemProps","triggerType","theme","colors","accent_blue","black","grey","messageInput","suggestions","command","argsStyle","commandContainer","emoji","emojiContainer","mention","avatarSize","mentionContainer","nameStyle","id","image","online","color","unicode","replace","char","toUpperCase","areEqual","prevProps","nextProps","prevItemProps","prevType","nextItemProps","nextType","itemPropsEqual","typeEqual","MemoizedAutoCompleteSuggestionItem","React","memo","AutoCompleteSuggestionItem","props","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport { AutoCompleteSuggestionCommandIcon } from './AutoCompleteSuggestionCommandIcon';\n\nimport type {\n Suggestion,\n SuggestionCommand,\n SuggestionsContextValue,\n SuggestionUser,\n} from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { Emoji } from '../../emoji-data/compiled';\nimport { AtMentions } from '../../icons/AtMentions';\nimport type { DefaultCommandType, DefaultUserType } from '../../types/types';\nimport { Avatar } from '../Avatar/Avatar';\n\nexport type AutoCompleteSuggestionItemPropsWithContext<\n Co extends string = DefaultCommandType,\n Us extends DefaultUserType = DefaultUserType,\n> = Pick<SuggestionsContextValue, 'triggerType'> & {\n itemProps: Suggestion<Co, Us>;\n};\n\nconst styles = StyleSheet.create({\n args: {\n fontSize: 14,\n },\n column: {\n flex: 1,\n justifyContent: 'space-evenly',\n paddingLeft: 8,\n },\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n paddingHorizontal: 16,\n paddingVertical: 8,\n },\n name: {\n fontSize: 14,\n fontWeight: 'bold',\n paddingBottom: 2,\n },\n tag: {\n fontSize: 12,\n fontWeight: '600',\n },\n text: {\n fontSize: 14,\n },\n title: {\n fontSize: 14,\n fontWeight: 'bold',\n paddingRight: 8,\n },\n});\n\nconst AutoCompleteSuggestionItemWithContext = <\n Co extends string = DefaultCommandType,\n Us extends DefaultUserType = DefaultUserType,\n>({\n itemProps,\n triggerType,\n}: AutoCompleteSuggestionItemPropsWithContext<Co, Us>) => {\n const {\n theme: {\n colors: { accent_blue, black, grey },\n messageInput: {\n suggestions: {\n command: { args: argsStyle, container: commandContainer, title },\n emoji: { container: emojiContainer, text },\n mention: { avatarSize, column, container: mentionContainer, name: nameStyle },\n },\n },\n },\n } = useTheme();\n\n if (triggerType === 'mention') {\n const { id, image, name, online } = itemProps as SuggestionUser<Us>;\n return (\n <View style={[styles.container, mentionContainer]}>\n <Avatar image={image} name={name} online={online} size={avatarSize} />\n <View style={[styles.column, column]}>\n <Text style={[styles.name, { color: black }, nameStyle]} testID='mentions-item-name'>\n {name || id}\n </Text>\n </View>\n <AtMentions pathFill={accent_blue} />\n </View>\n );\n } else if (triggerType === 'emoji') {\n const { name, unicode } = itemProps as Emoji;\n return (\n <View style={[styles.container, emojiContainer]}>\n <Text style={[styles.text, { color: black }, text]} testID='emojis-item-unicode'>\n {unicode}\n </Text>\n <Text style={[styles.text, { color: black }, text]} testID='emojis-item-name'>\n {` ${name}`}\n </Text>\n </View>\n );\n } else if (triggerType === 'command') {\n const { args, name } = itemProps as SuggestionCommand<Co>;\n return (\n <View style={[styles.container, commandContainer]}>\n <AutoCompleteSuggestionCommandIcon name={name} />\n <Text style={[styles.title, { color: black }, title]} testID='commands-item-title'>\n {(name || '').replace(/^\\w/, (char) => char.toUpperCase())}\n </Text>\n <Text style={[styles.args, { color: grey }, argsStyle]} testID='commands-item-args'>\n {`/${name} ${args}`}\n </Text>\n </View>\n );\n } else {\n return null;\n }\n};\n\nconst areEqual = <\n Co extends string = DefaultCommandType,\n Us extends DefaultUserType = DefaultUserType,\n>(\n prevProps: AutoCompleteSuggestionItemPropsWithContext<Co, Us>,\n nextProps: AutoCompleteSuggestionItemPropsWithContext<Co, Us>,\n) => {\n const { itemProps: prevItemProps, triggerType: prevType } = prevProps;\n const { itemProps: nextItemProps, triggerType: nextType } = nextProps;\n const itemPropsEqual = prevItemProps === nextItemProps;\n if (!itemPropsEqual) return false;\n const typeEqual = prevType === nextType;\n if (!typeEqual) return false;\n return true;\n};\n\nconst MemoizedAutoCompleteSuggestionItem = React.memo(\n AutoCompleteSuggestionItemWithContext,\n areEqual,\n) as typeof AutoCompleteSuggestionItemWithContext;\n\nexport type AutoCompleteSuggestionItemProps<\n Co extends string = DefaultCommandType,\n Us extends DefaultUserType = DefaultUserType,\n> = AutoCompleteSuggestionItemPropsWithContext<Co, Us>;\n\nexport const AutoCompleteSuggestionItem = <\n Co extends string = DefaultCommandType,\n Us extends DefaultUserType = DefaultUserType,\n>(\n props: AutoCompleteSuggestionItemProps<Co, Us>,\n) => <MemoizedAutoCompleteSuggestionItem {...props} />;\n\nAutoCompleteSuggestionItem.displayName =\n 'AutoCompleteSuggestionItem{messageInput{suggestions{Item}}}';\n"]}
@@ -0,0 +1,223 @@
1
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AutoCompleteSuggestionListWithContext = exports.AutoCompleteSuggestionList = void 0;
7
+
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _reactNative = require("react-native");
15
+
16
+ var _SuggestionsContext = require("../../contexts/suggestionsContext/SuggestionsContext");
17
+
18
+ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
19
+
20
+ var _excluded = ["children"];
21
+
22
+ var _this = this,
23
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx";
24
+
25
+ var SuggestionsItem = function SuggestionsItem(props) {
26
+ var children = props.children,
27
+ touchableOpacityProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
28
+ return _react["default"].createElement(_reactNative.TouchableOpacity, (0, _extends2["default"])({}, touchableOpacityProps, {
29
+ __self: _this,
30
+ __source: {
31
+ fileName: _jsxFileName,
32
+ lineNumber: 38,
33
+ columnNumber: 10
34
+ }
35
+ }), children);
36
+ };
37
+
38
+ SuggestionsItem.displayName = 'SuggestionsHeader{messageInput{suggestions}}';
39
+
40
+ var AutoCompleteSuggestionListWithContext = function AutoCompleteSuggestionListWithContext(props) {
41
+ var active = props.active,
42
+ AutoCompleteSuggestionHeader = props.AutoCompleteSuggestionHeader,
43
+ AutoCompleteSuggestionItem = props.AutoCompleteSuggestionItem,
44
+ data = props.data,
45
+ onSelect = props.onSelect,
46
+ queryText = props.queryText,
47
+ triggerType = props.triggerType;
48
+
49
+ var _useTheme = (0, _ThemeContext.useTheme)(),
50
+ _useTheme$theme$messa = _useTheme.theme.messageInput,
51
+ maxHeight = _useTheme$theme$messa.container.maxHeight,
52
+ itemStyle = _useTheme$theme$messa.suggestions.item,
53
+ flatlist = _useTheme$theme$messa.suggestionsListContainer.flatlist;
54
+
55
+ var renderItem = function renderItem(_ref) {
56
+ var index = _ref.index,
57
+ item = _ref.item;
58
+
59
+ switch (triggerType) {
60
+ case 'mention':
61
+ if ((0, _SuggestionsContext.isSuggestionUser)(item)) {
62
+ return _react["default"].createElement(SuggestionsItem, {
63
+ onPress: function onPress() {
64
+ onSelect(item);
65
+ },
66
+ style: [{
67
+ paddingBottom: index === data.length - 1 ? 8 : 0,
68
+ paddingTop: index === 0 ? 8 : 0
69
+ }, itemStyle],
70
+ __self: _this,
71
+ __source: {
72
+ fileName: _jsxFileName,
73
+ lineNumber: 74,
74
+ columnNumber: 13
75
+ }
76
+ }, AutoCompleteSuggestionItem && _react["default"].createElement(AutoCompleteSuggestionItem, {
77
+ itemProps: item,
78
+ triggerType: triggerType,
79
+ __self: _this,
80
+ __source: {
81
+ fileName: _jsxFileName,
82
+ lineNumber: 87,
83
+ columnNumber: 17
84
+ }
85
+ }));
86
+ }
87
+
88
+ return null;
89
+
90
+ case 'command':
91
+ if ((0, _SuggestionsContext.isSuggestionCommand)(item)) {
92
+ return _react["default"].createElement(SuggestionsItem, {
93
+ onPress: function onPress() {
94
+ onSelect(item);
95
+ },
96
+ style: [itemStyle],
97
+ __self: _this,
98
+ __source: {
99
+ fileName: _jsxFileName,
100
+ lineNumber: 96,
101
+ columnNumber: 13
102
+ }
103
+ }, AutoCompleteSuggestionItem && _react["default"].createElement(AutoCompleteSuggestionItem, {
104
+ itemProps: item,
105
+ triggerType: triggerType,
106
+ __self: _this,
107
+ __source: {
108
+ fileName: _jsxFileName,
109
+ lineNumber: 103,
110
+ columnNumber: 17
111
+ }
112
+ }));
113
+ }
114
+
115
+ return null;
116
+
117
+ case 'emoji':
118
+ if ((0, _SuggestionsContext.isSuggestionEmoji)(item)) {
119
+ return _react["default"].createElement(SuggestionsItem, {
120
+ onPress: function onPress() {
121
+ onSelect(item);
122
+ },
123
+ style: [itemStyle],
124
+ __self: _this,
125
+ __source: {
126
+ fileName: _jsxFileName,
127
+ lineNumber: 112,
128
+ columnNumber: 13
129
+ }
130
+ }, AutoCompleteSuggestionItem && _react["default"].createElement(AutoCompleteSuggestionItem, {
131
+ itemProps: item,
132
+ triggerType: triggerType,
133
+ __self: _this,
134
+ __source: {
135
+ fileName: _jsxFileName,
136
+ lineNumber: 119,
137
+ columnNumber: 17
138
+ }
139
+ }));
140
+ }
141
+
142
+ return null;
143
+
144
+ default:
145
+ return null;
146
+ }
147
+ };
148
+
149
+ if (!active || data.length === 0) return null;
150
+ return _react["default"].createElement(_reactNative.FlatList, {
151
+ data: data,
152
+ keyboardShouldPersistTaps: "always",
153
+ keyExtractor: function keyExtractor(item, index) {
154
+ return "" + (item.name || ((0, _SuggestionsContext.isSuggestionUser)(item) ? item.id : '')) + index;
155
+ },
156
+ ListHeaderComponent: AutoCompleteSuggestionHeader ? _react["default"].createElement(AutoCompleteSuggestionHeader, {
157
+ queryText: queryText,
158
+ triggerType: triggerType,
159
+ __self: _this,
160
+ __source: {
161
+ fileName: _jsxFileName,
162
+ lineNumber: 141,
163
+ columnNumber: 11
164
+ }
165
+ }) : null,
166
+ renderItem: renderItem,
167
+ style: [flatlist, {
168
+ maxHeight: maxHeight
169
+ }],
170
+ __self: _this,
171
+ __source: {
172
+ fileName: _jsxFileName,
173
+ lineNumber: 133,
174
+ columnNumber: 5
175
+ }
176
+ });
177
+ };
178
+
179
+ exports.AutoCompleteSuggestionListWithContext = AutoCompleteSuggestionListWithContext;
180
+
181
+ var areEqual = function areEqual(prevProps, nextProps) {
182
+ var prevActive = prevProps.active,
183
+ prevData = prevProps.data,
184
+ prevQueryText = prevProps.queryText,
185
+ prevType = prevProps.triggerType;
186
+ var nextActive = nextProps.active,
187
+ nextData = nextProps.data,
188
+ nextQueryText = nextProps.queryText,
189
+ nextType = nextProps.triggerType;
190
+ var activeEqual = prevActive === nextActive;
191
+ if (!activeEqual) return false;
192
+ var queryTextEqual = prevQueryText === nextQueryText;
193
+ if (!queryTextEqual) return false;
194
+ var dataEqual = prevData === nextData;
195
+ if (!dataEqual) return false;
196
+ var typeEqual = prevType === nextType;
197
+ if (!typeEqual) return false;
198
+ return true;
199
+ };
200
+
201
+ var MemoizedAutoCompleteSuggestionList = _react["default"].memo(AutoCompleteSuggestionListWithContext, areEqual);
202
+
203
+ var AutoCompleteSuggestionList = function AutoCompleteSuggestionList(props) {
204
+ var _useSuggestionsContex = (0, _SuggestionsContext.useSuggestionsContext)(),
205
+ AutoCompleteSuggestionHeader = _useSuggestionsContex.AutoCompleteSuggestionHeader,
206
+ AutoCompleteSuggestionItem = _useSuggestionsContex.AutoCompleteSuggestionItem;
207
+
208
+ return _react["default"].createElement(MemoizedAutoCompleteSuggestionList, (0, _extends2["default"])({
209
+ AutoCompleteSuggestionHeader: AutoCompleteSuggestionHeader,
210
+ AutoCompleteSuggestionItem: AutoCompleteSuggestionItem
211
+ }, props, {
212
+ __self: _this,
213
+ __source: {
214
+ fileName: _jsxFileName,
215
+ lineNumber: 204,
216
+ columnNumber: 5
217
+ }
218
+ }));
219
+ };
220
+
221
+ exports.AutoCompleteSuggestionList = AutoCompleteSuggestionList;
222
+ AutoCompleteSuggestionList.displayName = 'AutoCompleteSuggestionList{messageInput{suggestions{List}}}';
223
+ //# sourceMappingURL=AutoCompleteSuggestionList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["AutoCompleteSuggestionList.tsx"],"names":["SuggestionsItem","props","children","touchableOpacityProps","displayName","AutoCompleteSuggestionListWithContext","active","AutoCompleteSuggestionHeader","AutoCompleteSuggestionItem","data","onSelect","queryText","triggerType","theme","messageInput","maxHeight","container","itemStyle","suggestions","item","flatlist","suggestionsListContainer","renderItem","index","paddingBottom","length","paddingTop","name","id","areEqual","prevProps","nextProps","prevActive","prevData","prevQueryText","prevType","nextActive","nextData","nextQueryText","nextType","activeEqual","queryTextEqual","dataEqual","typeEqual","MemoizedAutoCompleteSuggestionList","React","memo","AutoCompleteSuggestionList"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { FlatList, TouchableOpacity, TouchableOpacityProps } from 'react-native';\n\nimport type { AutoCompleteSuggestionHeaderProps } from './AutoCompleteSuggestionHeader';\nimport type { AutoCompleteSuggestionItemProps } from './AutoCompleteSuggestionItem';\n\nimport {\n isSuggestionCommand,\n isSuggestionEmoji,\n isSuggestionUser,\n Suggestion,\n SuggestionsContextValue,\n useSuggestionsContext,\n} from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { DefaultCommandType, DefaultUserType, UnknownType } from '../../types/types';\n\ntype AutoCompleteSuggestionListComponentProps<\n Co extends string = DefaultCommandType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<SuggestionsContextValue, 'queryText' | 'triggerType'> & {\n active: boolean;\n data: Suggestion<Co, Us>[];\n onSelect: (item: Suggestion<Co, Us>) => void;\n};\n\nexport type AutoCompleteSuggestionListPropsWithContext<\n Co extends string = DefaultCommandType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<\n SuggestionsContextValue<Co, Us>,\n 'AutoCompleteSuggestionHeader' | 'AutoCompleteSuggestionItem'\n> &\n AutoCompleteSuggestionListComponentProps<Co, Us>;\n\nconst SuggestionsItem: React.FC<TouchableOpacityProps> = (props) => {\n const { children, ...touchableOpacityProps } = props;\n return <TouchableOpacity {...touchableOpacityProps}>{children}</TouchableOpacity>;\n};\n\nSuggestionsItem.displayName = 'SuggestionsHeader{messageInput{suggestions}}';\n\nexport const AutoCompleteSuggestionListWithContext = <\n Co extends string = DefaultCommandType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: AutoCompleteSuggestionListPropsWithContext<Co, Us>,\n) => {\n const {\n active,\n AutoCompleteSuggestionHeader,\n AutoCompleteSuggestionItem,\n data,\n onSelect,\n queryText,\n triggerType,\n } = props;\n\n const {\n theme: {\n messageInput: {\n container: { maxHeight },\n suggestions: { item: itemStyle },\n suggestionsListContainer: { flatlist },\n },\n },\n } = useTheme();\n\n const renderItem = ({ index, item }: { index: number; item: Suggestion<Co, Us> }) => {\n switch (triggerType) {\n case 'mention':\n if (isSuggestionUser(item)) {\n return (\n <SuggestionsItem\n onPress={() => {\n onSelect(item);\n }}\n style={[\n {\n paddingBottom: index === data.length - 1 ? 8 : 0,\n paddingTop: index === 0 ? 8 : 0,\n },\n itemStyle,\n ]}\n >\n {AutoCompleteSuggestionItem && (\n <AutoCompleteSuggestionItem itemProps={item} triggerType={triggerType} />\n )}\n </SuggestionsItem>\n );\n }\n return null;\n case 'command':\n if (isSuggestionCommand(item)) {\n return (\n <SuggestionsItem\n onPress={() => {\n onSelect(item);\n }}\n style={[itemStyle]}\n >\n {AutoCompleteSuggestionItem && (\n <AutoCompleteSuggestionItem itemProps={item} triggerType={triggerType} />\n )}\n </SuggestionsItem>\n );\n }\n return null;\n case 'emoji':\n if (isSuggestionEmoji(item)) {\n return (\n <SuggestionsItem\n onPress={() => {\n onSelect(item);\n }}\n style={[itemStyle]}\n >\n {AutoCompleteSuggestionItem && (\n <AutoCompleteSuggestionItem itemProps={item} triggerType={triggerType} />\n )}\n </SuggestionsItem>\n );\n }\n return null;\n default:\n return null;\n }\n };\n\n if (!active || data.length === 0) return null;\n\n return (\n <FlatList\n data={data}\n keyboardShouldPersistTaps='always'\n keyExtractor={(item, index) =>\n `${item.name || (isSuggestionUser(item) ? item.id : '')}${index}`\n }\n ListHeaderComponent={\n AutoCompleteSuggestionHeader ? (\n <AutoCompleteSuggestionHeader queryText={queryText} triggerType={triggerType} />\n ) : null\n }\n renderItem={renderItem}\n style={[flatlist, { maxHeight }]}\n />\n );\n};\n\nconst areEqual = <Co extends string = DefaultCommandType, Us extends UnknownType = DefaultUserType>(\n prevProps: AutoCompleteSuggestionListPropsWithContext<Co, Us>,\n nextProps: AutoCompleteSuggestionListPropsWithContext<Co, Us>,\n) => {\n const {\n active: prevActive,\n data: prevData,\n queryText: prevQueryText,\n triggerType: prevType,\n } = prevProps;\n const {\n active: nextActive,\n data: nextData,\n queryText: nextQueryText,\n triggerType: nextType,\n } = nextProps;\n\n const activeEqual = prevActive === nextActive;\n if (!activeEqual) return false;\n\n const queryTextEqual = prevQueryText === nextQueryText;\n if (!queryTextEqual) return false;\n\n const dataEqual = prevData === nextData;\n if (!dataEqual) return false;\n\n const typeEqual = prevType === nextType;\n if (!typeEqual) return false;\n\n return true;\n};\n\nconst MemoizedAutoCompleteSuggestionList = React.memo(\n AutoCompleteSuggestionListWithContext,\n areEqual,\n) as typeof AutoCompleteSuggestionListWithContext;\n\nexport type AutoCompleteSuggestionListProps<\n Co extends string = DefaultCommandType,\n Us extends UnknownType = DefaultUserType,\n> = AutoCompleteSuggestionListComponentProps<Co, Us> & {\n AutoCompleteSuggestionHeader?: React.ComponentType<AutoCompleteSuggestionHeaderProps>;\n AutoCompleteSuggestionItem?: React.ComponentType<AutoCompleteSuggestionItemProps<Co, Us>>;\n};\n\nexport const AutoCompleteSuggestionList = <\n Co extends string = DefaultCommandType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: AutoCompleteSuggestionListProps<Co, Us>,\n) => {\n const { AutoCompleteSuggestionHeader, AutoCompleteSuggestionItem } =\n useSuggestionsContext<Co, Us>();\n return (\n <MemoizedAutoCompleteSuggestionList\n {...{ AutoCompleteSuggestionHeader, AutoCompleteSuggestionItem }}\n {...props}\n />\n );\n};\n\nAutoCompleteSuggestionList.displayName =\n 'AutoCompleteSuggestionList{messageInput{suggestions{List}}}';\n"]}
@@ -19,6 +19,8 @@ var _reactNativeSvg = _interopRequireWildcard(require("react-native-svg"));
19
19
 
20
20
  var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
21
21
 
22
+ var _getResizedImageUrl = require("../../utils/getResizedImageUrl");
23
+
22
24
  var _this = this,
23
25
  _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Avatar/Avatar.tsx";
24
26
 
@@ -82,7 +84,7 @@ var Avatar = function Avatar(props) {
82
84
  __self: _this,
83
85
  __source: {
84
86
  fileName: _jsxFileName,
85
- lineNumber: 81,
87
+ lineNumber: 74,
86
88
  columnNumber: 5
87
89
  }
88
90
  }, _react["default"].createElement(_reactNative.View, {
@@ -94,7 +96,7 @@ var Avatar = function Avatar(props) {
94
96
  __self: _this,
95
97
  __source: {
96
98
  fileName: _jsxFileName,
97
- lineNumber: 82,
99
+ lineNumber: 75,
98
100
  columnNumber: 7
99
101
  }
100
102
  }, _react["default"].createElement(_reactNative.Image, {
@@ -103,7 +105,11 @@ var Avatar = function Avatar(props) {
103
105
  return setImageError(true);
104
106
  },
105
107
  source: {
106
- uri: imageError || !imageProp || imageProp.includes(randomImageBaseUrl) || imageProp.includes(randomSvgBaseUrl) ? imageProp != null && imageProp.includes(streamCDN) ? imageProp : "" + randomImageBaseUrl + (name ? "?name=" + getInitials(name) + "&size=" + size : '') : imageProp.replace('h=%2A', "h=" + _reactNative.PixelRatio.getPixelSizeForLayoutSize(size))
108
+ uri: imageError || !imageProp || imageProp.includes(randomImageBaseUrl) || imageProp.includes(randomSvgBaseUrl) ? imageProp != null && imageProp.includes(streamCDN) ? imageProp : "" + randomImageBaseUrl + (name ? "?name=" + getInitials(name) + "&size=" + size : '') : (0, _getResizedImageUrl.getResizedImageUrl)({
109
+ height: size,
110
+ url: imageProp,
111
+ width: size
112
+ })
107
113
  },
108
114
  style: [image, size ? {
109
115
  borderRadius: size / 2,
@@ -114,7 +120,7 @@ var Avatar = function Avatar(props) {
114
120
  __self: _this,
115
121
  __source: {
116
122
  fileName: _jsxFileName,
117
- lineNumber: 94,
123
+ lineNumber: 87,
118
124
  columnNumber: 9
119
125
  }
120
126
  })), online && _react["default"].createElement(_reactNative.View, {
@@ -122,14 +128,14 @@ var Avatar = function Avatar(props) {
122
128
  __self: _this,
123
129
  __source: {
124
130
  fileName: _jsxFileName,
125
- lineNumber: 123,
131
+ lineNumber: 120,
126
132
  columnNumber: 9
127
133
  }
128
134
  }, _react["default"].createElement(_reactNativeSvg["default"], {
129
135
  __self: _this,
130
136
  __source: {
131
137
  fileName: _jsxFileName,
132
- lineNumber: 130,
138
+ lineNumber: 127,
133
139
  columnNumber: 11
134
140
  }
135
141
  }, _react["default"].createElement(_reactNativeSvg.Circle, (0, _extends2["default"])({
@@ -139,7 +145,7 @@ var Avatar = function Avatar(props) {
139
145
  __self: _this,
140
146
  __source: {
141
147
  fileName: _jsxFileName,
142
- lineNumber: 131,
148
+ lineNumber: 128,
143
149
  columnNumber: 13
144
150
  }
145
151
  })))));
@@ -1 +1 @@
1
- {"version":3,"sources":["Avatar.tsx"],"names":["randomImageBaseUrl","randomSvgBaseUrl","streamCDN","styles","StyleSheet","create","container","alignItems","justifyContent","overflow","presenceIndicatorContainer","height","position","right","top","width","getInitials","fullName","split","slice","map","name","charAt","join","Avatar","props","containerStyle","imageProp","image","imageStyle","online","presenceIndicatorProp","presenceIndicator","presenceIndicatorContainerStyle","size","testID","theme","avatar","colors","accent_green","white","imageError","setImageError","borderRadius","uri","includes","replace","PixelRatio","getPixelSizeForLayoutSize","displayName"],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport {\n Image,\n ImageStyle,\n PixelRatio,\n StyleProp,\n StyleSheet,\n View,\n ViewStyle,\n} from 'react-native';\nimport Svg, { Circle, CircleProps } from 'react-native-svg';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nconst randomImageBaseUrl = 'https://getstream.io/random_png/';\nconst randomSvgBaseUrl = 'https://getstream.io/random_svg/';\nconst streamCDN = 'stream-io-cdn.com';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n justifyContent: 'center',\n overflow: 'hidden',\n },\n presenceIndicatorContainer: {\n height: 12,\n position: 'absolute',\n right: 0,\n top: 0,\n width: 12,\n },\n});\n\nconst getInitials = (fullName: string) =>\n fullName\n .split(' ')\n .slice(0, 2)\n .map((name) => name.charAt(0))\n .join(' ');\n\nexport type AvatarProps = {\n /** size in pixels */\n size: number;\n containerStyle?: StyleProp<ViewStyle>;\n /** image url */\n image?: string;\n /** name of the picture, used for fallback */\n imageStyle?: StyleProp<ImageStyle>;\n name?: string;\n online?: boolean;\n presenceIndicator?: CircleProps;\n presenceIndicatorContainerStyle?: StyleProp<ViewStyle>;\n testID?: string;\n};\n\n/**\n * Avatar - A round avatar image with fallback to user's initials\n */\nexport const Avatar: React.FC<AvatarProps> = (props) => {\n const {\n containerStyle,\n image: imageProp,\n imageStyle,\n name,\n online,\n presenceIndicator: presenceIndicatorProp,\n presenceIndicatorContainerStyle,\n size,\n testID,\n } = props;\n const {\n theme: {\n avatar: { container, image, presenceIndicator, presenceIndicatorContainer },\n colors: { accent_green, white },\n },\n } = useTheme();\n\n const [imageError, setImageError] = useState(false);\n\n return (\n <View>\n <View\n style={[\n styles.container,\n {\n borderRadius: size / 2,\n height: size,\n width: size,\n },\n container,\n containerStyle,\n ]}\n >\n <Image\n accessibilityLabel={testID || 'avatar-image'}\n onError={() => setImageError(true)}\n source={{\n uri:\n imageError ||\n !imageProp ||\n imageProp.includes(randomImageBaseUrl) ||\n imageProp.includes(randomSvgBaseUrl)\n ? imageProp?.includes(streamCDN)\n ? imageProp\n : `${randomImageBaseUrl}${name ? `?name=${getInitials(name)}&size=${size}` : ''}`\n : imageProp.replace('h=%2A', `h=${PixelRatio.getPixelSizeForLayoutSize(size)}`),\n }}\n style={[\n image,\n size\n ? {\n borderRadius: size / 2,\n height: size,\n width: size,\n }\n : {},\n imageStyle,\n ]}\n testID={testID || 'avatar-image'}\n />\n </View>\n {online && (\n <View\n style={[\n styles.presenceIndicatorContainer,\n presenceIndicatorContainer,\n presenceIndicatorContainerStyle,\n ]}\n >\n <Svg>\n <Circle\n fill={accent_green}\n stroke={white}\n {...presenceIndicator}\n {...presenceIndicatorProp}\n />\n </Svg>\n </View>\n )}\n </View>\n );\n};\n\nAvatar.displayName = 'Avatar{avatar}';\n"]}
1
+ {"version":3,"sources":["Avatar.tsx"],"names":["randomImageBaseUrl","randomSvgBaseUrl","streamCDN","styles","StyleSheet","create","container","alignItems","justifyContent","overflow","presenceIndicatorContainer","height","position","right","top","width","getInitials","fullName","split","slice","map","name","charAt","join","Avatar","props","containerStyle","imageProp","image","imageStyle","online","presenceIndicatorProp","presenceIndicator","presenceIndicatorContainerStyle","size","testID","theme","avatar","colors","accent_green","white","imageError","setImageError","borderRadius","uri","includes","url","displayName"],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport { Image, ImageStyle, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\nimport Svg, { Circle, CircleProps } from 'react-native-svg';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { getResizedImageUrl } from '../../utils/getResizedImageUrl';\n\nconst randomImageBaseUrl = 'https://getstream.io/random_png/';\nconst randomSvgBaseUrl = 'https://getstream.io/random_svg/';\nconst streamCDN = 'stream-io-cdn.com';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n justifyContent: 'center',\n overflow: 'hidden',\n },\n presenceIndicatorContainer: {\n height: 12,\n position: 'absolute',\n right: 0,\n top: 0,\n width: 12,\n },\n});\n\nconst getInitials = (fullName: string) =>\n fullName\n .split(' ')\n .slice(0, 2)\n .map((name) => name.charAt(0))\n .join(' ');\n\nexport type AvatarProps = {\n /** size in pixels */\n size: number;\n containerStyle?: StyleProp<ViewStyle>;\n /** image url */\n image?: string;\n /** name of the picture, used for fallback */\n imageStyle?: StyleProp<ImageStyle>;\n name?: string;\n online?: boolean;\n presenceIndicator?: CircleProps;\n presenceIndicatorContainerStyle?: StyleProp<ViewStyle>;\n testID?: string;\n};\n\n/**\n * Avatar - A round avatar image with fallback to user's initials\n */\nexport const Avatar: React.FC<AvatarProps> = (props) => {\n const {\n containerStyle,\n image: imageProp,\n imageStyle,\n name,\n online,\n presenceIndicator: presenceIndicatorProp,\n presenceIndicatorContainerStyle,\n size,\n testID,\n } = props;\n const {\n theme: {\n avatar: { container, image, presenceIndicator, presenceIndicatorContainer },\n colors: { accent_green, white },\n },\n } = useTheme();\n\n const [imageError, setImageError] = useState(false);\n\n return (\n <View>\n <View\n style={[\n styles.container,\n {\n borderRadius: size / 2,\n height: size,\n width: size,\n },\n container,\n containerStyle,\n ]}\n >\n <Image\n accessibilityLabel={testID || 'avatar-image'}\n onError={() => setImageError(true)}\n source={{\n uri:\n imageError ||\n !imageProp ||\n imageProp.includes(randomImageBaseUrl) ||\n imageProp.includes(randomSvgBaseUrl)\n ? imageProp?.includes(streamCDN)\n ? imageProp\n : `${randomImageBaseUrl}${name ? `?name=${getInitials(name)}&size=${size}` : ''}`\n : getResizedImageUrl({\n height: size,\n url: imageProp,\n width: size,\n }),\n }}\n style={[\n image,\n size\n ? {\n borderRadius: size / 2,\n height: size,\n width: size,\n }\n : {},\n imageStyle,\n ]}\n testID={testID || 'avatar-image'}\n />\n </View>\n {online && (\n <View\n style={[\n styles.presenceIndicatorContainer,\n presenceIndicatorContainer,\n presenceIndicatorContainerStyle,\n ]}\n >\n <Svg>\n <Circle\n fill={accent_green}\n stroke={white}\n {...presenceIndicator}\n {...presenceIndicatorProp}\n />\n </Svg>\n </View>\n )}\n </View>\n );\n};\n\nAvatar.displayName = 'Avatar{avatar}';\n"]}