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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (834) hide show
  1. package/lib/commonjs/components/Attachment/Attachment.js +2 -2
  2. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  3. package/lib/commonjs/components/Attachment/AttachmentActions.js.map +1 -1
  4. package/lib/commonjs/components/Attachment/Card.js +15 -15
  5. package/lib/commonjs/components/Attachment/Card.js.map +1 -1
  6. package/lib/commonjs/components/Attachment/FileAttachment.js +8 -8
  7. package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
  8. package/lib/commonjs/components/Attachment/FileIcon.js.map +1 -1
  9. package/lib/commonjs/components/Attachment/Gallery.js +97 -106
  10. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  11. package/lib/commonjs/components/Attachment/Giphy.js +27 -27
  12. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  13. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js +46 -0
  14. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
  15. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
  16. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
  17. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
  18. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
  19. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
  20. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
  21. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
  22. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
  23. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
  24. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
  25. package/lib/commonjs/components/Attachment/utils/buildGallery/types.js +4 -0
  26. package/lib/commonjs/components/Attachment/utils/buildGallery/types.js.map +1 -0
  27. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js +14 -0
  28. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -0
  29. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
  30. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
  31. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +9 -8
  32. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  33. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +2 -2
  34. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  35. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  36. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  37. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +16 -16
  38. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
  39. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +11 -11
  40. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  41. package/lib/commonjs/components/Avatar/Avatar.js +13 -7
  42. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  43. package/lib/commonjs/components/Avatar/GroupAvatar.js +10 -4
  44. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  45. package/lib/commonjs/components/Channel/Channel.js +64 -64
  46. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  47. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  48. package/lib/commonjs/components/ChannelList/ChannelList.js +6 -6
  49. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  50. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +4 -4
  51. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  52. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +6 -7
  53. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  54. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +2 -2
  55. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  56. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +17 -17
  57. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  58. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  59. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  60. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  61. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  62. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  63. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  64. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  65. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  66. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  67. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  68. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
  69. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  70. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  71. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  72. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js +2 -2
  73. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  74. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +83 -70
  75. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  76. package/lib/commonjs/components/ChannelList/utils.js +1 -1
  77. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +2 -2
  78. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  79. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +2 -2
  80. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  81. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  82. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +48 -20
  83. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  84. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
  85. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
  86. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
  87. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  88. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  89. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  90. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  91. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  92. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  93. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  94. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  95. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  96. package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
  97. package/lib/commonjs/components/ImageGallery/ImageGallery.js +89 -56
  98. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  99. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +2 -2
  100. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  101. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +12 -12
  102. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  103. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +10 -10
  104. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  105. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +7 -7
  106. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  107. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +5 -5
  108. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  109. package/lib/commonjs/components/Indicators/LoadingIndicator.js +9 -9
  110. package/lib/commonjs/components/Indicators/LoadingIndicator.js.map +1 -1
  111. package/lib/commonjs/components/Message/Message.js +13 -9
  112. package/lib/commonjs/components/Message/Message.js.map +1 -1
  113. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +6 -6
  114. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  115. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +19 -19
  116. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  117. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +5 -5
  118. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  119. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +11 -11
  120. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  121. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +2 -2
  122. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  123. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +5 -5
  124. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  125. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +9 -7
  126. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  127. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js +89 -0
  128. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
  129. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
  130. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
  131. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +14 -25
  132. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  133. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  134. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js +16 -3
  135. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  136. package/lib/commonjs/components/Message/hooks/useMessageActions.js +18 -14
  137. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
  138. package/lib/commonjs/components/Message/utils/messageActions.js.map +1 -1
  139. package/lib/commonjs/components/Message/utils/removeReservedFields.js.map +1 -1
  140. package/lib/commonjs/components/MessageInput/AttachButton.js +3 -3
  141. package/lib/commonjs/components/MessageInput/AttachButton.js.map +1 -1
  142. package/lib/commonjs/components/MessageInput/CommandsButton.js +3 -3
  143. package/lib/commonjs/components/MessageInput/CommandsButton.js.map +1 -1
  144. package/lib/commonjs/components/MessageInput/CooldownTimer.js +2 -2
  145. package/lib/commonjs/components/MessageInput/CooldownTimer.js.map +1 -1
  146. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +2 -2
  147. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  148. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +7 -7
  149. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
  150. package/lib/commonjs/components/MessageInput/InputButtons.js +3 -3
  151. package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
  152. package/lib/commonjs/components/MessageInput/MessageInput.js +40 -40
  153. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  154. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +3 -3
  155. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js.map +1 -1
  156. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +2 -2
  157. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
  158. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +3 -3
  159. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  160. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -1
  161. package/lib/commonjs/components/MessageInput/hooks/useCountdown.js.map +1 -1
  162. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  163. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  164. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  165. package/lib/commonjs/components/MessageList/MessageList.js +2 -2
  166. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  167. package/lib/commonjs/components/MessageList/MessageSystem.js.map +1 -1
  168. package/lib/commonjs/components/MessageList/TypingIndicator.js +5 -5
  169. package/lib/commonjs/components/MessageList/TypingIndicator.js.map +1 -1
  170. package/lib/commonjs/components/MessageList/hooks/useMessageList.js +7 -7
  171. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  172. package/lib/commonjs/components/MessageList/hooks/useTypingString.js +2 -2
  173. package/lib/commonjs/components/MessageList/hooks/useTypingString.js.map +1 -1
  174. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
  175. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js +3 -1
  176. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  177. package/lib/commonjs/components/MessageOverlay/MessageActionList.js +2 -2
  178. package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -1
  179. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +7 -7
  180. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  181. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +38 -32
  182. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  183. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +1 -1
  184. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js.map +1 -1
  185. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +11 -11
  186. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  187. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +31 -34
  188. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
  189. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
  190. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
  191. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -1
  192. package/lib/commonjs/components/Reply/Reply.js +25 -19
  193. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  194. package/lib/commonjs/components/Thread/Thread.js +6 -6
  195. package/lib/commonjs/components/Thread/Thread.js.map +1 -1
  196. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +12 -12
  197. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  198. package/lib/commonjs/components/docs/data.js +1 -1
  199. package/lib/commonjs/components/index.js +26 -0
  200. package/lib/commonjs/components/index.js.map +1 -1
  201. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +2 -2
  202. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  203. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +2 -2
  204. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  205. package/lib/commonjs/contexts/channelContext/ChannelContext.js +2 -2
  206. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  207. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +2 -2
  208. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  209. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +3 -3
  210. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  211. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
  212. package/lib/commonjs/contexts/chatContext/ChatContext.js +2 -2
  213. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  214. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
  215. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  216. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +2 -2
  217. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  218. package/lib/commonjs/contexts/messageContext/MessageContext.js +2 -2
  219. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  220. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +18 -14
  221. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  222. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  223. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js +10 -3
  224. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  225. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +5 -19
  226. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  227. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
  228. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
  229. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
  230. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
  231. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  232. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -1
  233. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  234. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +33 -31
  235. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  236. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
  237. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
  238. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  239. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +3 -3
  240. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  241. package/lib/commonjs/contexts/themeContext/ThemeContext.js +2 -2
  242. package/lib/commonjs/contexts/themeContext/ThemeContext.js.map +1 -1
  243. package/lib/commonjs/contexts/themeContext/utils/theme.js +13 -5
  244. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  245. package/lib/commonjs/contexts/threadContext/ThreadContext.js +2 -2
  246. package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
  247. package/lib/commonjs/contexts/translationContext/TranslationContext.js +1 -1
  248. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  249. package/lib/commonjs/contexts/typingContext/TypingContext.js +2 -2
  250. package/lib/commonjs/contexts/typingContext/TypingContext.js.map +1 -1
  251. package/lib/commonjs/contexts/utils/getDisplayName.js.map +1 -1
  252. package/lib/commonjs/emoji-data/index.js +2 -2
  253. package/lib/commonjs/emoji-data/index.js.map +1 -1
  254. package/lib/commonjs/hooks/useStreami18n.js.map +1 -1
  255. package/lib/commonjs/icons/utils/base.js +1 -1
  256. package/lib/commonjs/index.js +6 -6
  257. package/lib/commonjs/mock-builders/api/error.js +1 -1
  258. package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
  259. package/lib/commonjs/mock-builders/generator/attachment.js +1 -3
  260. package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
  261. package/lib/commonjs/mock-builders/generator/channel.js +101 -51
  262. package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
  263. package/lib/commonjs/mock-builders/generator/user.js +32 -33
  264. package/lib/commonjs/mock-builders/generator/user.js.map +1 -1
  265. package/lib/commonjs/mock-builders/mock.js +1 -1
  266. package/lib/commonjs/native.js +1 -1
  267. package/lib/commonjs/native.js.map +1 -1
  268. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js +7 -7
  269. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js.map +1 -1
  270. package/lib/commonjs/styleguideComponents/JsDoc.js +4 -4
  271. package/lib/commonjs/styleguideComponents/JsDoc.js.map +1 -1
  272. package/lib/commonjs/styleguideComponents/PathlineRenderer.js +7 -7
  273. package/lib/commonjs/styleguideComponents/PathlineRenderer.js.map +1 -1
  274. package/lib/commonjs/styleguideComponents/PropsRenderer.js +25 -25
  275. package/lib/commonjs/styleguideComponents/PropsRenderer.js.map +1 -1
  276. package/lib/commonjs/styleguideComponents/Wrapper.js +1 -1
  277. package/lib/commonjs/styleguideComponents/Wrapper.js.map +1 -1
  278. package/lib/commonjs/utils/Streami18n.js.map +1 -1
  279. package/lib/commonjs/utils/getResizedImageUrl.js +26 -0
  280. package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -0
  281. package/lib/commonjs/utils/getUrlOfImageAttachment.js +9 -0
  282. package/lib/commonjs/utils/getUrlOfImageAttachment.js.map +1 -0
  283. package/lib/commonjs/utils/utils.js +9 -3
  284. package/lib/commonjs/utils/utils.js.map +1 -1
  285. package/lib/commonjs/version.json +1 -1
  286. package/lib/module/components/Attachment/Attachment.js +2 -2
  287. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  288. package/lib/module/components/Attachment/AttachmentActions.js.map +1 -1
  289. package/lib/module/components/Attachment/Card.js +15 -15
  290. package/lib/module/components/Attachment/Card.js.map +1 -1
  291. package/lib/module/components/Attachment/FileAttachment.js +8 -8
  292. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  293. package/lib/module/components/Attachment/FileIcon.js.map +1 -1
  294. package/lib/module/components/Attachment/Gallery.js +97 -106
  295. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  296. package/lib/module/components/Attachment/Giphy.js +27 -27
  297. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  298. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js +46 -0
  299. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
  300. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
  301. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
  302. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
  303. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
  304. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
  305. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
  306. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
  307. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
  308. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
  309. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
  310. package/lib/module/components/Attachment/utils/buildGallery/types.js +4 -0
  311. package/lib/module/components/Attachment/utils/buildGallery/types.js.map +1 -0
  312. package/lib/module/components/Attachment/utils/getAspectRatio.js +14 -0
  313. package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -0
  314. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
  315. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
  316. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +9 -8
  317. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  318. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +2 -2
  319. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  320. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  321. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  322. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +16 -16
  323. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
  324. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +11 -11
  325. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  326. package/lib/module/components/Avatar/Avatar.js +13 -7
  327. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  328. package/lib/module/components/Avatar/GroupAvatar.js +10 -4
  329. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  330. package/lib/module/components/Channel/Channel.js +64 -64
  331. package/lib/module/components/Channel/Channel.js.map +1 -1
  332. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  333. package/lib/module/components/ChannelList/ChannelList.js +6 -6
  334. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  335. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +4 -4
  336. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  337. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +6 -7
  338. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  339. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +2 -2
  340. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  341. package/lib/module/components/ChannelList/ChannelListMessenger.js +17 -17
  342. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  343. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  344. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  345. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  346. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  347. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  348. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  349. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  350. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  351. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  352. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  353. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
  354. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  355. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  356. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  357. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js +2 -2
  358. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  359. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +83 -70
  360. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  361. package/lib/module/components/ChannelList/utils.js +1 -1
  362. package/lib/module/components/ChannelPreview/ChannelAvatar.js +2 -2
  363. package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  364. package/lib/module/components/ChannelPreview/ChannelPreview.js +2 -2
  365. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  366. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  367. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +48 -20
  368. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  369. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
  370. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
  371. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
  372. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  373. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  374. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  375. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  376. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  377. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  378. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  379. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  380. package/lib/module/components/Chat/Chat.js.map +1 -1
  381. package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
  382. package/lib/module/components/ImageGallery/ImageGallery.js +89 -56
  383. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  384. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +2 -2
  385. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  386. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +12 -12
  387. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  388. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +10 -10
  389. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  390. package/lib/module/components/ImageGallery/components/ImageGrid.js +7 -7
  391. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  392. package/lib/module/components/ImageGallery/components/ImageGridHandle.js +5 -5
  393. package/lib/module/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  394. package/lib/module/components/Indicators/LoadingIndicator.js +9 -9
  395. package/lib/module/components/Indicators/LoadingIndicator.js.map +1 -1
  396. package/lib/module/components/Message/Message.js +13 -9
  397. package/lib/module/components/Message/Message.js.map +1 -1
  398. package/lib/module/components/Message/MessageSimple/MessageAvatar.js +6 -6
  399. package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  400. package/lib/module/components/Message/MessageSimple/MessageContent.js +19 -19
  401. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  402. package/lib/module/components/Message/MessageSimple/MessageDeleted.js +5 -5
  403. package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  404. package/lib/module/components/Message/MessageSimple/MessageFooter.js +11 -11
  405. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  406. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +2 -2
  407. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  408. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +5 -5
  409. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  410. package/lib/module/components/Message/MessageSimple/MessageStatus.js +9 -7
  411. package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  412. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js +89 -0
  413. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
  414. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
  415. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
  416. package/lib/module/components/Message/MessageSimple/utils/renderText.js +14 -25
  417. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  418. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  419. package/lib/module/components/Message/hooks/useMessageActionHandlers.js +16 -3
  420. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  421. package/lib/module/components/Message/hooks/useMessageActions.js +18 -14
  422. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
  423. package/lib/module/components/Message/utils/messageActions.js.map +1 -1
  424. package/lib/module/components/Message/utils/removeReservedFields.js.map +1 -1
  425. package/lib/module/components/MessageInput/AttachButton.js +3 -3
  426. package/lib/module/components/MessageInput/AttachButton.js.map +1 -1
  427. package/lib/module/components/MessageInput/CommandsButton.js +3 -3
  428. package/lib/module/components/MessageInput/CommandsButton.js.map +1 -1
  429. package/lib/module/components/MessageInput/CooldownTimer.js +2 -2
  430. package/lib/module/components/MessageInput/CooldownTimer.js.map +1 -1
  431. package/lib/module/components/MessageInput/FileUploadPreview.js +2 -2
  432. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  433. package/lib/module/components/MessageInput/ImageUploadPreview.js +7 -7
  434. package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
  435. package/lib/module/components/MessageInput/InputButtons.js +3 -3
  436. package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
  437. package/lib/module/components/MessageInput/MessageInput.js +40 -40
  438. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  439. package/lib/module/components/MessageInput/MoreOptionsButton.js +3 -3
  440. package/lib/module/components/MessageInput/MoreOptionsButton.js.map +1 -1
  441. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +2 -2
  442. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
  443. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +3 -3
  444. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  445. package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -1
  446. package/lib/module/components/MessageInput/hooks/useCountdown.js.map +1 -1
  447. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  448. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  449. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  450. package/lib/module/components/MessageList/MessageList.js +2 -2
  451. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  452. package/lib/module/components/MessageList/MessageSystem.js.map +1 -1
  453. package/lib/module/components/MessageList/TypingIndicator.js +5 -5
  454. package/lib/module/components/MessageList/TypingIndicator.js.map +1 -1
  455. package/lib/module/components/MessageList/hooks/useMessageList.js +7 -7
  456. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  457. package/lib/module/components/MessageList/hooks/useTypingString.js +2 -2
  458. package/lib/module/components/MessageList/hooks/useTypingString.js.map +1 -1
  459. package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
  460. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js +3 -1
  461. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  462. package/lib/module/components/MessageOverlay/MessageActionList.js +2 -2
  463. package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -1
  464. package/lib/module/components/MessageOverlay/MessageActionListItem.js +7 -7
  465. package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  466. package/lib/module/components/MessageOverlay/MessageOverlay.js +38 -32
  467. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  468. package/lib/module/components/MessageOverlay/OverlayBackdrop.js +1 -1
  469. package/lib/module/components/MessageOverlay/OverlayBackdrop.js.map +1 -1
  470. package/lib/module/components/MessageOverlay/OverlayReactionList.js +11 -11
  471. package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  472. package/lib/module/components/MessageOverlay/OverlayReactions.js +31 -34
  473. package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
  474. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
  475. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
  476. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -1
  477. package/lib/module/components/Reply/Reply.js +25 -19
  478. package/lib/module/components/Reply/Reply.js.map +1 -1
  479. package/lib/module/components/Thread/Thread.js +6 -6
  480. package/lib/module/components/Thread/Thread.js.map +1 -1
  481. package/lib/module/components/Thread/components/ThreadFooterComponent.js +12 -12
  482. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  483. package/lib/module/components/docs/data.js +1 -1
  484. package/lib/module/components/index.js +26 -0
  485. package/lib/module/components/index.js.map +1 -1
  486. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +2 -2
  487. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  488. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +2 -2
  489. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  490. package/lib/module/contexts/channelContext/ChannelContext.js +2 -2
  491. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  492. package/lib/module/contexts/channelsContext/ChannelsContext.js +2 -2
  493. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  494. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +3 -3
  495. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  496. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
  497. package/lib/module/contexts/chatContext/ChatContext.js +2 -2
  498. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  499. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
  500. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  501. package/lib/module/contexts/keyboardContext/KeyboardContext.js +2 -2
  502. package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  503. package/lib/module/contexts/messageContext/MessageContext.js +2 -2
  504. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  505. package/lib/module/contexts/messageInputContext/MessageInputContext.js +18 -14
  506. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  507. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  508. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js +10 -3
  509. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  510. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +5 -19
  511. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  512. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
  513. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
  514. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
  515. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
  516. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  517. package/lib/module/contexts/overlayContext/OverlayContext.js +1 -1
  518. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  519. package/lib/module/contexts/overlayContext/OverlayProvider.js +33 -31
  520. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  521. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
  522. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
  523. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  524. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +3 -3
  525. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  526. package/lib/module/contexts/themeContext/ThemeContext.js +2 -2
  527. package/lib/module/contexts/themeContext/ThemeContext.js.map +1 -1
  528. package/lib/module/contexts/themeContext/utils/theme.js +13 -5
  529. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  530. package/lib/module/contexts/threadContext/ThreadContext.js +2 -2
  531. package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
  532. package/lib/module/contexts/translationContext/TranslationContext.js +1 -1
  533. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  534. package/lib/module/contexts/typingContext/TypingContext.js +2 -2
  535. package/lib/module/contexts/typingContext/TypingContext.js.map +1 -1
  536. package/lib/module/contexts/utils/getDisplayName.js.map +1 -1
  537. package/lib/module/emoji-data/index.js +2 -2
  538. package/lib/module/emoji-data/index.js.map +1 -1
  539. package/lib/module/hooks/useStreami18n.js.map +1 -1
  540. package/lib/module/icons/utils/base.js +1 -1
  541. package/lib/module/index.js +6 -6
  542. package/lib/module/mock-builders/api/error.js +1 -1
  543. package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
  544. package/lib/module/mock-builders/generator/attachment.js +1 -3
  545. package/lib/module/mock-builders/generator/attachment.js.map +1 -1
  546. package/lib/module/mock-builders/generator/channel.js +101 -51
  547. package/lib/module/mock-builders/generator/channel.js.map +1 -1
  548. package/lib/module/mock-builders/generator/user.js +32 -33
  549. package/lib/module/mock-builders/generator/user.js.map +1 -1
  550. package/lib/module/mock-builders/mock.js +1 -1
  551. package/lib/module/native.js +1 -1
  552. package/lib/module/native.js.map +1 -1
  553. package/lib/module/styleguideComponents/ArgumentsRenderer.js +7 -7
  554. package/lib/module/styleguideComponents/ArgumentsRenderer.js.map +1 -1
  555. package/lib/module/styleguideComponents/JsDoc.js +4 -4
  556. package/lib/module/styleguideComponents/JsDoc.js.map +1 -1
  557. package/lib/module/styleguideComponents/PathlineRenderer.js +7 -7
  558. package/lib/module/styleguideComponents/PathlineRenderer.js.map +1 -1
  559. package/lib/module/styleguideComponents/PropsRenderer.js +25 -25
  560. package/lib/module/styleguideComponents/PropsRenderer.js.map +1 -1
  561. package/lib/module/styleguideComponents/Wrapper.js +1 -1
  562. package/lib/module/styleguideComponents/Wrapper.js.map +1 -1
  563. package/lib/module/utils/Streami18n.js.map +1 -1
  564. package/lib/module/utils/getResizedImageUrl.js +26 -0
  565. package/lib/module/utils/getResizedImageUrl.js.map +1 -0
  566. package/lib/module/utils/getUrlOfImageAttachment.js +9 -0
  567. package/lib/module/utils/getUrlOfImageAttachment.js.map +1 -0
  568. package/lib/module/utils/utils.js +9 -3
  569. package/lib/module/utils/utils.js.map +1 -1
  570. package/lib/module/version.json +1 -1
  571. package/lib/typescript/components/Attachment/Attachment.d.ts +1 -1
  572. package/lib/typescript/components/Attachment/AttachmentActions.d.ts +1 -1
  573. package/lib/typescript/components/Attachment/Card.d.ts +1 -1
  574. package/lib/typescript/components/Attachment/FileAttachment.d.ts +1 -1
  575. package/lib/typescript/components/Attachment/Gallery.d.ts +1 -4
  576. package/lib/typescript/components/Attachment/Giphy.d.ts +1 -1
  577. package/lib/typescript/components/Attachment/utils/buildGallery/buildGallery.d.ts +23 -0
  578. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.d.ts +7 -0
  579. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.d.ts +7 -0
  580. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.d.ts +7 -0
  581. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnail.d.ts +10 -0
  582. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnailGrid.d.ts +137 -0
  583. package/lib/typescript/components/Attachment/utils/buildGallery/types.d.ts +23 -0
  584. package/lib/typescript/components/Attachment/utils/getAspectRatio.d.ts +9 -0
  585. package/lib/typescript/components/Attachment/utils/getGalleryImageBorderRadius.d.ts +22 -0
  586. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionHeader.d.ts +1 -1
  587. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionItem.d.ts +1 -1
  588. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts +2 -3
  589. package/lib/typescript/components/Channel/Channel.d.ts +4 -4
  590. package/lib/typescript/components/Channel/hooks/useCreateOwnCapabilitiesContext.d.ts +1 -1
  591. package/lib/typescript/components/ChannelList/ChannelList.d.ts +1 -1
  592. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +4 -2
  593. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +2 -2
  594. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts +2 -2
  595. package/lib/typescript/components/ChannelPreview/ChannelPreviewMutedStatus.d.ts +9 -0
  596. package/lib/typescript/components/Chat/Chat.d.ts +1 -1
  597. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +3 -1
  598. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryImage.d.ts +1 -1
  599. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +1 -1
  600. package/lib/typescript/components/ImageGallery/components/ImageGalleryHeader.d.ts +1 -1
  601. package/lib/typescript/components/ImageGallery/components/ImageGrid.d.ts +1 -1
  602. package/lib/typescript/components/Message/Message.d.ts +1 -1
  603. package/lib/typescript/components/Message/MessageSimple/MessageAvatar.d.ts +1 -1
  604. package/lib/typescript/components/Message/MessageSimple/MessageDeleted.d.ts +2 -2
  605. package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts +2 -2
  606. package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.d.ts +7 -0
  607. package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.test.d.ts +1 -0
  608. package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +2 -2
  609. package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +1 -1
  610. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +3 -3
  611. package/lib/typescript/components/Message/utils/messageActions.d.ts +2 -2
  612. package/lib/typescript/components/Message/utils/removeReservedFields.d.ts +1 -1
  613. package/lib/typescript/components/MessageInput/AttachButton.d.ts +1 -1
  614. package/lib/typescript/components/MessageInput/CommandsButton.d.ts +1 -1
  615. package/lib/typescript/components/MessageInput/MoreOptionsButton.d.ts +1 -1
  616. package/lib/typescript/components/MessageList/MessageSystem.d.ts +1 -1
  617. package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts +1 -1
  618. package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts +1 -1
  619. package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts +3 -1
  620. package/lib/typescript/components/MessageOverlay/OverlayReactionsAvatar.d.ts +7 -0
  621. package/lib/typescript/components/Reply/Reply.d.ts +1 -1
  622. package/lib/typescript/components/Thread/Thread.d.ts +2 -2
  623. package/lib/typescript/components/index.d.ts +2 -0
  624. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +13 -5
  625. package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts +1 -1
  626. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +1 -1
  627. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +6 -4
  628. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +2 -2
  629. package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts +1 -1
  630. package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +6 -4
  631. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.d.ts +12 -0
  632. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.test.d.ts +1 -0
  633. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +10 -10
  634. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +5 -5
  635. package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts +2 -2
  636. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +11 -3
  637. package/lib/typescript/hooks/useStreami18n.d.ts +1 -1
  638. package/lib/typescript/utils/Streami18n.d.ts +2 -2
  639. package/lib/typescript/utils/getResizedImageUrl.d.ts +19 -0
  640. package/lib/typescript/utils/getUrlOfImageAttachment.d.ts +7 -0
  641. package/lib/typescript/utils/utils.d.ts +6 -1
  642. package/package.json +9 -13
  643. package/src/components/Attachment/Attachment.tsx +3 -3
  644. package/src/components/Attachment/AttachmentActions.tsx +2 -2
  645. package/src/components/Attachment/Card.tsx +3 -4
  646. package/src/components/Attachment/FileAttachment.tsx +3 -4
  647. package/src/components/Attachment/FileIcon.tsx +2 -2
  648. package/src/components/Attachment/Gallery.tsx +160 -184
  649. package/src/components/Attachment/Giphy.tsx +3 -4
  650. package/src/components/Attachment/__tests__/Attachment.test.js +11 -10
  651. package/src/components/Attachment/__tests__/Gallery.test.js +233 -0
  652. package/src/components/Attachment/__tests__/buildGallery.test.js +131 -0
  653. package/src/components/Attachment/utils/buildGallery/buildGallery.ts +75 -0
  654. package/src/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.ts +95 -0
  655. package/src/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.ts +99 -0
  656. package/src/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.ts +64 -0
  657. package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +46 -0
  658. package/src/components/Attachment/utils/buildGallery/buildThumbnailGrid.ts +186 -0
  659. package/src/components/Attachment/utils/buildGallery/types.ts +27 -0
  660. package/src/components/Attachment/utils/getAspectRatio.ts +21 -0
  661. package/src/components/Attachment/utils/getGalleryImageBorderRadius.ts +71 -0
  662. package/src/components/AttachmentPicker/AttachmentPicker.tsx +4 -2
  663. package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +4 -3
  664. package/src/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.tsx +1 -1
  665. package/src/components/AutoCompleteInput/AutoCompleteSuggestionHeader.tsx +2 -2
  666. package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx +7 -5
  667. package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +5 -6
  668. package/src/components/AutoCompleteInput/__tests__/AutoCompleteInput.test.js +6 -8
  669. package/src/components/Avatar/Avatar.tsx +7 -10
  670. package/src/components/Avatar/GroupAvatar.tsx +7 -2
  671. package/src/components/Avatar/__tests__/Avatar.test.js +2 -2
  672. package/src/components/Channel/Channel.tsx +75 -68
  673. package/src/components/Channel/__tests__/Channel.test.js +10 -10
  674. package/src/components/Channel/__tests__/ownCapabilities.test.js +8 -8
  675. package/src/components/Channel/hooks/useCreateOwnCapabilitiesContext.ts +2 -1
  676. package/src/components/ChannelList/ChannelList.tsx +8 -9
  677. package/src/components/ChannelList/ChannelListFooterLoadingIndicator.tsx +1 -2
  678. package/src/components/ChannelList/ChannelListHeaderErrorIndicator.tsx +3 -7
  679. package/src/components/ChannelList/ChannelListHeaderNetworkDownIndicator.tsx +2 -2
  680. package/src/components/ChannelList/ChannelListMessenger.tsx +3 -4
  681. package/src/components/ChannelList/__tests__/ChannelList.test.js +73 -13
  682. package/src/components/ChannelList/__tests__/ChannelListMessenger.test.js +11 -12
  683. package/src/components/ChannelList/hooks/listeners/useAddedToChannelNotification.ts +3 -3
  684. package/src/components/ChannelList/hooks/listeners/useChannelDeleted.ts +2 -2
  685. package/src/components/ChannelList/hooks/listeners/useChannelHidden.ts +2 -2
  686. package/src/components/ChannelList/hooks/listeners/useChannelTruncated.ts +2 -2
  687. package/src/components/ChannelList/hooks/listeners/useChannelUpdated.ts +2 -2
  688. package/src/components/ChannelList/hooks/listeners/useChannelVisible.ts +3 -3
  689. package/src/components/ChannelList/hooks/listeners/useNewMessage.ts +2 -3
  690. package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +4 -4
  691. package/src/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.ts +2 -2
  692. package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +2 -2
  693. package/src/components/ChannelList/hooks/useCreateChannelsContext.ts +1 -2
  694. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +78 -48
  695. package/src/components/ChannelPreview/ChannelAvatar.tsx +3 -5
  696. package/src/components/ChannelPreview/ChannelPreview.tsx +3 -3
  697. package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +2 -2
  698. package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +23 -10
  699. package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx +71 -0
  700. package/src/components/ChannelPreview/ChannelPreviewStatus.tsx +4 -3
  701. package/src/components/ChannelPreview/ChannelPreviewTitle.tsx +2 -2
  702. package/src/components/ChannelPreview/ChannelPreviewUnreadCount.tsx +2 -1
  703. package/src/components/ChannelPreview/__tests__/ChannelPreview.test.js +8 -9
  704. package/src/components/ChannelPreview/__tests__/ChannelPreviewMessenger.test.js +8 -9
  705. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.ts +2 -2
  706. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +3 -4
  707. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.ts +2 -2
  708. package/src/components/ChannelPreview/hooks/useLatestMessagePreview.ts +2 -2
  709. package/src/components/Chat/Chat.tsx +6 -6
  710. package/src/components/Chat/__tests__/Chat.test.js +5 -5
  711. package/src/components/Chat/hooks/useIsOnline.ts +4 -3
  712. package/src/components/ImageGallery/ImageGallery.tsx +82 -49
  713. package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +1 -2
  714. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +2 -5
  715. package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +1 -2
  716. package/src/components/ImageGallery/components/ImageGrid.tsx +4 -5
  717. package/src/components/ImageGallery/components/ImageGridHandle.tsx +1 -0
  718. package/src/components/Indicators/LoadingIndicator.tsx +1 -2
  719. package/src/components/Message/Message.tsx +20 -20
  720. package/src/components/Message/MessageSimple/MessageAvatar.tsx +1 -2
  721. package/src/components/Message/MessageSimple/MessageContent.tsx +2 -3
  722. package/src/components/Message/MessageSimple/MessageDeleted.tsx +3 -4
  723. package/src/components/Message/MessageSimple/MessageFooter.tsx +6 -7
  724. package/src/components/Message/MessageSimple/MessagePinnedHeader.tsx +2 -2
  725. package/src/components/Message/MessageSimple/MessageRepliesAvatars.tsx +2 -3
  726. package/src/components/Message/MessageSimple/MessageStatus.tsx +9 -5
  727. package/src/components/Message/MessageSimple/__tests__/Message.test.js +9 -9
  728. package/src/components/Message/MessageSimple/__tests__/MessageAvatar.test.js +2 -2
  729. package/src/components/Message/MessageSimple/__tests__/MessageContent.test.js +9 -26
  730. package/src/components/Message/MessageSimple/__tests__/MessagePinnedHeader.test.js +2 -2
  731. package/src/components/Message/MessageSimple/__tests__/MessageReplies.test.js +2 -2
  732. package/src/components/Message/MessageSimple/__tests__/MessageStatus.test.js +4 -5
  733. package/src/components/Message/MessageSimple/__tests__/MessageTextContainer.test.js +2 -2
  734. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageAvatar.test.js.snap +1 -1
  735. package/src/components/Message/MessageSimple/utils/parseLinks.test.ts +100 -0
  736. package/src/components/Message/MessageSimple/utils/parseLinks.ts +95 -0
  737. package/src/components/Message/MessageSimple/utils/renderText.tsx +11 -23
  738. package/src/components/Message/hooks/useCreateMessageContext.ts +1 -2
  739. package/src/components/Message/hooks/useMessageActionHandlers.ts +13 -4
  740. package/src/components/Message/hooks/useMessageActions.tsx +14 -9
  741. package/src/components/Message/utils/messageActions.ts +2 -2
  742. package/src/components/Message/utils/removeReservedFields.ts +1 -1
  743. package/src/components/MessageInput/AttachButton.tsx +1 -2
  744. package/src/components/MessageInput/CommandsButton.tsx +1 -2
  745. package/src/components/MessageInput/CooldownTimer.tsx +1 -0
  746. package/src/components/MessageInput/FileUploadPreview.tsx +3 -3
  747. package/src/components/MessageInput/ImageUploadPreview.tsx +1 -2
  748. package/src/components/MessageInput/InputButtons.tsx +1 -1
  749. package/src/components/MessageInput/MessageInput.tsx +5 -6
  750. package/src/components/MessageInput/MoreOptionsButton.tsx +1 -2
  751. package/src/components/MessageInput/SendMessageDisallowedIndicator.tsx +1 -1
  752. package/src/components/MessageInput/ShowThreadMessageInChannelButton.tsx +1 -1
  753. package/src/components/MessageInput/__tests__/AttachButton.test.js +2 -2
  754. package/src/components/MessageInput/__tests__/FileUploadPreview.test.js +15 -17
  755. package/src/components/MessageInput/__tests__/ImageUploadPreview.test.js +3 -3
  756. package/src/components/MessageInput/__tests__/MessageInput.test.js +8 -8
  757. package/src/components/MessageInput/__tests__/SendButton.test.js +2 -2
  758. package/src/components/MessageInput/__tests__/UploadProgressIndicator.test.js +2 -2
  759. package/src/components/MessageInput/__tests__/__snapshots__/FileUploadPreview.test.js.snap +1604 -4172
  760. package/src/components/MessageInput/__tests__/__snapshots__/MessageInput.test.js.snap +1 -643
  761. package/src/components/MessageInput/hooks/useCooldown.ts +2 -0
  762. package/src/components/MessageInput/hooks/useCountdown.ts +1 -0
  763. package/src/components/MessageList/MessageList.tsx +3 -3
  764. package/src/components/MessageList/MessageSystem.tsx +2 -2
  765. package/src/components/MessageList/TypingIndicator.tsx +1 -2
  766. package/src/components/MessageList/__tests__/MessageList.test.js +17 -17
  767. package/src/components/MessageList/__tests__/MessageSystem.test.js +3 -3
  768. package/src/components/MessageList/__tests__/ScrollToBottomButton.test.js +3 -3
  769. package/src/components/MessageList/__tests__/TypingIndicator.test.js +5 -6
  770. package/src/components/MessageList/__tests__/__snapshots__/TypingIndicator.test.js.snap +1 -1
  771. package/src/components/MessageList/hooks/useMessageList.ts +5 -7
  772. package/src/components/MessageList/hooks/useTypingString.ts +1 -2
  773. package/src/components/MessageList/utils/getGroupStyles.ts +1 -2
  774. package/src/components/MessageList/utils/getLastReceivedMessage.ts +6 -1
  775. package/src/components/MessageOverlay/MessageActionList.tsx +3 -3
  776. package/src/components/MessageOverlay/MessageActionListItem.tsx +3 -1
  777. package/src/components/MessageOverlay/MessageOverlay.tsx +20 -16
  778. package/src/components/MessageOverlay/OverlayBackdrop.tsx +1 -0
  779. package/src/components/MessageOverlay/OverlayReactionList.tsx +2 -4
  780. package/src/components/MessageOverlay/OverlayReactions.tsx +27 -8
  781. package/src/components/MessageOverlay/OverlayReactionsAvatar.tsx +27 -0
  782. package/src/components/MessageOverlay/hooks/useMessageActionAnimation.tsx +1 -0
  783. package/src/components/Reply/Reply.tsx +25 -15
  784. package/src/components/Thread/Thread.tsx +5 -6
  785. package/src/components/Thread/__tests__/Thread.test.js +12 -14
  786. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +13 -13
  787. package/src/components/Thread/components/ThreadFooterComponent.tsx +1 -2
  788. package/src/components/index.ts +2 -0
  789. package/src/contexts/activeChannelsRefContext/ActiveChannelsRefContext.tsx +1 -2
  790. package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +1 -2
  791. package/src/contexts/channelContext/ChannelContext.tsx +1 -2
  792. package/src/contexts/channelsContext/ChannelsContext.tsx +18 -7
  793. package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +7 -8
  794. package/src/contexts/channelsStateContext/useChannelState.ts +1 -0
  795. package/src/contexts/chatContext/ChatContext.tsx +1 -2
  796. package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +1 -2
  797. package/src/contexts/keyboardContext/KeyboardContext.tsx +1 -2
  798. package/src/contexts/messageContext/MessageContext.tsx +1 -2
  799. package/src/contexts/messageInputContext/MessageInputContext.tsx +27 -24
  800. package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +2 -4
  801. package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +15 -10
  802. package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +10 -19
  803. package/src/contexts/messageOverlayContext/hooks/useResettableState.test.tsx +46 -0
  804. package/src/contexts/messageOverlayContext/hooks/useResettableState.ts +22 -0
  805. package/src/contexts/messagesContext/MessagesContext.tsx +13 -13
  806. package/src/contexts/overlayContext/OverlayContext.tsx +10 -8
  807. package/src/contexts/overlayContext/OverlayProvider.tsx +30 -25
  808. package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +1 -2
  809. package/src/contexts/suggestionsContext/SuggestionsContext.tsx +4 -3
  810. package/src/contexts/suggestionsContext/__tests__/Suggestions.test.js +1 -0
  811. package/src/contexts/themeContext/ThemeContext.tsx +1 -0
  812. package/src/contexts/themeContext/utils/theme.ts +23 -8
  813. package/src/contexts/threadContext/ThreadContext.tsx +1 -2
  814. package/src/contexts/translationContext/TranslationContext.tsx +2 -2
  815. package/src/contexts/typingContext/TypingContext.tsx +1 -2
  816. package/src/contexts/utils/getDisplayName.ts +1 -0
  817. package/src/emoji-data/index.js +1 -1
  818. package/src/hooks/useStreami18n.ts +1 -1
  819. package/src/mock-builders/api/sendMessage.js +1 -0
  820. package/src/mock-builders/generator/attachment.js +0 -2
  821. package/src/mock-builders/generator/channel.js +101 -64
  822. package/src/mock-builders/generator/user.js +33 -26
  823. package/src/native.ts +1 -0
  824. package/src/styleguideComponents/ArgumentsRenderer.tsx +2 -1
  825. package/src/styleguideComponents/JsDoc.tsx +3 -1
  826. package/src/styleguideComponents/PathlineRenderer.tsx +2 -1
  827. package/src/styleguideComponents/PropsRenderer.tsx +7 -4
  828. package/src/styleguideComponents/Wrapper.tsx +1 -0
  829. package/src/utils/Streami18n.ts +3 -3
  830. package/src/utils/__tests__/Streami18n.test.js +1 -2
  831. package/src/utils/getResizedImageUrl.ts +43 -0
  832. package/src/utils/getUrlOfImageAttachment.ts +10 -0
  833. package/src/utils/utils.ts +9 -4
  834. package/src/version.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["AutoCompleteSuggestionHeader.tsx"],"names":["styles","StyleSheet","create","container","alignItems","flexDirection","padding","title","fontSize","paddingLeft","AutoCompleteSuggestionHeaderWithContext","queryText","triggerType","t","theme","colors","accent_blue","grey","messageInput","suggestions","header","color","areEqual","prevProps","nextProps","prevQueryText","prevType","nextQueryText","nextType","typeEqual","valueEqual","MemoizedAutoCompleteSuggestionHeader","React","memo","AutoCompleteSuggestionHeader","props","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../contexts/translationContext/TranslationContext';\n\nimport type { DefaultCommandType, DefaultUserType, UnknownType } from '../../types/types';\nimport { Lightning } from '../../icons/Lightning';\nimport { Smile } from '../../icons/Smile';\nimport type { SuggestionsContextValue } from '../../contexts/suggestionsContext/SuggestionsContext';\n\nexport type AutoCompleteSuggestionHeaderPropsWithContext<\n Co extends string = DefaultCommandType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<SuggestionsContextValue<Co, Us>, 'triggerType' | 'queryText'>;\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n padding: 8,\n },\n title: {\n fontSize: 14,\n paddingLeft: 8,\n },\n});\n\nconst AutoCompleteSuggestionHeaderWithContext = <\n Co extends string = DefaultCommandType,\n Us extends DefaultUserType = DefaultUserType,\n>({\n queryText,\n triggerType,\n}: AutoCompleteSuggestionHeaderPropsWithContext<Co, Us>) => {\n const { t } = useTranslationContext();\n const {\n theme: {\n colors: { accent_blue, grey },\n messageInput: {\n suggestions: {\n header: { container, title },\n },\n },\n },\n } = useTheme();\n\n if (triggerType === 'command') {\n return (\n <View style={[styles.container, container]}>\n <Lightning pathFill={accent_blue} />\n <Text style={[styles.title, { color: grey }, title]} testID='commands-header-title'>\n {t('Instant Commands')}\n </Text>\n </View>\n );\n } else if (triggerType === 'emoji') {\n return (\n <View style={[styles.container, container]}>\n <Smile pathFill={accent_blue} />\n <Text style={[styles.title, { color: grey }, title]} testID='emojis-header-title'>\n {t('Emoji matching') + ' \"' + queryText + '\"'}\n </Text>\n </View>\n );\n } else if (triggerType === 'mention') {\n return null;\n } else {\n return null;\n }\n};\n\nconst areEqual = <\n Co extends string = DefaultCommandType,\n Us extends DefaultUserType = DefaultUserType,\n>(\n prevProps: AutoCompleteSuggestionHeaderPropsWithContext<Co, Us>,\n nextProps: AutoCompleteSuggestionHeaderPropsWithContext<Co, Us>,\n) => {\n const { queryText: prevQueryText, triggerType: prevType } = prevProps;\n const { queryText: nextQueryText, triggerType: nextType } = nextProps;\n\n const typeEqual = prevType === nextType;\n if (!typeEqual) return false;\n\n const valueEqual = prevQueryText === nextQueryText;\n if (!valueEqual) return false;\n return true;\n};\n\nconst MemoizedAutoCompleteSuggestionHeader = React.memo(\n AutoCompleteSuggestionHeaderWithContext,\n areEqual,\n) as typeof AutoCompleteSuggestionHeaderWithContext;\n\nexport type AutoCompleteSuggestionHeaderProps<\n Co extends string = DefaultCommandType,\n Us extends DefaultUserType = DefaultUserType,\n> = AutoCompleteSuggestionHeaderPropsWithContext<Co, Us>;\n\nexport const AutoCompleteSuggestionHeader = <\n Co extends string = DefaultCommandType,\n Us extends DefaultUserType = DefaultUserType,\n>(\n props: AutoCompleteSuggestionHeaderProps<Co, Us>,\n) => <MemoizedAutoCompleteSuggestionHeader {...props} />;\n\nAutoCompleteSuggestionHeader.displayName =\n 'AutoCompleteSuggestionHeader{messageInput{suggestions{Header}}}';\n"]}
