stream-chat-react-native-core 4.0.0-beta.5 → 4.0.0-beta.8

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 (795) hide show
  1. package/README.md +1 -1
  2. package/lib/commonjs/components/Attachment/Attachment.js +10 -10
  3. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  4. package/lib/commonjs/components/Attachment/AttachmentActions.js +4 -4
  5. package/lib/commonjs/components/Attachment/AttachmentActions.js.map +1 -1
  6. package/lib/commonjs/components/Attachment/Card.js +15 -15
  7. package/lib/commonjs/components/Attachment/Card.js.map +1 -1
  8. package/lib/commonjs/components/Attachment/FileAttachment.js +8 -8
  9. package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
  10. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +4 -4
  11. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js.map +1 -1
  12. package/lib/commonjs/components/Attachment/Gallery.js +8 -8
  13. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  14. package/lib/commonjs/components/Attachment/Giphy.js +23 -23
  15. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  16. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -1
  17. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -1
  18. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -1
  19. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -1
  20. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
  21. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -1
  22. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -1
  23. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +2 -2
  24. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  25. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +16 -16
  26. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  27. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +7 -7
  28. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  29. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +13 -13
  30. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
  31. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +10 -10
  32. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  33. package/lib/commonjs/components/Channel/Channel.js +13 -13
  34. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  35. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  36. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  37. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  38. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  39. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  40. package/lib/commonjs/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  41. package/lib/commonjs/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
  42. package/lib/commonjs/components/ChannelList/ChannelList.js +2 -2
  43. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  44. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +14 -14
  45. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  46. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  47. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  48. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  49. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  50. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  51. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  52. package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +1 -1
  53. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  54. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  55. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  56. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  57. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  58. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  59. package/lib/commonjs/components/ChannelList/utils.js.map +1 -1
  60. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +2 -2
  61. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  62. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +2 -2
  63. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  64. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +4 -4
  65. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  66. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +12 -12
  67. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  68. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
  69. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
  70. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
  71. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  72. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  73. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  74. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  75. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  76. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  77. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  78. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  79. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  80. package/lib/commonjs/components/Chat/Chat.js +8 -4
  81. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  82. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  83. package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
  84. package/lib/commonjs/components/Chat/hooks/useMutedUsers.js.map +1 -1
  85. package/lib/commonjs/components/ImageGallery/ImageGallery.js +19 -19
  86. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  87. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +11 -11
  88. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  89. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +10 -10
  90. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  91. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +5 -5
  92. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  93. package/lib/commonjs/components/Message/Message.js +6 -6
  94. package/lib/commonjs/components/Message/Message.js.map +1 -1
  95. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +4 -4
  96. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  97. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +18 -18
  98. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  99. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +5 -5
  100. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  101. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +11 -11
  102. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  103. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +4 -4
  104. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  105. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +10 -10
  106. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  107. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +3 -3
  108. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  109. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +6 -6
  110. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  111. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +9 -9
  112. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  113. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +3 -3
  114. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  115. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +18 -18
  116. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +1 -1
  117. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +14 -14
  118. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  119. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  120. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  121. package/lib/commonjs/components/Message/hooks/useMessageActions.js +11 -11
  122. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
  123. package/lib/commonjs/components/Message/utils/messageActions.js.map +1 -1
  124. package/lib/commonjs/components/Message/utils/removeReservedFields.js.map +1 -1
  125. package/lib/commonjs/components/MessageInput/AttachButton.js +3 -3
  126. package/lib/commonjs/components/MessageInput/AttachButton.js.map +1 -1
  127. package/lib/commonjs/components/MessageInput/CommandsButton.js +3 -3
  128. package/lib/commonjs/components/MessageInput/CommandsButton.js.map +1 -1
  129. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +11 -11
  130. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  131. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +7 -7
  132. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
  133. package/lib/commonjs/components/MessageInput/InputButtons.js +6 -6
  134. package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
  135. package/lib/commonjs/components/MessageInput/MessageInput.js +34 -34
  136. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  137. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +3 -3
  138. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js.map +1 -1
  139. package/lib/commonjs/components/MessageInput/SendButton.js +5 -5
  140. package/lib/commonjs/components/MessageInput/SendButton.js.map +1 -1
  141. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +7 -7
  142. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  143. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -1
  144. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +3 -3
  145. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  146. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +3 -3
  147. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  148. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +3 -3
  149. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
  150. package/lib/commonjs/components/MessageList/MessageList.js +26 -26
  151. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  152. package/lib/commonjs/components/MessageList/MessageSystem.js +6 -6
  153. package/lib/commonjs/components/MessageList/MessageSystem.js.map +1 -1
  154. package/lib/commonjs/components/MessageList/TypingIndicator.js +3 -3
  155. package/lib/commonjs/components/MessageList/TypingIndicator.js.map +1 -1
  156. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js +2 -2
  157. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  158. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  159. package/lib/commonjs/components/MessageList/hooks/useTypingString.js.map +1 -1
  160. package/lib/commonjs/components/MessageList/utils/filterTypingUsers.js.map +1 -1
  161. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js.map +1 -1
  162. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
  163. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  164. package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +1 -1
  165. package/lib/commonjs/components/MessageOverlay/MessageActionList.js +3 -3
  166. package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -1
  167. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +6 -6
  168. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  169. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +26 -25
  170. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  171. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +13 -13
  172. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  173. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +19 -19
  174. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
  175. package/lib/commonjs/components/Reply/Reply.js +8 -8
  176. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  177. package/lib/commonjs/components/Thread/Thread.js +4 -4
  178. package/lib/commonjs/components/Thread/Thread.js.map +1 -1
  179. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +12 -12
  180. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  181. package/lib/commonjs/components/docs/data.js +44 -44
  182. package/lib/commonjs/components/docs/data.js.map +1 -1
  183. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
  184. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  185. package/lib/commonjs/contexts/channelContext/ChannelContext.js +2 -2
  186. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  187. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +2 -2
  188. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  189. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +3 -3
  190. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  191. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
  192. package/lib/commonjs/contexts/chatContext/ChatContext.js +2 -2
  193. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  194. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
  195. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  196. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +1 -1
  197. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  198. package/lib/commonjs/contexts/messageContext/MessageContext.js +2 -2
  199. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  200. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +2 -4
  201. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  202. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  203. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  204. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +2 -2
  205. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  206. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +2 -2
  207. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  208. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -1
  209. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  210. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +12 -12
  211. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  212. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
  213. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  214. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +2 -2
  215. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  216. package/lib/commonjs/contexts/threadContext/ThreadContext.js +2 -2
  217. package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
  218. package/lib/commonjs/contexts/translationContext/TranslationContext.js +2 -2
  219. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  220. package/lib/commonjs/contexts/typingContext/TypingContext.js +2 -2
  221. package/lib/commonjs/contexts/typingContext/TypingContext.js.map +1 -1
  222. package/lib/commonjs/icons/UserAdmin.js +62 -0
  223. package/lib/commonjs/icons/UserAdmin.js.map +1 -0
  224. package/lib/commonjs/init.js +13 -0
  225. package/lib/commonjs/init.js.map +1 -0
  226. package/lib/commonjs/utils/Streami18n.js.map +1 -1
  227. package/lib/commonjs/utils/getResizedImageUrl.js +21 -10
  228. package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -1
  229. package/lib/commonjs/utils/utils.js.map +1 -1
  230. package/lib/commonjs/version.json +1 -1
  231. package/lib/module/components/Attachment/Attachment.js +10 -10
  232. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  233. package/lib/module/components/Attachment/AttachmentActions.js +4 -4
  234. package/lib/module/components/Attachment/AttachmentActions.js.map +1 -1
  235. package/lib/module/components/Attachment/Card.js +15 -15
  236. package/lib/module/components/Attachment/Card.js.map +1 -1
  237. package/lib/module/components/Attachment/FileAttachment.js +8 -8
  238. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  239. package/lib/module/components/Attachment/FileAttachmentGroup.js +4 -4
  240. package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
  241. package/lib/module/components/Attachment/Gallery.js +8 -8
  242. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  243. package/lib/module/components/Attachment/Giphy.js +23 -23
  244. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  245. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -1
  246. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -1
  247. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -1
  248. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -1
  249. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
  250. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -1
  251. package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -1
  252. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +2 -2
  253. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  254. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +16 -16
  255. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
  256. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +7 -7
  257. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
  258. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +13 -13
  259. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
  260. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +10 -10
  261. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
  262. package/lib/module/components/Channel/Channel.js +13 -13
  263. package/lib/module/components/Channel/Channel.js.map +1 -1
  264. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  265. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  266. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  267. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
  268. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  269. package/lib/module/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  270. package/lib/module/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
  271. package/lib/module/components/ChannelList/ChannelList.js +2 -2
  272. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  273. package/lib/module/components/ChannelList/ChannelListMessenger.js +14 -14
  274. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  275. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  276. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  277. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  278. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  279. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  280. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  281. package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +1 -1
  282. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  283. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  284. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  285. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  286. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  287. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  288. package/lib/module/components/ChannelList/utils.js.map +1 -1
  289. package/lib/module/components/ChannelPreview/ChannelAvatar.js +2 -2
  290. package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  291. package/lib/module/components/ChannelPreview/ChannelPreview.js +2 -2
  292. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  293. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +4 -4
  294. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  295. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +12 -12
  296. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  297. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
  298. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
  299. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
  300. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  301. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  302. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  303. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  304. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  305. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  306. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  307. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  308. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  309. package/lib/module/components/Chat/Chat.js +8 -4
  310. package/lib/module/components/Chat/Chat.js.map +1 -1
  311. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  312. package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
  313. package/lib/module/components/Chat/hooks/useMutedUsers.js.map +1 -1
  314. package/lib/module/components/ImageGallery/ImageGallery.js +19 -19
  315. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  316. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +11 -11
  317. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  318. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +10 -10
  319. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  320. package/lib/module/components/ImageGallery/components/ImageGrid.js +5 -5
  321. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  322. package/lib/module/components/Message/Message.js +6 -6
  323. package/lib/module/components/Message/Message.js.map +1 -1
  324. package/lib/module/components/Message/MessageSimple/MessageAvatar.js +4 -4
  325. package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  326. package/lib/module/components/Message/MessageSimple/MessageContent.js +18 -18
  327. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  328. package/lib/module/components/Message/MessageSimple/MessageDeleted.js +5 -5
  329. package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  330. package/lib/module/components/Message/MessageSimple/MessageFooter.js +11 -11
  331. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  332. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +4 -4
  333. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
  334. package/lib/module/components/Message/MessageSimple/MessageReplies.js +10 -10
  335. package/lib/module/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  336. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +3 -3
  337. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  338. package/lib/module/components/Message/MessageSimple/MessageSimple.js +6 -6
  339. package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  340. package/lib/module/components/Message/MessageSimple/MessageStatus.js +9 -9
  341. package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  342. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +3 -3
  343. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  344. package/lib/module/components/Message/MessageSimple/ReactionList.js +18 -18
  345. package/lib/module/components/Message/MessageSimple/ReactionList.js.map +1 -1
  346. package/lib/module/components/Message/MessageSimple/utils/renderText.js +14 -14
  347. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  348. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  349. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  350. package/lib/module/components/Message/hooks/useMessageActions.js +11 -11
  351. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
  352. package/lib/module/components/Message/utils/messageActions.js.map +1 -1
  353. package/lib/module/components/Message/utils/removeReservedFields.js.map +1 -1
  354. package/lib/module/components/MessageInput/AttachButton.js +3 -3
  355. package/lib/module/components/MessageInput/AttachButton.js.map +1 -1
  356. package/lib/module/components/MessageInput/CommandsButton.js +3 -3
  357. package/lib/module/components/MessageInput/CommandsButton.js.map +1 -1
  358. package/lib/module/components/MessageInput/FileUploadPreview.js +11 -11
  359. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  360. package/lib/module/components/MessageInput/ImageUploadPreview.js +7 -7
  361. package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
  362. package/lib/module/components/MessageInput/InputButtons.js +6 -6
  363. package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
  364. package/lib/module/components/MessageInput/MessageInput.js +34 -34
  365. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  366. package/lib/module/components/MessageInput/MoreOptionsButton.js +3 -3
  367. package/lib/module/components/MessageInput/MoreOptionsButton.js.map +1 -1
  368. package/lib/module/components/MessageInput/SendButton.js +5 -5
  369. package/lib/module/components/MessageInput/SendButton.js.map +1 -1
  370. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +7 -7
  371. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  372. package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -1
  373. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +3 -3
  374. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  375. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +3 -3
  376. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  377. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +3 -3
  378. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
  379. package/lib/module/components/MessageList/MessageList.js +26 -26
  380. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  381. package/lib/module/components/MessageList/MessageSystem.js +6 -6
  382. package/lib/module/components/MessageList/MessageSystem.js.map +1 -1
  383. package/lib/module/components/MessageList/TypingIndicator.js +3 -3
  384. package/lib/module/components/MessageList/TypingIndicator.js.map +1 -1
  385. package/lib/module/components/MessageList/TypingIndicatorContainer.js +2 -2
  386. package/lib/module/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  387. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  388. package/lib/module/components/MessageList/hooks/useTypingString.js.map +1 -1
  389. package/lib/module/components/MessageList/utils/filterTypingUsers.js.map +1 -1
  390. package/lib/module/components/MessageList/utils/getDateSeparators.js.map +1 -1
  391. package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
  392. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  393. package/lib/module/components/MessageList/utils/getReadStates.js.map +1 -1
  394. package/lib/module/components/MessageOverlay/MessageActionList.js +3 -3
  395. package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -1
  396. package/lib/module/components/MessageOverlay/MessageActionListItem.js +6 -6
  397. package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -1
  398. package/lib/module/components/MessageOverlay/MessageOverlay.js +26 -25
  399. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  400. package/lib/module/components/MessageOverlay/OverlayReactionList.js +13 -13
  401. package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  402. package/lib/module/components/MessageOverlay/OverlayReactions.js +19 -19
  403. package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
  404. package/lib/module/components/Reply/Reply.js +8 -8
  405. package/lib/module/components/Reply/Reply.js.map +1 -1
  406. package/lib/module/components/Thread/Thread.js +4 -4
  407. package/lib/module/components/Thread/Thread.js.map +1 -1
  408. package/lib/module/components/Thread/components/ThreadFooterComponent.js +12 -12
  409. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  410. package/lib/module/components/docs/data.js +44 -44
  411. package/lib/module/components/docs/data.js.map +1 -1
  412. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
  413. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  414. package/lib/module/contexts/channelContext/ChannelContext.js +2 -2
  415. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  416. package/lib/module/contexts/channelsContext/ChannelsContext.js +2 -2
  417. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  418. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +3 -3
  419. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  420. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
  421. package/lib/module/contexts/chatContext/ChatContext.js +2 -2
  422. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  423. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
  424. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  425. package/lib/module/contexts/keyboardContext/KeyboardContext.js +1 -1
  426. package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  427. package/lib/module/contexts/messageContext/MessageContext.js +2 -2
  428. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  429. package/lib/module/contexts/messageInputContext/MessageInputContext.js +2 -4
  430. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  431. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  432. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  433. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +2 -2
  434. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  435. package/lib/module/contexts/messagesContext/MessagesContext.js +2 -2
  436. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  437. package/lib/module/contexts/overlayContext/OverlayContext.js +1 -1
  438. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  439. package/lib/module/contexts/overlayContext/OverlayProvider.js +12 -12
  440. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  441. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
  442. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  443. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +2 -2
  444. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  445. package/lib/module/contexts/threadContext/ThreadContext.js +2 -2
  446. package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
  447. package/lib/module/contexts/translationContext/TranslationContext.js +2 -2
  448. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  449. package/lib/module/contexts/typingContext/TypingContext.js +2 -2
  450. package/lib/module/contexts/typingContext/TypingContext.js.map +1 -1
  451. package/lib/module/icons/UserAdmin.js +62 -0
  452. package/lib/module/icons/UserAdmin.js.map +1 -0
  453. package/lib/module/init.js +13 -0
  454. package/lib/module/init.js.map +1 -0
  455. package/lib/module/utils/Streami18n.js.map +1 -1
  456. package/lib/module/utils/getResizedImageUrl.js +21 -10
  457. package/lib/module/utils/getResizedImageUrl.js.map +1 -1
  458. package/lib/module/utils/utils.js.map +1 -1
  459. package/lib/module/version.json +1 -1
  460. package/lib/typescript/components/Attachment/Attachment.d.ts +5 -5
  461. package/lib/typescript/components/Attachment/AttachmentActions.d.ts +4 -4
  462. package/lib/typescript/components/Attachment/Card.d.ts +4 -4
  463. package/lib/typescript/components/Attachment/FileAttachment.d.ts +5 -5
  464. package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts +4 -4
  465. package/lib/typescript/components/Attachment/Gallery.d.ts +5 -5
  466. package/lib/typescript/components/Attachment/Giphy.d.ts +6 -6
  467. package/lib/typescript/components/Attachment/utils/buildGallery/buildGallery.d.ts +3 -3
  468. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.d.ts +3 -3
  469. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.d.ts +3 -3
  470. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.d.ts +3 -3
  471. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnail.d.ts +3 -3
  472. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnailGrid.d.ts +3 -3
  473. package/lib/typescript/components/Attachment/utils/getAspectRatio.d.ts +2 -2
  474. package/lib/typescript/components/AutoCompleteInput/AutoCompleteInput.d.ts +4 -4
  475. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.d.ts +3 -2
  476. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionHeader.d.ts +4 -4
  477. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionItem.d.ts +5 -5
  478. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts +9 -9
  479. package/lib/typescript/components/Channel/Channel.d.ts +7 -7
  480. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +2 -2
  481. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +3 -3
  482. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +3 -3
  483. package/lib/typescript/components/Channel/hooks/useCreateOwnCapabilitiesContext.d.ts +3 -3
  484. package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts +3 -3
  485. package/lib/typescript/components/Channel/hooks/useCreateThreadContext.d.ts +2 -2
  486. package/lib/typescript/components/Channel/hooks/useCreateTypingContext.d.ts +2 -2
  487. package/lib/typescript/components/ChannelList/ChannelList.d.ts +14 -14
  488. package/lib/typescript/components/ChannelList/ChannelListMessenger.d.ts +4 -4
  489. package/lib/typescript/components/ChannelList/hooks/listeners/useAddedToChannelNotification.d.ts +5 -5
  490. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelDeleted.d.ts +5 -5
  491. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelHidden.d.ts +5 -5
  492. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelTruncated.d.ts +5 -5
  493. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelUpdated.d.ts +5 -5
  494. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelVisible.d.ts +5 -5
  495. package/lib/typescript/components/ChannelList/hooks/listeners/useConnectionRecovered.d.ts +2 -2
  496. package/lib/typescript/components/ChannelList/hooks/listeners/useNewMessage.d.ts +4 -4
  497. package/lib/typescript/components/ChannelList/hooks/listeners/useNewMessageNotification.d.ts +5 -5
  498. package/lib/typescript/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.d.ts +5 -5
  499. package/lib/typescript/components/ChannelList/hooks/listeners/useUserPresence.d.ts +4 -4
  500. package/lib/typescript/components/ChannelList/hooks/useCreateChannelsContext.d.ts +2 -2
  501. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +7 -7
  502. package/lib/typescript/components/ChannelList/utils.d.ts +7 -7
  503. package/lib/typescript/components/ChannelPreview/ChannelAvatar.d.ts +3 -3
  504. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +5 -5
  505. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessage.d.ts +4 -5
  506. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts +5 -5
  507. package/lib/typescript/components/ChannelPreview/ChannelPreviewMutedStatus.d.ts +3 -3
  508. package/lib/typescript/components/ChannelPreview/ChannelPreviewStatus.d.ts +3 -3
  509. package/lib/typescript/components/ChannelPreview/ChannelPreviewTitle.d.ts +3 -3
  510. package/lib/typescript/components/ChannelPreview/ChannelPreviewUnreadCount.d.ts +3 -3
  511. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.d.ts +3 -3
  512. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayName.d.ts +4 -4
  513. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.d.ts +2 -2
  514. package/lib/typescript/components/ChannelPreview/hooks/useLatestMessagePreview.d.ts +5 -5
  515. package/lib/typescript/components/Chat/Chat.d.ts +3 -3
  516. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +2 -2
  517. package/lib/typescript/components/Chat/hooks/useIsOnline.d.ts +2 -2
  518. package/lib/typescript/components/Chat/hooks/useMutedUsers.d.ts +2 -2
  519. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +9 -9
  520. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +10 -10
  521. package/lib/typescript/components/ImageGallery/components/ImageGalleryHeader.d.ts +10 -10
  522. package/lib/typescript/components/ImageGallery/components/ImageGrid.d.ts +10 -10
  523. package/lib/typescript/components/Message/Message.d.ts +11 -11
  524. package/lib/typescript/components/Message/MessageSimple/MessageAvatar.d.ts +4 -4
  525. package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts +4 -4
  526. package/lib/typescript/components/Message/MessageSimple/MessageDeleted.d.ts +5 -5
  527. package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts +6 -6
  528. package/lib/typescript/components/Message/MessageSimple/MessagePinnedHeader.d.ts +4 -4
  529. package/lib/typescript/components/Message/MessageSimple/MessageReplies.d.ts +4 -4
  530. package/lib/typescript/components/Message/MessageSimple/MessageRepliesAvatars.d.ts +3 -3
  531. package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts +4 -4
  532. package/lib/typescript/components/Message/MessageSimple/MessageStatus.d.ts +4 -4
  533. package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts +6 -6
  534. package/lib/typescript/components/Message/MessageSimple/ReactionList.d.ts +4 -4
  535. package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +4 -4
  536. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +2 -2
  537. package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +2 -2
  538. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +3 -3
  539. package/lib/typescript/components/Message/utils/messageActions.d.ts +5 -5
  540. package/lib/typescript/components/Message/utils/removeReservedFields.d.ts +2 -2
  541. package/lib/typescript/components/MessageInput/AttachButton.d.ts +4 -4
  542. package/lib/typescript/components/MessageInput/CommandsButton.d.ts +4 -4
  543. package/lib/typescript/components/MessageInput/FileUploadPreview.d.ts +4 -4
  544. package/lib/typescript/components/MessageInput/ImageUploadPreview.d.ts +4 -4
  545. package/lib/typescript/components/MessageInput/InputButtons.d.ts +5 -5
  546. package/lib/typescript/components/MessageInput/MessageInput.d.ts +4 -4
  547. package/lib/typescript/components/MessageInput/MoreOptionsButton.d.ts +4 -4
  548. package/lib/typescript/components/MessageInput/SendButton.d.ts +4 -4
  549. package/lib/typescript/components/MessageInput/ShowThreadMessageInChannelButton.d.ts +2 -2
  550. package/lib/typescript/components/MessageInput/hooks/useCooldown.d.ts +2 -2
  551. package/lib/typescript/components/MessageList/InlineLoadingMoreIndicator.d.ts +2 -2
  552. package/lib/typescript/components/MessageList/InlineLoadingMoreRecentIndicator.d.ts +2 -2
  553. package/lib/typescript/components/MessageList/InlineLoadingMoreThreadIndicator.d.ts +2 -2
  554. package/lib/typescript/components/MessageList/MessageList.d.ts +7 -7
  555. package/lib/typescript/components/MessageList/MessageSystem.d.ts +4 -4
  556. package/lib/typescript/components/MessageList/TypingIndicator.d.ts +2 -2
  557. package/lib/typescript/components/MessageList/TypingIndicatorContainer.d.ts +4 -4
  558. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +5 -5
  559. package/lib/typescript/components/MessageList/hooks/useTypingString.d.ts +2 -2
  560. package/lib/typescript/components/MessageList/utils/filterTypingUsers.d.ts +3 -3
  561. package/lib/typescript/components/MessageList/utils/getDateSeparators.d.ts +4 -4
  562. package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts +4 -4
  563. package/lib/typescript/components/MessageList/utils/getLastReceivedMessage.d.ts +2 -2
  564. package/lib/typescript/components/MessageList/utils/getReadStates.d.ts +8 -5
  565. package/lib/typescript/components/MessageOverlay/MessageActionList.d.ts +4 -4
  566. package/lib/typescript/components/MessageOverlay/MessageActionListItem.d.ts +4 -3
  567. package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts +4 -4
  568. package/lib/typescript/components/MessageOverlay/OverlayReactionList.d.ts +6 -6
  569. package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts +2 -2
  570. package/lib/typescript/components/MessageOverlay/hooks/useMessageActionAnimation.d.ts +1 -1
  571. package/lib/typescript/components/Reply/Reply.d.ts +4 -4
  572. package/lib/typescript/components/Thread/Thread.d.ts +7 -7
  573. package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts +2 -2
  574. package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts +2 -2
  575. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +12 -12
  576. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +18 -18
  577. package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts +19 -19
  578. package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts +17 -17
  579. package/lib/typescript/contexts/chatContext/ChatContext.d.ts +11 -11
  580. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts +8 -8
  581. package/lib/typescript/contexts/keyboardContext/KeyboardContext.d.ts +2 -2
  582. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +12 -12
  583. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +33 -33
  584. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +2 -2
  585. package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts +3 -3
  586. package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +21 -21
  587. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +57 -57
  588. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +4 -4
  589. package/lib/typescript/contexts/overlayContext/OverlayProvider.d.ts +2 -2
  590. package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +8 -8
  591. package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts +20 -20
  592. package/lib/typescript/contexts/threadContext/ThreadContext.d.ts +10 -10
  593. package/lib/typescript/contexts/translationContext/TranslationContext.d.ts +2 -2
  594. package/lib/typescript/contexts/typingContext/TypingContext.d.ts +8 -8
  595. package/lib/typescript/icons/UserAdmin.d.ts +3 -0
  596. package/lib/typescript/init.d.ts +2 -0
  597. package/lib/typescript/types/types.d.ts +16 -13
  598. package/lib/typescript/utils/Streami18n.d.ts +4 -4
  599. package/lib/typescript/utils/getResizedImageUrl.d.ts +2 -1
  600. package/lib/typescript/utils/utils.d.ts +21 -21
  601. package/package.json +3 -5
  602. package/src/components/Attachment/Attachment.tsx +15 -56
  603. package/src/components/Attachment/AttachmentActions.tsx +15 -55
  604. package/src/components/Attachment/Card.tsx +15 -48
  605. package/src/components/Attachment/FileAttachment.tsx +14 -48
  606. package/src/components/Attachment/FileAttachmentGroup.tsx +16 -57
  607. package/src/components/Attachment/Gallery.tsx +18 -59
  608. package/src/components/Attachment/Giphy.tsx +18 -59
  609. package/src/components/Attachment/__tests__/buildGallery.test.js +4 -4
  610. package/src/components/Attachment/utils/buildGallery/buildGallery.ts +5 -3
  611. package/src/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.ts +6 -10
  612. package/src/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.ts +5 -5
  613. package/src/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.ts +5 -3
  614. package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +5 -3
  615. package/src/components/Attachment/utils/buildGallery/buildThumbnailGrid.ts +5 -3
  616. package/src/components/Attachment/utils/getAspectRatio.ts +4 -4
  617. package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +21 -61
  618. package/src/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.tsx +5 -3
  619. package/src/components/AutoCompleteInput/AutoCompleteSuggestionHeader.tsx +12 -19
  620. package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx +14 -21
  621. package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +21 -24
  622. package/src/components/Channel/Channel.tsx +174 -257
  623. package/src/components/Channel/hooks/useCreateChannelContext.ts +4 -19
  624. package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +52 -68
  625. package/src/components/Channel/hooks/useCreateMessagesContext.ts +4 -19
  626. package/src/components/Channel/hooks/useCreateOwnCapabilitiesContext.ts +3 -18
  627. package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +16 -32
  628. package/src/components/Channel/hooks/useCreateThreadContext.ts +4 -19
  629. package/src/components/Channel/hooks/useCreateTypingContext.ts +4 -19
  630. package/src/components/ChannelList/ChannelList.tsx +28 -49
  631. package/src/components/ChannelList/ChannelListMessenger.tsx +19 -70
  632. package/src/components/ChannelList/hooks/listeners/useAddedToChannelNotification.ts +14 -36
  633. package/src/components/ChannelList/hooks/listeners/useChannelDeleted.ts +13 -35
  634. package/src/components/ChannelList/hooks/listeners/useChannelHidden.ts +13 -35
  635. package/src/components/ChannelList/hooks/listeners/useChannelTruncated.ts +15 -37
  636. package/src/components/ChannelList/hooks/listeners/useChannelUpdated.ts +13 -35
  637. package/src/components/ChannelList/hooks/listeners/useChannelVisible.ts +14 -36
  638. package/src/components/ChannelList/hooks/listeners/useConnectionRecovered.ts +3 -18
  639. package/src/components/ChannelList/hooks/listeners/useNewMessage.ts +11 -33
  640. package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +13 -35
  641. package/src/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.ts +13 -35
  642. package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +9 -31
  643. package/src/components/ChannelList/hooks/useCreateChannelsContext.ts +4 -19
  644. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +11 -29
  645. package/src/components/ChannelList/utils.ts +9 -42
  646. package/src/components/ChannelPreview/ChannelAvatar.tsx +5 -26
  647. package/src/components/ChannelPreview/ChannelPreview.tsx +18 -51
  648. package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +11 -21
  649. package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +13 -46
  650. package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx +5 -26
  651. package/src/components/ChannelPreview/ChannelPreviewStatus.tsx +6 -27
  652. package/src/components/ChannelPreview/ChannelPreviewTitle.tsx +5 -26
  653. package/src/components/ChannelPreview/ChannelPreviewUnreadCount.tsx +5 -26
  654. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.ts +7 -28
  655. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +6 -27
  656. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.ts +7 -28
  657. package/src/components/ChannelPreview/hooks/useLatestMessagePreview.ts +27 -78
  658. package/src/components/Chat/Chat.tsx +15 -40
  659. package/src/components/Chat/hooks/useCreateChatContext.ts +4 -19
  660. package/src/components/Chat/hooks/useIsOnline.ts +4 -19
  661. package/src/components/Chat/hooks/useMutedUsers.ts +5 -20
  662. package/src/components/ImageGallery/ImageGallery.tsx +30 -40
  663. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +19 -11
  664. package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +19 -11
  665. package/src/components/ImageGallery/components/ImageGrid.tsx +45 -30
  666. package/src/components/Message/Message.tsx +40 -93
  667. package/src/components/Message/MessageSimple/MessageAvatar.tsx +13 -54
  668. package/src/components/Message/MessageSimple/MessageContent.tsx +18 -61
  669. package/src/components/Message/MessageSimple/MessageDeleted.tsx +17 -58
  670. package/src/components/Message/MessageSimple/MessageFooter.tsx +18 -60
  671. package/src/components/Message/MessageSimple/MessagePinnedHeader.tsx +13 -54
  672. package/src/components/Message/MessageSimple/MessageReplies.tsx +15 -56
  673. package/src/components/Message/MessageSimple/MessageRepliesAvatars.tsx +5 -26
  674. package/src/components/Message/MessageSimple/MessageSimple.tsx +16 -57
  675. package/src/components/Message/MessageSimple/MessageStatus.tsx +13 -54
  676. package/src/components/Message/MessageSimple/MessageTextContainer.tsx +19 -66
  677. package/src/components/Message/MessageSimple/ReactionList.tsx +16 -57
  678. package/src/components/Message/MessageSimple/utils/renderText.tsx +6 -27
  679. package/src/components/Message/hooks/useCreateMessageContext.ts +4 -19
  680. package/src/components/Message/hooks/useMessageActionHandlers.ts +8 -23
  681. package/src/components/Message/hooks/useMessageActions.tsx +8 -23
  682. package/src/components/Message/utils/messageActions.ts +7 -34
  683. package/src/components/Message/utils/removeReservedFields.ts +3 -18
  684. package/src/components/MessageInput/AttachButton.tsx +13 -54
  685. package/src/components/MessageInput/CommandsButton.tsx +15 -56
  686. package/src/components/MessageInput/FileUploadPreview.tsx +15 -57
  687. package/src/components/MessageInput/ImageUploadPreview.tsx +13 -55
  688. package/src/components/MessageInput/InputButtons.tsx +13 -54
  689. package/src/components/MessageInput/MessageInput.tsx +25 -66
  690. package/src/components/MessageInput/MoreOptionsButton.tsx +13 -54
  691. package/src/components/MessageInput/SendButton.tsx +13 -54
  692. package/src/components/MessageInput/ShowThreadMessageInChannelButton.tsx +4 -19
  693. package/src/components/MessageInput/hooks/useCooldown.ts +5 -19
  694. package/src/components/MessageList/InlineLoadingMoreIndicator.tsx +3 -18
  695. package/src/components/MessageList/InlineLoadingMoreRecentIndicator.tsx +3 -18
  696. package/src/components/MessageList/InlineLoadingMoreThreadIndicator.tsx +3 -18
  697. package/src/components/MessageList/MessageList.tsx +34 -76
  698. package/src/components/MessageList/MessageSystem.tsx +5 -26
  699. package/src/components/MessageList/TypingIndicator.tsx +3 -18
  700. package/src/components/MessageList/TypingIndicatorContainer.tsx +14 -47
  701. package/src/components/MessageList/hooks/useMessageList.ts +19 -52
  702. package/src/components/MessageList/hooks/useTypingString.ts +5 -20
  703. package/src/components/MessageList/utils/filterTypingUsers.ts +7 -28
  704. package/src/components/MessageList/utils/getDateSeparators.ts +6 -27
  705. package/src/components/MessageList/utils/getGroupStyles.ts +6 -27
  706. package/src/components/MessageList/utils/getLastReceivedMessage.ts +3 -18
  707. package/src/components/MessageList/utils/getReadStates.ts +5 -20
  708. package/src/components/MessageOverlay/MessageActionList.tsx +15 -56
  709. package/src/components/MessageOverlay/MessageActionListItem.tsx +20 -9
  710. package/src/components/MessageOverlay/MessageOverlay.tsx +38 -81
  711. package/src/components/MessageOverlay/OverlayReactionList.tsx +21 -74
  712. package/src/components/MessageOverlay/OverlayReactions.tsx +3 -18
  713. package/src/components/Reply/Reply.tsx +22 -69
  714. package/src/components/Thread/Thread.tsx +20 -53
  715. package/src/components/Thread/components/ThreadFooterComponent.tsx +12 -47
  716. package/src/components/docs/data.js +38 -37
  717. package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +9 -7
  718. package/src/contexts/channelContext/ChannelContext.tsx +15 -48
  719. package/src/contexts/channelsContext/ChannelsContext.tsx +22 -59
  720. package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +38 -115
  721. package/src/contexts/channelsStateContext/useChannelState.ts +27 -60
  722. package/src/contexts/chatContext/ChatContext.tsx +14 -49
  723. package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +12 -54
  724. package/src/contexts/keyboardContext/KeyboardContext.tsx +13 -7
  725. package/src/contexts/messageContext/MessageContext.tsx +15 -48
  726. package/src/contexts/messageInputContext/MessageInputContext.tsx +61 -112
  727. package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +5 -20
  728. package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +7 -31
  729. package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +24 -71
  730. package/src/contexts/messagesContext/MessagesContext.tsx +60 -99
  731. package/src/contexts/overlayContext/OverlayContext.tsx +18 -26
  732. package/src/contexts/overlayContext/OverlayProvider.tsx +7 -22
  733. package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +13 -53
  734. package/src/contexts/suggestionsContext/SuggestionsContext.tsx +39 -40
  735. package/src/contexts/threadContext/ThreadContext.tsx +13 -46
  736. package/src/contexts/translationContext/TranslationContext.tsx +12 -7
  737. package/src/contexts/typingContext/TypingContext.tsx +11 -44
  738. package/src/icons/UserAdmin.tsx +23 -0
  739. package/src/init.ts +5 -0
  740. package/src/types/types.ts +16 -18
  741. package/src/utils/Streami18n.ts +3 -3
  742. package/src/utils/__tests__/getResizedImageUrl.test.js +57 -0
  743. package/src/utils/getResizedImageUrl.ts +33 -17
  744. package/src/utils/utils.ts +63 -128
  745. package/src/version.json +1 -1
  746. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js +0 -100
  747. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js.map +0 -1
  748. package/lib/commonjs/styleguideComponents/BottomSheet.js +0 -25
  749. package/lib/commonjs/styleguideComponents/BottomSheet.js.map +0 -1
  750. package/lib/commonjs/styleguideComponents/JsDoc.js +0 -87
  751. package/lib/commonjs/styleguideComponents/JsDoc.js.map +0 -1
  752. package/lib/commonjs/styleguideComponents/Markdown.js +0 -12
  753. package/lib/commonjs/styleguideComponents/Markdown.js.map +0 -1
  754. package/lib/commonjs/styleguideComponents/PathlineRenderer.js +0 -92
  755. package/lib/commonjs/styleguideComponents/PathlineRenderer.js.map +0 -1
  756. package/lib/commonjs/styleguideComponents/PropsRenderer.js +0 -267
  757. package/lib/commonjs/styleguideComponents/PropsRenderer.js.map +0 -1
  758. package/lib/commonjs/styleguideComponents/Reanimated.js +0 -2
  759. package/lib/commonjs/styleguideComponents/Reanimated.js.map +0 -1
  760. package/lib/commonjs/styleguideComponents/Wrapper.js +0 -29
  761. package/lib/commonjs/styleguideComponents/Wrapper.js.map +0 -1
  762. package/lib/commonjs/styleguideComponents/register-react-native-web.js +0 -44
  763. package/lib/commonjs/styleguideComponents/register-react-native-web.js.map +0 -1
  764. package/lib/commonjs/styleguideComponents/resolveAssetSource.js +0 -11
  765. package/lib/commonjs/styleguideComponents/resolveAssetSource.js.map +0 -1
  766. package/lib/module/styleguideComponents/ArgumentsRenderer.js +0 -100
  767. package/lib/module/styleguideComponents/ArgumentsRenderer.js.map +0 -1
  768. package/lib/module/styleguideComponents/BottomSheet.js +0 -25
  769. package/lib/module/styleguideComponents/BottomSheet.js.map +0 -1
  770. package/lib/module/styleguideComponents/JsDoc.js +0 -87
  771. package/lib/module/styleguideComponents/JsDoc.js.map +0 -1
  772. package/lib/module/styleguideComponents/Markdown.js +0 -12
  773. package/lib/module/styleguideComponents/Markdown.js.map +0 -1
  774. package/lib/module/styleguideComponents/PathlineRenderer.js +0 -92
  775. package/lib/module/styleguideComponents/PathlineRenderer.js.map +0 -1
  776. package/lib/module/styleguideComponents/PropsRenderer.js +0 -267
  777. package/lib/module/styleguideComponents/PropsRenderer.js.map +0 -1
  778. package/lib/module/styleguideComponents/Reanimated.js +0 -2
  779. package/lib/module/styleguideComponents/Reanimated.js.map +0 -1
  780. package/lib/module/styleguideComponents/Wrapper.js +0 -29
  781. package/lib/module/styleguideComponents/Wrapper.js.map +0 -1
  782. package/lib/module/styleguideComponents/register-react-native-web.js +0 -44
  783. package/lib/module/styleguideComponents/register-react-native-web.js.map +0 -1
  784. package/lib/module/styleguideComponents/resolveAssetSource.js +0 -11
  785. package/lib/module/styleguideComponents/resolveAssetSource.js.map +0 -1
  786. package/src/styleguideComponents/ArgumentsRenderer.tsx +0 -60
  787. package/src/styleguideComponents/BottomSheet.tsx +0 -3
  788. package/src/styleguideComponents/JsDoc.tsx +0 -45
  789. package/src/styleguideComponents/Markdown.tsx +0 -1
  790. package/src/styleguideComponents/PathlineRenderer.tsx +0 -45
  791. package/src/styleguideComponents/PropsRenderer.tsx +0 -141
  792. package/src/styleguideComponents/Reanimated.tsx +0 -0
  793. package/src/styleguideComponents/Wrapper.tsx +0 -7
  794. package/src/styleguideComponents/register-react-native-web.js +0 -13
  795. package/src/styleguideComponents/resolveAssetSource.js +0 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["FileAttachmentGroup.tsx"],"names":["styles","StyleSheet","create","container","padding","FileAttachmentGroupWithContext","props","Attachment","files","messageId","stylesProp","theme","messageSimple","fileAttachmentGroup","map","file","index","paddingBottom","length","attachmentContainer","areEqual","prevProps","nextProps","prevFiles","nextFiles","filesEqual","MemoizedFileAttachmentGroup","React","memo","FileAttachmentGroup","propFiles","contextFiles","AttachmentDefault","displayName"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AAEA;;AAIA;;AAIA;;;;;AAaA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,SAAS,EAAE;AACTC,IAAAA,OAAO,EAAE;AADA;AADoB,CAAlB,CAAf;;AA0BA,IAAMC,8BAA8B,GAAG,SAAjCA,8BAAiC,CASrCC,KATqC,EAUlC;AACH,MAAQC,UAAR,GAAkED,KAAlE,CAAQC,UAAR;AAAA,MAAoBC,KAApB,GAAkEF,KAAlE,CAAoBE,KAApB;AAAA,MAA2BC,SAA3B,GAAkEH,KAAlE,CAA2BG,SAA3B;AAAA,sBAAkEH,KAAlE,CAAsCN,MAAtC;AAAA,MAA8CU,UAA9C,8BAA2D,EAA3D;;AAEA,kBAMI,6BANJ;AAAA,MAG6BP,SAH7B,aACEQ,KADF,CAEIC,aAFJ,CAGMC,mBAHN,CAG6BV,SAH7B;;AAQA,SACE,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACH,MAAM,CAACG,SAAR,EAAmBA,SAAnB,EAA8BO,UAAU,CAACP,SAAzC,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGK,KAAK,CAACM,GAAN,CAAU,UAACC,IAAD,EAAOC,KAAP;AAAA,WACT,gCAAC,iBAAD;AACE,MAAA,GAAG,EAAKP,SAAL,SAAkBO,KADvB;AAEE,MAAA,KAAK,EAAE,CACL;AAAEC,QAAAA,aAAa,EAAED,KAAK,KAAKR,KAAK,CAACU,MAAN,GAAe,CAAzB,GAA6B,CAA7B,GAAiC;AAAlD,OADK,EAELR,UAAU,CAACS,mBAFN,CAFT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAOE,gCAAC,UAAD;AAAY,MAAA,UAAU,EAAEJ,IAAxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAPF,CADS;AAAA,GAAV,CADH,CADF;AAeD,CApCD;;AAsCA,IAAMK,QAAQ,GAAG,SAAXA,QAAW,CASfC,SATe,EAUfC,SAVe,EAWZ;AACH,MAAeC,SAAf,GAA6BF,SAA7B,CAAQb,KAAR;AACA,MAAegB,SAAf,GAA6BF,SAA7B,CAAQd,KAAR;AAEA,MAAMiB,UAAU,GAAGF,SAAS,CAACL,MAAV,KAAqBM,SAAS,CAACN,MAAlD;AAEA,SAAOO,UAAP;AACD,CAlBD;;AAoBA,IAAMC,2BAA2B,GAAGC,kBAAMC,IAAN,CAClCvB,8BADkC,EAElCe,QAFkC,CAApC;;AAgBO,IAAMS,mBAAmB,GAAG,SAAtBA,mBAAsB,CASjCvB,KATiC,EAU9B;AACH,MAAewB,SAAf,GAAwCxB,KAAxC,CAAQE,KAAR;AAAA,MAA0BC,SAA1B,GAAwCH,KAAxC,CAA0BG,SAA1B;;AAEA,2BAAgC,wCAAhC;AAAA,MAAesB,YAAf,sBAAQvB,KAAR;;AAEA,4BAA2C,0CAA3C;AAAA,kDAAQD,UAAR;AAAA,MAAQA,UAAR,sCAAqByB,sBAArB;;AAEA,MAAMxB,KAAK,GAAGsB,SAAS,IAAIC,YAA3B;AAEA,MAAI,CAACvB,KAAK,CAACU,MAAX,EAAmB,OAAO,IAAP;AAEnB,SACE,gCAAC,2BAAD;AAEIX,IAAAA,UAAU,EAAVA,UAFJ;AAGIC,IAAAA,KAAK,EAALA,KAHJ;AAIIC,IAAAA,SAAS,EAATA,SAJJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IADF;AASD,CA9BM;;;AAgCPoB,mBAAmB,CAACI,WAApB,GAAkC,yDAAlC","sourcesContent":["import React from 'react';\nimport { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { Attachment as AttachmentDefault } from './Attachment';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nconst styles = StyleSheet.create({\n container: {\n padding: 4,\n },\n});\n\nexport type FileAttachmentGroupPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'files'> &\n Pick<MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'Attachment'> & {\n /**\n * The unique id for the message with file attachments\n */\n messageId: string;\n styles?: Partial<{\n attachmentContainer: StyleProp<ViewStyle>;\n container: StyleProp<ViewStyle>;\n }>;\n };\n\nconst FileAttachmentGroupWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: FileAttachmentGroupPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { Attachment, files, messageId, styles: stylesProp = {} } = props;\n\n const {\n theme: {\n messageSimple: {\n fileAttachmentGroup: { container },\n },\n },\n } = useTheme();\n\n return (\n <View style={[styles.container, container, stylesProp.container]}>\n {files.map((file, index) => (\n <View\n key={`${messageId}-${index}`}\n style={[\n { paddingBottom: index !== files.length - 1 ? 4 : 0 },\n stylesProp.attachmentContainer,\n ]}\n >\n <Attachment attachment={file} />\n </View>\n ))}\n </View>\n );\n};\n\nconst areEqual = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n prevProps: FileAttachmentGroupPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: FileAttachmentGroupPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { files: prevFiles } = prevProps;\n const { files: nextFiles } = nextProps;\n\n const filesEqual = prevFiles.length === nextFiles.length;\n\n return filesEqual;\n};\n\nconst MemoizedFileAttachmentGroup = React.memo(\n FileAttachmentGroupWithContext,\n areEqual,\n) as typeof FileAttachmentGroupWithContext;\n\nexport type FileAttachmentGroupProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<Omit<FileAttachmentGroupPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>, 'messageId'>> &\n Pick<FileAttachmentGroupPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>, 'messageId'>;\n\nexport const FileAttachmentGroup = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: FileAttachmentGroupProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { files: propFiles, messageId } = props;\n\n const { files: contextFiles } = useMessageContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n const { Attachment = AttachmentDefault } = useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n const files = propFiles || contextFiles;\n\n if (!files.length) return null;\n\n return (\n <MemoizedFileAttachmentGroup\n {...{\n Attachment,\n files,\n messageId,\n }}\n />\n );\n};\n\nFileAttachmentGroup.displayName = 'FileAttachmentGroup{messageSimple{fileAttachmentGroup}}';\n"]}
