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

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 (1049) hide show
  1. package/lib/commonjs/components/Attachment/Attachment.js +12 -12
  2. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  3. package/lib/commonjs/components/Attachment/AttachmentActions.js +4 -4
  4. package/lib/commonjs/components/Attachment/AttachmentActions.js.map +1 -1
  5. package/lib/commonjs/components/Attachment/Card.js +15 -15
  6. package/lib/commonjs/components/Attachment/Card.js.map +1 -1
  7. package/lib/commonjs/components/Attachment/FileAttachment.js +8 -8
  8. package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
  9. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +4 -4
  10. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js.map +1 -1
  11. package/lib/commonjs/components/Attachment/FileIcon.js.map +1 -1
  12. package/lib/commonjs/components/Attachment/Gallery.js +97 -106
  13. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  14. package/lib/commonjs/components/Attachment/Giphy.js +112 -148
  15. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  16. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js +46 -0
  17. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
  18. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
  19. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
  20. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
  21. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
  22. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
  23. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
  24. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
  25. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
  26. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
  27. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
  28. package/lib/commonjs/components/Attachment/utils/buildGallery/types.js +4 -0
  29. package/lib/commonjs/components/Attachment/utils/buildGallery/types.js.map +1 -0
  30. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js +14 -0
  31. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -0
  32. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
  33. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
  34. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +9 -8
  35. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  36. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +2 -2
  37. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  38. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +16 -16
  39. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  40. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +7 -7
  41. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  42. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +4 -4
  43. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
  44. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +11 -11
  45. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  46. package/lib/commonjs/components/Avatar/Avatar.js +13 -7
  47. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  48. package/lib/commonjs/components/Avatar/GroupAvatar.js +10 -4
  49. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  50. package/lib/commonjs/components/Channel/Channel.js +64 -64
  51. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  52. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  53. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  54. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  55. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  56. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  57. package/lib/commonjs/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  58. package/lib/commonjs/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
  59. package/lib/commonjs/components/ChannelList/ChannelList.js +6 -6
  60. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  61. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +4 -4
  62. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  63. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +6 -7
  64. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  65. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +2 -2
  66. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  67. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +17 -17
  68. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  69. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  70. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  71. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  72. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  73. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  74. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  75. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  76. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  77. package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +1 -1
  78. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  79. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  80. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
  81. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  82. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  83. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  84. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js +2 -2
  85. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  86. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +83 -70
  87. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  88. package/lib/commonjs/components/ChannelList/utils.js +1 -1
  89. package/lib/commonjs/components/ChannelList/utils.js.map +1 -1
  90. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +2 -2
  91. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  92. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +4 -4
  93. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  94. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +4 -4
  95. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  96. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +48 -20
  97. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  98. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
  99. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
  100. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
  101. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  102. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  103. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  104. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  105. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  106. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  107. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  108. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  109. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  110. package/lib/commonjs/components/Chat/Chat.js +4 -4
  111. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  112. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  113. package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
  114. package/lib/commonjs/components/Chat/hooks/useMutedUsers.js.map +1 -1
  115. package/lib/commonjs/components/ImageGallery/ImageGallery.js +89 -56
  116. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  117. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +2 -2
  118. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  119. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +12 -12
  120. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  121. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +28 -11
  122. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  123. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +7 -7
  124. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  125. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +5 -5
  126. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  127. package/lib/commonjs/components/Indicators/LoadingIndicator.js +9 -9
  128. package/lib/commonjs/components/Indicators/LoadingIndicator.js.map +1 -1
  129. package/lib/commonjs/components/Message/Message.js +19 -15
  130. package/lib/commonjs/components/Message/Message.js.map +1 -1
  131. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +6 -6
  132. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  133. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +19 -19
  134. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  135. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +5 -5
  136. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  137. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +20 -16
  138. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  139. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +6 -6
  140. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  141. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +10 -10
  142. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  143. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +5 -5
  144. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  145. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +6 -6
  146. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  147. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +15 -13
  148. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  149. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +3 -3
  150. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  151. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +51 -51
  152. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +1 -1
  153. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js +89 -0
  154. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
  155. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
  156. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
  157. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +151 -81
  158. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  159. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js +240 -0
  160. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js.map +1 -0
  161. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  162. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js +16 -3
  163. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  164. package/lib/commonjs/components/Message/hooks/useMessageActions.js +18 -14
  165. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
  166. package/lib/commonjs/components/Message/utils/messageActions.js.map +1 -1
  167. package/lib/commonjs/components/Message/utils/removeReservedFields.js.map +1 -1
  168. package/lib/commonjs/components/MessageInput/AttachButton.js +3 -3
  169. package/lib/commonjs/components/MessageInput/AttachButton.js.map +1 -1
  170. package/lib/commonjs/components/MessageInput/CommandsButton.js +3 -3
  171. package/lib/commonjs/components/MessageInput/CommandsButton.js.map +1 -1
  172. package/lib/commonjs/components/MessageInput/CooldownTimer.js +2 -2
  173. package/lib/commonjs/components/MessageInput/CooldownTimer.js.map +1 -1
  174. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +13 -13
  175. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  176. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +7 -7
  177. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
  178. package/lib/commonjs/components/MessageInput/InputButtons.js +9 -9
  179. package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
  180. package/lib/commonjs/components/MessageInput/MessageInput.js +40 -40
  181. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  182. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +3 -3
  183. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js.map +1 -1
  184. package/lib/commonjs/components/MessageInput/SendButton.js +5 -5
  185. package/lib/commonjs/components/MessageInput/SendButton.js.map +1 -1
  186. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +2 -2
  187. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
  188. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +10 -10
  189. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  190. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -1
  191. package/lib/commonjs/components/MessageInput/hooks/useCountdown.js.map +1 -1
  192. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +4 -4
  193. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  194. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +4 -4
  195. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  196. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +4 -4
  197. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
  198. package/lib/commonjs/components/MessageList/MessageList.js +28 -28
  199. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  200. package/lib/commonjs/components/MessageList/MessageSystem.js +6 -6
  201. package/lib/commonjs/components/MessageList/MessageSystem.js.map +1 -1
  202. package/lib/commonjs/components/MessageList/TypingIndicator.js +5 -5
  203. package/lib/commonjs/components/MessageList/TypingIndicator.js.map +1 -1
  204. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js +2 -2
  205. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  206. package/lib/commonjs/components/MessageList/hooks/useMessageList.js +7 -7
  207. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  208. package/lib/commonjs/components/MessageList/hooks/useTypingString.js +2 -2
  209. package/lib/commonjs/components/MessageList/hooks/useTypingString.js.map +1 -1
  210. package/lib/commonjs/components/MessageList/utils/filterTypingUsers.js.map +1 -1
  211. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js.map +1 -1
  212. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
  213. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js +3 -1
  214. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  215. package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +1 -1
  216. package/lib/commonjs/components/MessageOverlay/MessageActionList.js +5 -5
  217. package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -1
  218. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +8 -8
  219. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  220. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +41 -34
  221. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  222. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +1 -1
  223. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js.map +1 -1
  224. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +16 -16
  225. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  226. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +31 -34
  227. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
  228. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
  229. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
  230. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -1
  231. package/lib/commonjs/components/Reply/Reply.js +25 -19
  232. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  233. package/lib/commonjs/components/Thread/Thread.js +6 -6
  234. package/lib/commonjs/components/Thread/Thread.js.map +1 -1
  235. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +12 -12
  236. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  237. package/lib/commonjs/components/docs/data.js +45 -45
  238. package/lib/commonjs/components/docs/data.js.map +1 -1
  239. package/lib/commonjs/components/index.js +26 -0
  240. package/lib/commonjs/components/index.js.map +1 -1
  241. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +2 -2
  242. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  243. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +2 -2
  244. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  245. package/lib/commonjs/contexts/channelContext/ChannelContext.js +2 -2
  246. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  247. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +2 -2
  248. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  249. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +3 -3
  250. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  251. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
  252. package/lib/commonjs/contexts/chatContext/ChatContext.js +2 -2
  253. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  254. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
  255. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  256. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +2 -2
  257. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  258. package/lib/commonjs/contexts/messageContext/MessageContext.js +2 -2
  259. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  260. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +18 -14
  261. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  262. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  263. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js +10 -3
  264. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  265. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +5 -19
  266. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  267. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
  268. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
  269. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
  270. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
  271. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +2 -2
  272. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  273. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -1
  274. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  275. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +33 -31
  276. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  277. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
  278. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
  279. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  280. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +2 -2
  281. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  282. package/lib/commonjs/contexts/themeContext/ThemeContext.js +2 -2
  283. package/lib/commonjs/contexts/themeContext/ThemeContext.js.map +1 -1
  284. package/lib/commonjs/contexts/themeContext/utils/theme.js +20 -11
  285. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  286. package/lib/commonjs/contexts/threadContext/ThreadContext.js +2 -2
  287. package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
  288. package/lib/commonjs/contexts/translationContext/TranslationContext.js +3 -3
  289. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  290. package/lib/commonjs/contexts/typingContext/TypingContext.js +2 -2
  291. package/lib/commonjs/contexts/typingContext/TypingContext.js.map +1 -1
  292. package/lib/commonjs/contexts/utils/getDisplayName.js.map +1 -1
  293. package/lib/commonjs/emoji-data/index.js +2 -2
  294. package/lib/commonjs/emoji-data/index.js.map +1 -1
  295. package/lib/commonjs/hooks/useStreami18n.js.map +1 -1
  296. package/lib/commonjs/icons/UserAdmin.js +62 -0
  297. package/lib/commonjs/icons/UserAdmin.js.map +1 -0
  298. package/lib/commonjs/icons/index.js +0 -26
  299. package/lib/commonjs/icons/index.js.map +1 -1
  300. package/lib/commonjs/icons/utils/base.js +1 -1
  301. package/lib/commonjs/index.js +6 -6
  302. package/lib/commonjs/mock-builders/api/error.js +1 -1
  303. package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
  304. package/lib/commonjs/mock-builders/generator/attachment.js +1 -3
  305. package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
  306. package/lib/commonjs/mock-builders/generator/channel.js +101 -51
  307. package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
  308. package/lib/commonjs/mock-builders/generator/user.js +32 -33
  309. package/lib/commonjs/mock-builders/generator/user.js.map +1 -1
  310. package/lib/commonjs/mock-builders/mock.js +1 -1
  311. package/lib/commonjs/native.js +1 -1
  312. package/lib/commonjs/native.js.map +1 -1
  313. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js +7 -7
  314. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js.map +1 -1
  315. package/lib/commonjs/styleguideComponents/JsDoc.js +4 -4
  316. package/lib/commonjs/styleguideComponents/JsDoc.js.map +1 -1
  317. package/lib/commonjs/styleguideComponents/PathlineRenderer.js +7 -7
  318. package/lib/commonjs/styleguideComponents/PathlineRenderer.js.map +1 -1
  319. package/lib/commonjs/styleguideComponents/PropsRenderer.js +25 -25
  320. package/lib/commonjs/styleguideComponents/PropsRenderer.js.map +1 -1
  321. package/lib/commonjs/styleguideComponents/Wrapper.js +1 -1
  322. package/lib/commonjs/styleguideComponents/Wrapper.js.map +1 -1
  323. package/lib/commonjs/utils/Streami18n.js.map +1 -1
  324. package/lib/commonjs/utils/getResizedImageUrl.js +26 -0
  325. package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -0
  326. package/lib/commonjs/utils/getUrlOfImageAttachment.js +9 -0
  327. package/lib/commonjs/utils/getUrlOfImageAttachment.js.map +1 -0
  328. package/lib/commonjs/utils/utils.js +9 -3
  329. package/lib/commonjs/utils/utils.js.map +1 -1
  330. package/lib/commonjs/version.json +1 -1
  331. package/lib/module/components/Attachment/Attachment.js +12 -12
  332. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  333. package/lib/module/components/Attachment/AttachmentActions.js +4 -4
  334. package/lib/module/components/Attachment/AttachmentActions.js.map +1 -1
  335. package/lib/module/components/Attachment/Card.js +15 -15
  336. package/lib/module/components/Attachment/Card.js.map +1 -1
  337. package/lib/module/components/Attachment/FileAttachment.js +8 -8
  338. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  339. package/lib/module/components/Attachment/FileAttachmentGroup.js +4 -4
  340. package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
  341. package/lib/module/components/Attachment/FileIcon.js.map +1 -1
  342. package/lib/module/components/Attachment/Gallery.js +97 -106
  343. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  344. package/lib/module/components/Attachment/Giphy.js +112 -148
  345. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  346. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js +46 -0
  347. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
  348. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
  349. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
  350. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
  351. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
  352. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
  353. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
  354. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
  355. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
  356. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
  357. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
  358. package/lib/module/components/Attachment/utils/buildGallery/types.js +4 -0
  359. package/lib/module/components/Attachment/utils/buildGallery/types.js.map +1 -0
  360. package/lib/module/components/Attachment/utils/getAspectRatio.js +14 -0
  361. package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -0
  362. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
  363. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
  364. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +9 -8
  365. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  366. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +2 -2
  367. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  368. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +16 -16
  369. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  370. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +7 -7
  371. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  372. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +4 -4
  373. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
  374. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +11 -11
  375. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  376. package/lib/module/components/Avatar/Avatar.js +13 -7
  377. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  378. package/lib/module/components/Avatar/GroupAvatar.js +10 -4
  379. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  380. package/lib/module/components/Channel/Channel.js +64 -64
  381. package/lib/module/components/Channel/Channel.js.map +1 -1
  382. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  383. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  384. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  385. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  386. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  387. package/lib/module/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  388. package/lib/module/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
  389. package/lib/module/components/ChannelList/ChannelList.js +6 -6
  390. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  391. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +4 -4
  392. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  393. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +6 -7
  394. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  395. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +2 -2
  396. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  397. package/lib/module/components/ChannelList/ChannelListMessenger.js +17 -17
  398. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  399. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  400. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  401. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  402. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  403. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  404. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  405. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  406. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  407. package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +1 -1
  408. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  409. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  410. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
  411. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  412. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  413. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  414. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js +2 -2
  415. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  416. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +83 -70
  417. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  418. package/lib/module/components/ChannelList/utils.js +1 -1
  419. package/lib/module/components/ChannelList/utils.js.map +1 -1
  420. package/lib/module/components/ChannelPreview/ChannelAvatar.js +2 -2
  421. package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  422. package/lib/module/components/ChannelPreview/ChannelPreview.js +4 -4
  423. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  424. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +4 -4
  425. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  426. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +48 -20
  427. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  428. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
  429. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
  430. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
  431. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  432. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  433. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  434. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  435. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  436. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  437. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  438. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  439. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  440. package/lib/module/components/Chat/Chat.js +4 -4
  441. package/lib/module/components/Chat/Chat.js.map +1 -1
  442. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  443. package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
  444. package/lib/module/components/Chat/hooks/useMutedUsers.js.map +1 -1
  445. package/lib/module/components/ImageGallery/ImageGallery.js +89 -56
  446. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  447. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +2 -2
  448. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  449. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +12 -12
  450. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  451. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +28 -11
  452. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  453. package/lib/module/components/ImageGallery/components/ImageGrid.js +7 -7
  454. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  455. package/lib/module/components/ImageGallery/components/ImageGridHandle.js +5 -5
  456. package/lib/module/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  457. package/lib/module/components/Indicators/LoadingIndicator.js +9 -9
  458. package/lib/module/components/Indicators/LoadingIndicator.js.map +1 -1
  459. package/lib/module/components/Message/Message.js +19 -15
  460. package/lib/module/components/Message/Message.js.map +1 -1
  461. package/lib/module/components/Message/MessageSimple/MessageAvatar.js +6 -6
  462. package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  463. package/lib/module/components/Message/MessageSimple/MessageContent.js +19 -19
  464. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  465. package/lib/module/components/Message/MessageSimple/MessageDeleted.js +5 -5
  466. package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  467. package/lib/module/components/Message/MessageSimple/MessageFooter.js +20 -16
  468. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  469. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +6 -6
  470. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  471. package/lib/module/components/Message/MessageSimple/MessageReplies.js +10 -10
  472. package/lib/module/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  473. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +5 -5
  474. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  475. package/lib/module/components/Message/MessageSimple/MessageSimple.js +6 -6
  476. package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  477. package/lib/module/components/Message/MessageSimple/MessageStatus.js +15 -13
  478. package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  479. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +3 -3
  480. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  481. package/lib/module/components/Message/MessageSimple/ReactionList.js +51 -51
  482. package/lib/module/components/Message/MessageSimple/ReactionList.js.map +1 -1
  483. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js +89 -0
  484. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
  485. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
  486. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
  487. package/lib/module/components/Message/MessageSimple/utils/renderText.js +151 -81
  488. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  489. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js +240 -0
  490. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js.map +1 -0
  491. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  492. package/lib/module/components/Message/hooks/useMessageActionHandlers.js +16 -3
  493. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  494. package/lib/module/components/Message/hooks/useMessageActions.js +18 -14
  495. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
  496. package/lib/module/components/Message/utils/messageActions.js.map +1 -1
  497. package/lib/module/components/Message/utils/removeReservedFields.js.map +1 -1
  498. package/lib/module/components/MessageInput/AttachButton.js +3 -3
  499. package/lib/module/components/MessageInput/AttachButton.js.map +1 -1
  500. package/lib/module/components/MessageInput/CommandsButton.js +3 -3
  501. package/lib/module/components/MessageInput/CommandsButton.js.map +1 -1
  502. package/lib/module/components/MessageInput/CooldownTimer.js +2 -2
  503. package/lib/module/components/MessageInput/CooldownTimer.js.map +1 -1
  504. package/lib/module/components/MessageInput/FileUploadPreview.js +13 -13
  505. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  506. package/lib/module/components/MessageInput/ImageUploadPreview.js +7 -7
  507. package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
  508. package/lib/module/components/MessageInput/InputButtons.js +9 -9
  509. package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
  510. package/lib/module/components/MessageInput/MessageInput.js +40 -40
  511. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  512. package/lib/module/components/MessageInput/MoreOptionsButton.js +3 -3
  513. package/lib/module/components/MessageInput/MoreOptionsButton.js.map +1 -1
  514. package/lib/module/components/MessageInput/SendButton.js +5 -5
  515. package/lib/module/components/MessageInput/SendButton.js.map +1 -1
  516. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +2 -2
  517. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
  518. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +10 -10
  519. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  520. package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -1
  521. package/lib/module/components/MessageInput/hooks/useCountdown.js.map +1 -1
  522. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +4 -4
  523. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  524. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +4 -4
  525. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  526. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +4 -4
  527. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
  528. package/lib/module/components/MessageList/MessageList.js +28 -28
  529. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  530. package/lib/module/components/MessageList/MessageSystem.js +6 -6
  531. package/lib/module/components/MessageList/MessageSystem.js.map +1 -1
  532. package/lib/module/components/MessageList/TypingIndicator.js +5 -5
  533. package/lib/module/components/MessageList/TypingIndicator.js.map +1 -1
  534. package/lib/module/components/MessageList/TypingIndicatorContainer.js +2 -2
  535. package/lib/module/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  536. package/lib/module/components/MessageList/hooks/useMessageList.js +7 -7
  537. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  538. package/lib/module/components/MessageList/hooks/useTypingString.js +2 -2
  539. package/lib/module/components/MessageList/hooks/useTypingString.js.map +1 -1
  540. package/lib/module/components/MessageList/utils/filterTypingUsers.js.map +1 -1
  541. package/lib/module/components/MessageList/utils/getDateSeparators.js.map +1 -1
  542. package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
  543. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js +3 -1
  544. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  545. package/lib/module/components/MessageList/utils/getReadStates.js.map +1 -1
  546. package/lib/module/components/MessageOverlay/MessageActionList.js +5 -5
  547. package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -1
  548. package/lib/module/components/MessageOverlay/MessageActionListItem.js +8 -8
  549. package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  550. package/lib/module/components/MessageOverlay/MessageOverlay.js +41 -34
  551. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  552. package/lib/module/components/MessageOverlay/OverlayBackdrop.js +1 -1
  553. package/lib/module/components/MessageOverlay/OverlayBackdrop.js.map +1 -1
  554. package/lib/module/components/MessageOverlay/OverlayReactionList.js +16 -16
  555. package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  556. package/lib/module/components/MessageOverlay/OverlayReactions.js +31 -34
  557. package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
  558. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
  559. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
  560. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -1
  561. package/lib/module/components/Reply/Reply.js +25 -19
  562. package/lib/module/components/Reply/Reply.js.map +1 -1
  563. package/lib/module/components/Thread/Thread.js +6 -6
  564. package/lib/module/components/Thread/Thread.js.map +1 -1
  565. package/lib/module/components/Thread/components/ThreadFooterComponent.js +12 -12
  566. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  567. package/lib/module/components/docs/data.js +45 -45
  568. package/lib/module/components/docs/data.js.map +1 -1
  569. package/lib/module/components/index.js +26 -0
  570. package/lib/module/components/index.js.map +1 -1
  571. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +2 -2
  572. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  573. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +2 -2
  574. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  575. package/lib/module/contexts/channelContext/ChannelContext.js +2 -2
  576. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  577. package/lib/module/contexts/channelsContext/ChannelsContext.js +2 -2
  578. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  579. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +3 -3
  580. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  581. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
  582. package/lib/module/contexts/chatContext/ChatContext.js +2 -2
  583. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  584. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
  585. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  586. package/lib/module/contexts/keyboardContext/KeyboardContext.js +2 -2
  587. package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  588. package/lib/module/contexts/messageContext/MessageContext.js +2 -2
  589. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  590. package/lib/module/contexts/messageInputContext/MessageInputContext.js +18 -14
  591. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  592. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  593. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js +10 -3
  594. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  595. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +5 -19
  596. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  597. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
  598. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
  599. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
  600. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
  601. package/lib/module/contexts/messagesContext/MessagesContext.js +2 -2
  602. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  603. package/lib/module/contexts/overlayContext/OverlayContext.js +1 -1
  604. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  605. package/lib/module/contexts/overlayContext/OverlayProvider.js +33 -31
  606. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  607. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
  608. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
  609. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  610. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +2 -2
  611. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  612. package/lib/module/contexts/themeContext/ThemeContext.js +2 -2
  613. package/lib/module/contexts/themeContext/ThemeContext.js.map +1 -1
  614. package/lib/module/contexts/themeContext/utils/theme.js +20 -11
  615. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  616. package/lib/module/contexts/threadContext/ThreadContext.js +2 -2
  617. package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
  618. package/lib/module/contexts/translationContext/TranslationContext.js +3 -3
  619. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  620. package/lib/module/contexts/typingContext/TypingContext.js +2 -2
  621. package/lib/module/contexts/typingContext/TypingContext.js.map +1 -1
  622. package/lib/module/contexts/utils/getDisplayName.js.map +1 -1
  623. package/lib/module/emoji-data/index.js +2 -2
  624. package/lib/module/emoji-data/index.js.map +1 -1
  625. package/lib/module/hooks/useStreami18n.js.map +1 -1
  626. package/lib/module/icons/UserAdmin.js +62 -0
  627. package/lib/module/icons/UserAdmin.js.map +1 -0
  628. package/lib/module/icons/index.js +0 -26
  629. package/lib/module/icons/index.js.map +1 -1
  630. package/lib/module/icons/utils/base.js +1 -1
  631. package/lib/module/index.js +6 -6
  632. package/lib/module/mock-builders/api/error.js +1 -1
  633. package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
  634. package/lib/module/mock-builders/generator/attachment.js +1 -3
  635. package/lib/module/mock-builders/generator/attachment.js.map +1 -1
  636. package/lib/module/mock-builders/generator/channel.js +101 -51
  637. package/lib/module/mock-builders/generator/channel.js.map +1 -1
  638. package/lib/module/mock-builders/generator/user.js +32 -33
  639. package/lib/module/mock-builders/generator/user.js.map +1 -1
  640. package/lib/module/mock-builders/mock.js +1 -1
  641. package/lib/module/native.js +1 -1
  642. package/lib/module/native.js.map +1 -1
  643. package/lib/module/styleguideComponents/ArgumentsRenderer.js +7 -7
  644. package/lib/module/styleguideComponents/ArgumentsRenderer.js.map +1 -1
  645. package/lib/module/styleguideComponents/JsDoc.js +4 -4
  646. package/lib/module/styleguideComponents/JsDoc.js.map +1 -1
  647. package/lib/module/styleguideComponents/PathlineRenderer.js +7 -7
  648. package/lib/module/styleguideComponents/PathlineRenderer.js.map +1 -1
  649. package/lib/module/styleguideComponents/PropsRenderer.js +25 -25
  650. package/lib/module/styleguideComponents/PropsRenderer.js.map +1 -1
  651. package/lib/module/styleguideComponents/Wrapper.js +1 -1
  652. package/lib/module/styleguideComponents/Wrapper.js.map +1 -1
  653. package/lib/module/utils/Streami18n.js.map +1 -1
  654. package/lib/module/utils/getResizedImageUrl.js +26 -0
  655. package/lib/module/utils/getResizedImageUrl.js.map +1 -0
  656. package/lib/module/utils/getUrlOfImageAttachment.js +9 -0
  657. package/lib/module/utils/getUrlOfImageAttachment.js.map +1 -0
  658. package/lib/module/utils/utils.js +9 -3
  659. package/lib/module/utils/utils.js.map +1 -1
  660. package/lib/module/version.json +1 -1
  661. package/lib/typescript/components/Attachment/Attachment.d.ts +6 -6
  662. package/lib/typescript/components/Attachment/AttachmentActions.d.ts +5 -5
  663. package/lib/typescript/components/Attachment/Card.d.ts +5 -5
  664. package/lib/typescript/components/Attachment/FileAttachment.d.ts +6 -6
  665. package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts +4 -4
  666. package/lib/typescript/components/Attachment/Gallery.d.ts +6 -9
  667. package/lib/typescript/components/Attachment/Giphy.d.ts +7 -7
  668. package/lib/typescript/components/Attachment/utils/buildGallery/buildGallery.d.ts +23 -0
  669. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.d.ts +7 -0
  670. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.d.ts +7 -0
  671. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.d.ts +7 -0
  672. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnail.d.ts +10 -0
  673. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnailGrid.d.ts +137 -0
  674. package/lib/typescript/components/Attachment/utils/buildGallery/types.d.ts +23 -0
  675. package/lib/typescript/components/Attachment/utils/getAspectRatio.d.ts +9 -0
  676. package/lib/typescript/components/Attachment/utils/getGalleryImageBorderRadius.d.ts +22 -0
  677. package/lib/typescript/components/AutoCompleteInput/AutoCompleteInput.d.ts +4 -4
  678. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.d.ts +3 -2
  679. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionHeader.d.ts +4 -4
  680. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionItem.d.ts +5 -5
  681. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts +10 -11
  682. package/lib/typescript/components/Avatar/Avatar.d.ts +1 -1
  683. package/lib/typescript/components/Channel/Channel.d.ts +10 -10
  684. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +2 -2
  685. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +3 -3
  686. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +3 -3
  687. package/lib/typescript/components/Channel/hooks/useCreateOwnCapabilitiesContext.d.ts +4 -4
  688. package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts +3 -3
  689. package/lib/typescript/components/Channel/hooks/useCreateThreadContext.d.ts +2 -2
  690. package/lib/typescript/components/Channel/hooks/useCreateTypingContext.d.ts +2 -2
  691. package/lib/typescript/components/ChannelList/ChannelList.d.ts +15 -15
  692. package/lib/typescript/components/ChannelList/ChannelListMessenger.d.ts +4 -4
  693. package/lib/typescript/components/ChannelList/hooks/listeners/useAddedToChannelNotification.d.ts +5 -5
  694. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelDeleted.d.ts +5 -5
  695. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelHidden.d.ts +5 -5
  696. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelTruncated.d.ts +5 -5
  697. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelUpdated.d.ts +5 -5
  698. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelVisible.d.ts +5 -5
  699. package/lib/typescript/components/ChannelList/hooks/listeners/useConnectionRecovered.d.ts +2 -2
  700. package/lib/typescript/components/ChannelList/hooks/listeners/useNewMessage.d.ts +4 -4
  701. package/lib/typescript/components/ChannelList/hooks/listeners/useNewMessageNotification.d.ts +5 -5
  702. package/lib/typescript/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.d.ts +5 -5
  703. package/lib/typescript/components/ChannelList/hooks/listeners/useUserPresence.d.ts +4 -4
  704. package/lib/typescript/components/ChannelList/hooks/useCreateChannelsContext.d.ts +2 -2
  705. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +11 -9
  706. package/lib/typescript/components/ChannelList/utils.d.ts +7 -7
  707. package/lib/typescript/components/ChannelPreview/ChannelAvatar.d.ts +3 -3
  708. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +7 -7
  709. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessage.d.ts +4 -5
  710. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts +6 -6
  711. package/lib/typescript/components/ChannelPreview/ChannelPreviewMutedStatus.d.ts +9 -0
  712. package/lib/typescript/components/ChannelPreview/ChannelPreviewStatus.d.ts +3 -3
  713. package/lib/typescript/components/ChannelPreview/ChannelPreviewTitle.d.ts +3 -3
  714. package/lib/typescript/components/ChannelPreview/ChannelPreviewUnreadCount.d.ts +3 -3
  715. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.d.ts +3 -3
  716. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayName.d.ts +4 -4
  717. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.d.ts +2 -2
  718. package/lib/typescript/components/ChannelPreview/hooks/useLatestMessagePreview.d.ts +5 -5
  719. package/lib/typescript/components/Chat/Chat.d.ts +3 -3
  720. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +2 -2
  721. package/lib/typescript/components/Chat/hooks/useIsOnline.d.ts +2 -2
  722. package/lib/typescript/components/Chat/hooks/useMutedUsers.d.ts +2 -2
  723. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +12 -10
  724. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryImage.d.ts +1 -1
  725. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +10 -10
  726. package/lib/typescript/components/ImageGallery/components/ImageGalleryHeader.d.ts +10 -10
  727. package/lib/typescript/components/ImageGallery/components/ImageGrid.d.ts +10 -10
  728. package/lib/typescript/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.d.ts +1 -0
  729. package/lib/typescript/components/Message/Message.d.ts +12 -12
  730. package/lib/typescript/components/Message/MessageSimple/MessageAvatar.d.ts +5 -5
  731. package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts +4 -4
  732. package/lib/typescript/components/Message/MessageSimple/MessageDeleted.d.ts +6 -6
  733. package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts +8 -8
  734. package/lib/typescript/components/Message/MessageSimple/MessagePinnedHeader.d.ts +4 -4
  735. package/lib/typescript/components/Message/MessageSimple/MessageReplies.d.ts +4 -4
  736. package/lib/typescript/components/Message/MessageSimple/MessageRepliesAvatars.d.ts +3 -3
  737. package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts +4 -4
  738. package/lib/typescript/components/Message/MessageSimple/MessageStatus.d.ts +4 -4
  739. package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts +6 -6
  740. package/lib/typescript/components/Message/MessageSimple/ReactionList.d.ts +4 -4
  741. package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.d.ts +7 -0
  742. package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.test.d.ts +1 -0
  743. package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +20 -6
  744. package/lib/typescript/components/Message/MessageSimple/utils/renderText.test.d.ts +1 -0
  745. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +2 -2
  746. package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +2 -2
  747. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +5 -5
  748. package/lib/typescript/components/Message/utils/messageActions.d.ts +7 -7
  749. package/lib/typescript/components/Message/utils/removeReservedFields.d.ts +2 -2
  750. package/lib/typescript/components/MessageInput/AttachButton.d.ts +5 -5
  751. package/lib/typescript/components/MessageInput/CommandsButton.d.ts +5 -5
  752. package/lib/typescript/components/MessageInput/FileUploadPreview.d.ts +4 -4
  753. package/lib/typescript/components/MessageInput/ImageUploadPreview.d.ts +4 -4
  754. package/lib/typescript/components/MessageInput/InputButtons.d.ts +5 -5
  755. package/lib/typescript/components/MessageInput/MessageInput.d.ts +4 -4
  756. package/lib/typescript/components/MessageInput/MoreOptionsButton.d.ts +5 -5
  757. package/lib/typescript/components/MessageInput/SendButton.d.ts +4 -4
  758. package/lib/typescript/components/MessageInput/ShowThreadMessageInChannelButton.d.ts +2 -2
  759. package/lib/typescript/components/MessageInput/hooks/useCooldown.d.ts +2 -2
  760. package/lib/typescript/components/MessageList/InlineLoadingMoreIndicator.d.ts +2 -2
  761. package/lib/typescript/components/MessageList/InlineLoadingMoreRecentIndicator.d.ts +2 -2
  762. package/lib/typescript/components/MessageList/InlineLoadingMoreThreadIndicator.d.ts +2 -2
  763. package/lib/typescript/components/MessageList/MessageList.d.ts +7 -7
  764. package/lib/typescript/components/MessageList/MessageSystem.d.ts +5 -5
  765. package/lib/typescript/components/MessageList/TypingIndicator.d.ts +2 -2
  766. package/lib/typescript/components/MessageList/TypingIndicatorContainer.d.ts +4 -4
  767. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +5 -5
  768. package/lib/typescript/components/MessageList/hooks/useTypingString.d.ts +2 -2
  769. package/lib/typescript/components/MessageList/utils/filterTypingUsers.d.ts +3 -3
  770. package/lib/typescript/components/MessageList/utils/getDateSeparators.d.ts +4 -4
  771. package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts +5 -5
  772. package/lib/typescript/components/MessageList/utils/getLastReceivedMessage.d.ts +2 -2
  773. package/lib/typescript/components/MessageList/utils/getReadStates.d.ts +8 -5
  774. package/lib/typescript/components/MessageOverlay/MessageActionList.d.ts +4 -4
  775. package/lib/typescript/components/MessageOverlay/MessageActionListItem.d.ts +4 -3
  776. package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts +4 -4
  777. package/lib/typescript/components/MessageOverlay/OverlayReactionList.d.ts +6 -6
  778. package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts +3 -1
  779. package/lib/typescript/components/MessageOverlay/OverlayReactionsAvatar.d.ts +7 -0
  780. package/lib/typescript/components/MessageOverlay/hooks/useMessageActionAnimation.d.ts +1 -1
  781. package/lib/typescript/components/Reply/Reply.d.ts +5 -5
  782. package/lib/typescript/components/Thread/Thread.d.ts +8 -8
  783. package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts +2 -2
  784. package/lib/typescript/components/index.d.ts +2 -0
  785. package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts +2 -2
  786. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +12 -12
  787. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +30 -22
  788. package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts +19 -19
  789. package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts +17 -17
  790. package/lib/typescript/contexts/chatContext/ChatContext.d.ts +11 -11
  791. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts +8 -8
  792. package/lib/typescript/contexts/keyboardContext/KeyboardContext.d.ts +2 -2
  793. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +12 -12
  794. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +39 -37
  795. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +3 -3
  796. package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts +3 -3
  797. package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +27 -25
  798. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.d.ts +12 -0
  799. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.test.d.ts +1 -0
  800. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +67 -67
  801. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +8 -8
  802. package/lib/typescript/contexts/overlayContext/OverlayProvider.d.ts +2 -2
  803. package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +8 -8
  804. package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts +21 -21
  805. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +17 -8
  806. package/lib/typescript/contexts/threadContext/ThreadContext.d.ts +10 -10
  807. package/lib/typescript/contexts/translationContext/TranslationContext.d.ts +2 -2
  808. package/lib/typescript/contexts/typingContext/TypingContext.d.ts +8 -8
  809. package/lib/typescript/hooks/useStreami18n.d.ts +1 -1
  810. package/lib/typescript/icons/{Left.d.ts → UserAdmin.d.ts} +1 -1
  811. package/lib/typescript/icons/index.d.ts +0 -2
  812. package/lib/typescript/types/types.d.ts +16 -13
  813. package/lib/typescript/utils/Streami18n.d.ts +6 -6
  814. package/lib/typescript/utils/getResizedImageUrl.d.ts +19 -0
  815. package/lib/typescript/utils/getUrlOfImageAttachment.d.ts +7 -0
  816. package/lib/typescript/utils/utils.d.ts +27 -22
  817. package/package.json +9 -13
  818. package/src/components/Attachment/Attachment.tsx +18 -59
  819. package/src/components/Attachment/AttachmentActions.tsx +17 -57
  820. package/src/components/Attachment/Card.tsx +17 -51
  821. package/src/components/Attachment/FileAttachment.tsx +16 -51
  822. package/src/components/Attachment/FileAttachmentGroup.tsx +16 -57
  823. package/src/components/Attachment/FileIcon.tsx +2 -2
  824. package/src/components/Attachment/Gallery.tsx +177 -242
  825. package/src/components/Attachment/Giphy.tsx +84 -128
  826. package/src/components/Attachment/__tests__/Attachment.test.js +11 -10
  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 +77 -0
  830. package/src/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.ts +91 -0
  831. package/src/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.ts +99 -0
  832. package/src/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.ts +66 -0
  833. package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +48 -0
  834. package/src/components/Attachment/utils/buildGallery/buildThumbnailGrid.ts +188 -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 +23 -62
  840. package/src/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.tsx +6 -4
  841. package/src/components/AutoCompleteInput/AutoCompleteSuggestionHeader.tsx +13 -20
  842. package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx +20 -25
  843. package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +25 -29
  844. package/src/components/AutoCompleteInput/__tests__/AutoCompleteInput.test.js +6 -8
  845. package/src/components/Avatar/Avatar.tsx +8 -11
  846. package/src/components/Avatar/GroupAvatar.tsx +7 -2
  847. package/src/components/Avatar/__tests__/Avatar.test.js +2 -2
  848. package/src/components/Channel/Channel.tsx +237 -313
  849. package/src/components/Channel/__tests__/Channel.test.js +10 -10
  850. package/src/components/Channel/__tests__/ownCapabilities.test.js +8 -8
  851. package/src/components/Channel/hooks/useCreateChannelContext.ts +4 -19
  852. package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +52 -68
  853. package/src/components/Channel/hooks/useCreateMessagesContext.ts +4 -19
  854. package/src/components/Channel/hooks/useCreateOwnCapabilitiesContext.ts +5 -19
  855. package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +16 -32
  856. package/src/components/Channel/hooks/useCreateThreadContext.ts +4 -19
  857. package/src/components/Channel/hooks/useCreateTypingContext.ts +4 -19
  858. package/src/components/ChannelList/ChannelList.tsx +36 -58
  859. package/src/components/ChannelList/ChannelListFooterLoadingIndicator.tsx +1 -2
  860. package/src/components/ChannelList/ChannelListHeaderErrorIndicator.tsx +3 -7
  861. package/src/components/ChannelList/ChannelListHeaderNetworkDownIndicator.tsx +2 -2
  862. package/src/components/ChannelList/ChannelListMessenger.tsx +22 -74
  863. package/src/components/ChannelList/__tests__/ChannelList.test.js +73 -13
  864. package/src/components/ChannelList/__tests__/ChannelListMessenger.test.js +11 -12
  865. package/src/components/ChannelList/hooks/listeners/useAddedToChannelNotification.ts +17 -39
  866. package/src/components/ChannelList/hooks/listeners/useChannelDeleted.ts +15 -37
  867. package/src/components/ChannelList/hooks/listeners/useChannelHidden.ts +15 -37
  868. package/src/components/ChannelList/hooks/listeners/useChannelTruncated.ts +17 -39
  869. package/src/components/ChannelList/hooks/listeners/useChannelUpdated.ts +15 -37
  870. package/src/components/ChannelList/hooks/listeners/useChannelVisible.ts +17 -39
  871. package/src/components/ChannelList/hooks/listeners/useConnectionRecovered.ts +3 -18
  872. package/src/components/ChannelList/hooks/listeners/useNewMessage.ts +13 -36
  873. package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +17 -39
  874. package/src/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.ts +15 -37
  875. package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +11 -33
  876. package/src/components/ChannelList/hooks/useCreateChannelsContext.ts +5 -21
  877. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +89 -77
  878. package/src/components/ChannelList/utils.ts +9 -42
  879. package/src/components/ChannelPreview/ChannelAvatar.tsx +6 -29
  880. package/src/components/ChannelPreview/ChannelPreview.tsx +21 -54
  881. package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +13 -23
  882. package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +35 -55
  883. package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx +50 -0
  884. package/src/components/ChannelPreview/ChannelPreviewStatus.tsx +10 -30
  885. package/src/components/ChannelPreview/ChannelPreviewTitle.tsx +7 -28
  886. package/src/components/ChannelPreview/ChannelPreviewUnreadCount.tsx +7 -27
  887. package/src/components/ChannelPreview/__tests__/ChannelPreview.test.js +8 -9
  888. package/src/components/ChannelPreview/__tests__/ChannelPreviewMessenger.test.js +8 -9
  889. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.ts +9 -30
  890. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +8 -30
  891. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.ts +9 -30
  892. package/src/components/ChannelPreview/hooks/useLatestMessagePreview.ts +29 -80
  893. package/src/components/Chat/Chat.tsx +17 -45
  894. package/src/components/Chat/__tests__/Chat.test.js +5 -5
  895. package/src/components/Chat/hooks/useCreateChatContext.ts +4 -19
  896. package/src/components/Chat/hooks/useIsOnline.ts +8 -22
  897. package/src/components/Chat/hooks/useMutedUsers.ts +5 -20
  898. package/src/components/ImageGallery/ImageGallery.tsx +109 -86
  899. package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +1 -2
  900. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +20 -15
  901. package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +42 -21
  902. package/src/components/ImageGallery/components/ImageGrid.tsx +47 -33
  903. package/src/components/ImageGallery/components/ImageGridHandle.tsx +1 -0
  904. package/src/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.tsx +31 -0
  905. package/src/components/Indicators/LoadingIndicator.tsx +1 -2
  906. package/src/components/Message/Message.tsx +59 -112
  907. package/src/components/Message/MessageSimple/MessageAvatar.tsx +14 -56
  908. package/src/components/Message/MessageSimple/MessageContent.tsx +20 -64
  909. package/src/components/Message/MessageSimple/MessageDeleted.tsx +19 -61
  910. package/src/components/Message/MessageSimple/MessageFooter.tsx +28 -71
  911. package/src/components/Message/MessageSimple/MessagePinnedHeader.tsx +15 -56
  912. package/src/components/Message/MessageSimple/MessageReplies.tsx +15 -56
  913. package/src/components/Message/MessageSimple/MessageRepliesAvatars.tsx +7 -29
  914. package/src/components/Message/MessageSimple/MessageSimple.tsx +16 -57
  915. package/src/components/Message/MessageSimple/MessageStatus.tsx +21 -58
  916. package/src/components/Message/MessageSimple/MessageTextContainer.tsx +19 -66
  917. package/src/components/Message/MessageSimple/ReactionList.tsx +47 -88
  918. package/src/components/Message/MessageSimple/__tests__/Message.test.js +9 -9
  919. package/src/components/Message/MessageSimple/__tests__/MessageAvatar.test.js +2 -2
  920. package/src/components/Message/MessageSimple/__tests__/MessageContent.test.js +9 -26
  921. package/src/components/Message/MessageSimple/__tests__/MessagePinnedHeader.test.js +2 -2
  922. package/src/components/Message/MessageSimple/__tests__/MessageReplies.test.js +2 -2
  923. package/src/components/Message/MessageSimple/__tests__/MessageStatus.test.js +4 -5
  924. package/src/components/Message/MessageSimple/__tests__/MessageTextContainer.test.js +2 -2
  925. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageAvatar.test.js.snap +1 -1
  926. package/src/components/Message/MessageSimple/utils/parseLinks.test.ts +100 -0
  927. package/src/components/Message/MessageSimple/utils/parseLinks.ts +95 -0
  928. package/src/components/Message/MessageSimple/utils/renderText.test.tsx +70 -0
  929. package/src/components/Message/MessageSimple/utils/renderText.tsx +97 -94
  930. package/src/components/Message/hooks/useCreateMessageContext.ts +5 -21
  931. package/src/components/Message/hooks/useMessageActionHandlers.ts +21 -27
  932. package/src/components/Message/hooks/useMessageActions.tsx +21 -31
  933. package/src/components/Message/utils/messageActions.ts +9 -36
  934. package/src/components/Message/utils/removeReservedFields.ts +3 -18
  935. package/src/components/MessageInput/AttachButton.tsx +14 -56
  936. package/src/components/MessageInput/CommandsButton.tsx +16 -58
  937. package/src/components/MessageInput/CooldownTimer.tsx +1 -0
  938. package/src/components/MessageInput/FileUploadPreview.tsx +16 -58
  939. package/src/components/MessageInput/ImageUploadPreview.tsx +13 -56
  940. package/src/components/MessageInput/InputButtons.tsx +14 -55
  941. package/src/components/MessageInput/MessageInput.tsx +30 -72
  942. package/src/components/MessageInput/MoreOptionsButton.tsx +14 -56
  943. package/src/components/MessageInput/SendButton.tsx +13 -54
  944. package/src/components/MessageInput/SendMessageDisallowedIndicator.tsx +1 -1
  945. package/src/components/MessageInput/ShowThreadMessageInChannelButton.tsx +5 -20
  946. package/src/components/MessageInput/__tests__/AttachButton.test.js +2 -2
  947. package/src/components/MessageInput/__tests__/FileUploadPreview.test.js +15 -17
  948. package/src/components/MessageInput/__tests__/ImageUploadPreview.test.js +3 -3
  949. package/src/components/MessageInput/__tests__/MessageInput.test.js +8 -8
  950. package/src/components/MessageInput/__tests__/SendButton.test.js +2 -2
  951. package/src/components/MessageInput/__tests__/UploadProgressIndicator.test.js +2 -2
  952. package/src/components/MessageInput/__tests__/__snapshots__/FileUploadPreview.test.js.snap +1604 -4172
  953. package/src/components/MessageInput/__tests__/__snapshots__/MessageInput.test.js.snap +1 -643
  954. package/src/components/MessageInput/hooks/useCooldown.ts +7 -19
  955. package/src/components/MessageInput/hooks/useCountdown.ts +1 -0
  956. package/src/components/MessageList/InlineLoadingMoreIndicator.tsx +3 -18
  957. package/src/components/MessageList/InlineLoadingMoreRecentIndicator.tsx +3 -18
  958. package/src/components/MessageList/InlineLoadingMoreThreadIndicator.tsx +3 -18
  959. package/src/components/MessageList/MessageList.tsx +37 -79
  960. package/src/components/MessageList/MessageSystem.tsx +7 -28
  961. package/src/components/MessageList/TypingIndicator.tsx +4 -20
  962. package/src/components/MessageList/TypingIndicatorContainer.tsx +14 -47
  963. package/src/components/MessageList/__tests__/MessageList.test.js +17 -17
  964. package/src/components/MessageList/__tests__/MessageSystem.test.js +3 -3
  965. package/src/components/MessageList/__tests__/ScrollToBottomButton.test.js +3 -3
  966. package/src/components/MessageList/__tests__/TypingIndicator.test.js +5 -6
  967. package/src/components/MessageList/__tests__/__snapshots__/TypingIndicator.test.js.snap +1 -1
  968. package/src/components/MessageList/hooks/useMessageList.ts +24 -59
  969. package/src/components/MessageList/hooks/useTypingString.ts +6 -22
  970. package/src/components/MessageList/utils/filterTypingUsers.ts +7 -28
  971. package/src/components/MessageList/utils/getDateSeparators.ts +6 -27
  972. package/src/components/MessageList/utils/getGroupStyles.ts +7 -29
  973. package/src/components/MessageList/utils/getLastReceivedMessage.ts +9 -19
  974. package/src/components/MessageList/utils/getReadStates.ts +5 -20
  975. package/src/components/MessageOverlay/MessageActionList.tsx +17 -58
  976. package/src/components/MessageOverlay/MessageActionListItem.tsx +23 -10
  977. package/src/components/MessageOverlay/MessageOverlay.tsx +56 -95
  978. package/src/components/MessageOverlay/OverlayBackdrop.tsx +1 -0
  979. package/src/components/MessageOverlay/OverlayReactionList.tsx +23 -78
  980. package/src/components/MessageOverlay/OverlayReactions.tsx +12 -8
  981. package/src/components/MessageOverlay/OverlayReactionsAvatar.tsx +27 -0
  982. package/src/components/MessageOverlay/hooks/useMessageActionAnimation.tsx +1 -0
  983. package/src/components/Reply/Reply.tsx +44 -81
  984. package/src/components/Thread/Thread.tsx +24 -58
  985. package/src/components/Thread/__tests__/Thread.test.js +12 -14
  986. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +13 -13
  987. package/src/components/Thread/components/ThreadFooterComponent.tsx +12 -48
  988. package/src/components/docs/data.js +38 -37
  989. package/src/components/index.ts +2 -0
  990. package/src/contexts/activeChannelsRefContext/ActiveChannelsRefContext.tsx +1 -2
  991. package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +10 -9
  992. package/src/contexts/channelContext/ChannelContext.tsx +16 -50
  993. package/src/contexts/channelsContext/ChannelsContext.tsx +37 -63
  994. package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +38 -116
  995. package/src/contexts/channelsStateContext/useChannelState.ts +28 -60
  996. package/src/contexts/chatContext/ChatContext.tsx +15 -51
  997. package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +13 -56
  998. package/src/contexts/keyboardContext/KeyboardContext.tsx +13 -8
  999. package/src/contexts/messageContext/MessageContext.tsx +16 -50
  1000. package/src/contexts/messageInputContext/MessageInputContext.tsx +88 -134
  1001. package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +6 -23
  1002. package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +15 -34
  1003. package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +34 -90
  1004. package/src/contexts/messageOverlayContext/hooks/useResettableState.test.tsx +46 -0
  1005. package/src/contexts/messageOverlayContext/hooks/useResettableState.ts +22 -0
  1006. package/src/contexts/messagesContext/MessagesContext.tsx +73 -112
  1007. package/src/contexts/overlayContext/OverlayContext.tsx +28 -34
  1008. package/src/contexts/overlayContext/OverlayProvider.tsx +36 -46
  1009. package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +14 -55
  1010. package/src/contexts/suggestionsContext/SuggestionsContext.tsx +42 -42
  1011. package/src/contexts/suggestionsContext/__tests__/Suggestions.test.js +1 -0
  1012. package/src/contexts/themeContext/ThemeContext.tsx +1 -0
  1013. package/src/contexts/themeContext/utils/theme.ts +36 -19
  1014. package/src/contexts/threadContext/ThreadContext.tsx +14 -48
  1015. package/src/contexts/translationContext/TranslationContext.tsx +14 -9
  1016. package/src/contexts/typingContext/TypingContext.tsx +12 -46
  1017. package/src/contexts/utils/getDisplayName.ts +1 -0
  1018. package/src/emoji-data/index.js +1 -1
  1019. package/src/hooks/useStreami18n.ts +1 -1
  1020. package/src/icons/UserAdmin.tsx +23 -0
  1021. package/src/icons/index.ts +0 -2
  1022. package/src/mock-builders/api/sendMessage.js +1 -0
  1023. package/src/mock-builders/generator/attachment.js +0 -2
  1024. package/src/mock-builders/generator/channel.js +101 -64
  1025. package/src/mock-builders/generator/user.js +33 -26
  1026. package/src/native.ts +1 -0
  1027. package/src/styleguideComponents/ArgumentsRenderer.tsx +2 -1
  1028. package/src/styleguideComponents/JsDoc.tsx +3 -1
  1029. package/src/styleguideComponents/PathlineRenderer.tsx +2 -1
  1030. package/src/styleguideComponents/PropsRenderer.tsx +7 -4
  1031. package/src/styleguideComponents/Wrapper.tsx +1 -0
  1032. package/src/types/types.ts +16 -18
  1033. package/src/utils/Streami18n.ts +6 -6
  1034. package/src/utils/__tests__/Streami18n.test.js +1 -2
  1035. package/src/utils/getResizedImageUrl.ts +43 -0
  1036. package/src/utils/getUrlOfImageAttachment.ts +10 -0
  1037. package/src/utils/utils.ts +72 -132
  1038. package/src/version.json +1 -1
  1039. package/lib/commonjs/icons/Left.js +0 -38
  1040. package/lib/commonjs/icons/Left.js.map +0 -1
  1041. package/lib/commonjs/icons/Right.js +0 -38
  1042. package/lib/commonjs/icons/Right.js.map +0 -1
  1043. package/lib/module/icons/Left.js +0 -38
  1044. package/lib/module/icons/Left.js.map +0 -1
  1045. package/lib/module/icons/Right.js +0 -38
  1046. package/lib/module/icons/Right.js.map +0 -1
  1047. package/lib/typescript/icons/Right.d.ts +0 -3
  1048. package/src/icons/Left.tsx +0 -12
  1049. package/src/icons/Right.tsx +0 -12