1
+ {"version":3,"sources":["AutoCompleteSuggestionHeader.tsx"],"names":["styles","StyleSheet","create","container","alignItems","flexDirection","padding","title","fontSize","paddingLeft","AutoCompleteSuggestionHeaderWithContext","queryText","triggerType","t","theme","colors","accent_blue","grey","messageInput","suggestions","header","color","areEqual","prevProps","nextProps","prevQueryText","prevType","nextQueryText","nextType","typeEqual","valueEqual","MemoizedAutoCompleteSuggestionHeader","React","memo","AutoCompleteSuggestionHeader","props","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport type { SuggestionsContextValue } from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../contexts/translationContext/TranslationContext';\n\nimport { Lightning } from '../../icons/Lightning';\nimport { Smile } from '../../icons/Smile';\nimport type { DefaultCommandType, DefaultUserType, UnknownType } from '../../types/types';\n\nexport type AutoCompleteSuggestionHeaderPropsWithContext<\n Co extends string = DefaultCommandType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<SuggestionsContextValue<Co, Us>, 'triggerType' | 'queryText'>;\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n padding: 8,\n },\n title: {\n fontSize: 14,\n paddingLeft: 8,\n },\n});\n\nconst AutoCompleteSuggestionHeaderWithContext = <\n Co extends string = DefaultCommandType,\n Us extends DefaultUserType = DefaultUserType,\n>({\n queryText,\n triggerType,\n}: AutoCompleteSuggestionHeaderPropsWithContext<Co, Us>) => {\n const { t } = useTranslationContext();\n const {\n theme: {\n colors: { accent_blue, grey },\n messageInput: {\n suggestions: {\n header: { container, title },\n },\n },\n },\n } = useTheme();\n\n if (triggerType === 'command') {\n return (\n <View style={[styles.container, container]}>\n <Lightning pathFill={accent_blue} />\n <Text style={[styles.title, { color: grey }, title]} testID='commands-header-title'>\n {t('Instant Commands')}\n </Text>\n </View>\n );\n } else if (triggerType === 'emoji') {\n return (\n <View style={[styles.container, container]}>\n <Smile pathFill={accent_blue} />\n <Text style={[styles.title, { color: grey }, title]} testID='emojis-header-title'>\n {t('Emoji matching') + ' \"' + queryText + '\"'}\n </Text>\n </View>\n );\n } else if (triggerType === 'mention') {\n return null;\n } else {\n return null;\n }\n};\n\nconst areEqual = <\n Co extends string = DefaultCommandType,\n Us extends DefaultUserType = DefaultUserType,\n>(\n prevProps: AutoCompleteSuggestionHeaderPropsWithContext<Co, Us>,\n nextProps: AutoCompleteSuggestionHeaderPropsWithContext<Co, Us>,\n) => {\n const { queryText: prevQueryText, triggerType: prevType } = prevProps;\n const { queryText: nextQueryText, triggerType: nextType } = nextProps;\n\n const typeEqual = prevType === nextType;\n if (!typeEqual) return false;\n\n const valueEqual = prevQueryText === nextQueryText;\n if (!valueEqual) return false;\n return true;\n};\n\nconst MemoizedAutoCompleteSuggestionHeader = React.memo(\n AutoCompleteSuggestionHeaderWithContext,\n areEqual,\n) as typeof AutoCompleteSuggestionHeaderWithContext;\n\nexport type AutoCompleteSuggestionHeaderProps<\n Co extends string = DefaultCommandType,\n Us extends DefaultUserType = DefaultUserType,\n> = AutoCompleteSuggestionHeaderPropsWithContext<Co, Us>;\n\nexport const AutoCompleteSuggestionHeader = <\n Co extends string = DefaultCommandType,\n Us extends DefaultUserType = DefaultUserType,\n>(\n props: AutoCompleteSuggestionHeaderProps<Co, Us>,\n) => <MemoizedAutoCompleteSuggestionHeader {...props} />;\n\nAutoCompleteSuggestionHeader.displayName =\n 'AutoCompleteSuggestionHeader{messageInput{suggestions{Header}}}';\n"]}
@@ -11,13 +11,13 @@ var _react = _interopRequireDefault(require("react"));
11
11
 