1
+ {"version":3,"sources":["FileAttachmentGroup.tsx"],"names":["styles","StyleSheet","create","container","padding","FileAttachmentGroupWithContext","props","Attachment","files","messageId","stylesProp","theme","messageSimple","fileAttachmentGroup","map","file","index","paddingBottom","length","attachmentContainer","areEqual","prevProps","nextProps","prevFiles","nextFiles","filesEqual","MemoizedFileAttachmentGroup","React","memo","FileAttachmentGroup","propFiles","contextFiles","AttachmentDefault","displayName"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AAEA;;AAIA;;AAIA;;;;;AAIA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,SAAS,EAAE;AACTC,IAAAA,OAAO,EAAE;AADA;AADoB,CAAlB,CAAf;;AAoBA,IAAMC,8BAA8B,GAAG,SAAjCA,8BAAiC,CAGrCC,KAHqC,EAIlC;AACH,MAAQC,UAAR,GAAkED,KAAlE,CAAQC,UAAR;AAAA,MAAoBC,KAApB,GAAkEF,KAAlE,CAAoBE,KAApB;AAAA,MAA2BC,SAA3B,GAAkEH,KAAlE,CAA2BG,SAA3B;AAAA,sBAAkEH,KAAlE,CAAsCN,MAAtC;AAAA,MAA8CU,UAA9C,8BAA2D,EAA3D;;AAEA,kBAMI,6BANJ;AAAA,MAG6BP,SAH7B,aACEQ,KADF,CAEIC,aAFJ,CAGMC,mBAHN,CAG6BV,SAH7B;;AAQA,SACE,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACH,MAAM,CAACG,SAAR,EAAmBA,SAAnB,EAA8BO,UAAU,CAACP,SAAzC,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGK,KAAK,CAACM,GAAN,CAAU,UAACC,IAAD,EAAOC,KAAP;AAAA,WACT,gCAAC,iBAAD;AACE,MAAA,GAAG,EAAKP,SAAL,SAAkBO,KADvB;AAEE,MAAA,KAAK,EAAE,CACL;AAAEC,QAAAA,aAAa,EAAED,KAAK,KAAKR,KAAK,CAACU,MAAN,GAAe,CAAzB,GAA6B,CAA7B,GAAiC;AAAlD,OADK,EAELR,UAAU,CAACS,mBAFN,CAFT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAOE,gCAAC,UAAD;AAAY,MAAA,UAAU,EAAEJ,IAAxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAPF,CADS;AAAA,GAAV,CADH,CADF;AAeD,CA9BD;;AAgCA,IAAMK,QAAQ,GAAG,SAAXA,QAAW,CACfC,SADe,EAEfC,SAFe,EAGZ;AACH,MAAeC,SAAf,GAA6BF,SAA7B,CAAQb,KAAR;AACA,MAAegB,SAAf,GAA6BF,SAA7B,CAAQd,KAAR;AAEA,MAAMiB,UAAU,GAAGF,SAAS,CAACL,MAAV,KAAqBM,SAAS,CAACN,MAAlD;AAEA,SAAOO,UAAP;AACD,CAVD;;AAYA,IAAMC,2BAA2B,GAAGC,kBAAMC,IAAN,CAClCvB,8BADkC,EAElCe,QAFkC,CAApC;;AAUO,IAAMS,mBAAmB,GAAG,SAAtBA,mBAAsB,CAGjCvB,KAHiC,EAI9B;AACH,MAAewB,SAAf,GAAwCxB,KAAxC,CAAQE,KAAR;AAAA,MAA0BC,SAA1B,GAAwCH,KAAxC,CAA0BG,SAA1B;;AAEA,2BAAgC,wCAAhC;AAAA,MAAesB,YAAf,sBAAQvB,KAAR;;AAEA,4BAA2C,0CAA3C;AAAA,kDAAQD,UAAR;AAAA,MAAQA,UAAR,sCAAqByB,sBAArB;;AAEA,MAAMxB,KAAK,GAAGsB,SAAS,IAAIC,YAA3B;AAEA,MAAI,CAACvB,KAAK,CAACU,MAAX,EAAmB,OAAO,IAAP;AAEnB,SACE,gCAAC,2BAAD;AAEIX,IAAAA,UAAU,EAAVA,UAFJ;AAGIC,IAAAA,KAAK,EAALA,KAHJ;AAIIC,IAAAA,SAAS,EAATA,SAJJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IADF;AASD,CAxBM;;;AA0BPoB,mBAAmB,CAACI,WAApB,GAAkC,yDAAlC","sourcesContent":["import React from 'react';\nimport { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { Attachment as AttachmentDefault } from './Attachment';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\nconst styles = StyleSheet.create({\n container: {\n padding: 4,\n },\n});\n\nexport type FileAttachmentGroupPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<MessageContextValue<StreamChatGenerics>, 'files'> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'Attachment'> & {\n /**\n * The unique id for the message with file attachments\n */\n messageId: string;\n styles?: Partial<{\n attachmentContainer: StyleProp<ViewStyle>;\n container: StyleProp<ViewStyle>;\n }>;\n };\n\nconst FileAttachmentGroupWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileAttachmentGroupPropsWithContext<StreamChatGenerics>,\n) => {\n const { Attachment, files, messageId, styles: stylesProp = {} } = props;\n\n const {\n theme: {\n messageSimple: {\n fileAttachmentGroup: { container },\n },\n },\n } = useTheme();\n\n return (\n <View style={[styles.container, container, stylesProp.container]}>\n {files.map((file, index) => (\n <View\n key={`${messageId}-${index}`}\n style={[\n { paddingBottom: index !== files.length - 1 ? 4 : 0 },\n stylesProp.attachmentContainer,\n ]}\n >\n <Attachment attachment={file} />\n </View>\n ))}\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: FileAttachmentGroupPropsWithContext<StreamChatGenerics>,\n nextProps: FileAttachmentGroupPropsWithContext<StreamChatGenerics>,\n) => {\n const { files: prevFiles } = prevProps;\n const { files: nextFiles } = nextProps;\n\n const filesEqual = prevFiles.length === nextFiles.length;\n\n return filesEqual;\n};\n\nconst MemoizedFileAttachmentGroup = React.memo(\n FileAttachmentGroupWithContext,\n areEqual,\n) as typeof FileAttachmentGroupWithContext;\n\nexport type FileAttachmentGroupProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<FileAttachmentGroupPropsWithContext<StreamChatGenerics>, 'messageId'>> &\n Pick<FileAttachmentGroupPropsWithContext<StreamChatGenerics>, 'messageId'>;\n\nexport const FileAttachmentGroup = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileAttachmentGroupProps<StreamChatGenerics>,\n) => {\n const { files: propFiles, messageId } = props;\n\n const { files: contextFiles } = useMessageContext<StreamChatGenerics>();\n\n const { Attachment = AttachmentDefault } = useMessagesContext<StreamChatGenerics>();\n\n const files = propFiles || contextFiles;\n\n if (!files.length) return null;\n\n return (\n <MemoizedFileAttachmentGroup\n {...{\n Attachment,\n files,\n messageId,\n }}\n />\n );\n};\n\nFileAttachmentGroup.displayName = 'FileAttachmentGroup{messageSimple{fileAttachmentGroup}}';\n"]}
@@ -51,7 +51,7 @@ var GalleryImage = function GalleryImage(props) {
51
51
  __self: _this,
52
52
  __source: {
53
53
  fileName: _jsxFileName,
54
- lineNumber: 46,
54
+ lineNumber: 37,
55
55
  columnNumber: 5
56
56
  }
57
57
  }));