@@ -83,7 +83,7 @@ var AttachmentPickerProvider = function AttachmentPickerProvider(_ref) {
83
83
  __self: _this,
84
84
  __source: {
85
85
  fileName: _jsxFileName,
86
- lineNumber: 110,
86
+ lineNumber: 109,
87
87
  columnNumber: 5
88
88
  }
89
89
  }, children);
@@ -104,7 +104,7 @@ var withAttachmentPickerContext = function withAttachmentPickerContext(Component
104
104
  __self: _this,
105
105
  __source: {
106
106
  fileName: _jsxFileName,
107
- lineNumber: 129,
107
+ lineNumber: 130,
108
108
  columnNumber: 12
109
109
  }
110
110
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["AttachmentPickerContext.tsx"],"names":["AttachmentPickerContext","React","createContext","AttachmentPickerProvider","children","value","bottomInsetValue","bottomInset","topInsetValue","topInset","setBottomInset","maxNumberOfFiles","setMaxNumberOfFiles","selectedImages","setSelectedImages","selectedPicker","setSelectedPicker","setTopInset","combinedValue","useAttachmentPickerContext","withAttachmentPickerContext","Component","WithAttachmentPickerContextComponent","props","attachmentPickerContext","displayName"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA;;;;;;;;;AAuDO,IAAMA,uBAAuB,GAAGC,kBAAMC,aAAN,CACrC,EADqC,CAAhC;;;;AAIA,IAAMC,wBAAwB,GAAG,SAA3BA,wBAA2B,OAejC;AAAA;;AAAA,MAdLC,QAcK,QAdLA,QAcK;AAAA,MAbLC,KAaK,QAbLA,KAaK;AACL,MAAMC,gBAAgB,GAAGD,KAAH,oBAAGA,KAAK,CAAEE,WAAhC;AACA,MAAMC,aAAa,GAAGH,KAAH,oBAAGA,KAAK,CAAEI,QAA7B;;AAEA,kBAAsC,qBAAiBH,gBAAjB,WAAiBA,gBAAjB,GAAqC,CAArC,CAAtC;AAAA;AAAA,MAAOC,WAAP;AAAA,MAAoBG,cAApB;;AACA,mBAAgD,qBAAS,EAAT,CAAhD;AAAA;AAAA,MAAOC,gBAAP;AAAA,MAAyBC,mBAAzB;;AACA,mBAA4C,qBAAkB,EAAlB,CAA5C;AAAA;AAAA,MAAOC,cAAP;AAAA,MAAuBC,iBAAvB;;AACA,mBAA4C,sBAA5C;AAAA;AAAA,MAAOC,cAAP;AAAA,MAAuBC,iBAAvB;;AACA,mBAAgC,wCAAiBX,KAAjB,oBAAiBA,KAAK,CAAEI,QAAxB,8BAAoC,CAApC,CAAhC;AAAA;AAAA,MAAOA,QAAP;AAAA,MAAiBQ,WAAjB;;AAEA,wBAAU,YAAM;AACdP,IAAAA,cAAc,CAACJ,gBAAD,WAACA,gBAAD,GAAqB,CAArB,CAAd;AACD,GAFD,EAEG,CAACA,gBAAD,CAFH;AAIA,wBAAU,YAAM;AACdW,IAAAA,WAAW,CAACT,aAAD,WAACA,aAAD,GAAkB,CAAlB,CAAX;AACD,GAFD,EAEG,CAACA,aAAD,CAFH;AAIA,MAAMU,aAAa;AACjBP,IAAAA,gBAAgB,EAAhBA,gBADiB;AAEjBE,IAAAA,cAAc,EAAdA,cAFiB;AAGjBE,IAAAA,cAAc,EAAdA,cAHiB;AAIjBL,IAAAA,cAAc,EAAdA,cAJiB;AAKjBE,IAAAA,mBAAmB,EAAnBA,mBALiB;AAMjBE,IAAAA,iBAAiB,EAAjBA,iBANiB;AAOjBE,IAAAA,iBAAiB,EAAjBA,iBAPiB;AAQjBC,IAAAA,WAAW,EAAXA;AARiB,KASdZ,KATc;AAUjBE,IAAAA,WAAW,EAAXA,WAViB;AAWjBE,IAAAA,QAAQ,EAARA;AAXiB,IAAnB;AAcA,SACE,gCAAC,uBAAD,CAAyB,QAAzB;AACE,IAAA,KAAK,EAAES,aADT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAGGd,QAHH,CADF;AAOD,CAtDM;;;;AAwDA,IAAMe,0BAA0B,GAAG,SAA7BA,0BAA6B;AAAA,SACxC,uBAAWnB,uBAAX,CADwC;AAAA,CAAnC;;;;AAGA,IAAMoB,2BAA2B,GAAG,SAA9BA,2BAA8B,CACzCC,SADyC,EAEiB;AAC1D,MAAMC,oCAAoC,GAAG,SAAvCA,oCAAuC,CAC3CC,KAD2C,EAExC;AACH,QAAMC,uBAAuB,GAAGL,0BAA0B,EAA1D;AAEA,WAAO,gCAAC,SAAD,gCAAgBI,KAAhB,EAAiCC,uBAAjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAP;AACD,GAND;;AAOAF,EAAAA,oCAAoC,CAACG,WAArC,mCAAiF,oCAC/EJ,SAD+E,CAAjF;AAGA,SAAOC,oCAAP;AACD,CAdM","sourcesContent":["import React, { PropsWithChildren, useContext, useEffect, useState } from 'react';\n\nimport { getDisplayName } from '../utils/getDisplayName';\n\nimport type { Asset } from '../../native';\nimport type { UnknownType } from '../../types/types';\n\nexport type AttachmentPickerIconProps = {\n numberOfImageUploads: number;\n selectedPicker?: 'images';\n};\n\nexport type AttachmentPickerContextValue = {\n /**\n * `bottomInset` determine the height of the `AttachmentPicker` and the underlying shift to the `MessageList` when it is opened.\n * This can also be set via the `setBottomInset` function provided by the `useAttachmentPickerContext` hook.\n *\n * Please check [OverlayProvider](https://github.com/GetStream/stream-chat-react-native/wiki/Cookbook-v3.0#overlayprovider) section in Cookbook\n * for more details.\n */\n bottomInset: number;\n /**\n * Custom UI component for [camera selector icon](https://github.com/GetStream/stream-chat-react-native/blob/master/screenshots/docs/1.png)\n *\n * **Default: ** [CameraSelectorIcon](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/AttachmentPicker/components/CameraSelectorIcon.tsx)\n */\n CameraSelectorIcon: React.ComponentType<AttachmentPickerIconProps>;\n closePicker: () => void;\n /**\n * Custom UI component for [file selector icon](https://github.com/GetStream/stream-chat-react-native/blob/master/screenshots/docs/1.png)\n *\n * **Default: ** [FileSelectorIcon](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/AttachmentPicker/components/FileSelectorIcon.tsx)\n */\n FileSelectorIcon: React.ComponentType<AttachmentPickerIconProps>;\n /**\n * Custom UI component for [image selector icon](https://github.com/GetStream/stream-chat-react-native/blob/master/screenshots/docs/1.png)\n *\n * **Default: ** [ImageSelectorIcon](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/AttachmentPicker/components/ImageSelectorIcon.tsx)\n */\n ImageSelectorIcon: React.ComponentType<AttachmentPickerIconProps>;\n /**\n * Limit for maximum files that can be attached per message.\n */\n maxNumberOfFiles: number;\n openPicker: () => void;\n selectedImages: Asset[];\n setBottomInset: React.Dispatch<React.SetStateAction<number>>;\n setMaxNumberOfFiles: React.Dispatch<React.SetStateAction<number>>;\n setSelectedImages: React.Dispatch<React.SetStateAction<Asset[]>>;\n setSelectedPicker: React.Dispatch<React.SetStateAction<'images' | undefined>>;\n setTopInset: React.Dispatch<React.SetStateAction<number>>;\n topInset: number;\n attachmentPickerBottomSheetHeight?: number;\n attachmentSelectionBarHeight?: number;\n selectedPicker?: 'images';\n};\n\nexport const AttachmentPickerContext = React.createContext<AttachmentPickerContextValue>(\n {} as AttachmentPickerContextValue,\n);\n\nexport const AttachmentPickerProvider = ({\n children,\n value,\n}: PropsWithChildren<{\n value?: Pick<\n AttachmentPickerContextValue,\n | 'attachmentSelectionBarHeight'\n | 'attachmentPickerBottomSheetHeight'\n | 'CameraSelectorIcon'\n | 'closePicker'\n | 'FileSelectorIcon'\n | 'ImageSelectorIcon'\n | 'openPicker'\n > &\n Partial<Pick<AttachmentPickerContextValue, 'bottomInset' | 'topInset'>>;\n}>) => {\n const bottomInsetValue = value?.bottomInset;\n const topInsetValue = value?.topInset;\n\n const [bottomInset, setBottomInset] = useState<number>(bottomInsetValue ?? 0);\n const [maxNumberOfFiles, setMaxNumberOfFiles] = useState(10);\n const [selectedImages, setSelectedImages] = useState<Asset[]>([]);\n const [selectedPicker, setSelectedPicker] = useState<'images'>();\n const [topInset, setTopInset] = useState<number>(value?.topInset ?? 0);\n\n useEffect(() => {\n setBottomInset(bottomInsetValue ?? 0);\n }, [bottomInsetValue]);\n\n useEffect(() => {\n setTopInset(topInsetValue ?? 0);\n }, [topInsetValue]);\n\n const combinedValue = {\n maxNumberOfFiles,\n selectedImages,\n selectedPicker,\n setBottomInset,\n setMaxNumberOfFiles,\n setSelectedImages,\n setSelectedPicker,\n setTopInset,\n ...value,\n bottomInset,\n topInset,\n };\n\n return (\n <AttachmentPickerContext.Provider\n value={combinedValue as unknown as AttachmentPickerContextValue}\n >\n {children}\n </AttachmentPickerContext.Provider>\n );\n};\n\nexport const useAttachmentPickerContext = () =>\n useContext(AttachmentPickerContext) as unknown as AttachmentPickerContextValue;\n\nexport const withAttachmentPickerContext = <P extends UnknownType>(\n Component: React.ComponentType<P>,\n): React.FC<Omit<P, keyof AttachmentPickerContextValue>> => {\n const WithAttachmentPickerContextComponent = (\n props: Omit<P, keyof AttachmentPickerContextValue>,\n ) => {\n const attachmentPickerContext = useAttachmentPickerContext();\n\n return <Component {...(props as P)} {...attachmentPickerContext} />;\n };\n WithAttachmentPickerContextComponent.displayName = `WithAttachmentPickerContext${getDisplayName(\n Component,\n )}`;\n return WithAttachmentPickerContextComponent;\n};\n"]}
1
+ {"version":3,"sources":["AttachmentPickerContext.tsx"],"names":["AttachmentPickerContext","React","createContext","AttachmentPickerProvider","children","value","bottomInsetValue","bottomInset","topInsetValue","topInset","setBottomInset","maxNumberOfFiles","setMaxNumberOfFiles","selectedImages","setSelectedImages","selectedPicker","setSelectedPicker","setTopInset","combinedValue","useAttachmentPickerContext","withAttachmentPickerContext","Component","WithAttachmentPickerContextComponent","props","attachmentPickerContext","displayName"],"mappings":";;;;;;;;;;;;;AAAA;;AAIA;;;;;;;;;AAoDO,IAAMA,uBAAuB,GAAGC,kBAAMC,aAAN,CACrC,EADqC,CAAhC;;;;AAIA,IAAMC,wBAAwB,GAAG,SAA3BA,wBAA2B,OAejC;AAAA;;AAAA,MAdLC,QAcK,QAdLA,QAcK;AAAA,MAbLC,KAaK,QAbLA,KAaK;AACL,MAAMC,gBAAgB,GAAGD,KAAH,oBAAGA,KAAK,CAAEE,WAAhC;AACA,MAAMC,aAAa,GAAGH,KAAH,oBAAGA,KAAK,CAAEI,QAA7B;;AAEA,kBAAsC,qBAAiBH,gBAAjB,WAAiBA,gBAAjB,GAAqC,CAArC,CAAtC;AAAA;AAAA,MAAOC,WAAP;AAAA,MAAoBG,cAApB;;AACA,mBAAgD,qBAAS,EAAT,CAAhD;AAAA;AAAA,MAAOC,gBAAP;AAAA,MAAyBC,mBAAzB;;AACA,mBAA4C,qBAAkB,EAAlB,CAA5C;AAAA;AAAA,MAAOC,cAAP;AAAA,MAAuBC,iBAAvB;;AACA,mBAA4C,sBAA5C;AAAA;AAAA,MAAOC,cAAP;AAAA,MAAuBC,iBAAvB;;AACA,mBAAgC,wCAAiBX,KAAjB,oBAAiBA,KAAK,CAAEI,QAAxB,8BAAoC,CAApC,CAAhC;AAAA;AAAA,MAAOA,QAAP;AAAA,MAAiBQ,WAAjB;;AAEA,wBAAU,YAAM;AACdP,IAAAA,cAAc,CAACJ,gBAAD,WAACA,gBAAD,GAAqB,CAArB,CAAd;AACD,GAFD,EAEG,CAACA,gBAAD,CAFH;AAIA,wBAAU,YAAM;AACdW,IAAAA,WAAW,CAACT,aAAD,WAACA,aAAD,GAAkB,CAAlB,CAAX;AACD,GAFD,EAEG,CAACA,aAAD,CAFH;AAIA,MAAMU,aAAa;AACjBP,IAAAA,gBAAgB,EAAhBA,gBADiB;AAEjBE,IAAAA,cAAc,EAAdA,cAFiB;AAGjBE,IAAAA,cAAc,EAAdA,cAHiB;AAIjBL,IAAAA,cAAc,EAAdA,cAJiB;AAKjBE,IAAAA,mBAAmB,EAAnBA,mBALiB;AAMjBE,IAAAA,iBAAiB,EAAjBA,iBANiB;AAOjBE,IAAAA,iBAAiB,EAAjBA,iBAPiB;AAQjBC,IAAAA,WAAW,EAAXA;AARiB,KASdZ,KATc;AAUjBE,IAAAA,WAAW,EAAXA,WAViB;AAWjBE,IAAAA,QAAQ,EAARA;AAXiB,IAAnB;AAcA,SACE,gCAAC,uBAAD,CAAyB,QAAzB;AACE,IAAA,KAAK,EAAES,aADT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAGGd,QAHH,CADF;AAOD,CAtDM;;;;AAwDA,IAAMe,0BAA0B,GAAG,SAA7BA,0BAA6B;AAAA,SACxC,uBAAWnB,uBAAX,CADwC;AAAA,CAAnC;;;;AAGA,IAAMoB,2BAA2B,GAAG,SAA9BA,2BAA8B,CAGzCC,SAHyC,EAIkC;AAC3E,MAAMC,oCAAoC,GAAG,SAAvCA,oCAAuC,CAC3CC,KAD2C,EAExC;AACH,QAAMC,uBAAuB,GAAGL,0BAA0B,EAA1D;AAEA,WAAO,gCAAC,SAAD,gCAAgBI,KAAhB,EAAkDC,uBAAlD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAP;AACD,GAND;;AAOAF,EAAAA,oCAAoC,CAACG,WAArC,mCAAiF,oCAC/EJ,SAD+E,CAAjF;AAGA,SAAOC,oCAAP;AACD,CAhBM","sourcesContent":["import React, { PropsWithChildren, useContext, useEffect, useState } from 'react';\n\nimport type { Asset } from '../../native';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { getDisplayName } from '../utils/getDisplayName';\n\nexport type AttachmentPickerIconProps = {\n numberOfImageUploads: number;\n selectedPicker?: 'images';\n};\n\nexport type AttachmentPickerContextValue = {\n /**\n * `bottomInset` determine the height of the `AttachmentPicker` and the underlying shift to the `MessageList` when it is opened.\n * This can also be set via the `setBottomInset` function provided by the `useAttachmentPickerContext` hook.\n *\n * Please check [OverlayProvider](https://github.com/GetStream/stream-chat-react-native/wiki/Cookbook-v3.0#overlayprovider) section in Cookbook\n * for more details.\n */\n bottomInset: number;\n /**\n * Custom UI component for [camera selector icon](https://github.com/GetStream/stream-chat-react-native/blob/master/screenshots/docs/1.png)\n *\n * **Default: ** [CameraSelectorIcon](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/AttachmentPicker/components/CameraSelectorIcon.tsx)\n */\n CameraSelectorIcon: React.ComponentType<AttachmentPickerIconProps>;\n closePicker: () => void;\n /**\n * Custom UI component for [file selector icon](https://github.com/GetStream/stream-chat-react-native/blob/master/screenshots/docs/1.png)\n *\n * **Default: ** [FileSelectorIcon](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/AttachmentPicker/components/FileSelectorIcon.tsx)\n */\n FileSelectorIcon: React.ComponentType<AttachmentPickerIconProps>;\n /**\n * Custom UI component for [image selector icon](https://github.com/GetStream/stream-chat-react-native/blob/master/screenshots/docs/1.png)\n *\n * **Default: ** [ImageSelectorIcon](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/AttachmentPicker/components/ImageSelectorIcon.tsx)\n */\n ImageSelectorIcon: React.ComponentType<AttachmentPickerIconProps>;\n /**\n * Limit for maximum files that can be attached per message.\n */\n maxNumberOfFiles: number;\n openPicker: () => void;\n selectedImages: Asset[];\n setBottomInset: React.Dispatch<React.SetStateAction<number>>;\n setMaxNumberOfFiles: React.Dispatch<React.SetStateAction<number>>;\n setSelectedImages: React.Dispatch<React.SetStateAction<Asset[]>>;\n setSelectedPicker: React.Dispatch<React.SetStateAction<'images' | undefined>>;\n setTopInset: React.Dispatch<React.SetStateAction<number>>;\n topInset: number;\n attachmentPickerBottomSheetHeight?: number;\n attachmentSelectionBarHeight?: number;\n selectedPicker?: 'images';\n};\n\nexport const AttachmentPickerContext = React.createContext<AttachmentPickerContextValue>(\n {} as AttachmentPickerContextValue,\n);\n\nexport const AttachmentPickerProvider = ({\n children,\n value,\n}: PropsWithChildren<{\n value?: Pick<\n AttachmentPickerContextValue,\n | 'attachmentSelectionBarHeight'\n | 'attachmentPickerBottomSheetHeight'\n | 'CameraSelectorIcon'\n | 'closePicker'\n | 'FileSelectorIcon'\n | 'ImageSelectorIcon'\n | 'openPicker'\n > &\n Partial<Pick<AttachmentPickerContextValue, 'bottomInset' | 'topInset'>>;\n}>) => {\n const bottomInsetValue = value?.bottomInset;\n const topInsetValue = value?.topInset;\n\n const [bottomInset, setBottomInset] = useState<number>(bottomInsetValue ?? 0);\n const [maxNumberOfFiles, setMaxNumberOfFiles] = useState(10);\n const [selectedImages, setSelectedImages] = useState<Asset[]>([]);\n const [selectedPicker, setSelectedPicker] = useState<'images'>();\n const [topInset, setTopInset] = useState<number>(value?.topInset ?? 0);\n\n useEffect(() => {\n setBottomInset(bottomInsetValue ?? 0);\n }, [bottomInsetValue]);\n\n useEffect(() => {\n setTopInset(topInsetValue ?? 0);\n }, [topInsetValue]);\n\n const combinedValue = {\n maxNumberOfFiles,\n selectedImages,\n selectedPicker,\n setBottomInset,\n setMaxNumberOfFiles,\n setSelectedImages,\n setSelectedPicker,\n setTopInset,\n ...value,\n bottomInset,\n topInset,\n };\n\n return (\n <AttachmentPickerContext.Provider\n value={combinedValue as unknown as AttachmentPickerContextValue}\n >\n {children}\n </AttachmentPickerContext.Provider>\n );\n};\n\nexport const useAttachmentPickerContext = () =>\n useContext(AttachmentPickerContext) as unknown as AttachmentPickerContextValue;\n\nexport const withAttachmentPickerContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n Component: React.ComponentType<StreamChatGenerics>,\n): React.FC<Omit<StreamChatGenerics, keyof AttachmentPickerContextValue>> => {\n const WithAttachmentPickerContextComponent = (\n props: Omit<StreamChatGenerics, keyof AttachmentPickerContextValue>,\n ) => {\n const attachmentPickerContext = useAttachmentPickerContext();\n\n return <Component {...(props as StreamChatGenerics)} {...attachmentPickerContext} />;\n };\n WithAttachmentPickerContextComponent.displayName = `WithAttachmentPickerContext${getDisplayName(\n Component as React.ComponentType,\n )}`;\n return WithAttachmentPickerContextComponent;\n};\n"]}
@@ -32,7 +32,7 @@ var ChannelProvider = function ChannelProvider(_ref) {
32
32
  __self: _this,
33
33
  __source: {
34
34
  fileName: _jsxFileName,
35
- lineNumber: 202,
35
+ lineNumber: 180,
36
36
  columnNumber: 3
37
37
  }
38
38
  }, children);
@@ -53,7 +53,7 @@ var withChannelContext = function withChannelContext(Component) {
53
53
  __self: _this,
54
54
  __source: {
55
55
  fileName: _jsxFileName,
56
- lineNumber: 239,
56
+ lineNumber: 205,
57
57
  columnNumber: 12
58
58
  }
59
59
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["ChannelContext.tsx"],"names":["ChannelContext","React","createContext","ChannelProvider","children","value","useChannelContext","withChannelContext","Component","WithChannelContextComponent","props","channelContext","displayName"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;;;;;;;;AAuLO,IAAMA,cAAc,GAAGC,kBAAMC,aAAN,CAAoB,EAApB,CAAvB;;;;AAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB;AAAA,MAS7BC,QAT6B,QAS7BA,QAT6B;AAAA,MAU7BC,KAV6B,QAU7BA,KAV6B;AAAA,SAc7B,gCAAC,cAAD,CAAgB,QAAhB;AAAyB,IAAA,KAAK,EAAEA,KAAhC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGD,QADH,CAd6B;AAAA,CAAxB;;;;AAmBA,IAAME,iBAAiB,GAAG,SAApBA,iBAAoB;AAAA,SAQ1B,uBAAWN,cAAX,CAR0B;AAAA,CAA1B;;;;AAeA,IAAMO,kBAAkB,GAAG,SAArBA,kBAAqB,CAUhCC,SAVgC,EAW6C;AAC7E,MAAMC,2BAA2B,GAAG,SAA9BA,2BAA8B,CAClCC,KADkC,EAE/B;AACH,QAAMC,cAAc,GAAGL,iBAAiB,EAAxC;AAEA,WAAO,gCAAC,SAAD,gCAAgBI,KAAhB,EAAiCC,cAAjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAP;AACD,GAND;;AAOAF,EAAAA,2BAA2B,CAACG,WAA5B,0BAA+D,oCAAeJ,SAAf,CAA/D;AACA,SAAOC,2BAAP;AACD,CArBM","sourcesContent":["import React, { PropsWithChildren, useContext } from 'react';\n\nimport { getDisplayName } from '../utils/getDisplayName';\n\nimport type { Channel, ChannelState } from 'stream-chat';\n\nimport type { EmptyStateProps } from '../../components/Indicators/EmptyStateIndicator';\nimport type { LoadingProps } from '../../components/Indicators/LoadingIndicator';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nexport type ChannelContextValue<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = {\n /**\n * Instance of channel object from stream-chat package.\n *\n * Please check the docs around how to create or query channel - https://getstream.io/chat/docs/javascript/creating_channels/?language=javascript\n *\n * ```\n * import { StreamChat, Channel } from 'stream-chat';\n * import { Chat, Channel} from 'stream-chat-react-native';\n *\n * const client = StreamChat.getInstance('api_key');\n * await client.connectUser('user_id', 'user_token');\n * const channel = client.channel('messaging', 'channel_id');\n * await channel.watch();\n *\n * <Chat client={client}>\n * <Channel channel={channel}>\n * </Channel>\n * </Chat>\n * ```\n *\n * @overrideType Channel\n */\n channel: Channel<At, Ch, Co, Ev, Me, Re, Us>;\n /**\n * Custom UI component to display empty state when channel has no messages.\n *\n * **Default** [EmptyStateIndicator](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/Indicators/EmptyStateIndicator.tsx)\n */\n EmptyStateIndicator: React.ComponentType<EmptyStateProps>;\n /**\n * When set to true, reactions will be limited to 1 per user. If user selects another reaction\n * then his previous reaction will be removed and replaced with new one.\n *\n * This is similar to reaction UX on [iMessage application](https://en.wikipedia.org/wiki/IMessage).\n */\n enforceUniqueReaction: boolean;\n error: boolean | Error;\n /**\n * When set to false, it will disable giphy command on MessageInput component.\n */\n giphyEnabled: boolean;\n /**\n * Hide inline date separators on channel\n */\n hideDateSeparators: boolean;\n hideStickyDateHeader: boolean;\n /**\n * Returns true if the current user has admin privileges\n */\n isAdmin: boolean;\n /**\n * Returns true if the current user is a moderator\n */\n isModerator: boolean;\n /**\n * Returns true if the current user is a owner\n */\n isOwner: boolean;\n loadChannelAtMessage: ({\n after,\n before,\n messageId,\n }: {\n after?: number;\n before?: number;\n messageId?: string;\n }) => Promise<void>;\n loading: boolean;\n /**\n * Custom loading indicator to override the Stream default\n */\n LoadingIndicator: React.ComponentType<LoadingProps>;\n markRead: () => void;\n /**\n *\n * ```json\n * {\n * \"thierry-123\": {\n * \"id\": \"thierry-123\",\n * \"role\": \"user\",\n * \"created_at\": \"2019-04-03T14:42:47.087869Z\",\n * \"updated_at\": \"2019-04-16T09:20:03.982283Z\",\n * \"last_active\": \"2019-04-16T11:23:51.168113408+02:00\",\n * \"online\": true\n * },\n * \"vishal-123\": {\n * \"id\": \"vishal-123\",\n * \"role\": \"user\",\n * \"created_at\": \"2019-05-03T14:42:47.087869Z\",\n * \"updated_at\": \"2019-05-16T09:20:03.982283Z\",\n * \"last_active\": \"2019-06-16T11:23:51.168113408+02:00\",\n * \"online\": false\n * }\n * }\n * ```\n */\n members: ChannelState<At, Ch, Co, Ev, Me, Re, Us>['members'];\n /**\n * Custom network down indicator to override the Stream default\n */\n NetworkDownIndicator: React.ComponentType;\n read: ChannelState<At, Ch, Co, Ev, Me, Re, Us>['read'];\n reloadChannel: () => Promise<void>;\n /**\n * When true, messagelist will be scrolled to first unread message, when opened.\n */\n scrollToFirstUnreadThreshold: number;\n setLastRead: React.Dispatch<React.SetStateAction<Date | undefined>>;\n setTargetedMessage: (messageId: string) => void;\n /**\n *\n * ```json\n * {\n * \"thierry-123\": {\n * \"id\": \"thierry-123\",\n * \"role\": \"user\",\n * \"created_at\": \"2019-04-03T14:42:47.087869Z\",\n * \"updated_at\": \"2019-04-16T09:20:03.982283Z\",\n * \"last_active\": \"2019-04-16T11:23:51.168113408+02:00\",\n * \"online\": true\n * },\n * \"vishal-123\": {\n * \"id\": \"vishal-123\",\n * \"role\": \"user\",\n * \"created_at\": \"2019-05-03T14:42:47.087869Z\",\n * \"updated_at\": \"2019-05-16T09:20:03.982283Z\",\n * \"last_active\": \"2019-06-16T11:23:51.168113408+02:00\",\n * \"online\": false\n * }\n * }\n * ```\n */\n watchers: ChannelState<At, Ch, Co, Ev, Me, Re, Us>['watchers'];\n disabled?: boolean;\n enableMessageGroupingByUser?: boolean;\n isChannelActive?: boolean;\n lastRead?: Date;\n /**\n * Maximum time in milliseconds that should occur between messages\n * to still consider them grouped together\n */\n maxTimeBetweenGroupedMessages?: number;\n /**\n * Custom UI component for sticky header of channel.\n *\n * **Default** [DateHeader](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/MessageList/DateHeader.tsx)\n */\n StickyHeader?: React.ComponentType<{ dateString: string }>;\n /**\n * Id of message, around which Channel/MessageList gets loaded when opened.\n * You will see a highlighted background for targetted message, when opened.\n */\n targetedMessage?: string;\n threadList?: boolean;\n watcherCount?: ChannelState<At, Ch, Co, Ev, Me, Re, Us>['watcher_count'];\n};\n\nexport const ChannelContext = React.createContext({} as ChannelContextValue);\n\nexport const ChannelProvider = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>({\n children,\n value,\n}: PropsWithChildren<{\n value: ChannelContextValue<At, Ch, Co, Ev, Me, Re, Us>;\n}>) => (\n <ChannelContext.Provider value={value as unknown as ChannelContextValue}>\n {children}\n </ChannelContext.Provider>\n);\n\nexport const useChannelContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>() => useContext(ChannelContext) as unknown as ChannelContextValue<At, Ch, Co, Ev, Me, Re, Us>;\n\n/**\n * Typescript currently does not support partial inference so if ChatContext\n * typing is desired while using the HOC withChannelContext the Props for the\n * wrapped component must be provided as the first generic.\n */\nexport const withChannelContext = <\n P extends UnknownType,\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n Component: React.ComponentType<P>,\n): React.FC<Omit<P, keyof ChannelContextValue<At, Ch, Co, Ev, Me, Re, Us>>> => {\n const WithChannelContextComponent = (\n props: Omit<P, keyof ChannelContextValue<At, Ch, Co, Ev, Me, Re, Us>>,\n ) => {\n const channelContext = useChannelContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return <Component {...(props as P)} {...channelContext} />;\n };\n WithChannelContextComponent.displayName = `WithChannelContext${getDisplayName(Component)}`;\n return WithChannelContextComponent;\n};\n"]}
1
+ {"version":3,"sources":["ChannelContext.tsx"],"names":["ChannelContext","React","createContext","ChannelProvider","children","value","useChannelContext","withChannelContext","Component","WithChannelContextComponent","props","channelContext","displayName"],"mappings":";;;;;;;;;;;AAAA;;AAOA;;;;;;;;;AAkKO,IAAMA,cAAc,GAAGC,kBAAMC,aAAN,CAAoB,EAApB,CAAvB;;;;AAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB;AAAA,MAG7BC,QAH6B,QAG7BA,QAH6B;AAAA,MAI7BC,KAJ6B,QAI7BA,KAJ6B;AAAA,SAQ7B,gCAAC,cAAD,CAAgB,QAAhB;AAAyB,IAAA,KAAK,EAAEA,KAAhC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGD,QADH,CAR6B;AAAA,CAAxB;;;;AAaA,IAAME,iBAAiB,GAAG,SAApBA,iBAAoB;AAAA,SAE1B,uBAAWN,cAAX,CAF0B;AAAA,CAA1B;;;;AASA,IAAMO,kBAAkB,GAAG,SAArBA,kBAAqB,CAIhCC,SAJgC,EAKqC;AACrE,MAAMC,2BAA2B,GAAG,SAA9BA,2BAA8B,CAClCC,KADkC,EAE/B;AACH,QAAMC,cAAc,GAAGL,iBAAiB,EAAxC;AAEA,WAAO,gCAAC,SAAD,gCAAgBI,KAAhB,EAAiCC,cAAjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAP;AACD,GAND;;AAOAF,EAAAA,2BAA2B,CAACG,WAA5B,0BAA+D,oCAAeJ,SAAf,CAA/D;AACA,SAAOC,2BAAP;AACD,CAfM","sourcesContent":["import React, { PropsWithChildren, useContext } from 'react';\n\nimport type { Channel, ChannelState } from 'stream-chat';\n\nimport type { EmptyStateProps } from '../../components/Indicators/EmptyStateIndicator';\nimport type { LoadingProps } from '../../components/Indicators/LoadingIndicator';\nimport type { DefaultStreamChatGenerics, UnknownType } from '../../types/types';\nimport { getDisplayName } from '../utils/getDisplayName';\n\nexport type ChannelContextValue<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n /**\n * Instance of channel object from stream-chat package.\n *\n * Please check the docs around how to create or query channel - https://getstream.io/chat/docs/javascript/creating_channels/?language=javascript\n *\n * ```\n * import { StreamChat, Channel } from 'stream-chat';\n * import { Chat, Channel} from 'stream-chat-react-native';\n *\n * const client = StreamChat.getInstance('api_key');\n * await client.connectUser('user_id', 'user_token');\n * const channel = client.channel('messaging', 'channel_id');\n * await channel.watch();\n *\n * <Chat client={client}>\n * <Channel channel={channel}>\n * </Channel>\n * </Chat>\n * ```\n *\n * @overrideType Channel\n */\n channel: Channel<StreamChatGenerics>;\n /**\n * Custom UI component to display empty state when channel has no messages.\n *\n * **Default** [EmptyStateIndicator](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/Indicators/EmptyStateIndicator.tsx)\n */\n EmptyStateIndicator: React.ComponentType<EmptyStateProps>;\n /**\n * When set to true, reactions will be limited to 1 per user. If user selects another reaction\n * then his previous reaction will be removed and replaced with new one.\n *\n * This is similar to reaction UX on [iMessage application](https://en.wikipedia.org/wiki/IMessage).\n */\n enforceUniqueReaction: boolean;\n error: boolean | Error;\n /**\n * When set to false, it will disable giphy command on MessageInput component.\n */\n giphyEnabled: boolean;\n /**\n * Hide inline date separators on channel\n */\n hideDateSeparators: boolean;\n hideStickyDateHeader: boolean;\n /**\n * Returns true if the current user has admin privileges\n */\n isAdmin: boolean;\n /**\n * Returns true if the current user is a moderator\n */\n isModerator: boolean;\n /**\n * Returns true if the current user is a owner\n */\n isOwner: boolean;\n loadChannelAtMessage: ({\n after,\n before,\n messageId,\n }: {\n after?: number;\n before?: number;\n messageId?: string;\n }) => Promise<void>;\n loading: boolean;\n /**\n * Custom loading indicator to override the Stream default\n */\n LoadingIndicator: React.ComponentType<LoadingProps>;\n markRead: () => void;\n /**\n *\n * ```json\n * {\n * \"thierry-123\": {\n * \"id\": \"thierry-123\",\n * \"role\": \"user\",\n * \"created_at\": \"2019-04-03T14:42:47.087869Z\",\n * \"updated_at\": \"2019-04-16T09:20:03.982283Z\",\n * \"last_active\": \"2019-04-16T11:23:51.168113408+02:00\",\n * \"online\": true\n * },\n * \"vishal-123\": {\n * \"id\": \"vishal-123\",\n * \"role\": \"user\",\n * \"created_at\": \"2019-05-03T14:42:47.087869Z\",\n * \"updated_at\": \"2019-05-16T09:20:03.982283Z\",\n * \"last_active\": \"2019-06-16T11:23:51.168113408+02:00\",\n * \"online\": false\n * }\n * }\n * ```\n */\n members: ChannelState<StreamChatGenerics>['members'];\n /**\n * Custom network down indicator to override the Stream default\n */\n NetworkDownIndicator: React.ComponentType;\n read: ChannelState<StreamChatGenerics>['read'];\n reloadChannel: () => Promise<void>;\n /**\n * When true, messagelist will be scrolled to first unread message, when opened.\n */\n scrollToFirstUnreadThreshold: number;\n setLastRead: React.Dispatch<React.SetStateAction<Date | undefined>>;\n setTargetedMessage: (messageId: string) => void;\n /**\n *\n * ```json\n * {\n * \"thierry-123\": {\n * \"id\": \"thierry-123\",\n * \"role\": \"user\",\n * \"created_at\": \"2019-04-03T14:42:47.087869Z\",\n * \"updated_at\": \"2019-04-16T09:20:03.982283Z\",\n * \"last_active\": \"2019-04-16T11:23:51.168113408+02:00\",\n * \"online\": true\n * },\n * \"vishal-123\": {\n * \"id\": \"vishal-123\",\n * \"role\": \"user\",\n * \"created_at\": \"2019-05-03T14:42:47.087869Z\",\n * \"updated_at\": \"2019-05-16T09:20:03.982283Z\",\n * \"last_active\": \"2019-06-16T11:23:51.168113408+02:00\",\n * \"online\": false\n * }\n * }\n * ```\n */\n watchers: ChannelState<StreamChatGenerics>['watchers'];\n disabled?: boolean;\n enableMessageGroupingByUser?: boolean;\n isChannelActive?: boolean;\n lastRead?: Date;\n /**\n * Maximum time in milliseconds that should occur between messages\n * to still consider them grouped together\n */\n maxTimeBetweenGroupedMessages?: number;\n /**\n * Custom UI component for sticky header of channel.\n *\n * **Default** [DateHeader](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/MessageList/DateHeader.tsx)\n */\n StickyHeader?: React.ComponentType<{ dateString: string }>;\n /**\n * Id of message, around which Channel/MessageList gets loaded when opened.\n * You will see a highlighted background for targetted message, when opened.\n */\n targetedMessage?: string;\n threadList?: boolean;\n watcherCount?: ChannelState<StreamChatGenerics>['watcher_count'];\n};\n\nexport const ChannelContext = React.createContext({} as ChannelContextValue);\n\nexport const ChannelProvider = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n children,\n value,\n}: PropsWithChildren<{\n value: ChannelContextValue<StreamChatGenerics>;\n}>) => (\n <ChannelContext.Provider value={value as unknown as ChannelContextValue}>\n {children}\n </ChannelContext.Provider>\n);\n\nexport const useChannelContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>() => useContext(ChannelContext) as unknown as ChannelContextValue<StreamChatGenerics>;\n\n/**\n * Typescript currently does not support partial inference so if ChatContext\n * typing is desired while using the HOC withChannelContext the Props for the\n * wrapped component must be provided as the first generic.\n */\nexport const withChannelContext = <\n P extends UnknownType,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n Component: React.ComponentType<P>,\n): React.FC<Omit<P, keyof ChannelContextValue<StreamChatGenerics>>> => {\n const WithChannelContextComponent = (\n props: Omit<P, keyof ChannelContextValue<StreamChatGenerics>>,\n ) => {\n const channelContext = useChannelContext<StreamChatGenerics>();\n\n return <Component {...(props as P)} {...channelContext} />;\n };\n WithChannelContextComponent.displayName = `WithChannelContext${getDisplayName(Component)}`;\n return WithChannelContextComponent;\n};\n"]}
@@ -32,7 +32,7 @@ var ChannelsProvider = function ChannelsProvider(_ref) {
32
32
  __self: _this,
33
33
  __source: {
34
34
  fileName: _jsxFileName,
35
- lineNumber: 234,
35
+ lineNumber: 220,
36
36
  columnNumber: 3
37
37
  }
38
38
  }, children);
@@ -53,7 +53,7 @@ var withChannelsContext = function withChannelsContext(Component) {
53
53
  __self: _this,
54
54
  __source: {
55
55
  fileName: _jsxFileName,
56
- lineNumber: 271,
56
+ lineNumber: 245,
57
57
  columnNumber: 12
58
58
  }
59
59
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["ChannelsContext.tsx"],"names":["ChannelsContext","React","createContext","ChannelsProvider","children","value","useChannelsContext","withChannelsContext","Component","WithChannelsContextComponent","props","channelsContext","displayName"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;;;;;;;;AAuNO,IAAMA,eAAe,GAAGC,kBAAMC,aAAN,CAAoB,EAApB,CAAxB;;;;AAEA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB;AAAA,MAS9BC,QAT8B,QAS9BA,QAT8B;AAAA,MAU9BC,KAV8B,QAU9BA,KAV8B;AAAA,SAc9B,gCAAC,eAAD,CAAiB,QAAjB;AAA0B,IAAA,KAAK,EAAEA,KAAjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGD,QADH,CAd8B;AAAA,CAAzB;;;;AAmBA,IAAME,kBAAkB,GAAG,SAArBA,kBAAqB;AAAA,SAQ3B,uBAAWN,eAAX,CAR2B;AAAA,CAA3B;;;;AAeA,IAAMO,mBAAmB,GAAG,SAAtBA,mBAAsB,CAUjCC,SAViC,EAW6C;AAC9E,MAAMC,4BAA4B,GAAG,SAA/BA,4BAA+B,CACnCC,KADmC,EAEhC;AACH,QAAMC,eAAe,GAAGL,kBAAkB,EAA1C;AAEA,WAAO,gCAAC,SAAD,gCAAgBI,KAAhB,EAAiCC,eAAjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAP;AACD,GAND;;AAOAF,EAAAA,4BAA4B,CAACG,WAA7B,2BAAiE,oCAAeJ,SAAf,CAAjE;AACA,SAAOC,4BAAP;AACD,CArBM","sourcesContent":["import React, { PropsWithChildren, useContext } from 'react';\n\nimport { getDisplayName } from '../utils/getDisplayName';\n\nimport type { FlatListProps } from 'react-native';\nimport type { FlatList } from 'react-native-gesture-handler';\nimport type { Channel } from 'stream-chat';\n\nimport type { HeaderErrorProps } from '../../components/ChannelList/ChannelListHeaderErrorIndicator';\nimport type { ChannelAvatarProps } from '../../components/ChannelPreview/ChannelAvatar';\nimport type { ChannelPreviewMessageProps } from '../../components/ChannelPreview/ChannelPreviewMessage';\nimport type { ChannelPreviewMessengerProps } from '../../components/ChannelPreview/ChannelPreviewMessenger';\nimport type { ChannelPreviewStatusProps } from '../../components/ChannelPreview/ChannelPreviewStatus';\nimport type { ChannelPreviewTitleProps } from '../../components/ChannelPreview/ChannelPreviewTitle';\nimport type { ChannelPreviewUnreadCountProps } from '../../components/ChannelPreview/ChannelPreviewUnreadCount';\nimport type { EmptyStateProps } from '../../components/Indicators/EmptyStateIndicator';\nimport type { LoadingErrorProps } from '../../components/Indicators/LoadingErrorIndicator';\nimport type { LoadingProps } from '../../components/Indicators/LoadingIndicator';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nexport type ChannelsContextValue<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = {\n /**\n * Besides the existing default behavior of the ChannelListMessenger component, you can attach\n * additional props to the underlying React Native FlatList.\n *\n * You can find list of all the available FlatList props here - https://facebook.github.io/react-native/docs/flatlist#props\n *\n * **EXAMPLE:**\n *\n * ```\n * <ChannelListMessenger\n * channels={channels}\n * additionalFlatListProps={{ bounces: true }}\n * />\n * ```\n *\n * **Note:** Don't use `additionalFlatListProps` to access the FlatList ref, use `setFlatListRef`\n */\n additionalFlatListProps: Partial<FlatListProps<Channel<At, Ch, Co, Ev, Me, Re, Us>>>;\n /**\n * Channels can be either an array of channels or a promise which resolves to an array of channels\n */\n channels: Channel<At, Ch, Co, Ev, Me, Re, Us>[];\n /**\n * Custom indicator to use when channel list is empty\n *\n * Default: [EmptyStateIndicator](https://getstream.github.io/stream-chat-react-native/v3/#emptystateindicator)\n * */\n EmptyStateIndicator: React.ComponentType<EmptyStateProps>;\n /**\n * Error in channels query, if any\n */\n error: boolean | Error;\n /**\n * Custom loading indicator to display at bottom of the list, while loading further pages\n *\n * Default: [ChannelListFooterLoadingIndicator](https://getstream.github.io/stream-chat-react-native/v3/#ChannelListFooterLoadingIndicator)\n */\n FooterLoadingIndicator: React.ComponentType;\n /**\n * Incremental number change to force update the FlatList\n */\n forceUpdate: number;\n /**\n * Whether or not the FlatList has another page to render\n */\n hasNextPage: boolean;\n /**\n * Custom indicator to display error at top of list, if loading/pagination error occurs\n *\n * Default: [ChannelListHeaderErrorIndicator](https://getstream.github.io/stream-chat-react-native/v3/#ChannelListHeaderErrorIndicator)\n */\n HeaderErrorIndicator: React.ComponentType<HeaderErrorProps>;\n /**\n * Custom indicator to display network-down error at top of list, if there is connectivity issue\n *\n * Default: [ChannelListHeaderNetworkDownIndicator](https://getstream.github.io/stream-chat-react-native/v3/#ChannelListHeaderNetworkDownIndicator)\n */\n HeaderNetworkDownIndicator: React.ComponentType;\n /**\n * Initial channels query loading state, triggers the LoadingIndicator\n */\n loadingChannels: boolean;\n /**\n * Custom indicator to use when there is error in fetching channels\n *\n * Default: [LoadingErrorIndicator](https://getstream.github.io/stream-chat-react-native/v3/#loadingerrorindicator)\n * */\n LoadingErrorIndicator: React.ComponentType<LoadingErrorProps>;\n /**\n * Custom loading indicator to use on Channel List\n *\n * */\n LoadingIndicator: React.ComponentType<Pick<LoadingProps, 'listType'>>;\n /**\n * Whether or not additional channels are being loaded, triggers the FooterLoadingIndicator\n */\n loadingNextPage: boolean;\n /**\n * The React Native FlatList threshold to fetch more data\n * @see See loadMoreThreshold [doc](https://facebook.github.io/react-native/docs/flatlist#onendreachedthreshold)\n * */\n loadMoreThreshold: number;\n /**\n * Loads the next page of `channels`, which is present as a required prop\n */\n loadNextPage: ((queryType?: string, retryCount?: number) => Promise<void>) | undefined;\n /**\n * Max number to display within notification badge. Default: 255 and it cannot be higher than that for now due to backend limitations\n */\n maxUnreadCount: number;\n /**\n * Number of skeletons that should show when loading. Default: 6\n */\n numberOfSkeletons: number;\n /**\n * Custom UI component to display individual channel list items\n *\n * Default: [ChannelPreviewMessenger](https://getstream.github.io/stream-chat-react-native/v3/#channelpreviewmessenger)\n */\n Preview: React.ComponentType<ChannelPreviewMessengerProps<At, Ch, Co, Ev, Me, Re, Us>>;\n /**\n * Triggered when the channel list is refreshing, displays a loading spinner at the top of the list\n */\n refreshing: boolean;\n /**\n * Function to refresh the channel list that is similar to `reloadList`, but it doesn't wipe out existing channels\n * from UI before loading the new ones\n */\n refreshList: () => void | Promise<void>;\n /**\n * Removes all the existing channels from UI and loads fresh channels\n * */\n reloadList: () => Promise<void>;\n // /**\n // * Function to set the currently active channel, acts as a bridge between ChannelList and Channel components\n // *\n // * @param channel A channel object\n // */\n // setActiveChannel?: (channel: Channel<At, Ch, Co, Ev, Me, Re, Us>) => void;\n /**\n * Function to gain access to the inner FlatList ref\n *\n * **Example:**\n *\n * ```\n * <ChannelListMessenger\n * setFlatListRef={(ref) => {\n * // Use ref for your own good\n * }}\n * ```\n */\n setFlatListRef: (ref: FlatList<Channel<At, Ch, Co, Ev, Me, Re, Us>> | null) => void;\n /**\n * Custom UI component to display loading channel skeletons\n *\n * Default: [Skeleton](https://getstream.github.io/stream-chat-react-native/v3/#skeleton)\n */\n Skeleton: React.ComponentType;\n ListHeaderComponent?: React.ComponentType;\n /**\n * Function to set the currently active channel, acts as a bridge between ChannelList and Channel components\n *\n * @param channel A channel object\n */\n onSelect?: (channel: Channel<At, Ch, Co, Ev, Me, Re, Us>) => void;\n /**\n * Custom UI component to render preview avatar.\n *\n * **Default** [ChannelAvatar](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/ChannelPreview/ChannelAvatar.tsx)\n */\n PreviewAvatar?: React.ComponentType<ChannelAvatarProps<At, Ch, Co, Ev, Me, Re, Us>>;\n /**\n * Custom UI component to render preview of latest message on channel.\n *\n * **Default** [ChannelPreviewMessage](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/ChannelPreview/ChannelPreviewMessage.tsx)\n */\n PreviewMessage?: React.ComponentType<ChannelPreviewMessageProps<At, Ch, Co, Ev, Me, Re, Us>>;\n /**\n * Custom UI component to render preview avatar.\n *\n * **Default** [ChannelPreviewStatus](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/ChannelPreview/ChannelPreviewStatus.tsx)\n */\n PreviewStatus?: React.ComponentType<ChannelPreviewStatusProps<At, Ch, Co, Ev, Me, Re, Us>>;\n /**\n * Custom UI component to render preview avatar.\n *\n * **Default** [ChannelPreviewTitle](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/ChannelPreview/ChannelPreviewTitle.tsx)\n */\n PreviewTitle?: React.ComponentType<ChannelPreviewTitleProps<At, Ch, Co, Ev, Me, Re, Us>>;\n /**\n * Custom UI component to render preview avatar.\n *\n * **Default** [ChannelPreviewUnreadCount](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/ChannelPreview/ChannelPreviewUnreadCount.tsx)\n */\n PreviewUnreadCount?: React.ComponentType<\n ChannelPreviewUnreadCountProps<At, Ch, Co, Ev, Me, Re, Us>\n >;\n};\n\nexport const ChannelsContext = React.createContext({} as ChannelsContextValue);\n\nexport const ChannelsProvider = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>({\n children,\n value,\n}: PropsWithChildren<{\n value: ChannelsContextValue<At, Ch, Co, Ev, Me, Re, Us>;\n}>) => (\n <ChannelsContext.Provider value={value as unknown as ChannelsContextValue}>\n {children}\n </ChannelsContext.Provider>\n);\n\nexport const useChannelsContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>() => useContext(ChannelsContext) as unknown as ChannelsContextValue<At, Ch, Co, Ev, Me, Re, Us>;\n\n/**\n * Typescript currently does not support partial inference so if ChatContext\n * typing is desired while using the HOC withChannelContext the Props for the\n * wrapped component must be provided as the first generic.\n */\nexport const withChannelsContext = <\n P extends UnknownType,\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n Component: React.ComponentType<P>,\n): React.FC<Omit<P, keyof ChannelsContextValue<At, Ch, Co, Ev, Me, Re, Us>>> => {\n const WithChannelsContextComponent = (\n props: Omit<P, keyof ChannelsContextValue<At, Ch, Co, Ev, Me, Re, Us>>,\n ) => {\n const channelsContext = useChannelsContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return <Component {...(props as P)} {...channelsContext} />;\n };\n WithChannelsContextComponent.displayName = `WithChannelsContext${getDisplayName(Component)}`;\n return WithChannelsContextComponent;\n};\n"]}
1
+ {"version":3,"sources":["ChannelsContext.tsx"],"names":["ChannelsContext","React","createContext","ChannelsProvider","children","value","useChannelsContext","withChannelsContext","Component","WithChannelsContextComponent","props","channelsContext","displayName"],"mappings":";;;;;;;;;;;AAAA;;AAqBA;;;;;;;;;AA4LO,IAAMA,eAAe,GAAGC,kBAAMC,aAAN,CAAoB,EAApB,CAAxB;;;;AAEA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB;AAAA,MAG9BC,QAH8B,QAG9BA,QAH8B;AAAA,MAI9BC,KAJ8B,QAI9BA,KAJ8B;AAAA,SAQ9B,gCAAC,eAAD,CAAiB,QAAjB;AAA0B,IAAA,KAAK,EAAEA,KAAjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGD,QADH,CAR8B;AAAA,CAAzB;;;;AAaA,IAAME,kBAAkB,GAAG,SAArBA,kBAAqB;AAAA,SAE3B,uBAAWN,eAAX,CAF2B;AAAA,CAA3B;;;;AASA,IAAMO,mBAAmB,GAAG,SAAtBA,mBAAsB,CAIjCC,SAJiC,EAKqC;AACtE,MAAMC,4BAA4B,GAAG,SAA/BA,4BAA+B,CACnCC,KADmC,EAEhC;AACH,QAAMC,eAAe,GAAGL,kBAAkB,EAA1C;AAEA,WAAO,gCAAC,SAAD,gCAAgBI,KAAhB,EAAiCC,eAAjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAP;AACD,GAND;;AAOAF,EAAAA,4BAA4B,CAACG,WAA7B,2BAAiE,oCAAeJ,SAAf,CAAjE;AACA,SAAOC,4BAAP;AACD,CAfM","sourcesContent":["import React, { PropsWithChildren, useContext } from 'react';\n\nimport type { FlatListProps } from 'react-native';\nimport type { FlatList } from 'react-native-gesture-handler';\n\nimport type { ChannelPreviewMutedStatusProps } from 'src/components/ChannelPreview/ChannelPreviewMutedStatus';\n\nimport type { Channel } from 'stream-chat';\n\nimport type { HeaderErrorProps } from '../../components/ChannelList/ChannelListHeaderErrorIndicator';\nimport type { QueryChannels } from '../../components/ChannelList/hooks/usePaginatedChannels';\nimport type { ChannelAvatarProps } from '../../components/ChannelPreview/ChannelAvatar';\nimport type { ChannelPreviewMessageProps } from '../../components/ChannelPreview/ChannelPreviewMessage';\nimport type { ChannelPreviewMessengerProps } from '../../components/ChannelPreview/ChannelPreviewMessenger';\nimport type { ChannelPreviewStatusProps } from '../../components/ChannelPreview/ChannelPreviewStatus';\nimport type { ChannelPreviewTitleProps } from '../../components/ChannelPreview/ChannelPreviewTitle';\nimport type { ChannelPreviewUnreadCountProps } from '../../components/ChannelPreview/ChannelPreviewUnreadCount';\nimport type { EmptyStateProps } from '../../components/Indicators/EmptyStateIndicator';\nimport type { LoadingErrorProps } from '../../components/Indicators/LoadingErrorIndicator';\nimport type { LoadingProps } from '../../components/Indicators/LoadingIndicator';\nimport type { DefaultStreamChatGenerics, UnknownType } from '../../types/types';\nimport { getDisplayName } from '../utils/getDisplayName';\n\nexport type ChannelsContextValue<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n /**\n * Besides the existing default behavior of the ChannelListMessenger component, you can attach\n * additional props to the underlying React Native FlatList.\n *\n * You can find list of all the available FlatList props here - https://facebook.github.io/react-native/docs/flatlist#props\n *\n * **EXAMPLE:**\n *\n * ```\n * <ChannelListMessenger\n * channels={channels}\n * additionalFlatListProps={{ bounces: true }}\n * />\n * ```\n *\n * **Note:** Don't use `additionalFlatListProps` to access the FlatList ref, use `setFlatListRef`\n */\n additionalFlatListProps: Partial<FlatListProps<Channel<StreamChatGenerics>>>;\n /**\n * Channels can be either an array of channels or a promise which resolves to an array of channels\n */\n channels: Channel<StreamChatGenerics>[];\n /**\n * Custom indicator to use when channel list is empty\n *\n * Default: [EmptyStateIndicator](https://getstream.github.io/stream-chat-react-native/v3/#emptystateindicator)\n * */\n EmptyStateIndicator: React.ComponentType<EmptyStateProps>;\n /**\n * Custom loading indicator to display at bottom of the list, while loading further pages\n *\n * Default: [ChannelListFooterLoadingIndicator](https://getstream.github.io/stream-chat-react-native/v3/#ChannelListFooterLoadingIndicator)\n */\n FooterLoadingIndicator: React.ComponentType;\n /**\n * Incremental number change to force update the FlatList\n */\n forceUpdate: number;\n /**\n * Whether or not the FlatList has another page to render\n */\n hasNextPage: boolean;\n /**\n * Custom indicator to display error at top of list, if loading/pagination error occurs\n *\n * Default: [ChannelListHeaderErrorIndicator](https://getstream.github.io/stream-chat-react-native/v3/#ChannelListHeaderErrorIndicator)\n */\n HeaderErrorIndicator: React.ComponentType<HeaderErrorProps>;\n /**\n * Custom indicator to display network-down error at top of list, if there is connectivity issue\n *\n * Default: [ChannelListHeaderNetworkDownIndicator](https://getstream.github.io/stream-chat-react-native/v3/#ChannelListHeaderNetworkDownIndicator)\n */\n HeaderNetworkDownIndicator: React.ComponentType;\n /**\n * Initial channels query loading state, triggers the LoadingIndicator\n */\n loadingChannels: boolean;\n /**\n * Custom indicator to use when there is error in fetching channels\n *\n * Default: [LoadingErrorIndicator](https://getstream.github.io/stream-chat-react-native/v3/#loadingerrorindicator)\n * */\n LoadingErrorIndicator: React.ComponentType<LoadingErrorProps>;\n /**\n * Custom loading indicator to use on Channel List\n *\n * */\n LoadingIndicator: React.ComponentType<Pick<LoadingProps, 'listType'>>;\n /**\n * Whether or not additional channels are being loaded, triggers the FooterLoadingIndicator\n */\n loadingNextPage: boolean;\n /**\n * The React Native FlatList threshold to fetch more data\n * @see See loadMoreThreshold [doc](https://facebook.github.io/react-native/docs/flatlist#onendreachedthreshold)\n * */\n loadMoreThreshold: number;\n /**\n * Loads the next page of `channels`, which is present as a required prop\n */\n loadNextPage: QueryChannels | undefined;\n /**\n * Max number to display within notification badge. Default: 255 and it cannot be higher than that for now due to backend limitations\n */\n maxUnreadCount: number;\n /**\n * Number of skeletons that should show when loading. Default: 6\n */\n numberOfSkeletons: number;\n /**\n * Custom UI component to display individual channel list items\n *\n * Default: [ChannelPreviewMessenger](https://getstream.github.io/stream-chat-react-native/v3/#channelpreviewmessenger)\n */\n Preview: React.ComponentType<ChannelPreviewMessengerProps<StreamChatGenerics>>;\n /**\n * Triggered when the channel list is refreshing, displays a loading spinner at the top of the list\n */\n refreshing: boolean;\n /**\n * Function to refresh the channel list that is similar to `reloadList`, but it doesn't wipe out existing channels\n * from UI before loading the new ones\n */\n refreshList: () => void | Promise<void>;\n /**\n * Removes all the existing channels from UI and loads fresh channels\n * */\n reloadList: () => Promise<void>;\n // /**\n // * Function to set the currently active channel, acts as a bridge between ChannelList and Channel components\n // *\n // * @param channel A channel object\n // */\n // setActiveChannel?: (channel: Channel<StreamChatGenerics>) => void;\n /**\n * Function to gain access to the inner FlatList ref\n *\n * **Example:**\n *\n * ```\n * <ChannelListMessenger\n * setFlatListRef={(ref) => {\n * // Use ref for your own good\n * }}\n * ```\n */\n setFlatListRef: (ref: FlatList<Channel<StreamChatGenerics>> | null) => void;\n /**\n * Custom UI component to display loading channel skeletons\n *\n * Default: [Skeleton](https://getstream.github.io/stream-chat-react-native/v3/#skeleton)\n */\n Skeleton: React.ComponentType;\n /**\n * Error in channels query, if any\n */\n error?: Error;\n ListHeaderComponent?: React.ComponentType;\n /**\n * Function to set the currently active channel, acts as a bridge between ChannelList and Channel components\n *\n * @param channel A channel object\n */\n onSelect?: (channel: Channel<StreamChatGenerics>) => void;\n /**\n * Custom UI component to render preview avatar.\n *\n * **Default** [ChannelAvatar](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/ChannelPreview/ChannelAvatar.tsx)\n */\n PreviewAvatar?: React.ComponentType<ChannelAvatarProps<StreamChatGenerics>>;\n /**\n * Custom UI component to render preview of latest message on channel.\n *\n * **Default** [ChannelPreviewMessage](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/ChannelPreview/ChannelPreviewMessage.tsx)\n */\n PreviewMessage?: React.ComponentType<ChannelPreviewMessageProps<StreamChatGenerics>>;\n /**\n * Custom UI component to render muted status.\n *\n * **Default** [ChannelMutedStatus](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx)\n */\n PreviewMutedStatus?: React.ComponentType<ChannelPreviewMutedStatusProps<StreamChatGenerics>>;\n /**\n * Custom UI component to render preview avatar.\n *\n * **Default** [ChannelPreviewStatus](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/ChannelPreview/ChannelPreviewStatus.tsx)\n */\n PreviewStatus?: React.ComponentType<ChannelPreviewStatusProps<StreamChatGenerics>>;\n /**\n * Custom UI component to render preview avatar.\n *\n * **Default** [ChannelPreviewTitle](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/ChannelPreview/ChannelPreviewTitle.tsx)\n */\n PreviewTitle?: React.ComponentType<ChannelPreviewTitleProps<StreamChatGenerics>>;\n /**\n * Custom UI component to render preview avatar.\n *\n * **Default** [ChannelPreviewUnreadCount](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/ChannelPreview/ChannelPreviewUnreadCount.tsx)\n */\n PreviewUnreadCount?: React.ComponentType<ChannelPreviewUnreadCountProps<StreamChatGenerics>>;\n};\n\nexport const ChannelsContext = React.createContext({} as ChannelsContextValue);\n\nexport const ChannelsProvider = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n children,\n value,\n}: PropsWithChildren<{\n value: ChannelsContextValue<StreamChatGenerics>;\n}>) => (\n <ChannelsContext.Provider value={value as unknown as ChannelsContextValue}>\n {children}\n </ChannelsContext.Provider>\n);\n\nexport const useChannelsContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>() => useContext(ChannelsContext) as unknown as ChannelsContextValue<StreamChatGenerics>;\n\n/**\n * Typescript currently does not support partial inference so if ChatContext\n * typing is desired while using the HOC withChannelContext the Props for the\n * wrapped component must be provided as the first generic.\n */\nexport const withChannelsContext = <\n P extends UnknownType,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n Component: React.ComponentType<P>,\n): React.FC<Omit<P, keyof ChannelsContextValue<StreamChatGenerics>>> => {\n const WithChannelsContextComponent = (\n props: Omit<P, keyof ChannelsContextValue<StreamChatGenerics>>,\n ) => {\n const channelsContext = useChannelsContext<StreamChatGenerics>();\n\n return <Component {...(props as P)} {...channelsContext} />;\n };\n WithChannelsContextComponent.displayName = `WithChannelsContext${getDisplayName(Component)}`;\n return WithChannelsContextComponent;\n};\n"]}
@@ -112,7 +112,7 @@ var ChannelsStateProvider = function ChannelsStateProvider(_ref) {
112
112
  __self: _this,
113
113
  __source: {
114
114
  fileName: _jsxFileName,
115
- lineNumber: 239,
115
+ lineNumber: 182,
116
116
  columnNumber: 5
117
117
  }
118
118
  }, _react["default"].createElement(_ActiveChannelsRefContext.ActiveChannelsProvider, {
@@ -120,7 +120,7 @@ var ChannelsStateProvider = function ChannelsStateProvider(_ref) {
120
120
  __self: _this,
121
121
  __source: {
122
122
  fileName: _jsxFileName,
123
- lineNumber: 240,
123
+ lineNumber: 183,
124
124
  columnNumber: 7
125
125
  }
126
126
  }, children));
@@ -141,7 +141,7 @@ var withChannelsStateContext = function withChannelsStateContext(Component) {
141
141
  __self: _this,
142
142
  __source: {
143
143
  fileName: _jsxFileName,
144
- lineNumber: 281,
144
+ lineNumber: 203,
145
145
  columnNumber: 12
146
146
  }
147
147
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["ChannelsStateContext.tsx"],"names":["reducer","state","action","type","payload","cid","key","value","currentCount","subscriberCount","stateShallowCopy","Error","ChannelsStateContext","React","createContext","removeChannelState","setState","ChannelsStateProvider","children","dispatch","increaseSubscriberCount","decreaseSubscriberCount","activeChannelsRef","Object","keys","current","useChannelsStateContext","withChannelsStateContext","Component","WithChannelsStateContextComponent","props","channelsStateContext","displayName"],"mappings":"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","sourcesContent":["import React, {\n ReactNode,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n} from 'react';\n\nimport { ActiveChannelsProvider } from '../activeChannelsRefContext/ActiveChannelsRefContext';\n\nimport type { ChannelContextValue } from '../channelContext/ChannelContext';\nimport type { PaginatedMessageListContextValue } from '../paginatedMessageListContext/PaginatedMessageListContext';\nimport type { ThreadContextValue } from '../threadContext/ThreadContext';\nimport type { TypingContextValue } from '../typingContext/TypingContext';\nimport { getDisplayName } from '../utils/getDisplayName';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nexport type ChannelState<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = {\n members: ChannelContextValue<At, Ch, Co, Ev, Me, Re, Us>['members'];\n messages: PaginatedMessageListContextValue<At, Ch, Co, Ev, Me, Re, Us>['messages'];\n read: ChannelContextValue<At, Ch, Co, Ev, Me, Re, Us>['read'];\n subscriberCount: number;\n threadMessages: ThreadContextValue<At, Ch, Co, Ev, Me, Re, Us>['threadMessages'];\n typing: TypingContextValue<At, Ch, Co, Ev, Me, Re, Us>['typing'];\n watcherCount: ChannelContextValue<At, Ch, Co, Ev, Me, Re, Us>['watcherCount'];\n watchers: ChannelContextValue<At, Ch, Co, Ev, Me, Re, Us>['watchers'];\n};\n\ntype ChannelsState<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = { [cid: string]: ChannelState<At, Ch, Co, Ev, Me, Re, Us> };\n\nexport type Keys = keyof ChannelState;\n\nexport type Payload<\n Key extends Keys = Keys,\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = {\n cid: string;\n key: Key;\n value: ChannelState<At, Ch, Co, Ev, Me, Re, Us>[Key];\n};\n\ntype SetStateAction<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = { payload: Payload<Keys, At, Ch, Co, Ev, Me, Re, Us>; type: 'SET_STATE' };\n\ntype IncreaseSubscriberCountAction = {\n payload: { cid: string };\n type: 'INCREASE_SUBSCRIBER_COUNT';\n};\ntype DecreaseSubscriberCountAction = {\n payload: { cid: string };\n type: 'DECREASE_SUBSCRIBER_COUNT';\n};\n\ntype Action<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> =\n | SetStateAction<At, Ch, Co, Ev, Me, Re, Us>\n | IncreaseSubscriberCountAction\n | DecreaseSubscriberCountAction;\n\nexport type ChannelsStateContextValue<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = {\n decreaseSubscriberCount: (value: { cid: string }) => void;\n increaseSubscriberCount: (value: { cid: string }) => void;\n setState: (value: Payload<Keys, At, Ch, Co, Ev, Me, Re, Us>) => void;\n state: ChannelsState<At, Ch, Co, Ev, Me, Re, Us>;\n};\n\ntype Reducer<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = (\n state: ChannelsState<At, Ch, Co, Ev, Me, Re, Us>,\n action: Action<At, Ch, Co, Ev, Me, Re, Us>,\n) => ChannelsState<At, Ch, Co, Ev, Me, Re, Us>;\n\nfunction reducer(state: ChannelsState, action: Action) {\n switch (action.type) {\n case 'SET_STATE':\n return {\n ...state,\n [action.payload.cid]: {\n ...(state[action.payload.cid] || {}),\n [action.payload.key]: action.payload.value,\n },\n };\n\n case 'INCREASE_SUBSCRIBER_COUNT': {\n const currentCount = state[action.payload.cid]?.subscriberCount ?? 0;\n return {\n ...state,\n [action.payload.cid]: {\n ...(state[action.payload.cid] || {}),\n subscriberCount: currentCount + 1,\n },\n };\n }\n\n case 'DECREASE_SUBSCRIBER_COUNT': {\n const currentCount = state[action.payload.cid]?.subscriberCount ?? 0;\n\n // If there last subscribed Channel component unsubscribes, we clear the channel state.\n if (currentCount <= 1) {\n const stateShallowCopy = {\n ...state,\n };\n\n delete stateShallowCopy[action.payload.cid];\n\n return stateShallowCopy;\n }\n\n return {\n ...state,\n [action.payload.cid]: {\n ...(state[action.payload.cid] || {}),\n subscriberCount: currentCount - 1,\n },\n };\n }\n default:\n throw new Error();\n }\n}\n\nconst ChannelsStateContext = React.createContext({\n removeChannelState: () => {\n // do nothing.\n },\n setState: () => {\n // do nothing.\n },\n state: {},\n} as unknown as ChannelsStateContextValue);\n\nexport const ChannelsStateProvider = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>({\n children,\n}: {\n children: ReactNode;\n}) => {\n const [state, dispatch] = useReducer(reducer as Reducer<At, Ch, Co, Ev, Me, Re, Us>, {});\n\n const setState = useCallback((payload: Payload<Keys, At, Ch, Co, Ev, Me, Re, Us>) => {\n dispatch({ payload, type: 'SET_STATE' });\n }, []);\n\n const increaseSubscriberCount = useCallback((payload: { cid: string }) => {\n dispatch({ payload, type: 'INCREASE_SUBSCRIBER_COUNT' });\n }, []);\n\n const decreaseSubscriberCount = useCallback((payload: { cid: string }) => {\n dispatch({ payload, type: 'DECREASE_SUBSCRIBER_COUNT' });\n }, []);\n\n const value = useMemo(\n () => ({\n decreaseSubscriberCount,\n increaseSubscriberCount,\n setState,\n state,\n }),\n [state],\n );\n\n const activeChannelsRef = useRef(Object.keys(state));\n\n useEffect(() => {\n activeChannelsRef.current = Object.keys(state);\n }, [state]);\n\n return (\n <ChannelsStateContext.Provider value={value as unknown as ChannelsStateContextValue}>\n <ActiveChannelsProvider value={activeChannelsRef}>{children}</ActiveChannelsProvider>\n </ChannelsStateContext.Provider>\n );\n};\n\nexport const useChannelsStateContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>() =>\n useContext(ChannelsStateContext) as unknown as ChannelsStateContextValue<\n At,\n Ch,\n Co,\n Ev,\n Me,\n Re,\n Us\n >;\n\nexport const withChannelsStateContext = <\n P extends UnknownType,\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n Component: React.ComponentType<P>,\n): React.FC<Omit<P, keyof ChannelsStateContextValue<At, Ch, Co, Ev, Me, Re, Us>>> => {\n const WithChannelsStateContextComponent = (\n props: Omit<P, keyof ChannelsStateContextValue<At, Ch, Co, Ev, Me, Re, Us>>,\n ) => {\n const channelsStateContext = useChannelsStateContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return <Component {...(props as P)} {...channelsStateContext} />;\n };\n WithChannelsStateContextComponent.displayName = `WithChannelsStateContext${getDisplayName(\n Component,\n )}`;\n return WithChannelsStateContextComponent;\n};\n"]}
1
+ {"version":3,"sources":["ChannelsStateContext.tsx"],"names":["reducer","state","action","type","payload","cid","key","value","currentCount","subscriberCount","stateShallowCopy","Error","ChannelsStateContext","React","createContext","removeChannelState","setState","ChannelsStateProvider","children","dispatch","increaseSubscriberCount","decreaseSubscriberCount","activeChannelsRef","Object","keys","current","useChannelsStateContext","withChannelsStateContext","Component","WithChannelsStateContextComponent","props","channelsStateContext","displayName"],"mappings":"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","sourcesContent":["import React, {\n ReactNode,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n} from 'react';\n\nimport type { DefaultStreamChatGenerics, UnknownType } from '../../types/types';\nimport { ActiveChannelsProvider } from '../activeChannelsRefContext/ActiveChannelsRefContext';\n\nimport type { ChannelContextValue } from '../channelContext/ChannelContext';\nimport type { PaginatedMessageListContextValue } from '../paginatedMessageListContext/PaginatedMessageListContext';\nimport type { ThreadContextValue } from '../threadContext/ThreadContext';\nimport type { TypingContextValue } from '../typingContext/TypingContext';\nimport { getDisplayName } from '../utils/getDisplayName';\n\nexport type ChannelState<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n members: ChannelContextValue<StreamChatGenerics>['members'];\n messages: PaginatedMessageListContextValue<StreamChatGenerics>['messages'];\n read: ChannelContextValue<StreamChatGenerics>['read'];\n subscriberCount: number;\n threadMessages: ThreadContextValue<StreamChatGenerics>['threadMessages'];\n typing: TypingContextValue<StreamChatGenerics>['typing'];\n watcherCount: ChannelContextValue<StreamChatGenerics>['watcherCount'];\n watchers: ChannelContextValue<StreamChatGenerics>['watchers'];\n};\n\ntype ChannelsState<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n [cid: string]: ChannelState<StreamChatGenerics>;\n};\n\nexport type Keys = keyof ChannelState;\n\nexport type Payload<\n Key extends Keys = Keys,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n cid: string;\n key: Key;\n value: ChannelState<StreamChatGenerics>[Key];\n};\n\ntype SetStateAction<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n payload: Payload<Keys, StreamChatGenerics>;\n type: 'SET_STATE';\n};\n\ntype IncreaseSubscriberCountAction = {\n payload: { cid: string };\n type: 'INCREASE_SUBSCRIBER_COUNT';\n};\ntype DecreaseSubscriberCountAction = {\n payload: { cid: string };\n type: 'DECREASE_SUBSCRIBER_COUNT';\n};\n\ntype Action<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n | SetStateAction<StreamChatGenerics>\n | IncreaseSubscriberCountAction\n | DecreaseSubscriberCountAction;\n\nexport type ChannelsStateContextValue<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n decreaseSubscriberCount: (value: { cid: string }) => void;\n increaseSubscriberCount: (value: { cid: string }) => void;\n setState: (value: Payload<Keys, StreamChatGenerics>) => void;\n state: ChannelsState<StreamChatGenerics>;\n};\n\ntype Reducer<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = (\n state: ChannelsState<StreamChatGenerics>,\n action: Action<StreamChatGenerics>,\n) => ChannelsState<StreamChatGenerics>;\n\nfunction reducer(state: ChannelsState, action: Action) {\n switch (action.type) {\n case 'SET_STATE':\n return {\n ...state,\n [action.payload.cid]: {\n ...(state[action.payload.cid] || {}),\n [action.payload.key]: action.payload.value,\n },\n };\n\n case 'INCREASE_SUBSCRIBER_COUNT': {\n const currentCount = state[action.payload.cid]?.subscriberCount ?? 0;\n return {\n ...state,\n [action.payload.cid]: {\n ...(state[action.payload.cid] || {}),\n subscriberCount: currentCount + 1,\n },\n };\n }\n\n case 'DECREASE_SUBSCRIBER_COUNT': {\n const currentCount = state[action.payload.cid]?.subscriberCount ?? 0;\n\n // If there last subscribed Channel component unsubscribes, we clear the channel state.\n if (currentCount <= 1) {\n const stateShallowCopy = {\n ...state,\n };\n\n delete stateShallowCopy[action.payload.cid];\n\n return stateShallowCopy;\n }\n\n return {\n ...state,\n [action.payload.cid]: {\n ...(state[action.payload.cid] || {}),\n subscriberCount: currentCount - 1,\n },\n };\n }\n default:\n throw new Error();\n }\n}\n\nconst ChannelsStateContext = React.createContext({\n removeChannelState: () => {\n // do nothing.\n },\n setState: () => {\n // do nothing.\n },\n state: {},\n} as unknown as ChannelsStateContextValue);\n\nexport const ChannelsStateProvider = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n children,\n}: {\n children: ReactNode;\n}) => {\n const [state, dispatch] = useReducer(reducer as unknown as Reducer<StreamChatGenerics>, {});\n\n const setState = useCallback((payload: Payload<Keys, StreamChatGenerics>) => {\n dispatch({ payload, type: 'SET_STATE' });\n }, []);\n\n const increaseSubscriberCount = useCallback((payload: { cid: string }) => {\n dispatch({ payload, type: 'INCREASE_SUBSCRIBER_COUNT' });\n }, []);\n\n const decreaseSubscriberCount = useCallback((payload: { cid: string }) => {\n dispatch({ payload, type: 'DECREASE_SUBSCRIBER_COUNT' });\n }, []);\n\n const value = useMemo(\n () => ({\n decreaseSubscriberCount,\n increaseSubscriberCount,\n setState,\n state,\n }),\n [state],\n );\n\n const activeChannelsRef = useRef(Object.keys(state));\n\n useEffect(() => {\n activeChannelsRef.current = Object.keys(state);\n }, [state]);\n\n return (\n <ChannelsStateContext.Provider value={value as unknown as ChannelsStateContextValue}>\n <ActiveChannelsProvider value={activeChannelsRef}>{children}</ActiveChannelsProvider>\n </ChannelsStateContext.Provider>\n );\n};\n\nexport const useChannelsStateContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>() => useContext(ChannelsStateContext) as unknown as ChannelsStateContextValue<StreamChatGenerics>;\n\nexport const withChannelsStateContext = <\n P extends UnknownType,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n Component: React.ComponentType<P>,\n): React.FC<Omit<P, keyof ChannelsStateContextValue<StreamChatGenerics>>> => {\n const WithChannelsStateContextComponent = (\n props: Omit<P, keyof ChannelsStateContextValue<StreamChatGenerics>>,\n ) => {\n const channelsStateContext = useChannelsStateContext<StreamChatGenerics>();\n\n return <Component {...(props as P)} {...channelsStateContext} />;\n };\n WithChannelsStateContextComponent.displayName = `WithChannelsStateContext${getDisplayName(\n Component,\n )}`;\n return WithChannelsStateContextComponent;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["useChannelState.ts"],"names":["useStateManager","initialValue","cid","key","setState","state","memoizedInitialValue","value","setValue","useChannelState","channel","threadId","id","decreaseSubscriberCount","increaseSubscriberCount","members","setMembers","messages","setMessages","read","setRead","typing","setTyping","watcherCount","setWatcherCount","watchers","setWatchers","threads","threadMessages","setThreadMessages"],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useMemo } from 'react';\nimport type { Channel as ChannelType } from 'stream-chat';\n\nimport { useChannelsStateContext } from './ChannelsStateContext';\n\nimport type { ChannelsStateContextValue, ChannelState, Keys } from './ChannelsStateContext';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\ntype StateManagerParams<\n Key extends Keys,\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Omit<\n ChannelsStateContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'increaseSubscriberCount' | 'decreaseSubscriberCount'\n> & {\n cid: string;\n key: Key;\n};\n\n/* \n This hook takes care of creating a useState-like interface which can be used later to call\n updates to the ChannelsStateContext reducer. It receives the cid and key which it wants to update\n and perform the state updates. Also supports a initialState.\n*/\nfunction useStateManager<\n Key extends Keys,\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n {\n cid,\n key,\n setState,\n state,\n }: Omit<\n StateManagerParams<Key, At, Ch, Co, Ev, Me, Re, Us>,\n 'increaseSubscriberCount' | 'decreaseSubscriberCount'\n >,\n initialValue?: ChannelState<At, Ch, Co, Ev, Me, Re, Us>[Key],\n) {\n const memoizedInitialValue = useMemo(() => initialValue, []);\n const value =\n state[cid]?.[key] || (memoizedInitialValue as ChannelState<At, Ch, Co, Ev, Me, Re, Us>[Key]);\n\n const setValue = useCallback(\n (value: ChannelState<At, Ch, Co, Ev, Me, Re, Us>[Key]) => setState({ cid, key, value }),\n [cid, key],\n );\n\n return [value, setValue] as const;\n}\n\nexport type UseChannelStateValue<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = {\n members: ChannelState<At, Ch, Co, Ev, Me, Re, Us>['members'];\n messages: ChannelState<At, Ch, Co, Ev, Me, Re, Us>['messages'];\n read: ChannelState<At, Ch, Co, Ev, Me, Re, Us>['read'];\n setMembers: (value: ChannelState<At, Ch, Co, Ev, Me, Re, Us>['members']) => void;\n setMessages: (value: ChannelState<At, Ch, Co, Ev, Me, Re, Us>['messages']) => void;\n setRead: (value: ChannelState<At, Ch, Co, Ev, Me, Re, Us>['read']) => void;\n setThreadMessages: (value: ChannelState<At, Ch, Co, Ev, Me, Re, Us>['threadMessages']) => void;\n setTyping: (value: ChannelState<At, Ch, Co, Ev, Me, Re, Us>['typing']) => void;\n setWatcherCount: (value: ChannelState<At, Ch, Co, Ev, Me, Re, Us>['watcherCount']) => void;\n setWatchers: (value: ChannelState<At, Ch, Co, Ev, Me, Re, Us>['watchers']) => void;\n threadMessages: ChannelState<At, Ch, Co, Ev, Me, Re, Us>['threadMessages'];\n typing: ChannelState<At, Ch, Co, Ev, Me, Re, Us>['typing'];\n watcherCount: ChannelState<At, Ch, Co, Ev, Me, Re, Us>['watcherCount'];\n watchers: ChannelState<At, Ch, Co, Ev, Me, Re, Us>['watchers'];\n};\n\nexport function useChannelState<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n channel: ChannelType<At, Ch, Co, Ev, Me, Re, Us> | undefined,\n threadId?: string,\n): UseChannelStateValue<At, Ch, Co, Ev, Me, Re, Us> {\n const cid = channel?.id || 'id'; // in case channel is not initialized, use generic id string for indexing\n const { decreaseSubscriberCount, increaseSubscriberCount, setState, state } =\n useChannelsStateContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n // Keeps track of how many Channel components are subscribed to this Channel state (Channel vs Thread concurrency)\n useEffect(() => {\n increaseSubscriberCount({ cid });\n return () => {\n decreaseSubscriberCount({ cid });\n };\n }, []);\n\n const [members, setMembers] = useStateManager(\n {\n cid,\n key: 'members',\n setState,\n state,\n },\n {},\n );\n\n const [messages, setMessages] = useStateManager(\n {\n cid,\n key: 'messages',\n setState,\n state,\n },\n channel?.state?.messages || [],\n );\n\n const [read, setRead] = useStateManager(\n {\n cid,\n key: 'read',\n setState,\n state,\n },\n {},\n );\n\n const [typing, setTyping] = useStateManager(\n {\n cid,\n key: 'typing',\n setState,\n state,\n },\n {},\n );\n\n const [watcherCount, setWatcherCount] = useStateManager({\n cid,\n key: 'watcherCount',\n setState,\n state,\n });\n\n const [watchers, setWatchers] = useStateManager(\n {\n cid,\n key: 'watchers',\n setState,\n state,\n },\n {},\n );\n\n const [threadMessages, setThreadMessages] = useStateManager(\n {\n cid,\n key: 'threadMessages',\n setState,\n state,\n },\n (threadId && channel?.state?.threads?.[threadId]) || [],\n );\n\n return {\n members,\n messages,\n read,\n setMembers,\n setMessages,\n setRead,\n setThreadMessages,\n setTyping,\n setWatcherCount,\n setWatchers,\n threadMessages,\n typing,\n watcherCount,\n watchers,\n };\n}\n"]}
1
+ {"version":3,"sources":["useChannelState.ts"],"names":["useStateManager","initialValue","cid","key","setState","state","memoizedInitialValue","value","setValue","useChannelState","channel","threadId","id","decreaseSubscriberCount","increaseSubscriberCount","members","setMembers","messages","setMessages","read","setRead","typing","setTyping","watcherCount","setWatcherCount","watchers","setWatchers","threads","threadMessages","setThreadMessages"],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useMemo } from 'react';\n\nimport type { Channel as ChannelType } from 'stream-chat';\n\nimport { useChannelsStateContext } from './ChannelsStateContext';\n\nimport type { ChannelsStateContextValue, ChannelState, Keys } from './ChannelsStateContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\ntype StateManagerParams<\n Key extends Keys,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Omit<\n ChannelsStateContextValue<StreamChatGenerics>,\n 'increaseSubscriberCount' | 'decreaseSubscriberCount'\n> & {\n cid: string;\n key: Key;\n};\n\n/* \n This hook takes care of creating a useState-like interface which can be used later to call\n updates to the ChannelsStateContext reducer. It receives the cid and key which it wants to update\n and perform the state updates. Also supports a initialState.\n*/\nfunction useStateManager<\n Key extends Keys,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n {\n cid,\n key,\n setState,\n state,\n }: Omit<\n StateManagerParams<Key, StreamChatGenerics>,\n 'increaseSubscriberCount' | 'decreaseSubscriberCount'\n >,\n initialValue?: ChannelState<StreamChatGenerics>[Key],\n) {\n const memoizedInitialValue = useMemo(() => initialValue, []);\n const value =\n state[cid]?.[key] || (memoizedInitialValue as ChannelState<StreamChatGenerics>[Key]);\n\n const setValue = useCallback(\n (value: ChannelState<StreamChatGenerics>[Key]) => setState({ cid, key, value }),\n [cid, key],\n );\n\n return [value, setValue] as const;\n}\n\nexport type UseChannelStateValue<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n members: ChannelState<StreamChatGenerics>['members'];\n messages: ChannelState<StreamChatGenerics>['messages'];\n read: ChannelState<StreamChatGenerics>['read'];\n setMembers: (value: ChannelState<StreamChatGenerics>['members']) => void;\n setMessages: (value: ChannelState<StreamChatGenerics>['messages']) => void;\n setRead: (value: ChannelState<StreamChatGenerics>['read']) => void;\n setThreadMessages: (value: ChannelState<StreamChatGenerics>['threadMessages']) => void;\n setTyping: (value: ChannelState<StreamChatGenerics>['typing']) => void;\n setWatcherCount: (value: ChannelState<StreamChatGenerics>['watcherCount']) => void;\n setWatchers: (value: ChannelState<StreamChatGenerics>['watchers']) => void;\n threadMessages: ChannelState<StreamChatGenerics>['threadMessages'];\n typing: ChannelState<StreamChatGenerics>['typing'];\n watcherCount: ChannelState<StreamChatGenerics>['watcherCount'];\n watchers: ChannelState<StreamChatGenerics>['watchers'];\n};\n\nexport function useChannelState<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n channel: ChannelType<StreamChatGenerics> | undefined,\n threadId?: string,\n): UseChannelStateValue<StreamChatGenerics> {\n const cid = channel?.id || 'id'; // in case channel is not initialized, use generic id string for indexing\n const { decreaseSubscriberCount, increaseSubscriberCount, setState, state } =\n useChannelsStateContext<StreamChatGenerics>();\n\n // Keeps track of how many Channel components are subscribed to this Channel state (Channel vs Thread concurrency)\n useEffect(() => {\n increaseSubscriberCount({ cid });\n return () => {\n decreaseSubscriberCount({ cid });\n };\n }, []);\n\n const [members, setMembers] = useStateManager(\n {\n cid,\n key: 'members',\n setState,\n state,\n },\n {},\n );\n\n const [messages, setMessages] = useStateManager(\n {\n cid,\n key: 'messages',\n setState,\n state,\n },\n channel?.state?.messages || [],\n );\n\n const [read, setRead] = useStateManager(\n {\n cid,\n key: 'read',\n setState,\n state,\n },\n {},\n );\n\n const [typing, setTyping] = useStateManager(\n {\n cid,\n key: 'typing',\n setState,\n state,\n },\n {},\n );\n\n const [watcherCount, setWatcherCount] = useStateManager({\n cid,\n key: 'watcherCount',\n setState,\n state,\n });\n\n const [watchers, setWatchers] = useStateManager(\n {\n cid,\n key: 'watchers',\n setState,\n state,\n },\n {},\n );\n\n const [threadMessages, setThreadMessages] = useStateManager(\n {\n cid,\n key: 'threadMessages',\n setState,\n state,\n },\n (threadId && channel?.state?.threads?.[threadId]) || [],\n );\n\n return {\n members,\n messages,\n read,\n setMembers,\n setMessages,\n setRead,\n setThreadMessages,\n setTyping,\n setWatcherCount,\n setWatchers,\n threadMessages,\n typing,\n watcherCount,\n watchers,\n };\n}\n"]}
@@ -32,7 +32,7 @@ var ChatProvider = function ChatProvider(_ref) {
32
32
  __self: _this,
33
33
  __source: {
34
34
  fileName: _jsxFileName,
35
- lineNumber: 89,
35
+ lineNumber: 67,
36
36
  columnNumber: 3
37
37
  }
38
38
  }, children);
@@ -53,7 +53,7 @@ var withChatContext = function withChatContext(Component) {
53
53
  __self: _this,
54
54
  __source: {
55
55
  fileName: _jsxFileName,
56
- lineNumber: 126,
56
+ lineNumber: 90,
57
57
  columnNumber: 12
58
58
  }
59
59
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["ChatContext.tsx"],"names":["ChatContext","React","createContext","ChatProvider","children","value","useChatContext","withChatContext","Component","WithChatContextComponent","props","chatContext","displayName"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;;;;;;;;AAsEO,IAAMA,WAAW,GAAGC,kBAAMC,aAAN,CAAoB,EAApB,CAApB;;;;AAEA,IAAMC,YAAY,GAAG,SAAfA,YAAe;AAAA,MAS1BC,QAT0B,QAS1BA,QAT0B;AAAA,MAU1BC,KAV0B,QAU1BA,KAV0B;AAAA,SAc1B,gCAAC,WAAD,CAAa,QAAb;AAAsB,IAAA,KAAK,EAAEA,KAA7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGD,QADH,CAd0B;AAAA,CAArB;;;;AAmBA,IAAME,cAAc,GAAG,SAAjBA,cAAiB;AAAA,SAQvB,uBAAWN,WAAX,CARuB;AAAA,CAAvB;;;;AAeA,IAAMO,eAAe,GAAG,SAAlBA,eAAkB,CAU7BC,SAV6B,EAW6C;AAC1E,MAAMC,wBAAwB,GAAG,SAA3BA,wBAA2B,CAC/BC,KAD+B,EAE5B;AACH,QAAMC,WAAW,GAAGL,cAAc,EAAlC;AAEA,WAAO,gCAAC,SAAD,gCAAgBI,KAAhB,EAAiCC,WAAjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAP;AACD,GAND;;AAOAF,EAAAA,wBAAwB,CAACG,WAAzB,uBAAyD,oCAAeJ,SAAf,CAAzD;AACA,SAAOC,wBAAP;AACD,CArBM","sourcesContent":["import React, { PropsWithChildren, useContext } from 'react';\n\nimport { getDisplayName } from '../utils/getDisplayName';\n\nimport type { Channel, Mute, StreamChat } from 'stream-chat';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nexport type ChatContextValue<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = {\n /**\n * The StreamChat client object\n *\n * ```\n * import { StreamChat } from 'stream-chat';\n * import { Chat } from 'stream-chat-react-native';\n *\n * const client = StreamChat.getInstance('api_key);\n * await client.connectUser('user_id', 'userToken');\n *\n * <Chat client={client}>\n * </Chat>\n * ```\n *\n * @overrideType StreamChat\n * */\n client: StreamChat<At, Ch, Co, Ev, Me, Re, Us>;\n connectionRecovering: boolean;\n isOnline: boolean;\n mutedUsers: Mute<Us>[];\n /**\n * @param newChannel Channel to set as active.\n *\n * @overrideType Function\n */\n setActiveChannel: (newChannel?: Channel<At, Ch, Co, Ev, Me, Re, Us>) => void;\n /**\n * Instance of channel object from stream-chat package.\n *\n * Please check the docs around how to create or query channel - https://getstream.io/chat/docs/javascript/creating_channels/?language=javascript\n *\n * ```\n * import { StreamChat, Channel } from 'stream-chat';\n * import { Chat, Channel} from 'stream-chat-react-native';\n *\n * const client = StreamChat.getInstance('api_key');\n * await client.connectUser('user_id', 'user_token');\n * const channel = client.channel('messaging', 'channel_id');\n * await channel.watch();\n * ```\n *\n * @overrideType Channel\n */\n channel?: Channel<At, Ch, Co, Ev, Me, Re, Us>;\n};\n\nexport const ChatContext = React.createContext({} as ChatContextValue);\n\nexport const ChatProvider = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>({\n children,\n value,\n}: PropsWithChildren<{\n value: ChatContextValue<At, Ch, Co, Ev, Me, Re, Us>;\n}>) => (\n <ChatContext.Provider value={value as unknown as ChatContextValue}>\n {children}\n </ChatContext.Provider>\n);\n\nexport const useChatContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>() => useContext(ChatContext) as unknown as ChatContextValue<At, Ch, Co, Ev, Me, Re, Us>;\n\n/**\n * Typescript currently does not support partial inference so if ChatContext\n * typing is desired while using the HOC withChatContext the Props for the\n * wrapped component must be provided as the first generic.\n */\nexport const withChatContext = <\n P extends UnknownType,\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n Component: React.ComponentType<P>,\n): React.FC<Omit<P, keyof ChatContextValue<At, Ch, Co, Ev, Me, Re, Us>>> => {\n const WithChatContextComponent = (\n props: Omit<P, keyof ChatContextValue<At, Ch, Co, Ev, Me, Re, Us>>,\n ) => {\n const chatContext = useChatContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return <Component {...(props as P)} {...chatContext} />;\n };\n WithChatContextComponent.displayName = `WithChatContext${getDisplayName(Component)}`;\n return WithChatContextComponent;\n};\n"]}
1
+ {"version":3,"sources":["ChatContext.tsx"],"names":["ChatContext","React","createContext","ChatProvider","children","value","useChatContext","withChatContext","Component","WithChatContextComponent","props","chatContext","displayName"],"mappings":";;;;;;;;;;;AAAA;;AAKA;;;;;;;;;AAmDO,IAAMA,WAAW,GAAGC,kBAAMC,aAAN,CAAoB,EAApB,CAApB;;;;AAEA,IAAMC,YAAY,GAAG,SAAfA,YAAe;AAAA,MAG1BC,QAH0B,QAG1BA,QAH0B;AAAA,MAI1BC,KAJ0B,QAI1BA,KAJ0B;AAAA,SAQ1B,gCAAC,WAAD,CAAa,QAAb;AAAsB,IAAA,KAAK,EAAEA,KAA7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGD,QADH,CAR0B;AAAA,CAArB;;;;AAaA,IAAME,cAAc,GAAG,SAAjBA,cAAiB;AAAA,SAEvB,uBAAWN,WAAX,CAFuB;AAAA,CAAvB;;;;AASA,IAAMO,eAAe,GAAG,SAAlBA,eAAkB,CAI7BC,SAJ6B,EAKqC;AAClE,MAAMC,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACC,KAAD,EAAgE;AAC/F,QAAMC,WAAW,GAAGL,cAAc,EAAlC;AAEA,WAAO,gCAAC,SAAD,gCAAgBI,KAAhB,EAAiCC,WAAjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAP;AACD,GAJD;;AAKAF,EAAAA,wBAAwB,CAACG,WAAzB,uBAAyD,oCAAeJ,SAAf,CAAzD;AACA,SAAOC,wBAAP;AACD,CAbM","sourcesContent":["import React, { PropsWithChildren, useContext } from 'react';\n\nimport type { Channel, Mute, StreamChat } from 'stream-chat';\n\nimport type { DefaultStreamChatGenerics, UnknownType } from '../../types/types';\nimport { getDisplayName } from '../utils/getDisplayName';\n\nexport type ChatContextValue<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n /**\n * The StreamChat client object\n *\n * ```\n * import { StreamChat } from 'stream-chat';\n * import { Chat } from 'stream-chat-react-native';\n *\n * const client = StreamChat.getInstance('api_key);\n * await client.connectUser('user_id', 'userToken');\n *\n * <Chat client={client}>\n * </Chat>\n * ```\n *\n * @overrideType StreamChat\n * */\n client: StreamChat<StreamChatGenerics>;\n connectionRecovering: boolean;\n isOnline: boolean;\n mutedUsers: Mute<StreamChatGenerics>[];\n /**\n * @param newChannel Channel to set as active.\n *\n * @overrideType Function\n */\n setActiveChannel: (newChannel?: Channel<StreamChatGenerics>) => void;\n /**\n * Instance of channel object from stream-chat package.\n *\n * Please check the docs around how to create or query channel - https://getstream.io/chat/docs/javascript/creating_channels/?language=javascript\n *\n * ```\n * import { StreamChat, Channel } from 'stream-chat';\n * import { Chat, Channel} from 'stream-chat-react-native';\n *\n * const client = StreamChat.getInstance('api_key');\n * await client.connectUser('user_id', 'user_token');\n * const channel = client.channel('messaging', 'channel_id');\n * await channel.watch();\n * ```\n *\n * @overrideType Channel\n */\n channel?: Channel<StreamChatGenerics>;\n};\n\nexport const ChatContext = React.createContext({} as ChatContextValue);\n\nexport const ChatProvider = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n children,\n value,\n}: PropsWithChildren<{\n value: ChatContextValue<StreamChatGenerics>;\n}>) => (\n <ChatContext.Provider value={value as unknown as ChatContextValue}>\n {children}\n </ChatContext.Provider>\n);\n\nexport const useChatContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>() => useContext(ChatContext) as unknown as ChatContextValue<StreamChatGenerics>;\n\n/**\n * Typescript currently does not support partial inference so if ChatContext\n * typing is desired while using the HOC withChatContext the Props for the\n * wrapped component must be provided as the first generic.\n */\nexport const withChatContext = <\n P extends UnknownType,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n Component: React.ComponentType<P>,\n): React.FC<Omit<P, keyof ChatContextValue<StreamChatGenerics>>> => {\n const WithChatContextComponent = (props: Omit<P, keyof ChatContextValue<StreamChatGenerics>>) => {\n const chatContext = useChatContext<StreamChatGenerics>();\n\n return <Component {...(props as P)} {...chatContext} />;\n };\n WithChatContextComponent.displayName = `WithChatContext${getDisplayName(Component)}`;\n return WithChatContextComponent;\n};\n"]}
@@ -50,7 +50,7 @@ var ImageGalleryProvider = function ImageGalleryProvider(_ref) {
50
50
  __self: _this,
51
51
  __source: {
52
52
  fileName: _jsxFileName,
53
- lineNumber: 58,
53
+ lineNumber: 36,
54
54
  columnNumber: 5
55
55
  }
56
56
  }, children);
@@ -71,7 +71,7 @@ var withImageGalleryContext = function withImageGalleryContext(Component) {
71
71
  __self: _this,
72
72
  __source: {
73
73
  fileName: _jsxFileName,
74
- lineNumber: 102,
74
+ lineNumber: 59,
75
75
  columnNumber: 12
76
76
  }
77
77
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["ImageGalleryContext.tsx"],"names":["ImageGalleryContext","React","createContext","ImageGalleryProvider","children","images","setImages","image","setImage","imageGalleryContext","useImageGalleryContext","withImageGalleryContext","Component","WithImageGalleryContextComponent","props","displayName"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA;;;;;;;;;AA6BO,IAAMA,mBAAmB,GAAGC,kBAAMC,aAAN,CACjC,EADiC,CAA5B;;;;AAIA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,OAUE;AAAA,MADpCC,QACoC,QADpCA,QACoC;;AACpC,kBAA4B,qBAAoD,EAApD,CAA5B;AAAA;AAAA,MAAOC,MAAP;AAAA,MAAeC,SAAf;;AACA,mBAA0B,sBAA1B;AAAA;AAAA,MAAOC,KAAP;AAAA,MAAcC,QAAd;;AAEA,MAAMC,mBAAmB,GAAG;AAC1BF,IAAAA,KAAK,EAALA,KAD0B;AAE1BF,IAAAA,MAAM,EAANA,MAF0B;AAG1BG,IAAAA,QAAQ,EAARA,QAH0B;AAI1BF,IAAAA,SAAS,EAATA;AAJ0B,GAA5B;AAOA,SACE,gCAAC,mBAAD,CAAqB,QAArB;AACE,IAAA,KAAK,EAAEG,mBADT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAGGL,QAHH,CADF;AAOD,CA5BM;;;;AA8BA,IAAMM,sBAAsB,GAAG,SAAzBA,sBAAyB;AAAA,SASpC,uBAAWV,mBAAX,CAToC;AAAA,CAA/B;;;;AAmBA,IAAMW,uBAAuB,GAAG,SAA1BA,uBAA0B,CAUrCC,SAVqC,EAW6C;AAClF,MAAMC,gCAAgC,GAAG,SAAnCA,gCAAmC,CACvCC,KADuC,EAEpC;AACH,QAAML,mBAAmB,GAAGC,sBAAsB,EAAlD;AAEA,WAAO,gCAAC,SAAD,gCAAgBI,KAAhB,EAAiCL,mBAAjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAP;AACD,GAND;;AAOAI,EAAAA,gCAAgC,CAACE,WAAjC,+BAAyE,oCACvEH,SADuE,CAAzE;AAGA,SAAOC,gCAAP;AACD,CAvBM","sourcesContent":["import React, { PropsWithChildren, useContext, useState } from 'react';\n\nimport { getDisplayName } from '../utils/getDisplayName';\n\nimport type { MessageType } from '../../components/MessageList/hooks/useMessageList';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nexport type ImageGalleryContextValue<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = {\n images: MessageType<At, Ch, Co, Ev, Me, Re, Us>[];\n setImage: React.Dispatch<React.SetStateAction<{ messageId?: string; url?: string } | undefined>>;\n setImages: React.Dispatch<React.SetStateAction<MessageType<At, Ch, Co, Ev, Me, Re, Us>[]>>;\n image?: { messageId?: string; url?: string };\n};\n\nexport const ImageGalleryContext = React.createContext<ImageGalleryContextValue>(\n {} as ImageGalleryContextValue,\n);\n\nexport const ImageGalleryProvider = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>({\n children,\n}: PropsWithChildren<UnknownType>) => {\n const [images, setImages] = useState<MessageType<At, Ch, Co, Ev, Me, Re, Us>[]>([]);\n const [image, setImage] = useState<{ messageId?: string; url?: string }>();\n\n const imageGalleryContext = {\n image,\n images,\n setImage,\n setImages,\n };\n\n return (\n <ImageGalleryContext.Provider\n value={imageGalleryContext as unknown as ImageGalleryContextValue}\n >\n {children}\n </ImageGalleryContext.Provider>\n );\n};\n\nexport const useImageGalleryContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>() =>\n useContext(ImageGalleryContext) as unknown as ImageGalleryContextValue<\n At,\n Ch,\n Co,\n Ev,\n Me,\n Re,\n Us\n >;\n\nexport const withImageGalleryContext = <\n P extends UnknownType,\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n Component: React.ComponentType<P>,\n): React.FC<Omit<P, keyof ImageGalleryContextValue<At, Ch, Co, Ev, Me, Re, Us>>> => {\n const WithImageGalleryContextComponent = (\n props: Omit<P, keyof ImageGalleryContextValue<At, Ch, Co, Ev, Me, Re, Us>>,\n ) => {\n const imageGalleryContext = useImageGalleryContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return <Component {...(props as P)} {...imageGalleryContext} />;\n };\n WithImageGalleryContextComponent.displayName = `WithImageGalleryContext${getDisplayName(\n Component,\n )}`;\n return WithImageGalleryContextComponent;\n};\n"]}
1
+ {"version":3,"sources":["ImageGalleryContext.tsx"],"names":["ImageGalleryContext","React","createContext","ImageGalleryProvider","children","images","setImages","image","setImage","imageGalleryContext","useImageGalleryContext","withImageGalleryContext","Component","WithImageGalleryContextComponent","props","displayName"],"mappings":";;;;;;;;;;;;;AAAA;;AAIA;;;;;;;;;AAWO,IAAMA,mBAAmB,GAAGC,kBAAMC,aAAN,CACjC,EADiC,CAA5B;;;;AAIA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,OAIE;AAAA,MADpCC,QACoC,QADpCA,QACoC;;AACpC,kBAA4B,qBAA4C,EAA5C,CAA5B;AAAA;AAAA,MAAOC,MAAP;AAAA,MAAeC,SAAf;;AACA,mBAA0B,sBAA1B;AAAA;AAAA,MAAOC,KAAP;AAAA,MAAcC,QAAd;;AAEA,MAAMC,mBAAmB,GAAG;AAC1BF,IAAAA,KAAK,EAALA,KAD0B;AAE1BF,IAAAA,MAAM,EAANA,MAF0B;AAG1BG,IAAAA,QAAQ,EAARA,QAH0B;AAI1BF,IAAAA,SAAS,EAATA;AAJ0B,GAA5B;AAOA,SACE,gCAAC,mBAAD,CAAqB,QAArB;AACE,IAAA,KAAK,EAAEG,mBADT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAGGL,QAHH,CADF;AAOD,CAtBM;;;;AAwBA,IAAMM,sBAAsB,GAAG,SAAzBA,sBAAyB;AAAA,SAE/B,uBAAWV,mBAAX,CAF+B;AAAA,CAA/B;;;;AAIA,IAAMW,uBAAuB,GAAG,SAA1BA,uBAA0B,CAIrCC,SAJqC,EAKqC;AAC1E,MAAMC,gCAAgC,GAAG,SAAnCA,gCAAmC,CACvCC,KADuC,EAEpC;AACH,QAAML,mBAAmB,GAAGC,sBAAsB,EAAlD;AAEA,WAAO,gCAAC,SAAD,gCAAgBI,KAAhB,EAAiCL,mBAAjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAP;AACD,GAND;;AAOAI,EAAAA,gCAAgC,CAACE,WAAjC,+BAAyE,oCACvEH,SADuE,CAAzE;AAGA,SAAOC,gCAAP;AACD,CAjBM","sourcesContent":["import React, { PropsWithChildren, useContext, useState } from 'react';\n\nimport type { MessageType } from '../../components/MessageList/hooks/useMessageList';\nimport type { DefaultStreamChatGenerics, UnknownType } from '../../types/types';\nimport { getDisplayName } from '../utils/getDisplayName';\n\nexport type ImageGalleryContextValue<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n images: MessageType<StreamChatGenerics>[];\n setImage: React.Dispatch<React.SetStateAction<{ messageId?: string; url?: string } | undefined>>;\n setImages: React.Dispatch<React.SetStateAction<MessageType<StreamChatGenerics>[]>>;\n image?: { messageId?: string; url?: string };\n};\n\nexport const ImageGalleryContext = React.createContext<ImageGalleryContextValue>(\n {} as ImageGalleryContextValue,\n);\n\nexport const ImageGalleryProvider = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n children,\n}: PropsWithChildren<UnknownType>) => {\n const [images, setImages] = useState<MessageType<StreamChatGenerics>[]>([]);\n const [image, setImage] = useState<{ messageId?: string; url?: string }>();\n\n const imageGalleryContext = {\n image,\n images,\n setImage,\n setImages,\n };\n\n return (\n <ImageGalleryContext.Provider\n value={imageGalleryContext as unknown as ImageGalleryContextValue}\n >\n {children}\n </ImageGalleryContext.Provider>\n );\n};\n\nexport const useImageGalleryContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>() => useContext(ImageGalleryContext) as unknown as ImageGalleryContextValue<StreamChatGenerics>;\n\nexport const withImageGalleryContext = <\n P extends UnknownType,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n Component: React.ComponentType<P>,\n): React.FC<Omit<P, keyof ImageGalleryContextValue<StreamChatGenerics>>> => {\n const WithImageGalleryContextComponent = (\n props: Omit<P, keyof ImageGalleryContextValue<StreamChatGenerics>>,\n ) => {\n const imageGalleryContext = useImageGalleryContext<StreamChatGenerics>();\n\n return <Component {...(props as P)} {...imageGalleryContext} />;\n };\n WithImageGalleryContextComponent.displayName = `WithImageGalleryContext${getDisplayName(\n Component,\n )}`;\n return WithImageGalleryContextComponent;\n};\n"]}
@@ -36,7 +36,7 @@ var KeyboardProvider = function KeyboardProvider(_ref) {
36
36
  __self: _this,
37
37
  __source: {
38
38
  fileName: _jsxFileName,
39
- lineNumber: 19,
39
+ lineNumber: 18,
40
40
  columnNumber: 3
41
41
  }
42
42
  }, children);
@@ -57,7 +57,7 @@ var withKeyboardContext = function withKeyboardContext(Component) {
57
57
  __self: _this,
58
58
  __source: {
59
59
  fileName: _jsxFileName,
60
- lineNumber: 30,
60
+ lineNumber: 33,
61
61
  columnNumber: 12
62
62
  }
63
63
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["KeyboardContext.tsx"],"names":["KeyboardContext","React","createContext","dismissKeyboard","Keyboard","dismiss","KeyboardProvider","children","value","useKeyboardContext","withKeyboardContext","Component","WithKeyboardContextComponent","props","keyboardContext","displayName"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;;;;AAQO,IAAMA,eAAe,GAAGC,kBAAMC,aAAN,CAA0C;AACvEC,EAAAA,eAAe,EAAEC,sBAASC;AAD6C,CAA1C,CAAxB;;;;AAIA,IAAMC,gBAEX,GAAG,SAFQA,gBAER;AAAA,MAAGC,QAAH,QAAGA,QAAH;AAAA,MAAaC,KAAb,QAAaA,KAAb;AAAA,SACH,gCAAC,eAAD,CAAiB,QAAjB;AAA0B,IAAA,KAAK,EAAEA,KAAjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAyCD,QAAzC,CADG;AAAA,CAFE;;;;AAMA,IAAME,kBAAkB,GAAG,SAArBA,kBAAqB;AAAA,SAAM,uBAAWT,eAAX,CAAN;AAAA,CAA3B;;;;AAEA,IAAMU,mBAAmB,GAAG,SAAtBA,mBAAsB,CACjCC,SADiC,EAEiB;AAClD,MAAMC,4BAA4B,GAAG,SAA/BA,4BAA+B,CAACC,KAAD,EAAgD;AACnF,QAAMC,eAAe,GAAGL,kBAAkB,EAA1C;AAEA,WAAO,gCAAC,SAAD,gCAAgBI,KAAhB,EAAiCC,eAAjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAP;AACD,GAJD;;AAKAF,EAAAA,4BAA4B,CAACG,WAA7B,2BAAiE,oCAAeJ,SAAf,CAAjE;AACA,SAAOC,4BAAP;AACD,CAVM","sourcesContent":["import React, { useContext } from 'react';\nimport { Keyboard } from 'react-native';\n\nimport { getDisplayName } from '../utils/getDisplayName';\n\nimport type { UnknownType } from '../../types/types';\n\nexport type KeyboardContextValue = {\n dismissKeyboard: () => void;\n};\n\nexport const KeyboardContext = React.createContext<KeyboardContextValue>({\n dismissKeyboard: Keyboard.dismiss,\n});\n\nexport const KeyboardProvider: React.FC<{\n value: KeyboardContextValue;\n}> = ({ children, value }) => (\n <KeyboardContext.Provider value={value}>{children}</KeyboardContext.Provider>\n);\n\nexport const useKeyboardContext = () => useContext(KeyboardContext);\n\nexport const withKeyboardContext = <P extends UnknownType>(\n Component: React.ComponentType<P>,\n): React.FC<Omit<P, keyof KeyboardContextValue>> => {\n const WithKeyboardContextComponent = (props: Omit<P, keyof KeyboardContextValue>) => {\n const keyboardContext = useKeyboardContext();\n\n return <Component {...(props as P)} {...keyboardContext} />;\n };\n WithKeyboardContextComponent.displayName = `WithKeyboardContext${getDisplayName(Component)}`;\n return WithKeyboardContextComponent;\n};\n"]}
1
+ {"version":3,"sources":["KeyboardContext.tsx"],"names":["KeyboardContext","React","createContext","dismissKeyboard","Keyboard","dismiss","KeyboardProvider","children","value","useKeyboardContext","withKeyboardContext","Component","WithKeyboardContextComponent","props","keyboardContext","displayName"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAGA;;;;;;;;;AAMO,IAAMA,eAAe,GAAGC,kBAAMC,aAAN,CAA0C;AACvEC,EAAAA,eAAe,EAAEC,sBAASC;AAD6C,CAA1C,CAAxB;;;;AAIA,IAAMC,gBAEX,GAAG,SAFQA,gBAER;AAAA,MAAGC,QAAH,QAAGA,QAAH;AAAA,MAAaC,KAAb,QAAaA,KAAb;AAAA,SACH,gCAAC,eAAD,CAAiB,QAAjB;AAA0B,IAAA,KAAK,EAAEA,KAAjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAyCD,QAAzC,CADG;AAAA,CAFE;;;;AAMA,IAAME,kBAAkB,GAAG,SAArBA,kBAAqB;AAAA,SAAM,uBAAWT,eAAX,CAAN;AAAA,CAA3B;;;;AAEA,IAAMU,mBAAmB,GAAG,SAAtBA,mBAAsB,CAGjCC,SAHiC,EAIkC;AACnE,MAAMC,4BAA4B,GAAG,SAA/BA,4BAA+B,CACnCC,KADmC,EAEhC;AACH,QAAMC,eAAe,GAAGL,kBAAkB,EAA1C;AAEA,WAAO,gCAAC,SAAD,gCAAgBI,KAAhB,EAAkDC,eAAlD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAP;AACD,GAND;;AAOAF,EAAAA,4BAA4B,CAACG,WAA7B,2BAAiE,oCAC/DJ,SAD+D,CAAjE;AAGA,SAAOC,4BAAP;AACD,CAhBM","sourcesContent":["import React, { useContext } from 'react';\nimport { Keyboard } from 'react-native';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { getDisplayName } from '../utils/getDisplayName';\n\nexport type KeyboardContextValue = {\n dismissKeyboard: () => void;\n};\n\nexport const KeyboardContext = React.createContext<KeyboardContextValue>({\n dismissKeyboard: Keyboard.dismiss,\n});\n\nexport const KeyboardProvider: React.FC<{\n value: KeyboardContextValue;\n}> = ({ children, value }) => (\n <KeyboardContext.Provider value={value}>{children}</KeyboardContext.Provider>\n);\n\nexport const useKeyboardContext = () => useContext(KeyboardContext);\n\nexport const withKeyboardContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n Component: React.ComponentType<StreamChatGenerics>,\n): React.FC<Omit<StreamChatGenerics, keyof KeyboardContextValue>> => {\n const WithKeyboardContextComponent = (\n props: Omit<StreamChatGenerics, keyof KeyboardContextValue>,\n ) => {\n const keyboardContext = useKeyboardContext();\n\n return <Component {...(props as StreamChatGenerics)} {...keyboardContext} />;\n };\n WithKeyboardContextComponent.displayName = `WithKeyboardContext${getDisplayName(\n Component as React.ComponentType,\n )}`;\n return WithKeyboardContextComponent;\n};\n"]}
@@ -32,7 +32,7 @@ var MessageProvider = function MessageProvider(_ref) {
32
32
  __self: _this,
33
33
  __source: {
34
34
  fileName: _jsxFileName,
35
- lineNumber: 132,
35
+ lineNumber: 110,
36
36
  columnNumber: 3
37
37
  }
38
38
  }, children);
@@ -53,7 +53,7 @@ var withMessageContext = function withMessageContext(Component) {
53
53
  __self: _this,
54
54
  __source: {
55
55
  fileName: _jsxFileName,
56
- lineNumber: 169,
56
+ lineNumber: 135,
57
57
  columnNumber: 12
58
58
  }
59
59
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["MessageContext.tsx"],"names":["MessageContext","React","createContext","MessageProvider","children","value","useMessageContext","withMessageContext","Component","WithMessageContextComponent","props","messageContext","displayName"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;;;;;;;;AAiHO,IAAMA,cAAc,GAAGC,kBAAMC,aAAN,CAAoB,EAApB,CAAvB;;;;AAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB;AAAA,MAS7BC,QAT6B,QAS7BA,QAT6B;AAAA,MAU7BC,KAV6B,QAU7BA,KAV6B;AAAA,SAc7B,gCAAC,cAAD,CAAgB,QAAhB;AAAyB,IAAA,KAAK,EAAEA,KAAhC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGD,QADH,CAd6B;AAAA,CAAxB;;;;AAmBA,IAAME,iBAAiB,GAAG,SAApBA,iBAAoB;AAAA,SAQ1B,uBAAWN,cAAX,CAR0B;AAAA,CAA1B;;;;AAeA,IAAMO,kBAAkB,GAAG,SAArBA,kBAAqB,CAUhCC,SAVgC,EAW6C;AAC7E,MAAMC,2BAA2B,GAAG,SAA9BA,2BAA8B,CAClCC,KADkC,EAE/B;AACH,QAAMC,cAAc,GAAGL,iBAAiB,EAAxC;AAEA,WAAO,gCAAC,SAAD,gCAAgBI,KAAhB,EAAiCC,cAAjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAP;AACD,GAND;;AAOAF,EAAAA,2BAA2B,CAACG,WAA5B,0BAA+D,oCAAeJ,SAAf,CAA/D;AACA,SAAOC,2BAAP;AACD,CArBM","sourcesContent":["import React, { PropsWithChildren, useContext } from 'react';\n\nimport { getDisplayName } from '../utils/getDisplayName';\n\nimport type { Attachment } from 'stream-chat';\n\nimport type { ActionHandler } from '../../components/Attachment/Attachment';\nimport type { TouchableHandlerPayload } from '../../components/Message/Message';\nimport type { GroupType, MessageType } from '../../components/MessageList/hooks/useMessageList';\nimport type { ChannelContextValue } from '../../contexts/channelContext/ChannelContext';\nimport type { MessageContentType } from '../../contexts/messagesContext/MessagesContext';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nexport type Alignment = 'right' | 'left';\n\nexport type Reactions = {\n own: boolean;\n type: string;\n}[];\n\nexport type MessageContextValue<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = {\n /** Whether or not actions can be performed on message */\n actionsEnabled: boolean;\n /** Position of the message, either 'right' or 'left' */\n alignment: Alignment;\n /** The files attached to a message */\n files: Attachment<At>[];\n /**\n * Position of message in group - top, bottom, middle, single.\n *\n * Message group is a group of consecutive messages from same user. groupStyles can be used to style message as per their position in message group\n * e.g., user avatar (to which message belongs to) is only showed for last (bottom) message in group.\n */\n groupStyles: GroupType[];\n /** Handler for actions. Actions in combination with attachments can be used to build [commands](https://getstream.io/chat/docs/#channel_commands). */\n handleAction: ActionHandler;\n handleDeleteMessage: () => Promise<void>;\n handleEditMessage: () => void;\n handleQuotedReplyMessage: () => void;\n handleResendMessage: () => Promise<void>;\n handleToggleBanUser: () => Promise<void>;\n handleToggleMuteUser: () => Promise<void>;\n handleToggleReaction: (reactionType: string) => Promise<void>;\n /** Whether or not message has reactions */\n hasReactions: boolean;\n /** The images attached to a message */\n images: Attachment<At>[];\n /** Whether or not this is the active user's message */\n isMyMessage: boolean;\n /** Whether or not this is the last message in a group of messages */\n lastGroupMessage: boolean;\n /** Current [message object](https://getstream.io/chat/docs/#message_format) */\n message: MessageType<At, Ch, Co, Ev, Me, Re, Us>;\n /** Order to render the message content */\n messageContentOrder: MessageContentType[];\n /**\n * You can call methods available on the Message\n * component such as handleEdit, handleDelete, handleAction etc.\n *\n * Source - [Message](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/Message/Message.tsx)\n *\n * By default, we show the overlay with all the message actions on long press.\n *\n * @param event Event object for onLongPress event\n */\n onLongPress: (payload: TouchableHandlerPayload) => void;\n /** Whether the message is only text and the text is only emojis */\n onlyEmojis: boolean;\n /** Handler to open a thread on a message */\n onOpenThread: () => void;\n /**\n * You can call methods available on the Message\n * component such as handleEdit, handleDelete, handleAction etc.\n *\n * Source - [Message](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/Message/Message.tsx)\n *\n * By default, we will dismiss the keyboard on press.\n *\n * @param event Event object for onPress event\n */\n onPress: (payload: TouchableHandlerPayload) => void;\n onPressIn: ((payload: TouchableHandlerPayload) => void) | null;\n /** The images attached to a message */\n otherAttachments: Attachment<At>[];\n reactions: Reactions;\n showMessageOverlay: (messageReactions?: boolean) => void;\n showMessageStatus: boolean;\n /** Whether or not the Message is part of a Thread */\n threadList: boolean;\n goToMessage?: (messageId: string) => void;\n /** Latest message id on current channel */\n lastReceivedId?: string;\n /** Prevent message being pressed for image viewer view */\n preventPress?: boolean;\n /** Whether or not the avatar show show next to Message */\n showAvatar?: boolean;\n} & Pick<ChannelContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'channel' | 'disabled' | 'members'>;\n\nexport const MessageContext = React.createContext({} as MessageContextValue);\n\nexport const MessageProvider = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>({\n children,\n value,\n}: PropsWithChildren<{\n value?: MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>;\n}>) => (\n <MessageContext.Provider value={value as unknown as MessageContextValue}>\n {children}\n </MessageContext.Provider>\n);\n\nexport const useMessageContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>() => useContext(MessageContext) as unknown as MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>;\n\n/**\n * Typescript currently does not support partial inference so if MessageContext\n * typing is desired while using the HOC withMessageContextContext the Props for the\n * wrapped component must be provided as the first generic.\n */\nexport const withMessageContext = <\n P extends UnknownType,\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n Component: React.ComponentType<P>,\n): React.FC<Omit<P, keyof MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>>> => {\n const WithMessageContextComponent = (\n props: Omit<P, keyof MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>>,\n ) => {\n const messageContext = useMessageContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return <Component {...(props as P)} {...messageContext} />;\n };\n WithMessageContextComponent.displayName = `WithMessageContext${getDisplayName(Component)}`;\n return WithMessageContextComponent;\n};\n"]}
1
+ {"version":3,"sources":["MessageContext.tsx"],"names":["MessageContext","React","createContext","MessageProvider","children","value","useMessageContext","withMessageContext","Component","WithMessageContextComponent","props","messageContext","displayName"],"mappings":";;;;;;;;;;;AAAA;;AAUA;;;;;;;;;AAyFO,IAAMA,cAAc,GAAGC,kBAAMC,aAAN,CAAoB,EAApB,CAAvB;;;;AAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB;AAAA,MAG7BC,QAH6B,QAG7BA,QAH6B;AAAA,MAI7BC,KAJ6B,QAI7BA,KAJ6B;AAAA,SAQ7B,gCAAC,cAAD,CAAgB,QAAhB;AAAyB,IAAA,KAAK,EAAEA,KAAhC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGD,QADH,CAR6B;AAAA,CAAxB;;;;AAaA,IAAME,iBAAiB,GAAG,SAApBA,iBAAoB;AAAA,SAE1B,uBAAWN,cAAX,CAF0B;AAAA,CAA1B;;;;AASA,IAAMO,kBAAkB,GAAG,SAArBA,kBAAqB,CAIhCC,SAJgC,EAKqC;AACrE,MAAMC,2BAA2B,GAAG,SAA9BA,2BAA8B,CAClCC,KADkC,EAE/B;AACH,QAAMC,cAAc,GAAGL,iBAAiB,EAAxC;AAEA,WAAO,gCAAC,SAAD,gCAAgBI,KAAhB,EAAiCC,cAAjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAP;AACD,GAND;;AAOAF,EAAAA,2BAA2B,CAACG,WAA5B,0BAA+D,oCAAeJ,SAAf,CAA/D;AACA,SAAOC,2BAAP;AACD,CAfM","sourcesContent":["import React, { PropsWithChildren, useContext } from 'react';\n\nimport type { Attachment } from 'stream-chat';\n\nimport type { ActionHandler } from '../../components/Attachment/Attachment';\nimport type { TouchableHandlerPayload } from '../../components/Message/Message';\nimport type { GroupType, MessageType } from '../../components/MessageList/hooks/useMessageList';\nimport type { ChannelContextValue } from '../../contexts/channelContext/ChannelContext';\nimport type { MessageContentType } from '../../contexts/messagesContext/MessagesContext';\nimport type { DefaultStreamChatGenerics, UnknownType } from '../../types/types';\nimport { getDisplayName } from '../utils/getDisplayName';\n\nexport type Alignment = 'right' | 'left';\n\nexport type Reactions = {\n own: boolean;\n type: string;\n}[];\n\nexport type MessageContextValue<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n /** Whether or not actions can be performed on message */\n actionsEnabled: boolean;\n /** Position of the message, either 'right' or 'left' */\n alignment: Alignment;\n /** The files attached to a message */\n files: Attachment<StreamChatGenerics>[];\n /**\n * Position of message in group - top, bottom, middle, single.\n *\n * Message group is a group of consecutive messages from same user. groupStyles can be used to style message as per their position in message group\n * e.g., user avatar (to which message belongs to) is only showed for last (bottom) message in group.\n */\n groupStyles: GroupType[];\n /** Handler for actions. Actions in combination with attachments can be used to build [commands](https://getstream.io/chat/docs/#channel_commands). */\n handleAction: ActionHandler;\n handleDeleteMessage: () => Promise<void>;\n handleEditMessage: () => void;\n handleQuotedReplyMessage: () => void;\n handleResendMessage: () => Promise<void>;\n handleToggleBanUser: () => Promise<void>;\n handleToggleMuteUser: () => Promise<void>;\n handleToggleReaction: (reactionType: string) => Promise<void>;\n /** Whether or not message has reactions */\n hasReactions: boolean;\n /** The images attached to a message */\n images: Attachment<StreamChatGenerics>[];\n /** Whether or not this is the active user's message */\n isMyMessage: boolean;\n /** Whether or not this is the last message in a group of messages */\n lastGroupMessage: boolean;\n /** Current [message object](https://getstream.io/chat/docs/#message_format) */\n message: MessageType<StreamChatGenerics>;\n /** Order to render the message content */\n messageContentOrder: MessageContentType[];\n /**\n * You can call methods available on the Message\n * component such as handleEdit, handleDelete, handleAction etc.\n *\n * Source - [Message](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/Message/Message.tsx)\n *\n * By default, we show the overlay with all the message actions on long press.\n *\n * @param event Event object for onLongPress event\n */\n onLongPress: (payload: TouchableHandlerPayload) => void;\n /** Whether the message is only text and the text is only emojis */\n onlyEmojis: boolean;\n /** Handler to open a thread on a message */\n onOpenThread: () => void;\n /**\n * You can call methods available on the Message\n * component such as handleEdit, handleDelete, handleAction etc.\n *\n * Source - [Message](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/Message/Message.tsx)\n *\n * By default, we will dismiss the keyboard on press.\n *\n * @param event Event object for onPress event\n */\n onPress: (payload: TouchableHandlerPayload) => void;\n onPressIn: ((payload: TouchableHandlerPayload) => void) | null;\n /** The images attached to a message */\n otherAttachments: Attachment<StreamChatGenerics>[];\n reactions: Reactions;\n showMessageOverlay: (messageReactions?: boolean) => void;\n showMessageStatus: boolean;\n /** Whether or not the Message is part of a Thread */\n threadList: boolean;\n goToMessage?: (messageId: string) => void;\n /** Latest message id on current channel */\n lastReceivedId?: string;\n /** Prevent message being pressed for image viewer view */\n preventPress?: boolean;\n /** Whether or not the avatar show show next to Message */\n showAvatar?: boolean;\n} & Pick<ChannelContextValue<StreamChatGenerics>, 'channel' | 'disabled' | 'members'>;\n\nexport const MessageContext = React.createContext({} as MessageContextValue);\n\nexport const MessageProvider = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n children,\n value,\n}: PropsWithChildren<{\n value?: MessageContextValue<StreamChatGenerics>;\n}>) => (\n <MessageContext.Provider value={value as unknown as MessageContextValue}>\n {children}\n </MessageContext.Provider>\n);\n\nexport const useMessageContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>() => useContext(MessageContext) as unknown as MessageContextValue<StreamChatGenerics>;\n\n/**\n * Typescript currently does not support partial inference so if MessageContext\n * typing is desired while using the HOC withMessageContextContext the Props for the\n * wrapped component must be provided as the first generic.\n */\nexport const withMessageContext = <\n P extends UnknownType,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n Component: React.ComponentType<P>,\n): React.FC<Omit<P, keyof MessageContextValue<StreamChatGenerics>>> => {\n const WithMessageContextComponent = (\n props: Omit<P, keyof MessageContextValue<StreamChatGenerics>>,\n ) => {\n const messageContext = useMessageContext<StreamChatGenerics>();\n\n return <Component {...(props as P)} {...messageContext} />;\n };\n WithMessageContextComponent.displayName = `WithMessageContext${getDisplayName(Component)}`;\n return WithMessageContextComponent;\n};\n"]}