12
12
  var _reactNative = require("react-native");
13
13
 
14
- var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
14
+ var _AutoCompleteSuggestionCommandIcon = require("./AutoCompleteSuggestionCommandIcon");
15
15
 
16
- var _Avatar = require("../Avatar/Avatar");
16
+ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
17
17
 
18
18
  var _AtMentions = require("../../icons/AtMentions");
19
19
 
20
- var _AutoCompleteSuggestionCommandIcon = require("./AutoCompleteSuggestionCommandIcon");
20
+ var _Avatar = require("../Avatar/Avatar");
21
21
 
22
22
  var _this = this,
23
23
  _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx";
@@ -91,7 +91,7 @@ var AutoCompleteSuggestionItemWithContext = function AutoCompleteSuggestionItemW
91
91
  __self: _this,
92
92
  __source: {
93
93
  fileName: _jsxFileName,
94
- lineNumber: 80,
94
+ lineNumber: 82,
95
95
  columnNumber: 7
96
96
  }
97
97
  }, _react["default"].createElement(_Avatar.Avatar, {
@@ -102,7 +102,7 @@ var AutoCompleteSuggestionItemWithContext = function AutoCompleteSuggestionItemW
102
102
  __self: _this,
103
103
  __source: {
104
104
  fileName: _jsxFileName,
105
- lineNumber: 81,
105
+ lineNumber: 83,
106
106
  columnNumber: 9
107
107
  }
108
108
  }), _react["default"].createElement(_reactNative.View, {
@@ -110,7 +110,7 @@ var AutoCompleteSuggestionItemWithContext = function AutoCompleteSuggestionItemW
110
110
  __self: _this,
111
111
  __source: {
112
112
  fileName: _jsxFileName,
113
- lineNumber: 82,
113
+ lineNumber: 84,
114
114
  columnNumber: 9
115
115
  }
116
116
  }, _react["default"].createElement(_reactNative.Text, {
@@ -121,7 +121,7 @@ var AutoCompleteSuggestionItemWithContext = function AutoCompleteSuggestionItemW
121
121
  __self: _this,
122
122
  __source: {
123
123
  fileName: _jsxFileName,
124
- lineNumber: 83,
124
+ lineNumber: 85,
125
125
  columnNumber: 11
126
126
  }
127
127
  }, name || id)), _react["default"].createElement(_AtMentions.AtMentions, {
@@ -129,7 +129,7 @@ var AutoCompleteSuggestionItemWithContext = function AutoCompleteSuggestionItemW
129
129
  __self: _this,
130
130
  __source: {
131
131
  fileName: _jsxFileName,
132
- lineNumber: 87,
132
+ lineNumber: 89,
133
133
  columnNumber: 9
134
134
  }
135
135
  }));