@@ -156,7 +156,7 @@ var GalleryWithContext = function GalleryWithContext(props) {
156
156
  __self: _this,
157
157
  __source: {
158
158
  fileName: _jsxFileName,
159
- lineNumber: 197,
159
+ lineNumber: 176,
160
160
  columnNumber: 5
161
161
  }
162
162
  }, thumbnailGrid.map(function (rows, colIndex) {
@@ -170,7 +170,7 @@ var GalleryWithContext = function GalleryWithContext(props) {
170
170
  __self: _this,
171
171
  __source: {
172
172
  fileName: _jsxFileName,
173
- lineNumber: 214,
173
+ lineNumber: 193,
174
174
  columnNumber: 11
175
175
  }
176
176
  }, rows.map(function (_ref, rowIndex) {
@@ -235,7 +235,7 @@ var GalleryWithContext = function GalleryWithContext(props) {
235
235
  __self: _this,
236
236
  __source: {
237
237
  fileName: _jsxFileName,
238
- lineNumber: 239,
238
+ lineNumber: 218,
239
239
  columnNumber: 17
240
240
  }
241
241
  }), _react["default"].createElement(MemoizedGalleryImage, {
@@ -262,7 +262,7 @@ var GalleryWithContext = function GalleryWithContext(props) {
262
262
  __self: _this,
263
263
  __source: {
264
264
  fileName: _jsxFileName,
265
- lineNumber: 282,
265
+ lineNumber: 261,
266
266
  columnNumber: 19
267
267
  }
268
268
  }), colIndex === numOfColumns - 1 && rowIndex === numOfRows - 1 && images.length > 4 ? _react["default"].createElement(_reactNative.View, {
@@ -272,7 +272,7 @@ var GalleryWithContext = function GalleryWithContext(props) {
272
272
  __self: _this,
273
273
  __source: {
274
274
  fileName: _jsxFileName,
275
- lineNumber: 311,
275
+ lineNumber: 290,
276
276
  columnNumber: 21
277
277
  }
278
278
  }, _react["default"].createElement(_reactNative.Text, {
@@ -280,7 +280,7 @@ var GalleryWithContext = function GalleryWithContext(props) {
280
280
  __self: _this,
281
281
  __source: {
282
282
  fileName: _jsxFileName,
283
- lineNumber: 319,
283
+ lineNumber: 298,
284
284
  columnNumber: 23
285
285
  }
286
286
  }, "+" + (images.length - 4))) : null);
@@ -380,7 +380,7 @@ var Gallery = function Gallery(props) {
380
380
  __self: _this,
381
381
  __source: {
382
382
  fileName: _jsxFileName,
383
- lineNumber: 457,
383
+ lineNumber: 416,
384
384
  columnNumber: 5
385
385
  }
386
386
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["Gallery.tsx"],"names":["GalleryImage","props","uri","rest","MemoizedGalleryImage","React","memo","prevProps","nextProps","styles","StyleSheet","create","flex","galleryContainer","borderTopLeftRadius","borderTopRightRadius","flexDirection","flexWrap","overflow","imageContainer","padding","moreImagesContainer","alignItems","justifyContent","margin","moreImagesText","color","fontSize","fontWeight","GalleryWithContext","additionalTouchableProps","alignment","groupStyles","hasThreadReplies","images","legacyImageViewerSwipeBehaviour","message","onLongPress","onPress","onPressIn","preventPress","setImage","setImages","setOverlay","threadList","theme","overlay","colors","messageSimple","gallery","galleryItemColumn","gridHeight","gridWidth","image","maxHeight","maxWidth","minHeight","minWidth","sizeConfig","length","height","invertedDirections","thumbnailGrid","width","messageText","text","messageId","id","numOfColumns","map","rows","colIndex","numOfRows","rowIndex","resizeMode","url","defaultOnPress","event","emitter","defaultHandler","absoluteFillObject","backgroundColor","areEqual","prevGroupStyles","prevHasThreadReplies","prevImages","prevMessage","nextGroupStyles","nextHasThreadReplies","nextImages","nextMessage","messageEqual","groupStylesEqual","hasThreadRepliesEqual","imagesEqual","every","index","image_url","thumb_url","MemoizedGallery","Gallery","propAdditionalTouchableProps","propAlignment","propGroupStyles","propImages","propOnLongPress","propOnPress","propOnPressIn","propPreventPress","propSetImage","propSetOverlay","propThreadList","contextSetImage","contextAlignment","contextGroupStyles","contextImages","contextOnLongPress","contextOnPress","contextOnPressIn","contextPreventPress","contextThreadList","contextAdditionalTouchableProps","contextSetOverlay","channelId","cid","reply_count","displayName"],"mappings":"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","sourcesContent":["import React, { useMemo } from 'react';\nimport { Image, ImageProps, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport { buildGallery } from './utils/buildGallery/buildGallery';\n\nimport { getGalleryImageBorderRadius } from './utils/getGalleryImageBorderRadius';\n\nimport type { MessageType } from '../../components/MessageList/hooks/useMessageList';\nimport {\n ImageGalleryContextValue,\n useImageGalleryContext,\n} from '../../contexts/imageGalleryContext/ImageGalleryContext';\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\nimport { getUrlWithoutParams, makeImageCompatibleUrl } from '../../utils/utils';\n\nconst GalleryImage: React.FC<\n Omit<ImageProps, 'height' | 'source'> & {\n uri: string;\n }\n> = (props) => {\n const { uri, ...rest } = props;\n\n return (\n <Image\n {...rest}\n source={{\n uri: makeImageCompatibleUrl(uri),\n }}\n testID='image-attachment-single'\n />\n );\n};\n\nconst MemoizedGalleryImage = React.memo(\n GalleryImage,\n (prevProps, nextProps) =>\n getUrlWithoutParams(prevProps.uri) === getUrlWithoutParams(nextProps.uri),\n) as typeof GalleryImage;\n\nconst styles = StyleSheet.create({\n flex: { flex: 1 },\n galleryContainer: {\n borderTopLeftRadius: 13,\n borderTopRightRadius: 13,\n flexDirection: 'row',\n flexWrap: 'wrap',\n overflow: 'hidden',\n },\n imageContainer: { padding: 1 },\n moreImagesContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n margin: 1,\n },\n moreImagesText: { color: '#FFFFFF', fontSize: 26, fontWeight: '700' },\n});\n\nexport type GalleryPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<ImageGalleryContextValue, 'setImage' | 'setImages'> &\n Pick<\n MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n | 'alignment'\n | 'groupStyles'\n | 'images'\n | 'onLongPress'\n | 'onPress'\n | 'onPressIn'\n | 'preventPress'\n | 'threadList'\n > &\n Pick<\n MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'additionalTouchableProps' | 'legacyImageViewerSwipeBehaviour'\n > &\n Pick<OverlayContextValue, 'setOverlay'> & {\n channelId: string | undefined;\n hasThreadReplies?: boolean;\n /**\n * `message` prop has been introduced here as part of `legacyImageViewerSwipeBehaviour` prop.\n * https://github.com/GetStream/stream-chat-react-native/commit/d5eac6193047916f140efe8e396a671675c9a63f\n * messageId and messageText may seem redundant now, but to avoid breaking change as part\n * of minor release, we are keeping those props.\n *\n * Also `message` type should ideally be imported from MessageContextValue and not be explicitely mentioned\n * here, but due to some circular dependencies within the SDK, it causes \"exccesive deep nesting\" issue with\n * typescript within Channel component. We should take it as a mini-project and resolve all these circular imports.\n *\n * TODO: Fix circular dependencies of imports\n */\n message?: MessageType<At, Ch, Co, Ev, Me, Re, Us>;\n };\n\nconst GalleryWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: GalleryPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n additionalTouchableProps,\n alignment,\n groupStyles,\n hasThreadReplies,\n images,\n legacyImageViewerSwipeBehaviour,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setImage,\n setImages,\n setOverlay,\n threadList,\n } = props;\n\n const {\n theme: {\n colors: { overlay },\n messageSimple: {\n gallery: {\n galleryContainer,\n galleryItemColumn,\n gridHeight,\n gridWidth,\n image,\n imageContainer,\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n moreImagesContainer,\n moreImagesText,\n },\n },\n },\n } = useTheme();\n\n const sizeConfig = {\n gridHeight,\n gridWidth,\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n };\n\n const { height, invertedDirections, thumbnailGrid, width } = useMemo(\n () =>\n buildGallery({\n images,\n sizeConfig,\n }),\n [images.length],\n );\n\n if (!images?.length) return null;\n const messageText = message?.text;\n const messageId = message?.id;\n const numOfColumns = thumbnailGrid.length;\n\n return (\n <View\n style={[\n styles.galleryContainer,\n {\n height,\n width,\n },\n galleryContainer,\n {\n flexDirection: invertedDirections ? 'column' : 'row',\n },\n ]}\n testID='gallery-container'\n >\n {thumbnailGrid.map((rows, colIndex) => {\n const numOfRows = rows.length;\n return (\n <View\n key={`gallery-${invertedDirections ? 'row' : 'column'}-${colIndex}`}\n style={[\n {\n flexDirection: invertedDirections ? 'row' : 'column',\n },\n galleryItemColumn,\n ]}\n testID={`gallery-${invertedDirections ? 'row' : 'column'}-${colIndex}`}\n >\n {rows.map(({ height, resizeMode, url, width }, rowIndex) => {\n const defaultOnPress = () => {\n // Added if-else to keep the logic readable, instead of DRY.\n // if - legacyImageViewerSwipeBehaviour is disabled\n // else - legacyImageViewerSwipeBehaviour is enabled\n if (!legacyImageViewerSwipeBehaviour && message) {\n setImages([message]);\n setImage({ messageId: message.id, url });\n setOverlay('gallery');\n } else if (legacyImageViewerSwipeBehaviour) {\n setImage({ messageId: message?.id, url });\n setOverlay('gallery');\n }\n };\n return (\n <TouchableOpacity\n activeOpacity={0.8}\n disabled={preventPress}\n key={`gallery-item-${messageId}/${colIndex}/${rowIndex}/${images.length}`}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'gallery',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: defaultOnPress,\n emitter: 'gallery',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n defaultHandler: defaultOnPress,\n emitter: 'gallery',\n event,\n });\n }\n }}\n style={[\n styles.imageContainer,\n {\n height,\n width,\n },\n imageContainer,\n ]}\n testID={`gallery-${\n invertedDirections ? 'row' : 'column'\n }-${colIndex}-item-${rowIndex}`}\n {...additionalTouchableProps}\n >\n <MemoizedGalleryImage\n resizeMode={resizeMode}\n style={[\n getGalleryImageBorderRadius({\n alignment,\n colIndex,\n groupStyles,\n hasThreadReplies,\n height,\n invertedDirections,\n messageText,\n numOfColumns,\n numOfRows,\n rowIndex,\n sizeConfig,\n threadList,\n width,\n }),\n image,\n {\n height: height - 1,\n width: width - 1,\n },\n ]}\n uri={url}\n />\n {colIndex === numOfColumns - 1 &&\n rowIndex === numOfRows - 1 &&\n images.length > 4 ? (\n <View\n style={[\n StyleSheet.absoluteFillObject,\n styles.moreImagesContainer,\n { backgroundColor: overlay },\n moreImagesContainer,\n ]}\n >\n <Text style={[styles.moreImagesText, moreImagesText]}>\n {`+${images.length - 4}`}\n </Text>\n </View>\n ) : null}\n </TouchableOpacity>\n );\n })}\n </View>\n );\n })}\n </View>\n );\n};\n\nconst areEqual = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n prevProps: GalleryPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: GalleryPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n groupStyles: prevGroupStyles,\n hasThreadReplies: prevHasThreadReplies,\n images: prevImages,\n message: prevMessage,\n } = prevProps;\n const {\n groupStyles: nextGroupStyles,\n hasThreadReplies: nextHasThreadReplies,\n images: nextImages,\n message: nextMessage,\n } = nextProps;\n\n const messageEqual = prevMessage?.id === nextMessage?.id;\n if (!messageEqual) return false;\n\n const groupStylesEqual =\n prevGroupStyles.length === nextGroupStyles.length && prevGroupStyles[0] === nextGroupStyles[0];\n if (!groupStylesEqual) return false;\n\n const hasThreadRepliesEqual = prevHasThreadReplies === nextHasThreadReplies;\n if (!hasThreadRepliesEqual) return false;\n\n const imagesEqual =\n prevImages.length === nextImages.length &&\n prevImages.every(\n (image, index) =>\n getUrlWithoutParams(image.image_url) === getUrlWithoutParams(nextImages[index].image_url) &&\n getUrlWithoutParams(image.thumb_url) === getUrlWithoutParams(nextImages[index].thumb_url),\n );\n if (!imagesEqual) return false;\n\n return true;\n};\n\nconst MemoizedGallery = React.memo(GalleryWithContext, areEqual) as typeof GalleryWithContext;\n\nexport type GalleryProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<GalleryPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>>;\n\n/**\n * UI component for card in attachments.\n */\nexport const Gallery = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: GalleryProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n additionalTouchableProps: propAdditionalTouchableProps,\n alignment: propAlignment,\n groupStyles: propGroupStyles,\n hasThreadReplies,\n images: propImages,\n onLongPress: propOnLongPress,\n onPress: propOnPress,\n onPressIn: propOnPressIn,\n preventPress: propPreventPress,\n setImage: propSetImage,\n setOverlay: propSetOverlay,\n threadList: propThreadList,\n } = props;\n\n const { setImage: contextSetImage, setImages } = useImageGalleryContext();\n const {\n alignment: contextAlignment,\n groupStyles: contextGroupStyles,\n images: contextImages,\n message,\n onLongPress: contextOnLongPress,\n onPress: contextOnPress,\n onPressIn: contextOnPressIn,\n preventPress: contextPreventPress,\n threadList: contextThreadList,\n } = useMessageContext<At, Ch, Co, Ev, Me, Re, Us>();\n const {\n additionalTouchableProps: contextAdditionalTouchableProps,\n legacyImageViewerSwipeBehaviour,\n } = useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { setOverlay: contextSetOverlay } = useOverlayContext();\n\n const images = propImages || contextImages;\n\n if (!images.length) return null;\n\n const additionalTouchableProps = propAdditionalTouchableProps || contextAdditionalTouchableProps;\n const alignment = propAlignment || contextAlignment;\n const groupStyles = propGroupStyles || contextGroupStyles;\n const onLongPress = propOnLongPress || contextOnLongPress;\n const onPressIn = propOnPressIn || contextOnPressIn;\n const onPress = propOnPress || contextOnPress;\n const preventPress =\n typeof propPreventPress === 'boolean' ? propPreventPress : contextPreventPress;\n const setImage = propSetImage || contextSetImage;\n const setOverlay = propSetOverlay || contextSetOverlay;\n const threadList = propThreadList || contextThreadList;\n\n return (\n <MemoizedGallery\n {...{\n additionalTouchableProps,\n alignment,\n channelId: message?.cid,\n groupStyles,\n hasThreadReplies: hasThreadReplies || !!message?.reply_count,\n images,\n legacyImageViewerSwipeBehaviour,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setImage,\n setImages,\n setOverlay,\n threadList,\n }}\n />\n );\n};\n\nGallery.displayName = 'Gallery{messageSimple{gallery}}';\n"]}
1
+ {"version":3,"sources":["Gallery.tsx"],"names":["GalleryImage","props","uri","rest","MemoizedGalleryImage","React","memo","prevProps","nextProps","styles","StyleSheet","create","flex","galleryContainer","borderTopLeftRadius","borderTopRightRadius","flexDirection","flexWrap","overflow","imageContainer","padding","moreImagesContainer","alignItems","justifyContent","margin","moreImagesText","color","fontSize","fontWeight","GalleryWithContext","additionalTouchableProps","alignment","groupStyles","hasThreadReplies","images","legacyImageViewerSwipeBehaviour","message","onLongPress","onPress","onPressIn","preventPress","setImage","setImages","setOverlay","threadList","theme","overlay","colors","messageSimple","gallery","galleryItemColumn","gridHeight","gridWidth","image","maxHeight","maxWidth","minHeight","minWidth","sizeConfig","length","height","invertedDirections","thumbnailGrid","width","messageText","text","messageId","id","numOfColumns","map","rows","colIndex","numOfRows","rowIndex","resizeMode","url","defaultOnPress","event","emitter","defaultHandler","absoluteFillObject","backgroundColor","areEqual","prevGroupStyles","prevHasThreadReplies","prevImages","prevMessage","nextGroupStyles","nextHasThreadReplies","nextImages","nextMessage","messageEqual","groupStylesEqual","hasThreadRepliesEqual","imagesEqual","every","index","image_url","thumb_url","MemoizedGallery","Gallery","propAdditionalTouchableProps","propAlignment","propGroupStyles","propImages","propOnLongPress","propOnPress","propOnPressIn","propPreventPress","propSetImage","propSetOverlay","propThreadList","contextSetImage","contextAlignment","contextGroupStyles","contextImages","contextOnLongPress","contextOnPress","contextOnPressIn","contextPreventPress","contextThreadList","contextAdditionalTouchableProps","contextSetOverlay","channelId","cid","reply_count","displayName"],"mappings":"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","sourcesContent":["import React, { useMemo } from 'react';\nimport { Image, ImageProps, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport { buildGallery } from './utils/buildGallery/buildGallery';\n\nimport { getGalleryImageBorderRadius } from './utils/getGalleryImageBorderRadius';\n\nimport type { MessageType } from '../../components/MessageList/hooks/useMessageList';\nimport {\n ImageGalleryContextValue,\n useImageGalleryContext,\n} from '../../contexts/imageGalleryContext/ImageGalleryContext';\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { getUrlWithoutParams, makeImageCompatibleUrl } from '../../utils/utils';\n\nconst GalleryImage: React.FC<\n Omit<ImageProps, 'height' | 'source'> & {\n uri: string;\n }\n> = (props) => {\n const { uri, ...rest } = props;\n\n return (\n <Image\n {...rest}\n source={{\n uri: makeImageCompatibleUrl(uri),\n }}\n testID='image-attachment-single'\n />\n );\n};\n\nconst MemoizedGalleryImage = React.memo(\n GalleryImage,\n (prevProps, nextProps) =>\n getUrlWithoutParams(prevProps.uri) === getUrlWithoutParams(nextProps.uri),\n) as typeof GalleryImage;\n\nconst styles = StyleSheet.create({\n flex: { flex: 1 },\n galleryContainer: {\n borderTopLeftRadius: 13,\n borderTopRightRadius: 13,\n flexDirection: 'row',\n flexWrap: 'wrap',\n overflow: 'hidden',\n },\n imageContainer: { padding: 1 },\n moreImagesContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n margin: 1,\n },\n moreImagesText: { color: '#FFFFFF', fontSize: 26, fontWeight: '700' },\n});\n\nexport type GalleryPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ImageGalleryContextValue<StreamChatGenerics>, 'setImage' | 'setImages'> &\n Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'alignment'\n | 'groupStyles'\n | 'images'\n | 'onLongPress'\n | 'onPress'\n | 'onPressIn'\n | 'preventPress'\n | 'threadList'\n > &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n 'additionalTouchableProps' | 'legacyImageViewerSwipeBehaviour'\n > &\n Pick<OverlayContextValue, 'setOverlay'> & {\n channelId: string | undefined;\n hasThreadReplies?: boolean;\n /**\n * `message` prop has been introduced here as part of `legacyImageViewerSwipeBehaviour` prop.\n * https://github.com/GetStream/stream-chat-react-native/commit/d5eac6193047916f140efe8e396a671675c9a63f\n * messageId and messageText may seem redundant now, but to avoid breaking change as part\n * of minor release, we are keeping those props.\n *\n * Also `message` type should ideally be imported from MessageContextValue and not be explicitely mentioned\n * here, but due to some circular dependencies within the SDK, it causes \"exccesive deep nesting\" issue with\n * typescript within Channel component. We should take it as a mini-project and resolve all these circular imports.\n *\n * TODO: Fix circular dependencies of imports\n */\n message?: MessageType<StreamChatGenerics>;\n };\n\nconst GalleryWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GalleryPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n alignment,\n groupStyles,\n hasThreadReplies,\n images,\n legacyImageViewerSwipeBehaviour,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setImage,\n setImages,\n setOverlay,\n threadList,\n } = props;\n\n const {\n theme: {\n colors: { overlay },\n messageSimple: {\n gallery: {\n galleryContainer,\n galleryItemColumn,\n gridHeight,\n gridWidth,\n image,\n imageContainer,\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n moreImagesContainer,\n moreImagesText,\n },\n },\n },\n } = useTheme();\n\n const sizeConfig = {\n gridHeight,\n gridWidth,\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n };\n\n const { height, invertedDirections, thumbnailGrid, width } = useMemo(\n () =>\n buildGallery({\n images,\n sizeConfig,\n }),\n [images.length],\n );\n\n if (!images?.length) return null;\n const messageText = message?.text;\n const messageId = message?.id;\n const numOfColumns = thumbnailGrid.length;\n\n return (\n <View\n style={[\n styles.galleryContainer,\n {\n height,\n width,\n },\n galleryContainer,\n {\n flexDirection: invertedDirections ? 'column' : 'row',\n },\n ]}\n testID='gallery-container'\n >\n {thumbnailGrid.map((rows, colIndex) => {\n const numOfRows = rows.length;\n return (\n <View\n key={`gallery-${invertedDirections ? 'row' : 'column'}-${colIndex}`}\n style={[\n {\n flexDirection: invertedDirections ? 'row' : 'column',\n },\n galleryItemColumn,\n ]}\n testID={`gallery-${invertedDirections ? 'row' : 'column'}-${colIndex}`}\n >\n {rows.map(({ height, resizeMode, url, width }, rowIndex) => {\n const defaultOnPress = () => {\n // Added if-else to keep the logic readable, instead of DRY.\n // if - legacyImageViewerSwipeBehaviour is disabled\n // else - legacyImageViewerSwipeBehaviour is enabled\n if (!legacyImageViewerSwipeBehaviour && message) {\n setImages([message]);\n setImage({ messageId: message.id, url });\n setOverlay('gallery');\n } else if (legacyImageViewerSwipeBehaviour) {\n setImage({ messageId: message?.id, url });\n setOverlay('gallery');\n }\n };\n return (\n <TouchableOpacity\n activeOpacity={0.8}\n disabled={preventPress}\n key={`gallery-item-${messageId}/${colIndex}/${rowIndex}/${images.length}`}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'gallery',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: defaultOnPress,\n emitter: 'gallery',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n defaultHandler: defaultOnPress,\n emitter: 'gallery',\n event,\n });\n }\n }}\n style={[\n styles.imageContainer,\n {\n height,\n width,\n },\n imageContainer,\n ]}\n testID={`gallery-${\n invertedDirections ? 'row' : 'column'\n }-${colIndex}-item-${rowIndex}`}\n {...additionalTouchableProps}\n >\n <MemoizedGalleryImage\n resizeMode={resizeMode}\n style={[\n getGalleryImageBorderRadius({\n alignment,\n colIndex,\n groupStyles,\n hasThreadReplies,\n height,\n invertedDirections,\n messageText,\n numOfColumns,\n numOfRows,\n rowIndex,\n sizeConfig,\n threadList,\n width,\n }),\n image,\n {\n height: height - 1,\n width: width - 1,\n },\n ]}\n uri={url}\n />\n {colIndex === numOfColumns - 1 &&\n rowIndex === numOfRows - 1 &&\n images.length > 4 ? (\n <View\n style={[\n StyleSheet.absoluteFillObject,\n styles.moreImagesContainer,\n { backgroundColor: overlay },\n moreImagesContainer,\n ]}\n >\n <Text style={[styles.moreImagesText, moreImagesText]}>\n {`+${images.length - 4}`}\n </Text>\n </View>\n ) : null}\n </TouchableOpacity>\n );\n })}\n </View>\n );\n })}\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: GalleryPropsWithContext<StreamChatGenerics>,\n nextProps: GalleryPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n groupStyles: prevGroupStyles,\n hasThreadReplies: prevHasThreadReplies,\n images: prevImages,\n message: prevMessage,\n } = prevProps;\n const {\n groupStyles: nextGroupStyles,\n hasThreadReplies: nextHasThreadReplies,\n images: nextImages,\n message: nextMessage,\n } = nextProps;\n\n const messageEqual = prevMessage?.id === nextMessage?.id;\n if (!messageEqual) return false;\n\n const groupStylesEqual =\n prevGroupStyles.length === nextGroupStyles.length && prevGroupStyles[0] === nextGroupStyles[0];\n if (!groupStylesEqual) return false;\n\n const hasThreadRepliesEqual = prevHasThreadReplies === nextHasThreadReplies;\n if (!hasThreadRepliesEqual) return false;\n\n const imagesEqual =\n prevImages.length === nextImages.length &&\n prevImages.every(\n (image, index) =>\n getUrlWithoutParams(image.image_url) === getUrlWithoutParams(nextImages[index].image_url) &&\n getUrlWithoutParams(image.thumb_url) === getUrlWithoutParams(nextImages[index].thumb_url),\n );\n if (!imagesEqual) return false;\n\n return true;\n};\n\nconst MemoizedGallery = React.memo(GalleryWithContext, areEqual) as typeof GalleryWithContext;\n\nexport type GalleryProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<GalleryPropsWithContext<StreamChatGenerics>>;\n\n/**\n * UI component for card in attachments.\n */\nexport const Gallery = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GalleryProps<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps: propAdditionalTouchableProps,\n alignment: propAlignment,\n groupStyles: propGroupStyles,\n hasThreadReplies,\n images: propImages,\n onLongPress: propOnLongPress,\n onPress: propOnPress,\n onPressIn: propOnPressIn,\n preventPress: propPreventPress,\n setImage: propSetImage,\n setOverlay: propSetOverlay,\n threadList: propThreadList,\n } = props;\n\n const { setImage: contextSetImage, setImages } = useImageGalleryContext<StreamChatGenerics>();\n const {\n alignment: contextAlignment,\n groupStyles: contextGroupStyles,\n images: contextImages,\n message,\n onLongPress: contextOnLongPress,\n onPress: contextOnPress,\n onPressIn: contextOnPressIn,\n preventPress: contextPreventPress,\n threadList: contextThreadList,\n } = useMessageContext<StreamChatGenerics>();\n const {\n additionalTouchableProps: contextAdditionalTouchableProps,\n legacyImageViewerSwipeBehaviour,\n } = useMessagesContext<StreamChatGenerics>();\n const { setOverlay: contextSetOverlay } = useOverlayContext();\n\n const images = propImages || contextImages;\n\n if (!images.length) return null;\n\n const additionalTouchableProps = propAdditionalTouchableProps || contextAdditionalTouchableProps;\n const alignment = propAlignment || contextAlignment;\n const groupStyles = propGroupStyles || contextGroupStyles;\n const onLongPress = propOnLongPress || contextOnLongPress;\n const onPressIn = propOnPressIn || contextOnPressIn;\n const onPress = propOnPress || contextOnPress;\n const preventPress =\n typeof propPreventPress === 'boolean' ? propPreventPress : contextPreventPress;\n const setImage = propSetImage || contextSetImage;\n const setOverlay = propSetOverlay || contextSetOverlay;\n const threadList = propThreadList || contextThreadList;\n\n return (\n <MemoizedGallery\n {...{\n additionalTouchableProps,\n alignment,\n channelId: message?.cid,\n groupStyles,\n hasThreadReplies: hasThreadReplies || !!message?.reply_count,\n images,\n legacyImageViewerSwipeBehaviour,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setImage,\n setImages,\n setOverlay,\n threadList,\n }}\n />\n );\n};\n\nGallery.displayName = 'Gallery{messageSimple{gallery}}';\n"]}
@@ -159,7 +159,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
159
159
  __self: _this,
160
160
  __source: {
161
161
  fileName: _jsxFileName,
162
- lineNumber: 171,
162
+ lineNumber: 150,
163
163
  columnNumber: 5
164
164
  }
165
165
  }, _react["default"].createElement(_reactNative.View, {
@@ -167,14 +167,14 @@ var GiphyWithContext = function GiphyWithContext(props) {
167
167
  __self: _this,
168
168
  __source: {
169
169
  fileName: _jsxFileName,
170
- lineNumber: 178,
170
+ lineNumber: 157,
171
171
  columnNumber: 7
172
172
  }
173
173
  }, _react["default"].createElement(_icons.GiphyIcon, {
174
174
  __self: _this,
175
175
  __source: {
176
176
  fileName: _jsxFileName,
177
- lineNumber: 179,
177
+ lineNumber: 158,
178
178
  columnNumber: 9
179
179
  }
180
180
  }), _react["default"].createElement(_reactNative.Text, {
@@ -182,7 +182,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
182
182
  __self: _this,
183
183
  __source: {
184
184
  fileName: _jsxFileName,
185
- lineNumber: 180,
185
+ lineNumber: 159,
186
186
  columnNumber: 9
187
187
  }
188
188
  }, "Giphy"), _react["default"].createElement(_reactNative.Text, {
@@ -192,7 +192,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
192
192
  __self: _this,
193
193
  __source: {
194
194
  fileName: _jsxFileName,
195
- lineNumber: 181,
195
+ lineNumber: 160,
196
196
  columnNumber: 9
197
197
  }
198
198
  }, "/giphy " + title)), _react["default"].createElement(_reactNative.View, {
@@ -200,7 +200,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
200
200
  __self: _this,
201
201
  __source: {
202
202
  fileName: _jsxFileName,
203
- lineNumber: 185,
203
+ lineNumber: 164,
204
204
  columnNumber: 7
205
205
  }
206
206
  }, _react["default"].createElement(_reactNative.Image, {
@@ -212,14 +212,14 @@ var GiphyWithContext = function GiphyWithContext(props) {
212
212
  __self: _this,
213
213
  __source: {
214
214
  fileName: _jsxFileName,
215
- lineNumber: 186,
215
+ lineNumber: 165,
216
216
  columnNumber: 9
217
217
  }
218
218
  })), _react["default"].createElement(_reactNative.View, {
219
219
  __self: _this,
220
220
  __source: {
221
221
  fileName: _jsxFileName,
222
- lineNumber: 192,
222
+ lineNumber: 171,
223
223
  columnNumber: 7
224
224
  }
225
225
  }, _react["default"].createElement(_reactNative.View, {
@@ -227,7 +227,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
227
227
  __self: _this,
228
228
  __source: {
229
229
  fileName: _jsxFileName,
230
- lineNumber: 193,
230
+ lineNumber: 172,
231
231
  columnNumber: 9
232
232
  }
233
233
  }, _react["default"].createElement(_reactNative.TouchableOpacity, {
@@ -243,7 +243,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
243
243
  __self: _this,
244
244
  __source: {
245
245
  fileName: _jsxFileName,
246
- lineNumber: 194,
246
+ lineNumber: 173,
247
247
  columnNumber: 11
248
248
  }
249
249
  }, _react["default"].createElement(_reactNative.Text, {
@@ -253,7 +253,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
253
253
  __self: _this,
254
254
  __source: {
255
255
  fileName: _jsxFileName,
256
- lineNumber: 206,
256
+ lineNumber: 185,
257
257
  columnNumber: 13
258
258
  }
259
259
  }, actions == null ? void 0 : actions[2].text)), _react["default"].createElement(_reactNative.TouchableOpacity, {
@@ -269,7 +269,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
269
269
  __self: _this,
270
270
  __source: {
271
271
  fileName: _jsxFileName,
272
- lineNumber: 208,
272
+ lineNumber: 187,
273
273
  columnNumber: 11
274
274
  }
275
275
  }, _react["default"].createElement(_reactNative.Text, {
@@ -279,7 +279,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
279
279
  __self: _this,
280
280
  __source: {
281
281
  fileName: _jsxFileName,
282
- lineNumber: 220,
282
+ lineNumber: 199,
283
283
  columnNumber: 13
284
284
  }
285
285
  }, actions == null ? void 0 : actions[1].text)), _react["default"].createElement(_reactNative.TouchableOpacity, {
@@ -294,7 +294,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
294
294
  __self: _this,
295
295
  __source: {
296
296
  fileName: _jsxFileName,
297
- lineNumber: 222,
297
+ lineNumber: 201,
298
298
  columnNumber: 11
299
299
  }
300
300
  }, _react["default"].createElement(_reactNative.Text, {
@@ -304,7 +304,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
304
304
  __self: _this,
305
305
  __source: {
306
306
  fileName: _jsxFileName,
307
- lineNumber: 230,
307
+ lineNumber: 209,
308
308
  columnNumber: 13
309
309
  }
310
310
  }, actions == null ? void 0 : actions[0].text))))) : _react["default"].createElement(_reactNative.TouchableOpacity, (0, _extends2["default"])({
@@ -339,14 +339,14 @@ var GiphyWithContext = function GiphyWithContext(props) {
339
339
  __self: _this,
340
340
  __source: {
341
341
  fileName: _jsxFileName,
342
- lineNumber: 236,
342
+ lineNumber: 215,
343
343
  columnNumber: 5
344
344
  }
345
345
  }), _react["default"].createElement(_reactNative.View, {
346
346
  __self: _this,
347
347
  __source: {
348
348
  fileName: _jsxFileName,
349
- lineNumber: 266,
349
+ lineNumber: 245,
350
350
  columnNumber: 7
351
351
  }
352
352
  }, _react["default"].createElement(_reactNative.Image, {
@@ -358,7 +358,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
358
358
  __self: _this,
359
359
  __source: {
360
360
  fileName: _jsxFileName,
361
- lineNumber: 267,
361
+ lineNumber: 246,
362
362
  columnNumber: 9
363
363
  }
364
364
  }), _react["default"].createElement(_reactNative.View, {
@@ -366,7 +366,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
366
366
  __self: _this,
367
367
  __source: {
368
368
  fileName: _jsxFileName,
369
- lineNumber: 272,
369
+ lineNumber: 251,
370
370
  columnNumber: 9
371
371
  }
372
372
  }, _react["default"].createElement(_reactNative.View, {
@@ -376,7 +376,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
376
376
  __self: _this,
377
377
  __source: {
378
378
  fileName: _jsxFileName,
379
- lineNumber: 273,
379
+ lineNumber: 252,
380
380
  columnNumber: 11
381
381
  }
382
382
  }, _react["default"].createElement(_Lightning.Lightning, {
@@ -386,7 +386,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
386
386
  __self: _this,
387
387
  __source: {
388
388
  fileName: _jsxFileName,
389
- lineNumber: 274,
389
+ lineNumber: 253,
390
390
  columnNumber: 13
391
391
  }
392
392
  }), _react["default"].createElement(_reactNative.Text, {
@@ -396,7 +396,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
396
396
  __self: _this,
397
397
  __source: {
398
398
  fileName: _jsxFileName,
399
- lineNumber: 275,
399
+ lineNumber: 254,
400
400
  columnNumber: 13
401
401
  }
402
402
  }, type == null ? void 0 : type.toUpperCase())))));
@@ -444,7 +444,7 @@ var Giphy = function Giphy(props) {
444
444
  __self: _this,
445
445
  __source: {
446
446
  fileName: _jsxFileName,
447
- lineNumber: 357,
447
+ lineNumber: 316,
448
448
  columnNumber: 5
449
449
  }
450
450
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["Giphy.tsx"],"names":["styles","StyleSheet","create","buttonContainer","alignItems","borderTopWidth","flex","justifyContent","cancel","fontSize","fontWeight","paddingVertical","container","overflow","width","giphy","borderRadius","height","giphyContainer","flexDirection","giphyHeaderText","giphyHeaderTitle","giphyMask","bottom","left","position","giphyMaskText","header","display","padding","margin","row","selectionContainer","borderBottomLeftRadius","borderWidth","send","shuffle","shuffleButton","GiphyWithContext","props","additionalTouchableProps","attachment","handleAction","onLongPress","onPress","onPressIn","preventPress","actions","image_url","thumb_url","title","type","theme","colors","accent_blue","black","grey","grey_dark","grey_gainsboro","white","messageSimple","uri","backgroundColor","borderColor","color","name","value","borderRightWidth","text","event","emitter","toUpperCase","areEqual","prevProps","nextProps","prevActions","prevImageUrl","prevThumbUrl","nextActions","nextImageUrl","nextThumbUrl","imageUrlEqual","thumbUrlEqual","actionsEqual","Array","isArray","length","MemoizedGiphy","React","memo","Giphy","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Image, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { GiphyIcon } from '../../icons';\nimport { Lightning } from '../../icons/Lightning';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\nimport { makeImageCompatibleUrl } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n buttonContainer: { alignItems: 'center', borderTopWidth: 1, flex: 1, justifyContent: 'center' },\n cancel: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n container: {\n overflow: 'hidden',\n width: 270,\n },\n giphy: {\n borderRadius: 2,\n height: 170,\n width: 270,\n },\n giphyContainer: {\n alignItems: 'center',\n borderRadius: 12,\n flexDirection: 'row',\n height: 24,\n justifyContent: 'center',\n width: 68,\n },\n giphyHeaderText: {\n fontSize: 16,\n fontWeight: '600',\n },\n giphyHeaderTitle: {\n fontSize: 14,\n },\n giphyMask: {\n bottom: 8,\n left: 8,\n position: 'absolute',\n },\n giphyMaskText: { fontSize: 13, fontWeight: '600' },\n header: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n padding: 8,\n width: '60%',\n },\n margin: {\n margin: 1,\n },\n row: { flexDirection: 'row' },\n selectionContainer: {\n borderBottomLeftRadius: 8,\n borderWidth: 1,\n overflow: 'hidden',\n width: 272,\n },\n send: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n shuffle: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n shuffleButton: {\n alignItems: 'center',\n borderRadius: 16,\n borderWidth: 1,\n height: 32,\n justifyContent: 'center',\n width: 32,\n },\n});\n\nexport type GiphyPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<\n MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'handleAction' | 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'\n> &\n Pick<MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'additionalTouchableProps'> & {\n attachment: Attachment<At>;\n };\n\nconst GiphyWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: GiphyPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n additionalTouchableProps,\n attachment,\n handleAction,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n } = props;\n\n const { actions, image_url, thumb_url, title, type } = attachment;\n\n const {\n theme: {\n colors: { accent_blue, black, grey, grey_dark, grey_gainsboro, white },\n messageSimple: {\n giphy: {\n buttonContainer,\n cancel,\n container,\n giphy,\n giphyContainer,\n giphyHeaderText,\n giphyHeaderTitle,\n giphyMask,\n giphyMaskText,\n header,\n selectionContainer,\n send,\n shuffle,\n },\n },\n },\n } = useTheme();\n\n const uri = image_url || thumb_url;\n\n if (!uri) return null;\n\n return actions ? (\n <View\n style={[\n styles.selectionContainer,\n { backgroundColor: white, borderColor: `${black}0D` },\n selectionContainer,\n ]}\n >\n <View style={[styles.header, header]}>\n <GiphyIcon />\n <Text style={[styles.giphyHeaderText, giphyHeaderText]}>Giphy</Text>\n <Text\n style={[styles.giphyHeaderTitle, giphyHeaderTitle, { color: grey_dark }]}\n >{`/giphy ${title}`}</Text>\n </View>\n <View style={styles.margin}>\n <Image\n resizeMode='cover'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.giphy, giphy]}\n />\n </View>\n <View>\n <View style={styles.row}>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[2].name && actions?.[2].value && handleAction) {\n handleAction(actions[2].name, actions[2].value);\n }\n }}\n style={[\n styles.buttonContainer,\n { borderColor: grey_gainsboro, borderRightWidth: 1 },\n buttonContainer,\n ]}\n >\n <Text style={[styles.cancel, { color: grey }, cancel]}>{actions?.[2].text}</Text>\n </TouchableOpacity>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[1].name && actions?.[1].value && handleAction) {\n handleAction(actions[1].name, actions[1].value);\n }\n }}\n style={[\n styles.buttonContainer,\n { borderColor: grey_gainsboro, borderRightWidth: 1 },\n buttonContainer,\n ]}\n >\n <Text style={[styles.shuffle, { color: grey }, shuffle]}>{actions?.[1].text}</Text>\n </TouchableOpacity>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[0].name && actions?.[0].value && handleAction) {\n handleAction(actions[0].name, actions[0].value);\n }\n }}\n style={[styles.buttonContainer, { borderColor: grey_gainsboro }, buttonContainer]}\n >\n <Text style={[styles.send, { color: accent_blue }, send]}>{actions?.[0].text}</Text>\n </TouchableOpacity>\n </View>\n </View>\n </View>\n ) : (\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'giphy',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n emitter: 'giphy',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n emitter: 'giphy',\n event,\n });\n }\n }}\n style={[styles.container, container]}\n testID='giphy-attachment'\n {...additionalTouchableProps}\n >\n <View>\n <Image\n resizeMode='cover'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.giphy, giphy]}\n />\n <View style={[styles.giphyMask, giphyMask]}>\n <View style={[styles.giphyContainer, { backgroundColor: grey_dark }, giphyContainer]}>\n <Lightning height={16} pathFill={white} width={16} />\n <Text style={[styles.giphyMaskText, { color: white }, giphyMaskText]}>\n {type?.toUpperCase()}\n </Text>\n </View>\n </View>\n </View>\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n prevProps: GiphyPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: GiphyPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n attachment: { actions: prevActions, image_url: prevImageUrl, thumb_url: prevThumbUrl },\n } = prevProps;\n const {\n attachment: { actions: nextActions, image_url: nextImageUrl, thumb_url: nextThumbUrl },\n } = nextProps;\n\n const imageUrlEqual = prevImageUrl === nextImageUrl;\n if (!imageUrlEqual) return false;\n\n const thumbUrlEqual = prevThumbUrl === nextThumbUrl;\n if (!thumbUrlEqual) return false;\n\n const actionsEqual =\n Array.isArray(prevActions) === Array.isArray(nextActions) &&\n ((Array.isArray(prevActions) &&\n Array.isArray(nextActions) &&\n prevActions.length === nextActions.length) ||\n prevActions === nextActions);\n if (!actionsEqual) return false;\n\n return true;\n};\n\nconst MemoizedGiphy = React.memo(GiphyWithContext, areEqual) as typeof GiphyWithContext;\n\nexport type GiphyProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<\n Pick<MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'onLongPress' | 'onPressIn'> &\n Pick<MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'additionalTouchableProps'>\n> & {\n attachment: Attachment<At>;\n};\n\n/**\n * UI component for card in attachments.\n */\nexport const Giphy = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: GiphyProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { handleAction, onLongPress, onPress, onPressIn, preventPress } =\n useMessageContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { additionalTouchableProps } = useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return (\n <MemoizedGiphy\n {...{\n additionalTouchableProps,\n handleAction,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n }}\n {...props}\n />\n );\n};\n\nGiphy.displayName = 'Giphy{messageSimple{giphy}}';\n"]}
1
+ {"version":3,"sources":["Giphy.tsx"],"names":["styles","StyleSheet","create","buttonContainer","alignItems","borderTopWidth","flex","justifyContent","cancel","fontSize","fontWeight","paddingVertical","container","overflow","width","giphy","borderRadius","height","giphyContainer","flexDirection","giphyHeaderText","giphyHeaderTitle","giphyMask","bottom","left","position","giphyMaskText","header","display","padding","margin","row","selectionContainer","borderBottomLeftRadius","borderWidth","send","shuffle","shuffleButton","GiphyWithContext","props","additionalTouchableProps","attachment","handleAction","onLongPress","onPress","onPressIn","preventPress","actions","image_url","thumb_url","title","type","theme","colors","accent_blue","black","grey","grey_dark","grey_gainsboro","white","messageSimple","uri","backgroundColor","borderColor","color","name","value","borderRightWidth","text","event","emitter","toUpperCase","areEqual","prevProps","nextProps","prevActions","prevImageUrl","prevThumbUrl","nextActions","nextImageUrl","nextThumbUrl","imageUrlEqual","thumbUrlEqual","actionsEqual","Array","isArray","length","MemoizedGiphy","React","memo","Giphy","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Image, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { GiphyIcon } from '../../icons';\nimport { Lightning } from '../../icons/Lightning';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { makeImageCompatibleUrl } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n buttonContainer: { alignItems: 'center', borderTopWidth: 1, flex: 1, justifyContent: 'center' },\n cancel: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n container: {\n overflow: 'hidden',\n width: 270,\n },\n giphy: {\n borderRadius: 2,\n height: 170,\n width: 270,\n },\n giphyContainer: {\n alignItems: 'center',\n borderRadius: 12,\n flexDirection: 'row',\n height: 24,\n justifyContent: 'center',\n width: 68,\n },\n giphyHeaderText: {\n fontSize: 16,\n fontWeight: '600',\n },\n giphyHeaderTitle: {\n fontSize: 14,\n },\n giphyMask: {\n bottom: 8,\n left: 8,\n position: 'absolute',\n },\n giphyMaskText: { fontSize: 13, fontWeight: '600' },\n header: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n padding: 8,\n width: '60%',\n },\n margin: {\n margin: 1,\n },\n row: { flexDirection: 'row' },\n selectionContainer: {\n borderBottomLeftRadius: 8,\n borderWidth: 1,\n overflow: 'hidden',\n width: 272,\n },\n send: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n shuffle: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n shuffleButton: {\n alignItems: 'center',\n borderRadius: 16,\n borderWidth: 1,\n height: 32,\n justifyContent: 'center',\n width: 32,\n },\n});\n\nexport type GiphyPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n 'handleAction' | 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'\n> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'additionalTouchableProps'> & {\n attachment: Attachment<StreamChatGenerics>;\n };\n\nconst GiphyWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GiphyPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n attachment,\n handleAction,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n } = props;\n\n const { actions, image_url, thumb_url, title, type } = attachment;\n\n const {\n theme: {\n colors: { accent_blue, black, grey, grey_dark, grey_gainsboro, white },\n messageSimple: {\n giphy: {\n buttonContainer,\n cancel,\n container,\n giphy,\n giphyContainer,\n giphyHeaderText,\n giphyHeaderTitle,\n giphyMask,\n giphyMaskText,\n header,\n selectionContainer,\n send,\n shuffle,\n },\n },\n },\n } = useTheme();\n\n const uri = image_url || thumb_url;\n\n if (!uri) return null;\n\n return actions ? (\n <View\n style={[\n styles.selectionContainer,\n { backgroundColor: white, borderColor: `${black}0D` },\n selectionContainer,\n ]}\n >\n <View style={[styles.header, header]}>\n <GiphyIcon />\n <Text style={[styles.giphyHeaderText, giphyHeaderText]}>Giphy</Text>\n <Text\n style={[styles.giphyHeaderTitle, giphyHeaderTitle, { color: grey_dark }]}\n >{`/giphy ${title}`}</Text>\n </View>\n <View style={styles.margin}>\n <Image\n resizeMode='cover'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.giphy, giphy]}\n />\n </View>\n <View>\n <View style={styles.row}>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[2].name && actions?.[2].value && handleAction) {\n handleAction(actions[2].name, actions[2].value);\n }\n }}\n style={[\n styles.buttonContainer,\n { borderColor: grey_gainsboro, borderRightWidth: 1 },\n buttonContainer,\n ]}\n >\n <Text style={[styles.cancel, { color: grey }, cancel]}>{actions?.[2].text}</Text>\n </TouchableOpacity>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[1].name && actions?.[1].value && handleAction) {\n handleAction(actions[1].name, actions[1].value);\n }\n }}\n style={[\n styles.buttonContainer,\n { borderColor: grey_gainsboro, borderRightWidth: 1 },\n buttonContainer,\n ]}\n >\n <Text style={[styles.shuffle, { color: grey }, shuffle]}>{actions?.[1].text}</Text>\n </TouchableOpacity>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[0].name && actions?.[0].value && handleAction) {\n handleAction(actions[0].name, actions[0].value);\n }\n }}\n style={[styles.buttonContainer, { borderColor: grey_gainsboro }, buttonContainer]}\n >\n <Text style={[styles.send, { color: accent_blue }, send]}>{actions?.[0].text}</Text>\n </TouchableOpacity>\n </View>\n </View>\n </View>\n ) : (\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'giphy',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n emitter: 'giphy',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n emitter: 'giphy',\n event,\n });\n }\n }}\n style={[styles.container, container]}\n testID='giphy-attachment'\n {...additionalTouchableProps}\n >\n <View>\n <Image\n resizeMode='cover'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.giphy, giphy]}\n />\n <View style={[styles.giphyMask, giphyMask]}>\n <View style={[styles.giphyContainer, { backgroundColor: grey_dark }, giphyContainer]}>\n <Lightning height={16} pathFill={white} width={16} />\n <Text style={[styles.giphyMaskText, { color: white }, giphyMaskText]}>\n {type?.toUpperCase()}\n </Text>\n </View>\n </View>\n </View>\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: GiphyPropsWithContext<StreamChatGenerics>,\n nextProps: GiphyPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n attachment: { actions: prevActions, image_url: prevImageUrl, thumb_url: prevThumbUrl },\n } = prevProps;\n const {\n attachment: { actions: nextActions, image_url: nextImageUrl, thumb_url: nextThumbUrl },\n } = nextProps;\n\n const imageUrlEqual = prevImageUrl === nextImageUrl;\n if (!imageUrlEqual) return false;\n\n const thumbUrlEqual = prevThumbUrl === nextThumbUrl;\n if (!thumbUrlEqual) return false;\n\n const actionsEqual =\n Array.isArray(prevActions) === Array.isArray(nextActions) &&\n ((Array.isArray(prevActions) &&\n Array.isArray(nextActions) &&\n prevActions.length === nextActions.length) ||\n prevActions === nextActions);\n if (!actionsEqual) return false;\n\n return true;\n};\n\nconst MemoizedGiphy = React.memo(GiphyWithContext, areEqual) as typeof GiphyWithContext;\n\nexport type GiphyProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<\n Pick<MessageContextValue<StreamChatGenerics>, 'onLongPress' | 'onPressIn'> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'additionalTouchableProps'>\n> & {\n attachment: Attachment<StreamChatGenerics>;\n};\n\n/**\n * UI component for card in attachments.\n */\nexport const Giphy = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GiphyProps<StreamChatGenerics>,\n) => {\n const { handleAction, onLongPress, onPress, onPressIn, preventPress } =\n useMessageContext<StreamChatGenerics>();\n const { additionalTouchableProps } = useMessagesContext<StreamChatGenerics>();\n\n return (\n <MemoizedGiphy\n {...{\n additionalTouchableProps,\n handleAction,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n }}\n {...props}\n />\n );\n};\n\nGiphy.displayName = 'Giphy{messageSimple{giphy}}';\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["buildGallery.ts"],"names":["buildGallery","images","sizeConfig","length","image","grid","slice","invertedDirections"],"mappings":";;;;;AAEA;;AACA;;AACA;;AAEA;;AAsBO,SAASA,YAAT,OAMyB;AAAA,MAL9BC,MAK8B,QAL9BA,MAK8B;AAAA,MAJ9BC,UAI8B,QAJ9BA,UAI8B;;AAC9B,MAAID,MAAM,CAACE,MAAP,KAAkB,CAAtB,EAAyB;AACvB,WAAO,0DAA0B;AAC/BC,MAAAA,KAAK,EAAEH,MAAM,CAAC,CAAD,CADkB;AAE/BC,MAAAA,UAAU,EAAVA;AAF+B,KAA1B,CAAP;AAID;;AAED,MAAID,MAAM,CAACE,MAAP,KAAkB,CAAtB,EAAyB;AACvB,WAAO,sDAAwB;AAC7BF,MAAAA,MAAM,EAANA,MAD6B;AAE7BC,MAAAA,UAAU,EAAVA;AAF6B,KAAxB,CAAP;AAID;;AAED,MAAID,MAAM,CAACE,MAAP,KAAkB,CAAtB,EAAyB;AACvB,WAAO,0DAA0B;AAC/BF,MAAAA,MAAM,EAANA,MAD+B;AAE/BC,MAAAA,UAAU,EAAVA;AAF+B,KAA1B,CAAP;AAID;;AAWD,SAAO,4CAAmB;AACxBG,IAAAA,IAAI,EAAE,CACJ,CAAC,CAAD,EAAI,CAAJ,CADI,EAEJ,CAAC,CAAD,EAAI,CAAJ,CAFI,CADkB;AAKxBJ,IAAAA,MAAM,EAAEA,MAAM,CAACK,KAAP,CAAa,CAAb,EAAgB,CAAhB,CALgB;AAMxBC,IAAAA,kBAAkB,EAAE,KANI;AAOxBL,IAAAA,UAAU,EAAVA;AAPwB,GAAnB,CAAP;AASD","sourcesContent":["import type { Attachment } from 'stream-chat';\n\nimport { buildGalleryOfSingleImage } from './buildGalleryOfSingleImage';\nimport { buildGalleryOfThreeImages } from './buildGalleryOfThreeImages';\nimport { buildGalleryOfTwoImages } from './buildGalleryOfTwoImages';\n\nimport { buildThumbnailGrid } from './buildThumbnailGrid';\n\nimport type { GallerySizeAndThumbnailGrid, GallerySizeConfig } from './types';\n\nimport type { DefaultAttachmentType, UnknownType } from '../../../../types/types';\n\n/**\n * Builds and returns a gallery of optimized images to be rendered on UI.\n * This function take a object parameter with following properties:\n *\n * @param {Attachment[]} images - Array of image attachments\n * @param {GallerySizeConfig} sizeConfig - Theme config for the gallery\n *\n * The returned object contains following properties:\n *\n * - height {number[]} - Height of the gallery\n * - width {number[]} - Width of the gallery\n * - thumbnailGrid {number[][]} - Grid of thumbnail images\n * - invertedDirections {boolean} - Whether to invert the direction of the grid. By default grid is rendered with column as primary direction and row as secondary direction.\n *\n * @return {GallerySizeAndThumbnailGrid}\n */\nexport function buildGallery<At extends UnknownType = DefaultAttachmentType>({\n images,\n sizeConfig,\n}: {\n images: Attachment<At>[];\n sizeConfig: GallerySizeConfig;\n}): GallerySizeAndThumbnailGrid {\n if (images.length === 1) {\n return buildGalleryOfSingleImage({\n image: images[0],\n sizeConfig,\n });\n }\n\n if (images.length === 2) {\n return buildGalleryOfTwoImages({\n images,\n sizeConfig,\n });\n }\n\n if (images.length === 3) {\n return buildGalleryOfThreeImages({\n images,\n sizeConfig,\n });\n }\n\n /**\n * -----------\n * | | |\n * | | |\n * -----------\n * | | |\n * | | |\n * -----------\n */\n return buildThumbnailGrid({\n grid: [\n [1, 1],\n [1, 1],\n ],\n images: images.slice(0, 4),\n invertedDirections: false,\n sizeConfig,\n });\n}\n"]}
1
+ {"version":3,"sources":["buildGallery.ts"],"names":["buildGallery","images","sizeConfig","length","image","grid","slice","invertedDirections"],"mappings":";;;;;AAEA;;AACA;;AACA;;AAEA;;AAsBO,SAASA,YAAT,OAQyB;AAAA,MAL9BC,MAK8B,QAL9BA,MAK8B;AAAA,MAJ9BC,UAI8B,QAJ9BA,UAI8B;;AAC9B,MAAID,MAAM,CAACE,MAAP,KAAkB,CAAtB,EAAyB;AACvB,WAAO,0DAA0B;AAC/BC,MAAAA,KAAK,EAAEH,MAAM,CAAC,CAAD,CADkB;AAE/BC,MAAAA,UAAU,EAAVA;AAF+B,KAA1B,CAAP;AAID;;AAED,MAAID,MAAM,CAACE,MAAP,KAAkB,CAAtB,EAAyB;AACvB,WAAO,sDAAwB;AAC7BF,MAAAA,MAAM,EAANA,MAD6B;AAE7BC,MAAAA,UAAU,EAAVA;AAF6B,KAAxB,CAAP;AAID;;AAED,MAAID,MAAM,CAACE,MAAP,KAAkB,CAAtB,EAAyB;AACvB,WAAO,0DAA0B;AAC/BF,MAAAA,MAAM,EAANA,MAD+B;AAE/BC,MAAAA,UAAU,EAAVA;AAF+B,KAA1B,CAAP;AAID;;AAWD,SAAO,4CAAmB;AACxBG,IAAAA,IAAI,EAAE,CACJ,CAAC,CAAD,EAAI,CAAJ,CADI,EAEJ,CAAC,CAAD,EAAI,CAAJ,CAFI,CADkB;AAKxBJ,IAAAA,MAAM,EAAEA,MAAM,CAACK,KAAP,CAAa,CAAb,EAAgB,CAAhB,CALgB;AAMxBC,IAAAA,kBAAkB,EAAE,KANI;AAOxBL,IAAAA,UAAU,EAAVA;AAPwB,GAAnB,CAAP;AASD","sourcesContent":["import type { Attachment } from 'stream-chat';\n\nimport { buildGalleryOfSingleImage } from './buildGalleryOfSingleImage';\nimport { buildGalleryOfThreeImages } from './buildGalleryOfThreeImages';\nimport { buildGalleryOfTwoImages } from './buildGalleryOfTwoImages';\n\nimport { buildThumbnailGrid } from './buildThumbnailGrid';\n\nimport type { GallerySizeAndThumbnailGrid, GallerySizeConfig } from './types';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\n\n/**\n * Builds and returns a gallery of optimized images to be rendered on UI.\n * This function take a object parameter with following properties:\n *\n * @param {Attachment[]} images - Array of image attachments\n * @param {GallerySizeConfig} sizeConfig - Theme config for the gallery\n *\n * The returned object contains following properties:\n *\n * - height {number[]} - Height of the gallery\n * - width {number[]} - Width of the gallery\n * - thumbnailGrid {number[][]} - Grid of thumbnail images\n * - invertedDirections {boolean} - Whether to invert the direction of the grid. By default grid is rendered with column as primary direction and row as secondary direction.\n *\n * @return {GallerySizeAndThumbnailGrid}\n */\nexport function buildGallery<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n images,\n sizeConfig,\n}: {\n images: Attachment<StreamChatGenerics>[];\n sizeConfig: GallerySizeConfig;\n}): GallerySizeAndThumbnailGrid {\n if (images.length === 1) {\n return buildGalleryOfSingleImage({\n image: images[0],\n sizeConfig,\n });\n }\n\n if (images.length === 2) {\n return buildGalleryOfTwoImages({\n images,\n sizeConfig,\n });\n }\n\n if (images.length === 3) {\n return buildGalleryOfThreeImages({\n images,\n sizeConfig,\n });\n }\n\n /**\n * -----------\n * | | |\n * | | |\n * -----------\n * | | |\n * | | |\n * -----------\n */\n return buildThumbnailGrid({\n grid: [\n [1, 1],\n [1, 1],\n ],\n images: images.slice(0, 4),\n invertedDirections: false,\n sizeConfig,\n });\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["buildGalleryOfSingleImage.ts"],"names":["clamp","number","min","max","Math","getContainerSize","image","sizeConfig","height","original_height","width","original_width","gridHeight","gridWidth","maxHeight","maxWidth","minHeight","minWidth","aspectRatio","containerHeight","containerWidth","buildGalleryOfSingleImage","container","thumbnail","column","thumbnailGrid"],"mappings":";;;;;;;;;AAEA;;AAKA;;AAUA,SAASA,KAAT,CAAeC,MAAf,EAA+BC,GAA/B,EAA4CC,GAA5C,EAAyD;AACvD,SAAOC,IAAI,CAACF,GAAL,CAASE,IAAI,CAACD,GAAL,CAASF,MAAT,EAAiBC,GAAjB,CAAT,EAAgCC,GAAhC,CAAP;AACD;;AAED,SAASE,gBAAT,OAMG;AAAA,MALDC,KAKC,QALDA,KAKC;AAAA,MAJDC,UAIC,QAJDA,UAIC;AACD,MAAyBC,MAAzB,GAA2DF,KAA3D,CAAQG,eAAR;AAAA,MAAiDC,KAAjD,GAA2DJ,KAA3D,CAAiCK,cAAjC;AACA,MAAQC,UAAR,GAA4EL,UAA5E,CAAQK,UAAR;AAAA,MAAoBC,SAApB,GAA4EN,UAA5E,CAAoBM,SAApB;AAAA,MAA+BC,SAA/B,GAA4EP,UAA5E,CAA+BO,SAA/B;AAAA,MAA0CC,QAA1C,GAA4ER,UAA5E,CAA0CQ,QAA1C;AAAA,MAAoDC,SAApD,GAA4ET,UAA5E,CAAoDS,SAApD;AAAA,MAA+DC,QAA/D,GAA4EV,UAA5E,CAA+DU,QAA/D;;AAEA,MAAI,CAACT,MAAD,IAAW,CAACE,KAAhB,EAAuB;AACrB,WAAO;AAAEF,MAAAA,MAAM,EAAEI,UAAV;AAAsBF,MAAAA,KAAK,EAAEG;AAA7B,KAAP;AACD;;AAED,MAAMK,WAAW,GAAG,oCAAeZ,KAAf,CAApB;;AAEA,MAAIY,WAAW,IAAI,CAAnB,EAAsB;AACpB,QAAMC,gBAAe,GAAGnB,KAAK,CAACQ,MAAD,EAASQ,SAAT,EAAoBF,SAApB,CAA7B;;AACA,QAAMM,eAAc,GAAGpB,KAAK,CAACmB,gBAAe,GAAGD,WAAnB,EAAgCD,QAAhC,EAA0CF,QAA1C,CAA5B;;AAEA,QAAIK,eAAc,KAAKL,QAAvB,EAAiC;AAC/B,aAAO;AACLP,QAAAA,MAAM,EAAER,KAAK,CAACoB,eAAc,GAAGF,WAAlB,EAA+BF,SAA/B,EAA0CF,SAA1C,CADR;AAELJ,QAAAA,KAAK,EAAEU;AAFF,OAAP;AAID;;AACD,WAAO;AACLZ,MAAAA,MAAM,EAAEW,gBADH;AAELT,MAAAA,KAAK,EAAEU;AAFF,KAAP;AAID;;AAED,MAAMA,cAAc,GAAGpB,KAAK,CAACU,KAAD,EAAQO,QAAR,EAAkBF,QAAlB,CAA5B;AACA,MAAMI,eAAe,GAAGnB,KAAK,CAACoB,cAAc,GAAGF,WAAlB,EAA+BF,SAA/B,EAA0CF,SAA1C,CAA7B;;AAEA,MAAIK,eAAe,KAAKL,SAAxB,EAAmC;AACjC,WAAO;AACLN,MAAAA,MAAM,EAAEW,eADH;AAELT,MAAAA,KAAK,EAAEV,KAAK,CAACmB,eAAe,GAAGD,WAAnB,EAAgCF,SAAhC,EAA2CF,SAA3C;AAFP,KAAP;AAID;;AAED,SAAO;AACLN,IAAAA,MAAM,EAAEW,eADH;AAELT,IAAAA,KAAK,EAAEU;AAFF,GAAP;AAID;;AAEM,SAASC,yBAAT,QAQyB;AAAA,MAL9Bf,KAK8B,SAL9BA,KAK8B;AAAA,MAJ9BC,UAI8B,SAJ9BA,UAI8B;AAC9B,MAAMe,SAAS,GAAGjB,gBAAgB,CAAC;AACjCC,IAAAA,KAAK,EAALA,KADiC;AAEjCC,IAAAA,UAAU,EAAVA;AAFiC,GAAD,CAAlC;AAKA,MAAMgB,SAAS,GAAG;AAChBjB,IAAAA,KAAK,EAALA;AADgB,KAEbgB,SAFa,EAAlB;AAKA,MAAME,MAAM,GAAG,CAACD,SAAD,CAAf;AAEA,uCACKD,SADL;AAEEG,IAAAA,aAAa,EAAE,CAACD,MAAD;AAFjB;AAID","sourcesContent":["import type { Attachment } from 'stream-chat';\n\nimport { buildThumbnail } from './buildThumbnail';\n\nimport type { GallerySizeAndThumbnailGrid, GallerySizeConfig } from './types';\n\nimport type { DefaultAttachmentType } from '../../../../types/types';\nimport { getAspectRatio } from '../getAspectRatio';\n\n/**\n * Bound a number to a range.\n * @param number The number to bound.\n * @param min The minimum value.\n * @param max The maximum value.\n *\n * @returns The bounded number.\n */\nfunction clamp(number: number, min: number, max: number) {\n return Math.min(Math.max(number, min), max);\n}\n\nfunction getContainerSize<At extends DefaultAttachmentType = DefaultAttachmentType>({\n image,\n sizeConfig,\n}: {\n image: Attachment<At>;\n sizeConfig: GallerySizeConfig;\n}) {\n const { original_height: height, original_width: width } = image;\n const { gridHeight, gridWidth, maxHeight, maxWidth, minHeight, minWidth } = sizeConfig;\n\n if (!height || !width) {\n return { height: gridHeight, width: gridWidth };\n }\n\n const aspectRatio = getAspectRatio(image);\n\n if (aspectRatio <= 1) {\n const containerHeight = clamp(height, minHeight, maxHeight);\n const containerWidth = clamp(containerHeight * aspectRatio, minWidth, maxWidth);\n\n if (containerWidth === maxWidth) {\n return {\n height: clamp(containerWidth / aspectRatio, minHeight, maxHeight),\n width: containerWidth,\n };\n }\n return {\n height: containerHeight,\n width: containerWidth,\n };\n }\n\n const containerWidth = clamp(width, minWidth, maxWidth);\n const containerHeight = clamp(containerWidth / aspectRatio, minHeight, maxHeight);\n\n if (containerHeight === maxHeight) {\n return {\n height: containerHeight,\n width: clamp(containerHeight * aspectRatio, minHeight, maxHeight),\n };\n }\n\n return {\n height: containerHeight,\n width: containerWidth,\n };\n}\n\nexport function buildGalleryOfSingleImage<\n At extends DefaultAttachmentType = DefaultAttachmentType,\n>({\n image,\n sizeConfig,\n}: {\n image: Attachment<At>;\n sizeConfig: GallerySizeConfig;\n}): GallerySizeAndThumbnailGrid {\n const container = getContainerSize({\n image,\n sizeConfig,\n });\n\n const thumbnail = buildThumbnail({\n image,\n ...container,\n });\n\n const column = [thumbnail];\n\n return {\n ...container,\n thumbnailGrid: [column],\n };\n}\n"]}
1
+ {"version":3,"sources":["buildGalleryOfSingleImage.ts"],"names":["clamp","number","min","max","Math","getContainerSize","image","sizeConfig","height","original_height","width","original_width","gridHeight","gridWidth","maxHeight","maxWidth","minHeight","minWidth","aspectRatio","containerHeight","containerWidth","buildGalleryOfSingleImage","container","thumbnail","column","thumbnailGrid"],"mappings":";;;;;;;;;AAEA;;AAKA;;AAUA,SAASA,KAAT,CAAeC,MAAf,EAA+BC,GAA/B,EAA4CC,GAA5C,EAAyD;AACvD,SAAOC,IAAI,CAACF,GAAL,CAASE,IAAI,CAACD,GAAL,CAASF,MAAT,EAAiBC,GAAjB,CAAT,EAAgCC,GAAhC,CAAP;AACD;;AAED,SAASE,gBAAT,OAEmG;AAAA,MAA/FC,KAA+F,QAA/FA,KAA+F;AAAA,MAAxFC,UAAwF,QAAxFA,UAAwF;AACjG,MAAyBC,MAAzB,GAA2DF,KAA3D,CAAQG,eAAR;AAAA,MAAiDC,KAAjD,GAA2DJ,KAA3D,CAAiCK,cAAjC;AACA,MAAQC,UAAR,GAA4EL,UAA5E,CAAQK,UAAR;AAAA,MAAoBC,SAApB,GAA4EN,UAA5E,CAAoBM,SAApB;AAAA,MAA+BC,SAA/B,GAA4EP,UAA5E,CAA+BO,SAA/B;AAAA,MAA0CC,QAA1C,GAA4ER,UAA5E,CAA0CQ,QAA1C;AAAA,MAAoDC,SAApD,GAA4ET,UAA5E,CAAoDS,SAApD;AAAA,MAA+DC,QAA/D,GAA4EV,UAA5E,CAA+DU,QAA/D;;AAEA,MAAI,CAACT,MAAD,IAAW,CAACE,KAAhB,EAAuB;AACrB,WAAO;AAAEF,MAAAA,MAAM,EAAEI,UAAV;AAAsBF,MAAAA,KAAK,EAAEG;AAA7B,KAAP;AACD;;AAED,MAAMK,WAAW,GAAG,oCAAeZ,KAAf,CAApB;;AAEA,MAAIY,WAAW,IAAI,CAAnB,EAAsB;AACpB,QAAMC,gBAAe,GAAGnB,KAAK,CAACQ,MAAD,EAASQ,SAAT,EAAoBF,SAApB,CAA7B;;AACA,QAAMM,eAAc,GAAGpB,KAAK,CAACmB,gBAAe,GAAGD,WAAnB,EAAgCD,QAAhC,EAA0CF,QAA1C,CAA5B;;AAEA,QAAIK,eAAc,KAAKL,QAAvB,EAAiC;AAC/B,aAAO;AACLP,QAAAA,MAAM,EAAER,KAAK,CAACoB,eAAc,GAAGF,WAAlB,EAA+BF,SAA/B,EAA0CF,SAA1C,CADR;AAELJ,QAAAA,KAAK,EAAEU;AAFF,OAAP;AAID;;AACD,WAAO;AACLZ,MAAAA,MAAM,EAAEW,gBADH;AAELT,MAAAA,KAAK,EAAEU;AAFF,KAAP;AAID;;AAED,MAAMA,cAAc,GAAGpB,KAAK,CAACU,KAAD,EAAQO,QAAR,EAAkBF,QAAlB,CAA5B;AACA,MAAMI,eAAe,GAAGnB,KAAK,CAACoB,cAAc,GAAGF,WAAlB,EAA+BF,SAA/B,EAA0CF,SAA1C,CAA7B;;AAEA,MAAIK,eAAe,KAAKL,SAAxB,EAAmC;AACjC,WAAO;AACLN,MAAAA,MAAM,EAAEW,eADH;AAELT,MAAAA,KAAK,EAAEV,KAAK,CAACmB,eAAe,GAAGD,WAAnB,EAAgCF,SAAhC,EAA2CF,SAA3C;AAFP,KAAP;AAID;;AAED,SAAO;AACLN,IAAAA,MAAM,EAAEW,eADH;AAELT,IAAAA,KAAK,EAAEU;AAFF,GAAP;AAID;;AAEM,SAASC,yBAAT,QAQyB;AAAA,MAL9Bf,KAK8B,SAL9BA,KAK8B;AAAA,MAJ9BC,UAI8B,SAJ9BA,UAI8B;AAC9B,MAAMe,SAAS,GAAGjB,gBAAgB,CAAC;AACjCC,IAAAA,KAAK,EAALA,KADiC;AAEjCC,IAAAA,UAAU,EAAVA;AAFiC,GAAD,CAAlC;AAKA,MAAMgB,SAAS,GAAG;AAChBjB,IAAAA,KAAK,EAALA;AADgB,KAEbgB,SAFa,EAAlB;AAKA,MAAME,MAAM,GAAG,CAACD,SAAD,CAAf;AAEA,uCACKD,SADL;AAEEG,IAAAA,aAAa,EAAE,CAACD,MAAD;AAFjB;AAID","sourcesContent":["import type { Attachment } from 'stream-chat';\n\nimport { buildThumbnail } from './buildThumbnail';\n\nimport type { GallerySizeAndThumbnailGrid, GallerySizeConfig } from './types';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\nimport { getAspectRatio } from '../getAspectRatio';\n\n/**\n * Bound a number to a range.\n * @param number The number to bound.\n * @param min The minimum value.\n * @param max The maximum value.\n *\n * @returns The bounded number.\n */\nfunction clamp(number: number, min: number, max: number) {\n return Math.min(Math.max(number, min), max);\n}\n\nfunction getContainerSize<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({ image, sizeConfig }: { image: Attachment<StreamChatGenerics>; sizeConfig: GallerySizeConfig }) {\n const { original_height: height, original_width: width } = image;\n const { gridHeight, gridWidth, maxHeight, maxWidth, minHeight, minWidth } = sizeConfig;\n\n if (!height || !width) {\n return { height: gridHeight, width: gridWidth };\n }\n\n const aspectRatio = getAspectRatio(image);\n\n if (aspectRatio <= 1) {\n const containerHeight = clamp(height, minHeight, maxHeight);\n const containerWidth = clamp(containerHeight * aspectRatio, minWidth, maxWidth);\n\n if (containerWidth === maxWidth) {\n return {\n height: clamp(containerWidth / aspectRatio, minHeight, maxHeight),\n width: containerWidth,\n };\n }\n return {\n height: containerHeight,\n width: containerWidth,\n };\n }\n\n const containerWidth = clamp(width, minWidth, maxWidth);\n const containerHeight = clamp(containerWidth / aspectRatio, minHeight, maxHeight);\n\n if (containerHeight === maxHeight) {\n return {\n height: containerHeight,\n width: clamp(containerHeight * aspectRatio, minHeight, maxHeight),\n };\n }\n\n return {\n height: containerHeight,\n width: containerWidth,\n };\n}\n\nexport function buildGalleryOfSingleImage<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n image,\n sizeConfig,\n}: {\n image: Attachment<StreamChatGenerics>;\n sizeConfig: GallerySizeConfig;\n}): GallerySizeAndThumbnailGrid {\n const container = getContainerSize({\n image,\n sizeConfig,\n });\n\n const thumbnail = buildThumbnail({\n image,\n ...container,\n });\n\n const column = [thumbnail];\n\n return {\n ...container,\n thumbnailGrid: [column],\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["buildGalleryOfThreeImages.ts"],"names":["moveToFront","array","item","index","indexOf","newArray","splice","unshift","buildGalleryOfThreeImages","images","sizeConfig","reduce","acc","image","aspectRatio","o","landscapeImage","landscapeImageAspectRatio","portraitImage","portraitImageAspectRatio","grid","invertedDirections"],"mappings":";;;;;;;;;;;AAEA;;AAKA;;AAGA,SAASA,WAAT,CAAwBC,KAAxB,EAAoCC,IAApC,EAAkD;AAChD,MAAMC,KAAK,GAAGF,KAAK,CAACG,OAAN,CAAcF,IAAd,CAAd;;AACA,MAAIC,KAAK,KAAK,CAAC,CAAf,EAAkB;AAChB,WAAOF,KAAP;AACD;;AACD,MAAMI,QAAQ,uCAAOJ,KAAP,CAAd;AACAI,EAAAA,QAAQ,CAACC,MAAT,CAAgBH,KAAhB,EAAuB,CAAvB;AACAE,EAAAA,QAAQ,CAACE,OAAT,CAAiBL,IAAjB;AACA,SAAOG,QAAP;AACD;;AAEM,SAASG,yBAAT,OAQyB;AAAA,MAL9BC,MAK8B,QAL9BA,MAK8B;AAAA,MAJ9BC,UAI8B,QAJ9BA,UAI8B;;AAE9B,uBACED,MAAM,CAACE,MAAP,CACE,UAACC,GAAD,EAAMC,KAAN,EAAgB;AACd,QAAMC,WAAW,GAAG,oCAAeD,KAAf,CAApB;AACA,QAAME,CAAC,iCAAQH,GAAR,CAAP;;AAIA,QAAIE,WAAW,GAAG,CAAlB,EAAqB;AACnB,UAAI,CAACC,CAAC,CAACC,cAAH,IAAqBF,WAAW,GAAGC,CAAC,CAACE,yBAAzC,EAAoE;AAClEF,QAAAA,CAAC,CAACC,cAAF,GAAmBH,KAAnB;AACAE,QAAAA,CAAC,CAACE,yBAAF,GAA8BH,WAA9B;AACD;AACF,KALD,MAKO;AACL,UAAI,CAACC,CAAC,CAACG,aAAH,IAAoBJ,WAAW,GAAGC,CAAC,CAACI,wBAAxC,EAAkE;AAChEJ,QAAAA,CAAC,CAACG,aAAF,GAAkBL,KAAlB;AACAE,QAAAA,CAAC,CAACI,wBAAF,GAA6BL,WAA7B;AACD;AACF;;AAED,WAAOC,CAAP;AACD,GApBH,EAqBE;AACEE,IAAAA,yBAAyB,EAAE,CAD7B;AAEEE,IAAAA,wBAAwB,EAAE;AAF5B,GArBF,CADF;AAAA,MAAQH,cAAR,kBAAQA,cAAR;AAAA,MAAwBC,yBAAxB,kBAAwBA,yBAAxB;AAAA,MAAmDC,aAAnD,kBAAmDA,aAAnD;AAAA,MAAkEC,wBAAlE,kBAAkEA,wBAAlE;;AAkCA,MAAIF,yBAAyB,GAAG,IAAIE,wBAApC,EAA8D;AAU5D,WAAO,4CAAmB;AACxBC,MAAAA,IAAI,EAAE,CAAC,CAAC,CAAD,CAAD,EAAM,CAAC,CAAD,EAAI,CAAJ,CAAN,CADkB;AAExBX,MAAAA,MAAM,EAAEO,cAAc,GAAGhB,WAAW,CAACS,MAAD,EAASO,cAAT,CAAd,GAAyCP,MAFvC;AAGxBY,MAAAA,kBAAkB,EAAE,IAHI;AAIxBX,MAAAA,UAAU,EAAVA;AAJwB,KAAnB,CAAP;AAMD,GAhBD,MAgBO;AAUL,WAAO,4CAAmB;AACxBU,MAAAA,IAAI,EAAE,CAAC,CAAC,CAAD,CAAD,EAAM,CAAC,CAAD,EAAI,CAAJ,CAAN,CADkB;AAExBX,MAAAA,MAAM,EAAES,aAAa,GAAGlB,WAAW,CAACS,MAAD,EAASS,aAAT,CAAd,GAAwCT,MAFrC;AAGxBY,MAAAA,kBAAkB,EAAE,KAHI;AAIxBX,MAAAA,UAAU,EAAVA;AAJwB,KAAnB,CAAP;AAMD;AACF","sourcesContent":["import type { Attachment } from 'stream-chat';\n\nimport { buildThumbnailGrid } from './buildThumbnailGrid';\n\nimport type { GallerySizeAndThumbnailGrid, GallerySizeConfig } from './types';\n\nimport type { DefaultAttachmentType } from '../../../../types/types';\nimport { getAspectRatio } from '../getAspectRatio';\n\n/** function to move item to the front of the array */\nfunction moveToFront<T>(array: T[], item: T): T[] {\n const index = array.indexOf(item);\n if (index === -1) {\n return array;\n }\n const newArray = [...array];\n newArray.splice(index, 1);\n newArray.unshift(item);\n return newArray;\n}\n\nexport function buildGalleryOfThreeImages<\n At extends DefaultAttachmentType = DefaultAttachmentType,\n>({\n images,\n sizeConfig,\n}: {\n images: Attachment<At>[];\n sizeConfig: GallerySizeConfig;\n}): GallerySizeAndThumbnailGrid {\n // Find the most ladscape and most portrait image.\n const { landscapeImage, landscapeImageAspectRatio, portraitImage, portraitImageAspectRatio } =\n images.reduce(\n (acc, image) => {\n const aspectRatio = getAspectRatio(image);\n const o = { ...acc };\n\n // Following nested if conditions can be combined, but have been kept\n // separate intentionally for the sake of readability.\n if (aspectRatio > 1) {\n if (!o.landscapeImage || aspectRatio > o.landscapeImageAspectRatio) {\n o.landscapeImage = image;\n o.landscapeImageAspectRatio = aspectRatio;\n }\n } else {\n if (!o.portraitImage || aspectRatio < o.portraitImageAspectRatio) {\n o.portraitImage = image;\n o.portraitImageAspectRatio = aspectRatio;\n }\n }\n\n return o;\n },\n {\n landscapeImageAspectRatio: 1,\n portraitImageAspectRatio: 1,\n } as {\n landscapeImage: Attachment<At>;\n landscapeImageAspectRatio: number;\n portraitImage: Attachment<At>;\n portraitImageAspectRatio: number;\n },\n );\n\n // Check weather landscape image gets preference or portrait, by comparing aspect ratio.\n if (landscapeImageAspectRatio > 1 / portraitImageAspectRatio) {\n /**\n * -----------\n * | |\n * | |\n * |---------|\n * | | |\n * | | |\n * -----------\n */\n return buildThumbnailGrid({\n grid: [[1], [1, 1]],\n images: landscapeImage ? moveToFront(images, landscapeImage) : images,\n invertedDirections: true,\n sizeConfig,\n });\n } else {\n /**\n * -----------\n * | | |\n * | | |\n * | |----|\n * | | |\n * | | |\n * -----------\n */\n return buildThumbnailGrid({\n grid: [[1], [1, 1]],\n images: portraitImage ? moveToFront(images, portraitImage) : images,\n invertedDirections: false,\n sizeConfig,\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["buildGalleryOfThreeImages.ts"],"names":["moveToFront","array","item","index","indexOf","newArray","splice","unshift","buildGalleryOfThreeImages","images","sizeConfig","reduce","acc","image","aspectRatio","o","landscapeImage","landscapeImageAspectRatio","portraitImage","portraitImageAspectRatio","grid","invertedDirections"],"mappings":";;;;;;;;;;;AAEA;;AAKA;;AAGA,SAASA,WAAT,CAAwBC,KAAxB,EAAoCC,IAApC,EAAkD;AAChD,MAAMC,KAAK,GAAGF,KAAK,CAACG,OAAN,CAAcF,IAAd,CAAd;;AACA,MAAIC,KAAK,KAAK,CAAC,CAAf,EAAkB;AAChB,WAAOF,KAAP;AACD;;AACD,MAAMI,QAAQ,uCAAOJ,KAAP,CAAd;AACAI,EAAAA,QAAQ,CAACC,MAAT,CAAgBH,KAAhB,EAAuB,CAAvB;AACAE,EAAAA,QAAQ,CAACE,OAAT,CAAiBL,IAAjB;AACA,SAAOG,QAAP;AACD;;AAEM,SAASG,yBAAT,OAQyB;AAAA,MAL9BC,MAK8B,QAL9BA,MAK8B;AAAA,MAJ9BC,UAI8B,QAJ9BA,UAI8B;;AAE9B,uBACED,MAAM,CAACE,MAAP,CACE,UAACC,GAAD,EAAMC,KAAN,EAAgB;AACd,QAAMC,WAAW,GAAG,oCAAeD,KAAf,CAApB;AACA,QAAME,CAAC,iCAAQH,GAAR,CAAP;;AAIA,QAAIE,WAAW,GAAG,CAAlB,EAAqB;AACnB,UAAI,CAACC,CAAC,CAACC,cAAH,IAAqBF,WAAW,GAAGC,CAAC,CAACE,yBAAzC,EAAoE;AAClEF,QAAAA,CAAC,CAACC,cAAF,GAAmBH,KAAnB;AACAE,QAAAA,CAAC,CAACE,yBAAF,GAA8BH,WAA9B;AACD;AACF,KALD,MAKO;AACL,UAAI,CAACC,CAAC,CAACG,aAAH,IAAoBJ,WAAW,GAAGC,CAAC,CAACI,wBAAxC,EAAkE;AAChEJ,QAAAA,CAAC,CAACG,aAAF,GAAkBL,KAAlB;AACAE,QAAAA,CAAC,CAACI,wBAAF,GAA6BL,WAA7B;AACD;AACF;;AAED,WAAOC,CAAP;AACD,GApBH,EAqBE;AACEE,IAAAA,yBAAyB,EAAE,CAD7B;AAEEE,IAAAA,wBAAwB,EAAE;AAF5B,GArBF,CADF;AAAA,MAAQH,cAAR,kBAAQA,cAAR;AAAA,MAAwBC,yBAAxB,kBAAwBA,yBAAxB;AAAA,MAAmDC,aAAnD,kBAAmDA,aAAnD;AAAA,MAAkEC,wBAAlE,kBAAkEA,wBAAlE;;AAkCA,MAAIF,yBAAyB,GAAG,IAAIE,wBAApC,EAA8D;AAU5D,WAAO,4CAAmB;AACxBC,MAAAA,IAAI,EAAE,CAAC,CAAC,CAAD,CAAD,EAAM,CAAC,CAAD,EAAI,CAAJ,CAAN,CADkB;AAExBX,MAAAA,MAAM,EAAEO,cAAc,GAAGhB,WAAW,CAACS,MAAD,EAASO,cAAT,CAAd,GAAyCP,MAFvC;AAGxBY,MAAAA,kBAAkB,EAAE,IAHI;AAIxBX,MAAAA,UAAU,EAAVA;AAJwB,KAAnB,CAAP;AAMD,GAhBD,MAgBO;AAUL,WAAO,4CAAmB;AACxBU,MAAAA,IAAI,EAAE,CAAC,CAAC,CAAD,CAAD,EAAM,CAAC,CAAD,EAAI,CAAJ,CAAN,CADkB;AAExBX,MAAAA,MAAM,EAAES,aAAa,GAAGlB,WAAW,CAACS,MAAD,EAASS,aAAT,CAAd,GAAwCT,MAFrC;AAGxBY,MAAAA,kBAAkB,EAAE,KAHI;AAIxBX,MAAAA,UAAU,EAAVA;AAJwB,KAAnB,CAAP;AAMD;AACF","sourcesContent":["import type { Attachment } from 'stream-chat';\n\nimport { buildThumbnailGrid } from './buildThumbnailGrid';\n\nimport type { GallerySizeAndThumbnailGrid, GallerySizeConfig } from './types';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\nimport { getAspectRatio } from '../getAspectRatio';\n\n/** function to move item to the front of the array */\nfunction moveToFront<T>(array: T[], item: T): T[] {\n const index = array.indexOf(item);\n if (index === -1) {\n return array;\n }\n const newArray = [...array];\n newArray.splice(index, 1);\n newArray.unshift(item);\n return newArray;\n}\n\nexport function buildGalleryOfThreeImages<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n images,\n sizeConfig,\n}: {\n images: Attachment<StreamChatGenerics>[];\n sizeConfig: GallerySizeConfig;\n}): GallerySizeAndThumbnailGrid {\n // Find the most ladscape and most portrait image.\n const { landscapeImage, landscapeImageAspectRatio, portraitImage, portraitImageAspectRatio } =\n images.reduce(\n (acc, image) => {\n const aspectRatio = getAspectRatio(image);\n const o = { ...acc };\n\n // Following nested if conditions can be combined, but have been kept\n // separate intentionally for the sake of readability.\n if (aspectRatio > 1) {\n if (!o.landscapeImage || aspectRatio > o.landscapeImageAspectRatio) {\n o.landscapeImage = image;\n o.landscapeImageAspectRatio = aspectRatio;\n }\n } else {\n if (!o.portraitImage || aspectRatio < o.portraitImageAspectRatio) {\n o.portraitImage = image;\n o.portraitImageAspectRatio = aspectRatio;\n }\n }\n\n return o;\n },\n {\n landscapeImageAspectRatio: 1,\n portraitImageAspectRatio: 1,\n } as {\n landscapeImage: Attachment<StreamChatGenerics>;\n landscapeImageAspectRatio: number;\n portraitImage: Attachment<StreamChatGenerics>;\n portraitImageAspectRatio: number;\n },\n );\n\n // Check weather landscape image gets preference or portrait, by comparing aspect ratio.\n if (landscapeImageAspectRatio > 1 / portraitImageAspectRatio) {\n /**\n * -----------\n * | |\n * | |\n * |---------|\n * | | |\n * | | |\n * -----------\n */\n return buildThumbnailGrid({\n grid: [[1], [1, 1]],\n images: landscapeImage ? moveToFront(images, landscapeImage) : images,\n invertedDirections: true,\n sizeConfig,\n });\n } else {\n /**\n * -----------\n * | | |\n * | | |\n * | |----|\n * | | |\n * | | |\n * -----------\n */\n return buildThumbnailGrid({\n grid: [[1], [1, 1]],\n images: portraitImage ? moveToFront(images, portraitImage) : images,\n invertedDirections: false,\n sizeConfig,\n });\n }\n}\n"]}