@@ -142,7 +142,7 @@ var AutoCompleteSuggestionItemWithContext = function AutoCompleteSuggestionItemW
142
142
  __self: _this,
143
143
  __source: {
144
144
  fileName: _jsxFileName,
145
- lineNumber: 93,
145
+ lineNumber: 95,
146
146
  columnNumber: 7
147
147
  }
148
148
  }, _react["default"].createElement(_reactNative.Text, {
@@ -153,7 +153,7 @@ var AutoCompleteSuggestionItemWithContext = function AutoCompleteSuggestionItemW
153
153
  __self: _this,
154
154
  __source: {
155
155
  fileName: _jsxFileName,
156
- lineNumber: 94,
156
+ lineNumber: 96,
157
157
  columnNumber: 9
158
158
  }
159
159
  }, unicode), _react["default"].createElement(_reactNative.Text, {
@@ -164,7 +164,7 @@ var AutoCompleteSuggestionItemWithContext = function AutoCompleteSuggestionItemW
164
164
  __self: _this,
165
165
  __source: {
166
166
  fileName: _jsxFileName,
167
- lineNumber: 97,
167
+ lineNumber: 99,
168
168
  columnNumber: 9
169
169
  }
170
170
  }, " " + _name));
@@ -177,7 +177,7 @@ var AutoCompleteSuggestionItemWithContext = function AutoCompleteSuggestionItemW
177
177
  __self: _this,
178
178
  __source: {
179
179
  fileName: _jsxFileName,
180
- lineNumber: 105,
180
+ lineNumber: 107,
181
181
  columnNumber: 7
182
182
  }
183
183
  }, _react["default"].createElement(_AutoCompleteSuggestionCommandIcon.AutoCompleteSuggestionCommandIcon, {
@@ -185,7 +185,7 @@ var AutoCompleteSuggestionItemWithContext = function AutoCompleteSuggestionItemW
185
185
  __self: _this,
186
186
  __source: {
187
187
  fileName: _jsxFileName,
188
- lineNumber: 106,
188
+ lineNumber: 108,
189
189
  columnNumber: 9
190
190
  }
191
191
  }), _react["default"].createElement(_reactNative.Text, {
@@ -196,7 +196,7 @@ var AutoCompleteSuggestionItemWithContext = function AutoCompleteSuggestionItemW
196
196
  __self: _this,
197
197
  __source: {
198
198
  fileName: _jsxFileName,
199
- lineNumber: 107,
199
+ lineNumber: 109,
200
200
  columnNumber: 9
201
201
  }
202
202
  }, (_name2 || '').replace(/^\w/, function (_char) {
@@ -209,7 +209,7 @@ var AutoCompleteSuggestionItemWithContext = function AutoCompleteSuggestionItemW
209
209
  __self: _this,
210
210
  __source: {
211
211
  fileName: _jsxFileName,
212
- lineNumber: 110,
212
+ lineNumber: 112,
213
213
  columnNumber: 9
214
214
  }
215
215
  }, "/" + _name2 + " " + args));
@@ -237,7 +237,7 @@ var AutoCompleteSuggestionItem = function AutoCompleteSuggestionItem(props) {
237
237
  __self: _this,
238
238
  __source: {
239
239
  fileName: _jsxFileName,
240
- lineNumber: 151,
240
+ lineNumber: 153,
241
241
  columnNumber: 6
242
242
  }
243
243
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["AutoCompleteSuggestionItem.tsx"],"names":["styles","StyleSheet","create","args","fontSize","column","flex","justifyContent","paddingLeft","container","alignItems","flexDirection","paddingHorizontal","paddingVertical","name","fontWeight","paddingBottom","tag","text","title","paddingRight","AutoCompleteSuggestionItemWithContext","itemProps","triggerType","theme","colors","accent_blue","black","grey","messageInput","suggestions","command","argsStyle","commandContainer","emoji","emojiContainer","mention","avatarSize","mentionContainer","nameStyle","id","image","online","color","unicode","replace","char","toUpperCase","areEqual","prevProps","nextProps","prevItemProps","prevType","nextItemProps","nextType","itemPropsEqual","typeEqual","MemoizedAutoCompleteSuggestionItem","React","memo","AutoCompleteSuggestionItem","props","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Avatar } from '../Avatar/Avatar';\nimport { AtMentions } from '../../icons/AtMentions';\nimport type { DefaultCommandType, DefaultUserType } from '../../types/types';\nimport type {\n Suggestion,\n SuggestionCommand,\n SuggestionsContextValue,\n SuggestionUser,\n} from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { AutoCompleteSuggestionCommandIcon } from './AutoCompleteSuggestionCommandIcon';\nimport type { Emoji } from '../../emoji-data/compiled';\n\nexport type AutoCompleteSuggestionItemPropsWithContext<\n Co extends string = DefaultCommandType,\n Us extends DefaultUserType = DefaultUserType,\n> = Pick<SuggestionsContextValue, 'triggerType'> & {\n itemProps: Suggestion<Co, Us>;\n};\n\nconst styles = StyleSheet.create({\n args: {\n fontSize: 14,\n },\n column: {\n flex: 1,\n justifyContent: 'space-evenly',\n paddingLeft: 8,\n },\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n paddingHorizontal: 16,\n paddingVertical: 8,\n },\n name: {\n fontSize: 14,\n fontWeight: 'bold',\n paddingBottom: 2,\n },\n tag: {\n fontSize: 12,\n fontWeight: '600',\n },\n text: {\n fontSize: 14,\n },\n title: {\n fontSize: 14,\n fontWeight: 'bold',\n paddingRight: 8,\n },\n});\n\nconst AutoCompleteSuggestionItemWithContext = <\n Co extends string = DefaultCommandType,\n Us extends DefaultUserType = DefaultUserType,\n>({\n itemProps,\n triggerType,\n}: AutoCompleteSuggestionItemPropsWithContext<Co, Us>) => {\n const {\n theme: {\n colors: { accent_blue, black, grey },\n messageInput: {\n suggestions: {\n command: { args: argsStyle, container: commandContainer, title },\n emoji: { container: emojiContainer, text },\n mention: { avatarSize, column, container: mentionContainer, name: nameStyle },\n },\n },\n },\n } = useTheme();\n\n if (triggerType === 'mention') {\n const { id, image, name, online } = itemProps as SuggestionUser<Us>;\n return (\n <View style={[styles.container, mentionContainer]}>\n <Avatar image={image} name={name} online={online} size={avatarSize} />\n <View style={[styles.column, column]}>\n <Text style={[styles.name, { color: black }, nameStyle]} testID='mentions-item-name'>\n {name || id}\n </Text>\n </View>\n <AtMentions pathFill={accent_blue} />\n </View>\n );\n } else if (triggerType === 'emoji') {\n const { name, unicode } = itemProps as Emoji;\n return (\n <View style={[styles.container, emojiContainer]}>\n <Text style={[styles.text, { color: black }, text]} testID='emojis-item-unicode'>\n {unicode}\n </Text>\n <Text style={[styles.text, { color: black }, text]} testID='emojis-item-name'>\n {` ${name}`}\n </Text>\n </View>\n );\n } else if (triggerType === 'command') {\n const { args, name } = itemProps as SuggestionCommand<Co>;\n return (\n <View style={[styles.container, commandContainer]}>\n <AutoCompleteSuggestionCommandIcon name={name} />\n <Text style={[styles.title, { color: black }, title]} testID='commands-item-title'>\n {(name || '').replace(/^\\w/, (char) => char.toUpperCase())}\n </Text>\n <Text style={[styles.args, { color: grey }, argsStyle]} testID='commands-item-args'>\n {`/${name} ${args}`}\n </Text>\n </View>\n );\n } else {\n return null;\n }\n};\n\nconst areEqual = <\n Co extends string = DefaultCommandType,\n Us extends DefaultUserType = DefaultUserType,\n>(\n prevProps: AutoCompleteSuggestionItemPropsWithContext<Co, Us>,\n nextProps: AutoCompleteSuggestionItemPropsWithContext<Co, Us>,\n) => {\n const { itemProps: prevItemProps, triggerType: prevType } = prevProps;\n const { itemProps: nextItemProps, triggerType: nextType } = nextProps;\n const itemPropsEqual = prevItemProps === nextItemProps;\n if (!itemPropsEqual) return false;\n const typeEqual = prevType === nextType;\n if (!typeEqual) return false;\n return true;\n};\n\nconst MemoizedAutoCompleteSuggestionItem = React.memo(\n AutoCompleteSuggestionItemWithContext,\n areEqual,\n) as typeof AutoCompleteSuggestionItemWithContext;\n\nexport type AutoCompleteSuggestionItemProps<\n Co extends string = DefaultCommandType,\n Us extends DefaultUserType = DefaultUserType,\n> = AutoCompleteSuggestionItemPropsWithContext<Co, Us>;\n\nexport const AutoCompleteSuggestionItem = <\n Co extends string = DefaultCommandType,\n Us extends DefaultUserType = DefaultUserType,\n>(\n props: AutoCompleteSuggestionItemProps<Co, Us>,\n) => <MemoizedAutoCompleteSuggestionItem {...props} />;\n\nAutoCompleteSuggestionItem.displayName =\n 'AutoCompleteSuggestionItem{messageInput{suggestions{Item}}}';\n"]}
1
+ {"version":3,"sources":["AutoCompleteSuggestionItem.tsx"],"names":["styles","StyleSheet","create","args","fontSize","column","flex","justifyContent","paddingLeft","container","alignItems","flexDirection","paddingHorizontal","paddingVertical","name","fontWeight","paddingBottom","tag","text","title","paddingRight","AutoCompleteSuggestionItemWithContext","itemProps","triggerType","theme","colors","accent_blue","black","grey","messageInput","suggestions","command","argsStyle","commandContainer","emoji","emojiContainer","mention","avatarSize","mentionContainer","nameStyle","id","image","online","color","unicode","replace","char","toUpperCase","areEqual","prevProps","nextProps","prevItemProps","prevType","nextItemProps","nextType","itemPropsEqual","typeEqual","MemoizedAutoCompleteSuggestionItem","React","memo","AutoCompleteSuggestionItem","props","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport { AutoCompleteSuggestionCommandIcon } from './AutoCompleteSuggestionCommandIcon';\n\nimport type {\n Suggestion,\n SuggestionCommand,\n SuggestionsContextValue,\n SuggestionUser,\n} from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { Emoji } from '../../emoji-data/compiled';\nimport { AtMentions } from '../../icons/AtMentions';\nimport type { DefaultCommandType, DefaultUserType } from '../../types/types';\nimport { Avatar } from '../Avatar/Avatar';\n\nexport type AutoCompleteSuggestionItemPropsWithContext<\n Co extends string = DefaultCommandType,\n Us extends DefaultUserType = DefaultUserType,\n> = Pick<SuggestionsContextValue, 'triggerType'> & {\n itemProps: Suggestion<Co, Us>;\n};\n\nconst styles = StyleSheet.create({\n args: {\n fontSize: 14,\n },\n column: {\n flex: 1,\n justifyContent: 'space-evenly',\n paddingLeft: 8,\n },\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n paddingHorizontal: 16,\n paddingVertical: 8,\n },\n name: {\n fontSize: 14,\n fontWeight: 'bold',\n paddingBottom: 2,\n },\n tag: {\n fontSize: 12,\n fontWeight: '600',\n },\n text: {\n fontSize: 14,\n },\n title: {\n fontSize: 14,\n fontWeight: 'bold',\n paddingRight: 8,\n },\n});\n\nconst AutoCompleteSuggestionItemWithContext = <\n Co extends string = DefaultCommandType,\n Us extends DefaultUserType = DefaultUserType,\n>({\n itemProps,\n triggerType,\n}: AutoCompleteSuggestionItemPropsWithContext<Co, Us>) => {\n const {\n theme: {\n colors: { accent_blue, black, grey },\n messageInput: {\n suggestions: {\n command: { args: argsStyle, container: commandContainer, title },\n emoji: { container: emojiContainer, text },\n mention: { avatarSize, column, container: mentionContainer, name: nameStyle },\n },\n },\n },\n } = useTheme();\n\n if (triggerType === 'mention') {\n const { id, image, name, online } = itemProps as SuggestionUser<Us>;\n return (\n <View style={[styles.container, mentionContainer]}>\n <Avatar image={image} name={name} online={online} size={avatarSize} />\n <View style={[styles.column, column]}>\n <Text style={[styles.name, { color: black }, nameStyle]} testID='mentions-item-name'>\n {name || id}\n </Text>\n </View>\n <AtMentions pathFill={accent_blue} />\n </View>\n );\n } else if (triggerType === 'emoji') {\n const { name, unicode } = itemProps as Emoji;\n return (\n <View style={[styles.container, emojiContainer]}>\n <Text style={[styles.text, { color: black }, text]} testID='emojis-item-unicode'>\n {unicode}\n </Text>\n <Text style={[styles.text, { color: black }, text]} testID='emojis-item-name'>\n {` ${name}`}\n </Text>\n </View>\n );\n } else if (triggerType === 'command') {\n const { args, name } = itemProps as SuggestionCommand<Co>;\n return (\n <View style={[styles.container, commandContainer]}>\n <AutoCompleteSuggestionCommandIcon name={name} />\n <Text style={[styles.title, { color: black }, title]} testID='commands-item-title'>\n {(name || '').replace(/^\\w/, (char) => char.toUpperCase())}\n </Text>\n <Text style={[styles.args, { color: grey }, argsStyle]} testID='commands-item-args'>\n {`/${name} ${args}`}\n </Text>\n </View>\n );\n } else {\n return null;\n }\n};\n\nconst areEqual = <\n Co extends string = DefaultCommandType,\n Us extends DefaultUserType = DefaultUserType,\n>(\n prevProps: AutoCompleteSuggestionItemPropsWithContext<Co, Us>,\n nextProps: AutoCompleteSuggestionItemPropsWithContext<Co, Us>,\n) => {\n const { itemProps: prevItemProps, triggerType: prevType } = prevProps;\n const { itemProps: nextItemProps, triggerType: nextType } = nextProps;\n const itemPropsEqual = prevItemProps === nextItemProps;\n if (!itemPropsEqual) return false;\n const typeEqual = prevType === nextType;\n if (!typeEqual) return false;\n return true;\n};\n\nconst MemoizedAutoCompleteSuggestionItem = React.memo(\n AutoCompleteSuggestionItemWithContext,\n areEqual,\n) as typeof AutoCompleteSuggestionItemWithContext;\n\nexport type AutoCompleteSuggestionItemProps<\n Co extends string = DefaultCommandType,\n Us extends DefaultUserType = DefaultUserType,\n> = AutoCompleteSuggestionItemPropsWithContext<Co, Us>;\n\nexport const AutoCompleteSuggestionItem = <\n Co extends string = DefaultCommandType,\n Us extends DefaultUserType = DefaultUserType,\n>(\n props: AutoCompleteSuggestionItemProps<Co, Us>,\n) => <MemoizedAutoCompleteSuggestionItem {...props} />;\n\nAutoCompleteSuggestionItem.displayName =\n 'AutoCompleteSuggestionItem{messageInput{suggestions{Item}}}';\n"]}
@@ -3,7 +3,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.AutoCompleteSuggestionList = exports.AutoCompleteSuggestionListWithContext = void 0;
6
+ exports.AutoCompleteSuggestionListWithContext = exports.AutoCompleteSuggestionList = void 0;
7
7
 
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
 
@@ -29,7 +29,7 @@ var SuggestionsItem = function SuggestionsItem(props) {
29
29
  __self: _this,
30
30
  __source: {
31
31
  fileName: _jsxFileName,
32
- lineNumber: 39,
32
+ lineNumber: 38,
33
33
  columnNumber: 10
34
34
  }
35
35
  }), children);
@@ -70,7 +70,7 @@ var AutoCompleteSuggestionListWithContext = function AutoCompleteSuggestionListW
70
70
  __self: _this,
71
71
  __source: {
72
72
  fileName: _jsxFileName,
73
- lineNumber: 75,
73
+ lineNumber: 74,
74
74
  columnNumber: 13
75
75
  }
76
76
  }, AutoCompleteSuggestionItem && _react["default"].createElement(AutoCompleteSuggestionItem, {
@@ -79,7 +79,7 @@ var AutoCompleteSuggestionListWithContext = function AutoCompleteSuggestionListW
79
79
  __self: _this,
80
80
  __source: {
81
81
  fileName: _jsxFileName,
82
- lineNumber: 88,
82
+ lineNumber: 87,
83
83
  columnNumber: 17
84
84
  }
85
85
  }));
@@ -97,7 +97,7 @@ var AutoCompleteSuggestionListWithContext = function AutoCompleteSuggestionListW
97
97
  __self: _this,
98
98
  __source: {
99
99
  fileName: _jsxFileName,
100
- lineNumber: 97,
100
+ lineNumber: 96,
101
101
  columnNumber: 13
102
102
  }
103
103
  }, AutoCompleteSuggestionItem && _react["default"].createElement(AutoCompleteSuggestionItem, {
@@ -106,7 +106,7 @@ var AutoCompleteSuggestionListWithContext = function AutoCompleteSuggestionListW
106
106
  __self: _this,
107
107
  __source: {
108
108
  fileName: _jsxFileName,
109
- lineNumber: 104,
109
+ lineNumber: 103,
110
110
  columnNumber: 17
111
111
  }
112
112
  }));
@@ -124,7 +124,7 @@ var AutoCompleteSuggestionListWithContext = function AutoCompleteSuggestionListW
124
124
  __self: _this,
125
125
  __source: {
126
126
  fileName: _jsxFileName,
127
- lineNumber: 113,
127
+ lineNumber: 112,
128
128
  columnNumber: 13
129
129
  }
130
130
  }, AutoCompleteSuggestionItem && _react["default"].createElement(AutoCompleteSuggestionItem, {
@@ -133,7 +133,7 @@ var AutoCompleteSuggestionListWithContext = function AutoCompleteSuggestionListW
133
133
  __self: _this,
134
134
  __source: {
135
135
  fileName: _jsxFileName,
136
- lineNumber: 120,
136
+ lineNumber: 119,
137
137
  columnNumber: 17
138
138
  }
139
139
  }));
@@ -159,7 +159,7 @@ var AutoCompleteSuggestionListWithContext = function AutoCompleteSuggestionListW
159
159
  __self: _this,
160
160
  __source: {
161
161
  fileName: _jsxFileName,
162
- lineNumber: 142,
162
+ lineNumber: 141,
163
163
  columnNumber: 11
164
164
  }
165
165
  }) : null,
@@ -170,7 +170,7 @@ var AutoCompleteSuggestionListWithContext = function AutoCompleteSuggestionListW
170
170
  __self: _this,
171
171
  __source: {
172
172
  fileName: _jsxFileName,
173
- lineNumber: 134,
173
+ lineNumber: 133,
174
174
  columnNumber: 5
175
175
  }
176
176
  });
@@ -212,7 +212,7 @@ var AutoCompleteSuggestionList = function AutoCompleteSuggestionList(props) {
212
212
  __self: _this,
213
213
  __source: {
214
214
  fileName: _jsxFileName,
215
- lineNumber: 205,
215
+ lineNumber: 204,
216
216
  columnNumber: 5
217
217
  }
218
218
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["AutoCompleteSuggestionList.tsx"],"names":["SuggestionsItem","props","children","touchableOpacityProps","displayName","AutoCompleteSuggestionListWithContext","active","AutoCompleteSuggestionHeader","AutoCompleteSuggestionItem","data","onSelect","queryText","triggerType","theme","messageInput","maxHeight","container","itemStyle","suggestions","item","flatlist","suggestionsListContainer","renderItem","index","paddingBottom","length","paddingTop","name","id","areEqual","prevProps","nextProps","prevActive","prevData","prevQueryText","prevType","nextActive","nextData","nextQueryText","nextType","activeEqual","queryTextEqual","dataEqual","typeEqual","MemoizedAutoCompleteSuggestionList","React","memo","AutoCompleteSuggestionList"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { FlatList, TouchableOpacity, TouchableOpacityProps } from 'react-native';\nimport {\n isSuggestionCommand,\n isSuggestionEmoji,\n isSuggestionUser,\n Suggestion,\n} from '../../contexts/suggestionsContext/SuggestionsContext';\nimport type { DefaultCommandType, DefaultUserType, UnknownType } from '../../types/types';\n\nimport type { AutoCompleteSuggestionHeaderProps } from './AutoCompleteSuggestionHeader';\nimport type { AutoCompleteSuggestionItemProps } from './AutoCompleteSuggestionItem';\nimport {\n SuggestionsContextValue,\n useSuggestionsContext,\n} from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\ntype AutoCompleteSuggestionListComponentProps<\n Co extends string = DefaultCommandType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<SuggestionsContextValue, 'queryText' | 'triggerType'> & {\n active: boolean;\n data: Suggestion<Co, Us>[];\n onSelect: (item: Suggestion<Co, Us>) => void;\n};\n\nexport type AutoCompleteSuggestionListPropsWithContext<\n Co extends string = DefaultCommandType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<\n SuggestionsContextValue<Co, Us>,\n 'AutoCompleteSuggestionHeader' | 'AutoCompleteSuggestionItem'\n> &\n AutoCompleteSuggestionListComponentProps<Co, Us>;\n\nconst SuggestionsItem: React.FC<TouchableOpacityProps> = (props) => {\n const { children, ...touchableOpacityProps } = props;\n return <TouchableOpacity {...touchableOpacityProps}>{children}</TouchableOpacity>;\n};\n\nSuggestionsItem.displayName = 'SuggestionsHeader{messageInput{suggestions}}';\n\nexport const AutoCompleteSuggestionListWithContext = <\n Co extends string = DefaultCommandType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: AutoCompleteSuggestionListPropsWithContext<Co, Us>,\n) => {\n const {\n active,\n AutoCompleteSuggestionHeader,\n AutoCompleteSuggestionItem,\n data,\n onSelect,\n queryText,\n triggerType,\n } = props;\n\n const {\n theme: {\n messageInput: {\n container: { maxHeight },\n suggestions: { item: itemStyle },\n suggestionsListContainer: { flatlist },\n },\n },\n } = useTheme();\n\n const renderItem = ({ index, item }: { index: number; item: Suggestion<Co, Us> }) => {\n switch (triggerType) {\n case 'mention':\n if (isSuggestionUser(item)) {\n return (\n <SuggestionsItem\n onPress={() => {\n onSelect(item);\n }}\n style={[\n {\n paddingBottom: index === data.length - 1 ? 8 : 0,\n paddingTop: index === 0 ? 8 : 0,\n },\n itemStyle,\n ]}\n >\n {AutoCompleteSuggestionItem && (\n <AutoCompleteSuggestionItem itemProps={item} triggerType={triggerType} />\n )}\n </SuggestionsItem>\n );\n }\n return null;\n case 'command':\n if (isSuggestionCommand(item)) {\n return (\n <SuggestionsItem\n onPress={() => {\n onSelect(item);\n }}\n style={[itemStyle]}\n >\n {AutoCompleteSuggestionItem && (\n <AutoCompleteSuggestionItem itemProps={item} triggerType={triggerType} />\n )}\n </SuggestionsItem>\n );\n }\n return null;\n case 'emoji':\n if (isSuggestionEmoji(item)) {\n return (\n <SuggestionsItem\n onPress={() => {\n onSelect(item);\n }}\n style={[itemStyle]}\n >\n {AutoCompleteSuggestionItem && (\n <AutoCompleteSuggestionItem itemProps={item} triggerType={triggerType} />\n )}\n </SuggestionsItem>\n );\n }\n return null;\n default:\n return null;\n }\n };\n\n if (!active || data.length === 0) return null;\n\n return (\n <FlatList\n data={data}\n keyboardShouldPersistTaps='always'\n keyExtractor={(item, index) =>\n `${item.name || (isSuggestionUser(item) ? item.id : '')}${index}`\n }\n ListHeaderComponent={\n AutoCompleteSuggestionHeader ? (\n <AutoCompleteSuggestionHeader queryText={queryText} triggerType={triggerType} />\n ) : null\n }\n renderItem={renderItem}\n style={[flatlist, { maxHeight }]}\n />\n );\n};\n\nconst areEqual = <Co extends string = DefaultCommandType, Us extends UnknownType = DefaultUserType>(\n prevProps: AutoCompleteSuggestionListPropsWithContext<Co, Us>,\n nextProps: AutoCompleteSuggestionListPropsWithContext<Co, Us>,\n) => {\n const {\n active: prevActive,\n data: prevData,\n queryText: prevQueryText,\n triggerType: prevType,\n } = prevProps;\n const {\n active: nextActive,\n data: nextData,\n queryText: nextQueryText,\n triggerType: nextType,\n } = nextProps;\n\n const activeEqual = prevActive === nextActive;\n if (!activeEqual) return false;\n\n const queryTextEqual = prevQueryText === nextQueryText;\n if (!queryTextEqual) return false;\n\n const dataEqual = prevData === nextData;\n if (!dataEqual) return false;\n\n const typeEqual = prevType === nextType;\n if (!typeEqual) return false;\n\n return true;\n};\n\nconst MemoizedAutoCompleteSuggestionList = React.memo(\n AutoCompleteSuggestionListWithContext,\n areEqual,\n) as typeof AutoCompleteSuggestionListWithContext;\n\nexport type AutoCompleteSuggestionListProps<\n Co extends string = DefaultCommandType,\n Us extends UnknownType = DefaultUserType,\n> = AutoCompleteSuggestionListComponentProps<Co, Us> & {\n AutoCompleteSuggestionHeader?: React.ComponentType<AutoCompleteSuggestionHeaderProps>;\n AutoCompleteSuggestionItem?: React.ComponentType<AutoCompleteSuggestionItemProps<Co, Us>>;\n};\n\nexport const AutoCompleteSuggestionList = <\n Co extends string = DefaultCommandType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: AutoCompleteSuggestionListProps<Co, Us>,\n) => {\n const { AutoCompleteSuggestionHeader, AutoCompleteSuggestionItem } =\n useSuggestionsContext<Co, Us>();\n return (\n <MemoizedAutoCompleteSuggestionList\n {...{ AutoCompleteSuggestionHeader, AutoCompleteSuggestionItem }}\n {...props}\n />\n );\n};\n\nAutoCompleteSuggestionList.displayName =\n 'AutoCompleteSuggestionList{messageInput{suggestions{List}}}';\n"]}
1
+ {"version":3,"sources":["AutoCompleteSuggestionList.tsx"],"names":["SuggestionsItem","props","children","touchableOpacityProps","displayName","AutoCompleteSuggestionListWithContext","active","AutoCompleteSuggestionHeader","AutoCompleteSuggestionItem","data","onSelect","queryText","triggerType","theme","messageInput","maxHeight","container","itemStyle","suggestions","item","flatlist","suggestionsListContainer","renderItem","index","paddingBottom","length","paddingTop","name","id","areEqual","prevProps","nextProps","prevActive","prevData","prevQueryText","prevType","nextActive","nextData","nextQueryText","nextType","activeEqual","queryTextEqual","dataEqual","typeEqual","MemoizedAutoCompleteSuggestionList","React","memo","AutoCompleteSuggestionList"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { FlatList, TouchableOpacity, TouchableOpacityProps } from 'react-native';\n\nimport type { AutoCompleteSuggestionHeaderProps } from './AutoCompleteSuggestionHeader';\nimport type { AutoCompleteSuggestionItemProps } from './AutoCompleteSuggestionItem';\n\nimport {\n isSuggestionCommand,\n isSuggestionEmoji,\n isSuggestionUser,\n Suggestion,\n SuggestionsContextValue,\n useSuggestionsContext,\n} from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { DefaultCommandType, DefaultUserType, UnknownType } from '../../types/types';\n\ntype AutoCompleteSuggestionListComponentProps<\n Co extends string = DefaultCommandType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<SuggestionsContextValue, 'queryText' | 'triggerType'> & {\n active: boolean;\n data: Suggestion<Co, Us>[];\n onSelect: (item: Suggestion<Co, Us>) => void;\n};\n\nexport type AutoCompleteSuggestionListPropsWithContext<\n Co extends string = DefaultCommandType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<\n SuggestionsContextValue<Co, Us>,\n 'AutoCompleteSuggestionHeader' | 'AutoCompleteSuggestionItem'\n> &\n AutoCompleteSuggestionListComponentProps<Co, Us>;\n\nconst SuggestionsItem: React.FC<TouchableOpacityProps> = (props) => {\n const { children, ...touchableOpacityProps } = props;\n return <TouchableOpacity {...touchableOpacityProps}>{children}</TouchableOpacity>;\n};\n\nSuggestionsItem.displayName = 'SuggestionsHeader{messageInput{suggestions}}';\n\nexport const AutoCompleteSuggestionListWithContext = <\n Co extends string = DefaultCommandType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: AutoCompleteSuggestionListPropsWithContext<Co, Us>,\n) => {\n const {\n active,\n AutoCompleteSuggestionHeader,\n AutoCompleteSuggestionItem,\n data,\n onSelect,\n queryText,\n triggerType,\n } = props;\n\n const {\n theme: {\n messageInput: {\n container: { maxHeight },\n suggestions: { item: itemStyle },\n suggestionsListContainer: { flatlist },\n },\n },\n } = useTheme();\n\n const renderItem = ({ index, item }: { index: number; item: Suggestion<Co, Us> }) => {\n switch (triggerType) {\n case 'mention':\n if (isSuggestionUser(item)) {\n return (\n <SuggestionsItem\n onPress={() => {\n onSelect(item);\n }}\n style={[\n {\n paddingBottom: index === data.length - 1 ? 8 : 0,\n paddingTop: index === 0 ? 8 : 0,\n },\n itemStyle,\n ]}\n >\n {AutoCompleteSuggestionItem && (\n <AutoCompleteSuggestionItem itemProps={item} triggerType={triggerType} />\n )}\n </SuggestionsItem>\n );\n }\n return null;\n case 'command':\n if (isSuggestionCommand(item)) {\n return (\n <SuggestionsItem\n onPress={() => {\n onSelect(item);\n }}\n style={[itemStyle]}\n >\n {AutoCompleteSuggestionItem && (\n <AutoCompleteSuggestionItem itemProps={item} triggerType={triggerType} />\n )}\n </SuggestionsItem>\n );\n }\n return null;\n case 'emoji':\n if (isSuggestionEmoji(item)) {\n return (\n <SuggestionsItem\n onPress={() => {\n onSelect(item);\n }}\n style={[itemStyle]}\n >\n {AutoCompleteSuggestionItem && (\n <AutoCompleteSuggestionItem itemProps={item} triggerType={triggerType} />\n )}\n </SuggestionsItem>\n );\n }\n return null;\n default:\n return null;\n }\n };\n\n if (!active || data.length === 0) return null;\n\n return (\n <FlatList\n data={data}\n keyboardShouldPersistTaps='always'\n keyExtractor={(item, index) =>\n `${item.name || (isSuggestionUser(item) ? item.id : '')}${index}`\n }\n ListHeaderComponent={\n AutoCompleteSuggestionHeader ? (\n <AutoCompleteSuggestionHeader queryText={queryText} triggerType={triggerType} />\n ) : null\n }\n renderItem={renderItem}\n style={[flatlist, { maxHeight }]}\n />\n );\n};\n\nconst areEqual = <Co extends string = DefaultCommandType, Us extends UnknownType = DefaultUserType>(\n prevProps: AutoCompleteSuggestionListPropsWithContext<Co, Us>,\n nextProps: AutoCompleteSuggestionListPropsWithContext<Co, Us>,\n) => {\n const {\n active: prevActive,\n data: prevData,\n queryText: prevQueryText,\n triggerType: prevType,\n } = prevProps;\n const {\n active: nextActive,\n data: nextData,\n queryText: nextQueryText,\n triggerType: nextType,\n } = nextProps;\n\n const activeEqual = prevActive === nextActive;\n if (!activeEqual) return false;\n\n const queryTextEqual = prevQueryText === nextQueryText;\n if (!queryTextEqual) return false;\n\n const dataEqual = prevData === nextData;\n if (!dataEqual) return false;\n\n const typeEqual = prevType === nextType;\n if (!typeEqual) return false;\n\n return true;\n};\n\nconst MemoizedAutoCompleteSuggestionList = React.memo(\n AutoCompleteSuggestionListWithContext,\n areEqual,\n) as typeof AutoCompleteSuggestionListWithContext;\n\nexport type AutoCompleteSuggestionListProps<\n Co extends string = DefaultCommandType,\n Us extends UnknownType = DefaultUserType,\n> = AutoCompleteSuggestionListComponentProps<Co, Us> & {\n AutoCompleteSuggestionHeader?: React.ComponentType<AutoCompleteSuggestionHeaderProps>;\n AutoCompleteSuggestionItem?: React.ComponentType<AutoCompleteSuggestionItemProps<Co, Us>>;\n};\n\nexport const AutoCompleteSuggestionList = <\n Co extends string = DefaultCommandType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: AutoCompleteSuggestionListProps<Co, Us>,\n) => {\n const { AutoCompleteSuggestionHeader, AutoCompleteSuggestionItem } =\n useSuggestionsContext<Co, Us>();\n return (\n <MemoizedAutoCompleteSuggestionList\n {...{ AutoCompleteSuggestionHeader, AutoCompleteSuggestionItem }}\n {...props}\n />\n );\n};\n\nAutoCompleteSuggestionList.displayName =\n 'AutoCompleteSuggestionList{messageInput{suggestions{List}}}';\n"]}
@@ -19,6 +19,8 @@ var _reactNativeSvg = _interopRequireWildcard(require("react-native-svg"));
19
19
 
20
20
  var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
21
21
 
22
+ var _getResizedImageUrl = require("../../utils/getResizedImageUrl");
23
+
22
24
  var _this = this,
23
25
  _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Avatar/Avatar.tsx";
24
26
 
@@ -82,7 +84,7 @@ var Avatar = function Avatar(props) {
82
84
  __self: _this,
83
85
  __source: {
84
86
  fileName: _jsxFileName,
85
- lineNumber: 81,
87
+ lineNumber: 74,
86
88
  columnNumber: 5
87
89
  }
88
90
  }, _react["default"].createElement(_reactNative.View, {
@@ -94,7 +96,7 @@ var Avatar = function Avatar(props) {
94
96
  __self: _this,
95
97
  __source: {
96
98
  fileName: _jsxFileName,
97
- lineNumber: 82,
99
+ lineNumber: 75,
98
100
  columnNumber: 7
99
101
  }
100
102
  }, _react["default"].createElement(_reactNative.Image, {
@@ -103,7 +105,11 @@ var Avatar = function Avatar(props) {
103
105
  return setImageError(true);
104
106
  },
105
107
  source: {
106
- uri: imageError || !imageProp || imageProp.includes(randomImageBaseUrl) || imageProp.includes(randomSvgBaseUrl) ? imageProp != null && imageProp.includes(streamCDN) ? imageProp : "" + randomImageBaseUrl + (name ? "?name=" + getInitials(name) + "&size=" + size : '') : imageProp.replace('h=%2A', "h=" + _reactNative.PixelRatio.getPixelSizeForLayoutSize(size))
108
+ uri: imageError || !imageProp || imageProp.includes(randomImageBaseUrl) || imageProp.includes(randomSvgBaseUrl) ? imageProp != null && imageProp.includes(streamCDN) ? imageProp : "" + randomImageBaseUrl + (name ? "?name=" + getInitials(name) + "&size=" + size : '') : (0, _getResizedImageUrl.getResizedImageUrl)({
109
+ height: size,
110
+ url: imageProp,
111
+ width: size
112
+ })
107
113
  },
108
114
  style: [image, size ? {
109
115
  borderRadius: size / 2,
@@ -114,7 +120,7 @@ var Avatar = function Avatar(props) {
114
120
  __self: _this,
115
121
  __source: {
116
122
  fileName: _jsxFileName,
117
- lineNumber: 94,
123
+ lineNumber: 87,
118
124
  columnNumber: 9
119
125
  }
120
126
  })), online && _react["default"].createElement(_reactNative.View, {
@@ -122,14 +128,14 @@ var Avatar = function Avatar(props) {
122
128
  __self: _this,
123
129
  __source: {
124
130
  fileName: _jsxFileName,
125
- lineNumber: 123,
131
+ lineNumber: 120,
126
132
  columnNumber: 9
127
133
  }
128
134
  }, _react["default"].createElement(_reactNativeSvg["default"], {
129
135
  __self: _this,
130
136
  __source: {
131
137
  fileName: _jsxFileName,
132
- lineNumber: 130,
138
+ lineNumber: 127,
133
139
  columnNumber: 11
134
140
  }
135
141
  }, _react["default"].createElement(_reactNativeSvg.Circle, (0, _extends2["default"])({
@@ -139,7 +145,7 @@ var Avatar = function Avatar(props) {
139
145
  __self: _this,
140
146
  __source: {
141
147
  fileName: _jsxFileName,
142
- lineNumber: 131,
148
+ lineNumber: 128,
143
149
  columnNumber: 13
144
150
  }
145
151
  })))));
@@ -1 +1 @@
1
- {"version":3,"sources":["Avatar.tsx"],"names":["randomImageBaseUrl","randomSvgBaseUrl","streamCDN","styles","StyleSheet","create","container","alignItems","justifyContent","overflow","presenceIndicatorContainer","height","position","right","top","width","getInitials","fullName","split","slice","map","name","charAt","join","Avatar","props","containerStyle","imageProp","image","imageStyle","online","presenceIndicatorProp","presenceIndicator","presenceIndicatorContainerStyle","size","testID","theme","avatar","colors","accent_green","white","imageError","setImageError","borderRadius","uri","includes","replace","PixelRatio","getPixelSizeForLayoutSize","displayName"],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport {\n Image,\n ImageStyle,\n PixelRatio,\n StyleProp,\n StyleSheet,\n View,\n ViewStyle,\n} from 'react-native';\nimport Svg, { Circle, CircleProps } from 'react-native-svg';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nconst randomImageBaseUrl = 'https://getstream.io/random_png/';\nconst randomSvgBaseUrl = 'https://getstream.io/random_svg/';\nconst streamCDN = 'stream-io-cdn.com';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n justifyContent: 'center',\n overflow: 'hidden',\n },\n presenceIndicatorContainer: {\n height: 12,\n position: 'absolute',\n right: 0,\n top: 0,\n width: 12,\n },\n});\n\nconst getInitials = (fullName: string) =>\n fullName\n .split(' ')\n .slice(0, 2)\n .map((name) => name.charAt(0))\n .join(' ');\n\nexport type AvatarProps = {\n /** size in pixels */\n size: number;\n containerStyle?: StyleProp<ViewStyle>;\n /** image url */\n image?: string;\n /** name of the picture, used for fallback */\n imageStyle?: StyleProp<ImageStyle>;\n name?: string;\n online?: boolean;\n presenceIndicator?: CircleProps;\n presenceIndicatorContainerStyle?: StyleProp<ViewStyle>;\n testID?: string;\n};\n\n/**\n * Avatar - A round avatar image with fallback to user's initials\n */\nexport const Avatar: React.FC<AvatarProps> = (props) => {\n const {\n containerStyle,\n image: imageProp,\n imageStyle,\n name,\n online,\n presenceIndicator: presenceIndicatorProp,\n presenceIndicatorContainerStyle,\n size,\n testID,\n } = props;\n const {\n theme: {\n avatar: { container, image, presenceIndicator, presenceIndicatorContainer },\n colors: { accent_green, white },\n },\n } = useTheme();\n\n const [imageError, setImageError] = useState(false);\n\n return (\n <View>\n <View\n style={[\n styles.container,\n {\n borderRadius: size / 2,\n height: size,\n width: size,\n },\n container,\n containerStyle,\n ]}\n >\n <Image\n accessibilityLabel={testID || 'avatar-image'}\n onError={() => setImageError(true)}\n source={{\n uri:\n imageError ||\n !imageProp ||\n imageProp.includes(randomImageBaseUrl) ||\n imageProp.includes(randomSvgBaseUrl)\n ? imageProp?.includes(streamCDN)\n ? imageProp\n : `${randomImageBaseUrl}${name ? `?name=${getInitials(name)}&size=${size}` : ''}`\n : imageProp.replace('h=%2A', `h=${PixelRatio.getPixelSizeForLayoutSize(size)}`),\n }}\n style={[\n image,\n size\n ? {\n borderRadius: size / 2,\n height: size,\n width: size,\n }\n : {},\n imageStyle,\n ]}\n testID={testID || 'avatar-image'}\n />\n </View>\n {online && (\n <View\n style={[\n styles.presenceIndicatorContainer,\n presenceIndicatorContainer,\n presenceIndicatorContainerStyle,\n ]}\n >\n <Svg>\n <Circle\n fill={accent_green}\n stroke={white}\n {...presenceIndicator}\n {...presenceIndicatorProp}\n />\n </Svg>\n </View>\n )}\n </View>\n );\n};\n\nAvatar.displayName = 'Avatar{avatar}';\n"]}
1
+ {"version":3,"sources":["Avatar.tsx"],"names":["randomImageBaseUrl","randomSvgBaseUrl","streamCDN","styles","StyleSheet","create","container","alignItems","justifyContent","overflow","presenceIndicatorContainer","height","position","right","top","width","getInitials","fullName","split","slice","map","name","charAt","join","Avatar","props","containerStyle","imageProp","image","imageStyle","online","presenceIndicatorProp","presenceIndicator","presenceIndicatorContainerStyle","size","testID","theme","avatar","colors","accent_green","white","imageError","setImageError","borderRadius","uri","includes","url","displayName"],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport { Image, ImageStyle, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\nimport Svg, { Circle, CircleProps } from 'react-native-svg';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { getResizedImageUrl } from '../../utils/getResizedImageUrl';\n\nconst randomImageBaseUrl = 'https://getstream.io/random_png/';\nconst randomSvgBaseUrl = 'https://getstream.io/random_svg/';\nconst streamCDN = 'stream-io-cdn.com';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n justifyContent: 'center',\n overflow: 'hidden',\n },\n presenceIndicatorContainer: {\n height: 12,\n position: 'absolute',\n right: 0,\n top: 0,\n width: 12,\n },\n});\n\nconst getInitials = (fullName: string) =>\n fullName\n .split(' ')\n .slice(0, 2)\n .map((name) => name.charAt(0))\n .join(' ');\n\nexport type AvatarProps = {\n /** size in pixels */\n size: number;\n containerStyle?: StyleProp<ViewStyle>;\n /** image url */\n image?: string;\n /** name of the picture, used for fallback */\n imageStyle?: StyleProp<ImageStyle>;\n name?: string;\n online?: boolean;\n presenceIndicator?: CircleProps;\n presenceIndicatorContainerStyle?: StyleProp<ViewStyle>;\n testID?: string;\n};\n\n/**\n * Avatar - A round avatar image with fallback to user's initials\n */\nexport const Avatar: React.FC<AvatarProps> = (props) => {\n const {\n containerStyle,\n image: imageProp,\n imageStyle,\n name,\n online,\n presenceIndicator: presenceIndicatorProp,\n presenceIndicatorContainerStyle,\n size,\n testID,\n } = props;\n const {\n theme: {\n avatar: { container, image, presenceIndicator, presenceIndicatorContainer },\n colors: { accent_green, white },\n },\n } = useTheme();\n\n const [imageError, setImageError] = useState(false);\n\n return (\n <View>\n <View\n style={[\n styles.container,\n {\n borderRadius: size / 2,\n height: size,\n width: size,\n },\n container,\n containerStyle,\n ]}\n >\n <Image\n accessibilityLabel={testID || 'avatar-image'}\n onError={() => setImageError(true)}\n source={{\n uri:\n imageError ||\n !imageProp ||\n imageProp.includes(randomImageBaseUrl) ||\n imageProp.includes(randomSvgBaseUrl)\n ? imageProp?.includes(streamCDN)\n ? imageProp\n : `${randomImageBaseUrl}${name ? `?name=${getInitials(name)}&size=${size}` : ''}`\n : getResizedImageUrl({\n height: size,\n url: imageProp,\n width: size,\n }),\n }}\n style={[\n image,\n size\n ? {\n borderRadius: size / 2,\n height: size,\n width: size,\n }\n : {},\n imageStyle,\n ]}\n testID={testID || 'avatar-image'}\n />\n </View>\n {online && (\n <View\n style={[\n styles.presenceIndicatorContainer,\n presenceIndicatorContainer,\n presenceIndicatorContainerStyle,\n ]}\n >\n <Svg>\n <Circle\n fill={accent_green}\n stroke={white}\n {...presenceIndicator}\n {...presenceIndicatorProp}\n />\n </Svg>\n </View>\n )}\n </View>\n );\n};\n\nAvatar.displayName = 'Avatar{avatar}';\n"]}
@@ -17,6 +17,8 @@ var _reactNative = require("react-native");
17
17
 
18
18
  var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
19
19
 
20
+ var _getResizedImageUrl = require("../../utils/getResizedImageUrl");
21
+
20
22
  var _this = this,
21
23
  _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Avatar/GroupAvatar.tsx";
22
24
 
@@ -101,7 +103,7 @@ var GroupAvatar = function GroupAvatar(props) {
101
103
  __self: _this,
102
104
  __source: {
103
105
  fileName: _jsxFileName,
104
- lineNumber: 108,
106
+ lineNumber: 109,
105
107
  columnNumber: 5
106
108
  }
107
109
  }, avatarImages.map(function (column, colIndex) {
@@ -113,7 +115,7 @@ var GroupAvatar = function GroupAvatar(props) {
113
115
  __self: _this,
114
116
  __source: {
115
117
  fileName: _jsxFileName,
116
- lineNumber: 118,
118
+ lineNumber: 119,
117
119
  columnNumber: 9
118
120
  }
119
121
  }, column.map(function (_ref, rowIndex) {
@@ -128,7 +130,11 @@ var GroupAvatar = function GroupAvatar(props) {
128
130
  return setImageError(true);
129
131
  },
130
132
  source: {
131
- uri: imageError || url.includes(randomSvgBaseUrl) ? url.includes(streamCDN) ? url : "" + randomImageBaseUrl + (name ? "?name=" + getInitials(name) + "&size=" + height : '') : url.replace('h=%2A', "h=" + _reactNative.PixelRatio.getPixelSizeForLayoutSize(height))
133
+ uri: imageError || url.includes(randomSvgBaseUrl) ? url.includes(streamCDN) ? url : "" + randomImageBaseUrl + (name ? "?name=" + getInitials(name) + "&size=" + height : '') : (0, _getResizedImageUrl.getResizedImageUrl)({
134
+ height: height,
135
+ url: url,
136
+ width: width
137
+ })
132
138
  },
133
139
  style: [image, size ? {
134
140
  height: height,
@@ -138,7 +144,7 @@ var GroupAvatar = function GroupAvatar(props) {
138
144
  __self: _this,
139
145
  __source: {
140
146
  fileName: _jsxFileName,
141
- lineNumber: 128,
147
+ lineNumber: 129,
142
148
  columnNumber: 13
143
149
  }
144
150
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["GroupAvatar.tsx"],"names":["randomImageBaseUrl","randomSvgBaseUrl","streamCDN","styles","StyleSheet","create","container","overflow","flex","getInitials","fullName","split","slice","map","name","charAt","join","GroupAvatar","props","containerStyle","images","names","size","testID","theme","groupAvatar","image","imageError","setImageError","imagesOrNames","avatarImages","reduce","returnArray","currentImage","index","url","startsWith","length","height","width","borderRadius","column","colIndex","flexDirection","rowIndex","uri","includes","replace","PixelRatio","getPixelSizeForLayoutSize","displayName"],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport { Image, PixelRatio, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nconst randomImageBaseUrl = 'https://getstream.io/random_png/';\nconst randomSvgBaseUrl = 'https://getstream.io/random_svg/';\nconst streamCDN = 'stream-io-cdn.com';\n\nconst styles = StyleSheet.create({\n container: {\n overflow: 'hidden',\n },\n flex: { flex: 1 },\n});\n\nconst getInitials = (fullName: string) =>\n fullName\n .split(' ')\n .slice(0, 2)\n .map((name) => name.charAt(0))\n .join(' ');\n\nexport type GroupAvatarProps = {\n /** total size in pixels */\n size: number;\n containerStyle?: StyleProp<ViewStyle>;\n /** image urls */\n images?: string[];\n /** name of the users, used for fallback */\n names?: string[];\n testID?: string;\n};\n\n/**\n * GroupAvatar - A round group of avatar images with fallbacks to users' initials\n */\nexport const GroupAvatar: React.FC<GroupAvatarProps> = (props) => {\n const { containerStyle, images, names, size, testID } = props;\n const {\n theme: {\n groupAvatar: { container, image },\n },\n } = useTheme();\n\n const [imageError, setImageError] = useState(false);\n\n /**\n * [\n * [\n * { height: number; name: string; url: string; width: number },\n * { height: number; name: string; url: string; width: number },\n * ],\n * [\n * { height: number; name: string; url: string; width: number },\n * { height: number; name: string; url: string; width: number },\n * ],\n * ]\n */\n const imagesOrNames = images || names || [];\n const avatarImages = imagesOrNames.slice(0, 4).reduce((returnArray, currentImage, index) => {\n const url = currentImage.startsWith('http')\n ? currentImage\n : `${randomImageBaseUrl}${\n names\n ? `?name=${getInitials(names[index])}&size=${\n imagesOrNames.length <= 2 ? size : size / 2\n }`\n : ''\n }`;\n if (imagesOrNames.length <= 2) {\n returnArray[0] = [\n ...(returnArray[0] || []),\n {\n height: imagesOrNames.length === 1 ? size : size / 2,\n name: names ? names[index] : '',\n url,\n width: size,\n },\n ];\n } else {\n if (index < 2) {\n returnArray[0] = [\n ...(returnArray[0] || []),\n {\n height: size / 2,\n name: names ? names[index] : '',\n url,\n width: size / 2,\n },\n ];\n } else {\n returnArray[1] = [\n ...(returnArray[1] || []),\n {\n height: size / 2,\n name: names ? names[index] : '',\n url,\n width: imagesOrNames.length === 3 ? size : size / 2,\n },\n ];\n }\n }\n return returnArray;\n }, [] as { height: number; name: string; url: string; width: number }[][]);\n\n return (\n <View\n style={[\n styles.container,\n { borderRadius: size / 2, height: size, width: size },\n container,\n containerStyle,\n ]}\n testID={testID || 'group-avatar'}\n >\n {avatarImages.map((column, colIndex) => (\n <View\n key={`avatar-column-${colIndex}`}\n style={[\n styles.flex,\n {\n flexDirection: imagesOrNames.length === 2 ? 'column' : 'row',\n },\n ]}\n >\n {column.map(({ height, name, url, width }, rowIndex) => (\n <Image\n accessibilityLabel={testID || 'avatar-image'}\n key={`avatar-${url}-${rowIndex}`}\n onError={() => setImageError(true)}\n source={{\n uri:\n imageError || url.includes(randomSvgBaseUrl)\n ? url.includes(streamCDN)\n ? url\n : `${randomImageBaseUrl}${\n name ? `?name=${getInitials(name)}&size=${height}` : ''\n }`\n : url.replace('h=%2A', `h=${PixelRatio.getPixelSizeForLayoutSize(height)}`),\n }}\n style={[\n image,\n size\n ? {\n height,\n width,\n }\n : {},\n ]}\n testID={`group-avatar-image-${colIndex}-${rowIndex}`}\n />\n ))}\n </View>\n ))}\n </View>\n );\n};\n\nGroupAvatar.displayName = 'GroupAvatar{groupAvatar}';\n"]}
1
+ {"version":3,"sources":["GroupAvatar.tsx"],"names":["randomImageBaseUrl","randomSvgBaseUrl","streamCDN","styles","StyleSheet","create","container","overflow","flex","getInitials","fullName","split","slice","map","name","charAt","join","GroupAvatar","props","containerStyle","images","names","size","testID","theme","groupAvatar","image","imageError","setImageError","imagesOrNames","avatarImages","reduce","returnArray","currentImage","index","url","startsWith","length","height","width","borderRadius","column","colIndex","flexDirection","rowIndex","uri","includes","displayName"],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport { Image, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { getResizedImageUrl } from '../../utils/getResizedImageUrl';\n\nconst randomImageBaseUrl = 'https://getstream.io/random_png/';\nconst randomSvgBaseUrl = 'https://getstream.io/random_svg/';\nconst streamCDN = 'stream-io-cdn.com';\n\nconst styles = StyleSheet.create({\n container: {\n overflow: 'hidden',\n },\n flex: { flex: 1 },\n});\n\nconst getInitials = (fullName: string) =>\n fullName\n .split(' ')\n .slice(0, 2)\n .map((name) => name.charAt(0))\n .join(' ');\n\nexport type GroupAvatarProps = {\n /** total size in pixels */\n size: number;\n containerStyle?: StyleProp<ViewStyle>;\n /** image urls */\n images?: string[];\n /** name of the users, used for fallback */\n names?: string[];\n testID?: string;\n};\n\n/**\n * GroupAvatar - A round group of avatar images with fallbacks to users' initials\n */\nexport const GroupAvatar: React.FC<GroupAvatarProps> = (props) => {\n const { containerStyle, images, names, size, testID } = props;\n const {\n theme: {\n groupAvatar: { container, image },\n },\n } = useTheme();\n\n const [imageError, setImageError] = useState(false);\n\n /**\n * [\n * [\n * { height: number; name: string; url: string; width: number },\n * { height: number; name: string; url: string; width: number },\n * ],\n * [\n * { height: number; name: string; url: string; width: number },\n * { height: number; name: string; url: string; width: number },\n * ],\n * ]\n */\n const imagesOrNames = images || names || [];\n const avatarImages = imagesOrNames.slice(0, 4).reduce((returnArray, currentImage, index) => {\n const url = currentImage.startsWith('http')\n ? currentImage\n : `${randomImageBaseUrl}${\n names\n ? `?name=${getInitials(names[index])}&size=${\n imagesOrNames.length <= 2 ? size : size / 2\n }`\n : ''\n }`;\n if (imagesOrNames.length <= 2) {\n returnArray[0] = [\n ...(returnArray[0] || []),\n {\n height: imagesOrNames.length === 1 ? size : size / 2,\n name: names ? names[index] : '',\n url,\n width: size,\n },\n ];\n } else {\n if (index < 2) {\n returnArray[0] = [\n ...(returnArray[0] || []),\n {\n height: size / 2,\n name: names ? names[index] : '',\n url,\n width: size / 2,\n },\n ];\n } else {\n returnArray[1] = [\n ...(returnArray[1] || []),\n {\n height: size / 2,\n name: names ? names[index] : '',\n url,\n width: imagesOrNames.length === 3 ? size : size / 2,\n },\n ];\n }\n }\n return returnArray;\n }, [] as { height: number; name: string; url: string; width: number }[][]);\n\n return (\n <View\n style={[\n styles.container,\n { borderRadius: size / 2, height: size, width: size },\n container,\n containerStyle,\n ]}\n testID={testID || 'group-avatar'}\n >\n {avatarImages.map((column, colIndex) => (\n <View\n key={`avatar-column-${colIndex}`}\n style={[\n styles.flex,\n {\n flexDirection: imagesOrNames.length === 2 ? 'column' : 'row',\n },\n ]}\n >\n {column.map(({ height, name, url, width }, rowIndex) => (\n <Image\n accessibilityLabel={testID || 'avatar-image'}\n key={`avatar-${url}-${rowIndex}`}\n onError={() => setImageError(true)}\n source={{\n uri:\n imageError || url.includes(randomSvgBaseUrl)\n ? url.includes(streamCDN)\n ? url\n : `${randomImageBaseUrl}${\n name ? `?name=${getInitials(name)}&size=${height}` : ''\n }`\n : getResizedImageUrl({\n height,\n url,\n width,\n }),\n }}\n style={[\n image,\n size\n ? {\n height,\n width,\n }\n : {},\n ]}\n testID={`group-avatar-image-${colIndex}-${rowIndex}`}\n />\n ))}\n </View>\n ))}\n </View>\n );\n};\n\nGroupAvatar.displayName = 'GroupAvatar{groupAvatar}';\n"]}