stream-chat-react-native-core 4.0.0 → 4.1.0

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 (1523) hide show
  1. package/README.md +1 -13
  2. package/lib/commonjs/components/Attachment/Attachment.js +17 -16
  3. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  4. package/lib/commonjs/components/Attachment/AttachmentActions.js +5 -5
  5. package/lib/commonjs/components/Attachment/AttachmentActions.js.map +1 -1
  6. package/lib/commonjs/components/Attachment/Card.js +19 -16
  7. package/lib/commonjs/components/Attachment/Card.js.map +1 -1
  8. package/lib/commonjs/components/Attachment/FileAttachment.js +9 -9
  9. package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
  10. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +5 -5
  11. package/lib/commonjs/components/Attachment/FileAttachmentGroup.js.map +1 -1
  12. package/lib/commonjs/components/Attachment/FileIcon.js +1 -1
  13. package/lib/commonjs/components/Attachment/FileIcon.js.map +1 -1
  14. package/lib/commonjs/components/Attachment/Gallery.js +124 -122
  15. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  16. package/lib/commonjs/components/Attachment/Giphy.js +113 -149
  17. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  18. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js +46 -0
  19. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
  20. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
  21. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
  22. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
  23. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
  24. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
  25. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
  26. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
  27. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
  28. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
  29. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
  30. package/lib/commonjs/components/Attachment/utils/buildGallery/types.js +4 -0
  31. package/lib/commonjs/{styleguideComponents/Reanimated.js.map → components/Attachment/utils/buildGallery/types.js.map} +0 -0
  32. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js +14 -0
  33. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -0
  34. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
  35. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
  36. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +10 -9
  37. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  38. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +1 -1
  39. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerError.js +1 -1
  40. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +1 -1
  41. package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js +12 -9
  42. package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
  43. package/lib/commonjs/components/AttachmentPicker/components/CameraSelectorIcon.js +1 -1
  44. package/lib/commonjs/components/AttachmentPicker/components/FileSelectorIcon.js +1 -1
  45. package/lib/commonjs/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +1 -1
  46. package/lib/commonjs/components/AttachmentPicker/components/ImageSelectorIcon.js +1 -1
  47. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +25 -49
  48. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  49. package/lib/commonjs/components/AutoCompleteInput/{CommandsItem.js → AutoCompleteSuggestionCommandIcon.js} +21 -94
  50. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -0
  51. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +145 -0
  52. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -0
  53. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +248 -0
  54. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -0
  55. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +223 -0
  56. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -0
  57. package/lib/commonjs/components/Avatar/Avatar.js +14 -8
  58. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  59. package/lib/commonjs/components/Avatar/GroupAvatar.js +11 -9
  60. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  61. package/lib/commonjs/components/Channel/Channel.js +304 -203
  62. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  63. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +7 -5
  64. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  65. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js +7 -5
  66. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  67. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +13 -31
  68. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  69. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +35 -0
  70. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -0
  71. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  72. package/lib/commonjs/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  73. package/lib/commonjs/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
  74. package/lib/commonjs/components/ChannelList/ChannelList.js +7 -7
  75. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  76. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +6 -5
  77. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  78. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +7 -8
  79. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  80. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +5 -4
  81. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  82. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js +8 -5
  83. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
  84. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +18 -18
  85. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  86. package/lib/commonjs/components/ChannelList/Skeleton.js +15 -14
  87. package/lib/commonjs/components/ChannelList/Skeleton.js.map +1 -1
  88. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  89. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  90. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  91. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  92. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  93. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  94. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  95. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  96. package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js +3 -1
  97. package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +1 -1
  98. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  99. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  100. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
  101. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  102. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  103. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  104. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js +2 -2
  105. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  106. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +96 -63
  107. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  108. package/lib/commonjs/components/ChannelList/utils.js +1 -1
  109. package/lib/commonjs/components/ChannelList/utils.js.map +1 -1
  110. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +3 -3
  111. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  112. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +5 -5
  113. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  114. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +6 -6
  115. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  116. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +50 -21
  117. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  118. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
  119. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
  120. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +5 -5
  121. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  122. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js +2 -2
  123. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  124. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +3 -3
  125. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  126. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js +16 -7
  127. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  128. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  129. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  130. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js +2 -1
  131. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  132. package/lib/commonjs/components/Chat/Chat.js +9 -5
  133. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  134. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  135. package/lib/commonjs/components/Chat/hooks/useIsOnline.js +40 -31
  136. package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
  137. package/lib/commonjs/components/Chat/hooks/useMutedUsers.js.map +1 -1
  138. package/lib/commonjs/components/ImageGallery/ImageGallery.js +91 -59
  139. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  140. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +3 -3
  141. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  142. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +13 -13
  143. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  144. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +32 -17
  145. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  146. package/lib/commonjs/components/ImageGallery/components/ImageGalleryOverlay.js +1 -1
  147. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +8 -8
  148. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  149. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +6 -6
  150. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  151. package/lib/commonjs/components/Indicators/EmptyStateIndicator.js +1 -1
  152. package/lib/commonjs/components/Indicators/LoadingDot.js +1 -1
  153. package/lib/commonjs/components/Indicators/LoadingDots.js +1 -1
  154. package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js +1 -1
  155. package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  156. package/lib/commonjs/components/Indicators/LoadingIndicator.js +10 -10
  157. package/lib/commonjs/components/Indicators/LoadingIndicator.js.map +1 -1
  158. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js +21 -13
  159. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
  160. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +1 -1
  161. package/lib/commonjs/components/Message/Message.js +153 -855
  162. package/lib/commonjs/components/Message/Message.js.map +1 -1
  163. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +7 -7
  164. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  165. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +42 -40
  166. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  167. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +9 -7
  168. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  169. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +35 -23
  170. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  171. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +122 -0
  172. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -0
  173. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +27 -11
  174. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  175. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +6 -6
  176. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  177. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +32 -15
  178. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  179. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +29 -25
  180. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  181. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +8 -4
  182. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  183. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +87 -114
  184. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +1 -1
  185. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js +89 -0
  186. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
  187. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
  188. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
  189. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +208 -27
  190. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  191. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js +240 -0
  192. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js.map +1 -0
  193. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +1 -5
  194. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  195. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js +307 -0
  196. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -0
  197. package/lib/commonjs/components/Message/hooks/useMessageActions.js +563 -0
  198. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -0
  199. package/lib/commonjs/components/Message/utils/messageActions.js +17 -15
  200. package/lib/commonjs/components/Message/utils/messageActions.js.map +1 -1
  201. package/lib/commonjs/components/Message/utils/removeReservedFields.js.map +1 -1
  202. package/lib/commonjs/components/MessageInput/AttachButton.js +7 -5
  203. package/lib/commonjs/components/MessageInput/AttachButton.js.map +1 -1
  204. package/lib/commonjs/components/MessageInput/CommandsButton.js +4 -4
  205. package/lib/commonjs/components/MessageInput/CommandsButton.js.map +1 -1
  206. package/lib/commonjs/components/MessageInput/CooldownTimer.js +78 -0
  207. package/lib/commonjs/components/MessageInput/CooldownTimer.js.map +1 -0
  208. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +33 -28
  209. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  210. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +10 -10
  211. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
  212. package/lib/commonjs/components/MessageInput/InputButtons.js +18 -23
  213. package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
  214. package/lib/commonjs/components/MessageInput/MessageInput.js +94 -66
  215. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  216. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +4 -4
  217. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js.map +1 -1
  218. package/lib/commonjs/components/MessageInput/SendButton.js +9 -7
  219. package/lib/commonjs/components/MessageInput/SendButton.js.map +1 -1
  220. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +71 -0
  221. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -0
  222. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +12 -11
  223. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  224. package/lib/commonjs/components/MessageInput/UploadProgressIndicator.js +1 -1
  225. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js +63 -0
  226. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -0
  227. package/lib/commonjs/components/MessageInput/hooks/useCountdown.js +57 -0
  228. package/lib/commonjs/components/MessageInput/hooks/useCountdown.js.map +1 -0
  229. package/lib/commonjs/components/MessageList/DateHeader.js +3 -3
  230. package/lib/commonjs/components/MessageList/DateHeader.js.map +1 -1
  231. package/lib/commonjs/components/MessageList/InlineDateSeparator.js +5 -4
  232. package/lib/commonjs/components/MessageList/InlineDateSeparator.js.map +1 -1
  233. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +5 -5
  234. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  235. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +5 -5
  236. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  237. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +5 -5
  238. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
  239. package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js +1 -1
  240. package/lib/commonjs/components/MessageList/MessageList.js +101 -62
  241. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  242. package/lib/commonjs/components/MessageList/MessageSystem.js +7 -7
  243. package/lib/commonjs/components/MessageList/MessageSystem.js.map +1 -1
  244. package/lib/commonjs/components/MessageList/NetworkDownIndicator.js +1 -1
  245. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js +8 -6
  246. package/lib/commonjs/components/MessageList/ScrollToBottomButton.js.map +1 -1
  247. package/lib/commonjs/components/MessageList/TypingIndicator.js +6 -6
  248. package/lib/commonjs/components/MessageList/TypingIndicator.js.map +1 -1
  249. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js +3 -3
  250. package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  251. package/lib/commonjs/components/MessageList/hooks/useMessageList.js +24 -11
  252. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  253. package/lib/commonjs/components/MessageList/hooks/useTypingString.js +2 -2
  254. package/lib/commonjs/components/MessageList/hooks/useTypingString.js.map +1 -1
  255. package/lib/commonjs/components/MessageList/utils/filterTypingUsers.js.map +1 -1
  256. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js +2 -1
  257. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js.map +1 -1
  258. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js +11 -10
  259. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
  260. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js +3 -1
  261. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  262. package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +1 -1
  263. package/lib/{module/components/MessageOverlay/MessageActions.js → commonjs/components/MessageOverlay/MessageActionList.js} +33 -85
  264. package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -0
  265. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +131 -0
  266. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -0
  267. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +100 -85
  268. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  269. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +38 -0
  270. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js.map +1 -0
  271. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +18 -19
  272. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  273. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +32 -35
  274. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
  275. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
  276. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
  277. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js +37 -0
  278. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -0
  279. package/lib/commonjs/components/Reply/Reply.js +26 -20
  280. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  281. package/lib/commonjs/components/Spinner/Spinner.js +1 -1
  282. package/lib/commonjs/components/Thread/Thread.js +15 -6
  283. package/lib/commonjs/components/Thread/Thread.js.map +1 -1
  284. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +14 -13
  285. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  286. package/lib/commonjs/components/docs/ListProps.md +1 -1
  287. package/lib/commonjs/components/docs/data.js +45 -45
  288. package/lib/commonjs/components/docs/data.js.map +1 -1
  289. package/lib/commonjs/components/index.js +133 -55
  290. package/lib/commonjs/components/index.js.map +1 -1
  291. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +3 -3
  292. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  293. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +3 -3
  294. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  295. package/lib/commonjs/contexts/channelContext/ChannelContext.js +3 -3
  296. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  297. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +3 -3
  298. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  299. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +5 -5
  300. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  301. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +3 -3
  302. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
  303. package/lib/commonjs/contexts/chatContext/ChatContext.js +3 -3
  304. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  305. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +3 -3
  306. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  307. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +3 -3
  308. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  309. package/lib/commonjs/contexts/messageContext/MessageContext.js +3 -3
  310. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  311. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +106 -71
  312. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  313. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +9 -5
  314. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  315. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js +10 -3
  316. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  317. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +6 -20
  318. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  319. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
  320. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
  321. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
  322. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
  323. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +3 -3
  324. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  325. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +2 -2
  326. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  327. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +50 -50
  328. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  329. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +61 -0
  330. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -0
  331. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +3 -3
  332. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  333. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +21 -34
  334. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  335. package/lib/commonjs/contexts/themeContext/ThemeContext.js +3 -3
  336. package/lib/commonjs/contexts/themeContext/ThemeContext.js.map +1 -1
  337. package/lib/commonjs/contexts/themeContext/utils/theme.js +48 -20
  338. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  339. package/lib/commonjs/contexts/threadContext/ThreadContext.js +3 -3
  340. package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
  341. package/lib/commonjs/contexts/translationContext/TranslationContext.js +4 -4
  342. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  343. package/lib/commonjs/contexts/typingContext/TypingContext.js +3 -3
  344. package/lib/commonjs/contexts/typingContext/TypingContext.js.map +1 -1
  345. package/lib/commonjs/contexts/utils/getDisplayName.js.map +1 -1
  346. package/lib/commonjs/emoji-data/compiled.js +0 -315
  347. package/lib/commonjs/emoji-data/compiled.js.map +1 -1
  348. package/lib/commonjs/emoji-data/emojiNames.js +0 -105
  349. package/lib/commonjs/emoji-data/emojiNames.js.map +1 -1
  350. package/lib/commonjs/emoji-data/emojis.js +0 -175
  351. package/lib/commonjs/emoji-data/emojis.js.map +1 -1
  352. package/lib/commonjs/emoji-data/index.js +2 -2
  353. package/lib/commonjs/emoji-data/index.js.map +1 -1
  354. package/lib/commonjs/hooks/useAppStateListener.js +8 -5
  355. package/lib/commonjs/hooks/useAppStateListener.js.map +1 -1
  356. package/lib/commonjs/hooks/useIsMountedRef.js +19 -0
  357. package/lib/commonjs/hooks/useIsMountedRef.js.map +1 -0
  358. package/lib/commonjs/hooks/useStreami18n.js +5 -2
  359. package/lib/commonjs/hooks/useStreami18n.js.map +1 -1
  360. package/lib/commonjs/i18n/en.json +9 -3
  361. package/lib/commonjs/i18n/fr.json +9 -3
  362. package/lib/commonjs/i18n/hi.json +9 -3
  363. package/lib/commonjs/i18n/it.json +9 -3
  364. package/lib/commonjs/i18n/ja.json +67 -0
  365. package/lib/commonjs/i18n/ko.json +67 -0
  366. package/lib/commonjs/i18n/nl.json +9 -3
  367. package/lib/commonjs/i18n/ru.json +9 -3
  368. package/lib/commonjs/i18n/tr.json +10 -4
  369. package/lib/commonjs/icons/ArrowRight.js +1 -1
  370. package/lib/commonjs/icons/AtMentions.js +1 -1
  371. package/lib/commonjs/icons/Attach.js +1 -1
  372. package/lib/commonjs/icons/Audio.js +1 -1
  373. package/lib/commonjs/icons/CSV.js +1 -1
  374. package/lib/commonjs/icons/Camera.js +1 -1
  375. package/lib/commonjs/icons/Check.js +1 -1
  376. package/lib/commonjs/icons/CheckAll.js +1 -1
  377. package/lib/commonjs/icons/CheckSend.js +1 -1
  378. package/lib/commonjs/icons/CircleClose.js +1 -1
  379. package/lib/commonjs/icons/CirclePlus.js +1 -1
  380. package/lib/commonjs/icons/CircleRight.js +1 -1
  381. package/lib/commonjs/icons/Close.js +1 -1
  382. package/lib/commonjs/icons/Copy.js +1 -1
  383. package/lib/commonjs/icons/CurveLineLeftUp.js +1 -1
  384. package/lib/commonjs/icons/DOC.js +1 -1
  385. package/lib/commonjs/icons/DOCX.js +1 -1
  386. package/lib/commonjs/icons/Delete.js +1 -1
  387. package/lib/commonjs/icons/Down.js +1 -1
  388. package/lib/commonjs/icons/DownloadArrow.js +1 -1
  389. package/lib/commonjs/icons/DownloadCloud.js +1 -1
  390. package/lib/commonjs/icons/Edit.js +1 -1
  391. package/lib/commonjs/icons/Error.js +1 -1
  392. package/lib/commonjs/icons/Eye.js +1 -1
  393. package/lib/commonjs/icons/Flag.js +1 -1
  394. package/lib/commonjs/icons/Folder.js +1 -1
  395. package/lib/commonjs/icons/GenericFile.js +1 -1
  396. package/lib/commonjs/icons/GiphyIcon.js +1 -1
  397. package/lib/commonjs/icons/Grid.js +1 -1
  398. package/lib/commonjs/icons/Group.js +1 -1
  399. package/lib/commonjs/icons/HTML.js +1 -1
  400. package/lib/commonjs/icons/Imgur.js +1 -1
  401. package/lib/commonjs/icons/LOLReaction.js +1 -1
  402. package/lib/commonjs/icons/Lightning.js +1 -1
  403. package/lib/commonjs/icons/Link.js +1 -1
  404. package/lib/commonjs/icons/Loading.js +1 -1
  405. package/lib/commonjs/icons/Logo.js +1 -1
  406. package/lib/commonjs/icons/LoveReaction.js +1 -1
  407. package/lib/commonjs/icons/MD.js +1 -1
  408. package/lib/commonjs/icons/MailOpen.js +1 -1
  409. package/lib/commonjs/icons/MenuPointHorizontal.js +1 -1
  410. package/lib/commonjs/icons/MenuPointVertical.js +1 -1
  411. package/lib/commonjs/icons/MessageFlag.js +1 -1
  412. package/lib/commonjs/icons/MessageIcon.js +1 -1
  413. package/lib/commonjs/icons/Mute.js +1 -1
  414. package/lib/commonjs/icons/Notification.js +1 -1
  415. package/lib/commonjs/icons/ODT.js +1 -1
  416. package/lib/commonjs/icons/PDF.js +1 -1
  417. package/lib/commonjs/icons/PPT.js +1 -1
  418. package/lib/commonjs/icons/PPTX.js +1 -1
  419. package/lib/commonjs/icons/Picture.js +1 -1
  420. package/lib/commonjs/icons/Pin.js +42 -0
  421. package/lib/commonjs/icons/Pin.js.map +1 -0
  422. package/lib/commonjs/icons/PinHeader.js +38 -0
  423. package/lib/commonjs/icons/PinHeader.js.map +1 -0
  424. package/lib/commonjs/icons/RAR.js +1 -1
  425. package/lib/commonjs/icons/RTF.js +1 -1
  426. package/lib/commonjs/icons/Refresh.js +1 -1
  427. package/lib/commonjs/icons/SEVEN_Z.js +1 -1
  428. package/lib/commonjs/icons/Search.js +1 -1
  429. package/lib/commonjs/icons/SendRight.js +1 -1
  430. package/lib/commonjs/icons/SendUp.js +1 -1
  431. package/lib/commonjs/icons/Share.js +1 -1
  432. package/lib/commonjs/icons/ShareRightArrow.js +1 -1
  433. package/lib/commonjs/icons/Smile.js +1 -1
  434. package/lib/commonjs/icons/Sound.js +1 -1
  435. package/lib/commonjs/icons/TAR.js +1 -1
  436. package/lib/commonjs/icons/TXT.js +1 -1
  437. package/lib/commonjs/icons/ThreadReply.js +1 -1
  438. package/lib/commonjs/icons/ThumbsDownReaction.js +1 -1
  439. package/lib/commonjs/icons/ThumbsUpReaction.js +1 -1
  440. package/lib/commonjs/icons/Time.js +1 -1
  441. package/lib/commonjs/icons/Unknown.js +1 -1
  442. package/lib/commonjs/icons/Unpin.js +38 -0
  443. package/lib/commonjs/icons/Unpin.js.map +1 -0
  444. package/lib/commonjs/icons/User.js +1 -1
  445. package/lib/commonjs/icons/UserAdd.js +1 -1
  446. package/lib/commonjs/icons/UserAdmin.js +62 -0
  447. package/lib/commonjs/icons/UserAdmin.js.map +1 -0
  448. package/lib/commonjs/icons/UserDelete.js +1 -1
  449. package/lib/commonjs/icons/UserMinus.js +1 -1
  450. package/lib/commonjs/icons/WutReaction.js +1 -1
  451. package/lib/commonjs/icons/XLS.js +1 -1
  452. package/lib/commonjs/icons/XLSX.js +1 -1
  453. package/lib/commonjs/icons/ZIP.js +1 -1
  454. package/lib/commonjs/icons/index.js +39 -26
  455. package/lib/commonjs/icons/index.js.map +1 -1
  456. package/lib/commonjs/icons/utils/base.js +2 -2
  457. package/lib/commonjs/index.js +6 -6
  458. package/lib/commonjs/init.js +13 -0
  459. package/lib/commonjs/init.js.map +1 -0
  460. package/lib/commonjs/mock-builders/api/error.js +1 -1
  461. package/lib/commonjs/mock-builders/api/queryChannels.js +1 -1
  462. package/lib/commonjs/mock-builders/api/queryChannels.js.map +1 -1
  463. package/lib/commonjs/mock-builders/api/sendMessage.js +4 -1
  464. package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
  465. package/lib/commonjs/mock-builders/generator/attachment.js +1 -3
  466. package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
  467. package/lib/commonjs/mock-builders/generator/channel.js +101 -50
  468. package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
  469. package/lib/commonjs/mock-builders/generator/user.js +32 -33
  470. package/lib/commonjs/mock-builders/generator/user.js.map +1 -1
  471. package/lib/commonjs/mock-builders/mock.js +3 -3
  472. package/lib/commonjs/mock-builders/mock.js.map +1 -1
  473. package/lib/commonjs/mock-builders/native/react-native-mock.js +1 -1
  474. package/lib/commonjs/mock-builders/native/react-native-mock.js.map +1 -1
  475. package/lib/commonjs/native.js +1 -7
  476. package/lib/commonjs/native.js.map +1 -1
  477. package/lib/commonjs/utils/Streami18n.js +10 -0
  478. package/lib/commonjs/utils/Streami18n.js.map +1 -1
  479. package/lib/commonjs/utils/date.js +13 -0
  480. package/lib/commonjs/utils/date.js.map +1 -0
  481. package/lib/commonjs/utils/getResizedImageUrl.js +37 -0
  482. package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -0
  483. package/lib/commonjs/utils/getUrlOfImageAttachment.js +9 -0
  484. package/lib/commonjs/utils/getUrlOfImageAttachment.js.map +1 -0
  485. package/lib/commonjs/utils/utils.js +39 -19
  486. package/lib/commonjs/utils/utils.js.map +1 -1
  487. package/lib/commonjs/version.json +1 -1
  488. package/lib/module/components/Attachment/Attachment.js +17 -16
  489. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  490. package/lib/module/components/Attachment/AttachmentActions.js +5 -5
  491. package/lib/module/components/Attachment/AttachmentActions.js.map +1 -1
  492. package/lib/module/components/Attachment/Card.js +19 -16
  493. package/lib/module/components/Attachment/Card.js.map +1 -1
  494. package/lib/module/components/Attachment/FileAttachment.js +9 -9
  495. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  496. package/lib/module/components/Attachment/FileAttachmentGroup.js +5 -5
  497. package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
  498. package/lib/module/components/Attachment/FileIcon.js +1 -1
  499. package/lib/module/components/Attachment/FileIcon.js.map +1 -1
  500. package/lib/module/components/Attachment/Gallery.js +124 -122
  501. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  502. package/lib/module/components/Attachment/Giphy.js +113 -149
  503. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  504. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js +46 -0
  505. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
  506. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
  507. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
  508. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
  509. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
  510. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
  511. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
  512. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
  513. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
  514. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
  515. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
  516. package/lib/module/components/Attachment/utils/buildGallery/types.js +4 -0
  517. package/lib/module/{styleguideComponents/Reanimated.js.map → components/Attachment/utils/buildGallery/types.js.map} +0 -0
  518. package/lib/module/components/Attachment/utils/getAspectRatio.js +14 -0
  519. package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -0
  520. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
  521. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
  522. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +10 -9
  523. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  524. package/lib/module/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +1 -1
  525. package/lib/module/components/AttachmentPicker/components/AttachmentPickerError.js +1 -1
  526. package/lib/module/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +1 -1
  527. package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js +12 -9
  528. package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
  529. package/lib/module/components/AttachmentPicker/components/CameraSelectorIcon.js +1 -1
  530. package/lib/module/components/AttachmentPicker/components/FileSelectorIcon.js +1 -1
  531. package/lib/module/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +1 -1
  532. package/lib/module/components/AttachmentPicker/components/ImageSelectorIcon.js +1 -1
  533. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +25 -49
  534. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  535. package/lib/module/components/AutoCompleteInput/{CommandsItem.js → AutoCompleteSuggestionCommandIcon.js} +21 -94
  536. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -0
  537. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +145 -0
  538. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -0
  539. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +248 -0
  540. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -0
  541. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +223 -0
  542. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -0
  543. package/lib/module/components/Avatar/Avatar.js +14 -8
  544. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  545. package/lib/module/components/Avatar/GroupAvatar.js +11 -9
  546. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  547. package/lib/module/components/Channel/Channel.js +304 -203
  548. package/lib/module/components/Channel/Channel.js.map +1 -1
  549. package/lib/module/components/Channel/hooks/useCreateChannelContext.js +7 -5
  550. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  551. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +7 -5
  552. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  553. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +13 -31
  554. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  555. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +35 -0
  556. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -0
  557. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  558. package/lib/module/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
  559. package/lib/module/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
  560. package/lib/module/components/ChannelList/ChannelList.js +7 -7
  561. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  562. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +6 -5
  563. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  564. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +7 -8
  565. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  566. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +5 -4
  567. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  568. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js +8 -5
  569. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
  570. package/lib/module/components/ChannelList/ChannelListMessenger.js +18 -18
  571. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  572. package/lib/module/components/ChannelList/Skeleton.js +15 -14
  573. package/lib/module/components/ChannelList/Skeleton.js.map +1 -1
  574. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  575. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  576. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  577. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  578. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  579. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  580. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  581. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  582. package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js +3 -1
  583. package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +1 -1
  584. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  585. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  586. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
  587. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  588. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  589. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  590. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js +2 -2
  591. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  592. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +96 -63
  593. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  594. package/lib/module/components/ChannelList/utils.js +1 -1
  595. package/lib/module/components/ChannelList/utils.js.map +1 -1
  596. package/lib/module/components/ChannelPreview/ChannelAvatar.js +3 -3
  597. package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  598. package/lib/module/components/ChannelPreview/ChannelPreview.js +5 -5
  599. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  600. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +6 -6
  601. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  602. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +50 -21
  603. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  604. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
  605. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
  606. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +5 -5
  607. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  608. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js +2 -2
  609. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  610. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +3 -3
  611. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  612. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js +16 -7
  613. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  614. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  615. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  616. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js +2 -1
  617. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  618. package/lib/module/components/Chat/Chat.js +9 -5
  619. package/lib/module/components/Chat/Chat.js.map +1 -1
  620. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  621. package/lib/module/components/Chat/hooks/useIsOnline.js +40 -31
  622. package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
  623. package/lib/module/components/Chat/hooks/useMutedUsers.js.map +1 -1
  624. package/lib/module/components/ImageGallery/ImageGallery.js +91 -59
  625. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  626. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +3 -3
  627. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  628. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +13 -13
  629. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  630. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +32 -17
  631. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  632. package/lib/module/components/ImageGallery/components/ImageGalleryOverlay.js +1 -1
  633. package/lib/module/components/ImageGallery/components/ImageGrid.js +8 -8
  634. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  635. package/lib/module/components/ImageGallery/components/ImageGridHandle.js +6 -6
  636. package/lib/module/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  637. package/lib/module/components/Indicators/EmptyStateIndicator.js +1 -1
  638. package/lib/module/components/Indicators/LoadingDot.js +1 -1
  639. package/lib/module/components/Indicators/LoadingDots.js +1 -1
  640. package/lib/module/components/Indicators/LoadingErrorIndicator.js +1 -1
  641. package/lib/module/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  642. package/lib/module/components/Indicators/LoadingIndicator.js +10 -10
  643. package/lib/module/components/Indicators/LoadingIndicator.js.map +1 -1
  644. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js +21 -13
  645. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
  646. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +1 -1
  647. package/lib/module/components/Message/Message.js +153 -855
  648. package/lib/module/components/Message/Message.js.map +1 -1
  649. package/lib/module/components/Message/MessageSimple/MessageAvatar.js +7 -7
  650. package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  651. package/lib/module/components/Message/MessageSimple/MessageContent.js +42 -40
  652. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  653. package/lib/module/components/Message/MessageSimple/MessageDeleted.js +9 -7
  654. package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  655. package/lib/module/components/Message/MessageSimple/MessageFooter.js +35 -23
  656. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  657. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +122 -0
  658. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -0
  659. package/lib/module/components/Message/MessageSimple/MessageReplies.js +27 -11
  660. package/lib/module/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  661. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +6 -6
  662. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  663. package/lib/module/components/Message/MessageSimple/MessageSimple.js +32 -15
  664. package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  665. package/lib/module/components/Message/MessageSimple/MessageStatus.js +29 -25
  666. package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  667. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +8 -4
  668. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  669. package/lib/module/components/Message/MessageSimple/ReactionList.js +87 -114
  670. package/lib/module/components/Message/MessageSimple/ReactionList.js.map +1 -1
  671. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js +89 -0
  672. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
  673. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
  674. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
  675. package/lib/module/components/Message/MessageSimple/utils/renderText.js +208 -27
  676. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  677. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js +240 -0
  678. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js.map +1 -0
  679. package/lib/module/components/Message/hooks/useCreateMessageContext.js +1 -5
  680. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  681. package/lib/module/components/Message/hooks/useMessageActionHandlers.js +307 -0
  682. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -0
  683. package/lib/module/components/Message/hooks/useMessageActions.js +563 -0
  684. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -0
  685. package/lib/module/components/Message/utils/messageActions.js +17 -15
  686. package/lib/module/components/Message/utils/messageActions.js.map +1 -1
  687. package/lib/module/components/Message/utils/removeReservedFields.js.map +1 -1
  688. package/lib/module/components/MessageInput/AttachButton.js +7 -5
  689. package/lib/module/components/MessageInput/AttachButton.js.map +1 -1
  690. package/lib/module/components/MessageInput/CommandsButton.js +4 -4
  691. package/lib/module/components/MessageInput/CommandsButton.js.map +1 -1
  692. package/lib/module/components/MessageInput/CooldownTimer.js +78 -0
  693. package/lib/module/components/MessageInput/CooldownTimer.js.map +1 -0
  694. package/lib/module/components/MessageInput/FileUploadPreview.js +33 -28
  695. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  696. package/lib/module/components/MessageInput/ImageUploadPreview.js +10 -10
  697. package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
  698. package/lib/module/components/MessageInput/InputButtons.js +18 -23
  699. package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
  700. package/lib/module/components/MessageInput/MessageInput.js +94 -66
  701. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  702. package/lib/module/components/MessageInput/MoreOptionsButton.js +4 -4
  703. package/lib/module/components/MessageInput/MoreOptionsButton.js.map +1 -1
  704. package/lib/module/components/MessageInput/SendButton.js +9 -7
  705. package/lib/module/components/MessageInput/SendButton.js.map +1 -1
  706. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +71 -0
  707. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -0
  708. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +12 -11
  709. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  710. package/lib/module/components/MessageInput/UploadProgressIndicator.js +1 -1
  711. package/lib/module/components/MessageInput/hooks/useCooldown.js +63 -0
  712. package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -0
  713. package/lib/module/components/MessageInput/hooks/useCountdown.js +57 -0
  714. package/lib/module/components/MessageInput/hooks/useCountdown.js.map +1 -0
  715. package/lib/module/components/MessageList/DateHeader.js +3 -3
  716. package/lib/module/components/MessageList/DateHeader.js.map +1 -1
  717. package/lib/module/components/MessageList/InlineDateSeparator.js +5 -4
  718. package/lib/module/components/MessageList/InlineDateSeparator.js.map +1 -1
  719. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +5 -5
  720. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
  721. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +5 -5
  722. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
  723. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +5 -5
  724. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
  725. package/lib/module/components/MessageList/InlineUnreadIndicator.js +1 -1
  726. package/lib/module/components/MessageList/MessageList.js +101 -62
  727. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  728. package/lib/module/components/MessageList/MessageSystem.js +7 -7
  729. package/lib/module/components/MessageList/MessageSystem.js.map +1 -1
  730. package/lib/module/components/MessageList/NetworkDownIndicator.js +1 -1
  731. package/lib/module/components/MessageList/ScrollToBottomButton.js +8 -6
  732. package/lib/module/components/MessageList/ScrollToBottomButton.js.map +1 -1
  733. package/lib/module/components/MessageList/TypingIndicator.js +6 -6
  734. package/lib/module/components/MessageList/TypingIndicator.js.map +1 -1
  735. package/lib/module/components/MessageList/TypingIndicatorContainer.js +3 -3
  736. package/lib/module/components/MessageList/TypingIndicatorContainer.js.map +1 -1
  737. package/lib/module/components/MessageList/hooks/useMessageList.js +24 -11
  738. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  739. package/lib/module/components/MessageList/hooks/useTypingString.js +2 -2
  740. package/lib/module/components/MessageList/hooks/useTypingString.js.map +1 -1
  741. package/lib/module/components/MessageList/utils/filterTypingUsers.js.map +1 -1
  742. package/lib/module/components/MessageList/utils/getDateSeparators.js +2 -1
  743. package/lib/module/components/MessageList/utils/getDateSeparators.js.map +1 -1
  744. package/lib/module/components/MessageList/utils/getGroupStyles.js +11 -10
  745. package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
  746. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js +3 -1
  747. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  748. package/lib/module/components/MessageList/utils/getReadStates.js.map +1 -1
  749. package/lib/{commonjs/components/MessageOverlay/MessageActions.js → module/components/MessageOverlay/MessageActionList.js} +33 -85
  750. package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -0
  751. package/lib/module/components/MessageOverlay/MessageActionListItem.js +131 -0
  752. package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -0
  753. package/lib/module/components/MessageOverlay/MessageOverlay.js +100 -85
  754. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  755. package/lib/module/components/MessageOverlay/OverlayBackdrop.js +38 -0
  756. package/lib/module/components/MessageOverlay/OverlayBackdrop.js.map +1 -0
  757. package/lib/module/components/MessageOverlay/OverlayReactionList.js +18 -19
  758. package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  759. package/lib/module/components/MessageOverlay/OverlayReactions.js +32 -35
  760. package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
  761. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
  762. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
  763. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js +37 -0
  764. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -0
  765. package/lib/module/components/Reply/Reply.js +26 -20
  766. package/lib/module/components/Reply/Reply.js.map +1 -1
  767. package/lib/module/components/Spinner/Spinner.js +1 -1
  768. package/lib/module/components/Thread/Thread.js +15 -6
  769. package/lib/module/components/Thread/Thread.js.map +1 -1
  770. package/lib/module/components/Thread/components/ThreadFooterComponent.js +14 -13
  771. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  772. package/lib/module/components/docs/ListProps.md +1 -1
  773. package/lib/module/components/docs/data.js +45 -45
  774. package/lib/module/components/docs/data.js.map +1 -1
  775. package/lib/module/components/index.js +133 -55
  776. package/lib/module/components/index.js.map +1 -1
  777. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +3 -3
  778. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
  779. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +3 -3
  780. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  781. package/lib/module/contexts/channelContext/ChannelContext.js +3 -3
  782. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  783. package/lib/module/contexts/channelsContext/ChannelsContext.js +3 -3
  784. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  785. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +5 -5
  786. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
  787. package/lib/module/contexts/channelsStateContext/useChannelState.js +3 -3
  788. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
  789. package/lib/module/contexts/chatContext/ChatContext.js +3 -3
  790. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  791. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +3 -3
  792. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  793. package/lib/module/contexts/keyboardContext/KeyboardContext.js +3 -3
  794. package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  795. package/lib/module/contexts/messageContext/MessageContext.js +3 -3
  796. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  797. package/lib/module/contexts/messageInputContext/MessageInputContext.js +106 -71
  798. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  799. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +9 -5
  800. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  801. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js +10 -3
  802. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  803. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +6 -20
  804. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  805. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
  806. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
  807. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
  808. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
  809. package/lib/module/contexts/messagesContext/MessagesContext.js +3 -3
  810. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  811. package/lib/module/contexts/overlayContext/OverlayContext.js +2 -2
  812. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  813. package/lib/module/contexts/overlayContext/OverlayProvider.js +50 -50
  814. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  815. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +61 -0
  816. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -0
  817. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +3 -3
  818. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  819. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +21 -34
  820. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  821. package/lib/module/contexts/themeContext/ThemeContext.js +3 -3
  822. package/lib/module/contexts/themeContext/ThemeContext.js.map +1 -1
  823. package/lib/module/contexts/themeContext/utils/theme.js +48 -20
  824. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  825. package/lib/module/contexts/threadContext/ThreadContext.js +3 -3
  826. package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
  827. package/lib/module/contexts/translationContext/TranslationContext.js +4 -4
  828. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  829. package/lib/module/contexts/typingContext/TypingContext.js +3 -3
  830. package/lib/module/contexts/typingContext/TypingContext.js.map +1 -1
  831. package/lib/module/contexts/utils/getDisplayName.js.map +1 -1
  832. package/lib/module/emoji-data/compiled.js +0 -315
  833. package/lib/module/emoji-data/compiled.js.map +1 -1
  834. package/lib/module/emoji-data/emojiNames.js +0 -105
  835. package/lib/module/emoji-data/emojiNames.js.map +1 -1
  836. package/lib/module/emoji-data/emojis.js +0 -175
  837. package/lib/module/emoji-data/emojis.js.map +1 -1
  838. package/lib/module/emoji-data/index.js +2 -2
  839. package/lib/module/emoji-data/index.js.map +1 -1
  840. package/lib/module/hooks/useAppStateListener.js +8 -5
  841. package/lib/module/hooks/useAppStateListener.js.map +1 -1
  842. package/lib/module/hooks/useIsMountedRef.js +19 -0
  843. package/lib/module/hooks/useIsMountedRef.js.map +1 -0
  844. package/lib/module/hooks/useStreami18n.js +5 -2
  845. package/lib/module/hooks/useStreami18n.js.map +1 -1
  846. package/lib/module/i18n/en.json +9 -3
  847. package/lib/module/i18n/fr.json +9 -3
  848. package/lib/module/i18n/hi.json +9 -3
  849. package/lib/module/i18n/it.json +9 -3
  850. package/lib/module/i18n/ja.json +67 -0
  851. package/lib/module/i18n/ko.json +67 -0
  852. package/lib/module/i18n/nl.json +9 -3
  853. package/lib/module/i18n/ru.json +9 -3
  854. package/lib/module/i18n/tr.json +10 -4
  855. package/lib/module/icons/ArrowRight.js +1 -1
  856. package/lib/module/icons/AtMentions.js +1 -1
  857. package/lib/module/icons/Attach.js +1 -1
  858. package/lib/module/icons/Audio.js +1 -1
  859. package/lib/module/icons/CSV.js +1 -1
  860. package/lib/module/icons/Camera.js +1 -1
  861. package/lib/module/icons/Check.js +1 -1
  862. package/lib/module/icons/CheckAll.js +1 -1
  863. package/lib/module/icons/CheckSend.js +1 -1
  864. package/lib/module/icons/CircleClose.js +1 -1
  865. package/lib/module/icons/CirclePlus.js +1 -1
  866. package/lib/module/icons/CircleRight.js +1 -1
  867. package/lib/module/icons/Close.js +1 -1
  868. package/lib/module/icons/Copy.js +1 -1
  869. package/lib/module/icons/CurveLineLeftUp.js +1 -1
  870. package/lib/module/icons/DOC.js +1 -1
  871. package/lib/module/icons/DOCX.js +1 -1
  872. package/lib/module/icons/Delete.js +1 -1
  873. package/lib/module/icons/Down.js +1 -1
  874. package/lib/module/icons/DownloadArrow.js +1 -1
  875. package/lib/module/icons/DownloadCloud.js +1 -1
  876. package/lib/module/icons/Edit.js +1 -1
  877. package/lib/module/icons/Error.js +1 -1
  878. package/lib/module/icons/Eye.js +1 -1
  879. package/lib/module/icons/Flag.js +1 -1
  880. package/lib/module/icons/Folder.js +1 -1
  881. package/lib/module/icons/GenericFile.js +1 -1
  882. package/lib/module/icons/GiphyIcon.js +1 -1
  883. package/lib/module/icons/Grid.js +1 -1
  884. package/lib/module/icons/Group.js +1 -1
  885. package/lib/module/icons/HTML.js +1 -1
  886. package/lib/module/icons/Imgur.js +1 -1
  887. package/lib/module/icons/LOLReaction.js +1 -1
  888. package/lib/module/icons/Lightning.js +1 -1
  889. package/lib/module/icons/Link.js +1 -1
  890. package/lib/module/icons/Loading.js +1 -1
  891. package/lib/module/icons/Logo.js +1 -1
  892. package/lib/module/icons/LoveReaction.js +1 -1
  893. package/lib/module/icons/MD.js +1 -1
  894. package/lib/module/icons/MailOpen.js +1 -1
  895. package/lib/module/icons/MenuPointHorizontal.js +1 -1
  896. package/lib/module/icons/MenuPointVertical.js +1 -1
  897. package/lib/module/icons/MessageFlag.js +1 -1
  898. package/lib/module/icons/MessageIcon.js +1 -1
  899. package/lib/module/icons/Mute.js +1 -1
  900. package/lib/module/icons/Notification.js +1 -1
  901. package/lib/module/icons/ODT.js +1 -1
  902. package/lib/module/icons/PDF.js +1 -1
  903. package/lib/module/icons/PPT.js +1 -1
  904. package/lib/module/icons/PPTX.js +1 -1
  905. package/lib/module/icons/Picture.js +1 -1
  906. package/lib/module/icons/Pin.js +42 -0
  907. package/lib/module/icons/Pin.js.map +1 -0
  908. package/lib/module/icons/PinHeader.js +38 -0
  909. package/lib/module/icons/PinHeader.js.map +1 -0
  910. package/lib/module/icons/RAR.js +1 -1
  911. package/lib/module/icons/RTF.js +1 -1
  912. package/lib/module/icons/Refresh.js +1 -1
  913. package/lib/module/icons/SEVEN_Z.js +1 -1
  914. package/lib/module/icons/Search.js +1 -1
  915. package/lib/module/icons/SendRight.js +1 -1
  916. package/lib/module/icons/SendUp.js +1 -1
  917. package/lib/module/icons/Share.js +1 -1
  918. package/lib/module/icons/ShareRightArrow.js +1 -1
  919. package/lib/module/icons/Smile.js +1 -1
  920. package/lib/module/icons/Sound.js +1 -1
  921. package/lib/module/icons/TAR.js +1 -1
  922. package/lib/module/icons/TXT.js +1 -1
  923. package/lib/module/icons/ThreadReply.js +1 -1
  924. package/lib/module/icons/ThumbsDownReaction.js +1 -1
  925. package/lib/module/icons/ThumbsUpReaction.js +1 -1
  926. package/lib/module/icons/Time.js +1 -1
  927. package/lib/module/icons/Unknown.js +1 -1
  928. package/lib/module/icons/Unpin.js +38 -0
  929. package/lib/module/icons/Unpin.js.map +1 -0
  930. package/lib/module/icons/User.js +1 -1
  931. package/lib/module/icons/UserAdd.js +1 -1
  932. package/lib/module/icons/UserAdmin.js +62 -0
  933. package/lib/module/icons/UserAdmin.js.map +1 -0
  934. package/lib/module/icons/UserDelete.js +1 -1
  935. package/lib/module/icons/UserMinus.js +1 -1
  936. package/lib/module/icons/WutReaction.js +1 -1
  937. package/lib/module/icons/XLS.js +1 -1
  938. package/lib/module/icons/XLSX.js +1 -1
  939. package/lib/module/icons/ZIP.js +1 -1
  940. package/lib/module/icons/index.js +39 -26
  941. package/lib/module/icons/index.js.map +1 -1
  942. package/lib/module/icons/utils/base.js +2 -2
  943. package/lib/module/index.js +6 -6
  944. package/lib/module/init.js +13 -0
  945. package/lib/module/init.js.map +1 -0
  946. package/lib/module/mock-builders/api/error.js +1 -1
  947. package/lib/module/mock-builders/api/queryChannels.js +1 -1
  948. package/lib/module/mock-builders/api/queryChannels.js.map +1 -1
  949. package/lib/module/mock-builders/api/sendMessage.js +4 -1
  950. package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
  951. package/lib/module/mock-builders/generator/attachment.js +1 -3
  952. package/lib/module/mock-builders/generator/attachment.js.map +1 -1
  953. package/lib/module/mock-builders/generator/channel.js +101 -50
  954. package/lib/module/mock-builders/generator/channel.js.map +1 -1
  955. package/lib/module/mock-builders/generator/user.js +32 -33
  956. package/lib/module/mock-builders/generator/user.js.map +1 -1
  957. package/lib/module/mock-builders/mock.js +3 -3
  958. package/lib/module/mock-builders/mock.js.map +1 -1
  959. package/lib/module/mock-builders/native/react-native-mock.js +1 -1
  960. package/lib/module/mock-builders/native/react-native-mock.js.map +1 -1
  961. package/lib/module/native.js +1 -7
  962. package/lib/module/native.js.map +1 -1
  963. package/lib/module/utils/Streami18n.js +10 -0
  964. package/lib/module/utils/Streami18n.js.map +1 -1
  965. package/lib/module/utils/date.js +13 -0
  966. package/lib/module/utils/date.js.map +1 -0
  967. package/lib/module/utils/getResizedImageUrl.js +37 -0
  968. package/lib/module/utils/getResizedImageUrl.js.map +1 -0
  969. package/lib/module/utils/getUrlOfImageAttachment.js +9 -0
  970. package/lib/module/utils/getUrlOfImageAttachment.js.map +1 -0
  971. package/lib/module/utils/utils.js +39 -19
  972. package/lib/module/utils/utils.js.map +1 -1
  973. package/lib/module/version.json +1 -1
  974. package/lib/typescript/components/Attachment/Attachment.d.ts +6 -6
  975. package/lib/typescript/components/Attachment/AttachmentActions.d.ts +5 -5
  976. package/lib/typescript/components/Attachment/Card.d.ts +7 -5
  977. package/lib/typescript/components/Attachment/FileAttachment.d.ts +6 -6
  978. package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts +4 -4
  979. package/lib/typescript/components/Attachment/Gallery.d.ts +19 -6
  980. package/lib/typescript/components/Attachment/Giphy.d.ts +7 -7
  981. package/lib/typescript/components/Attachment/utils/buildGallery/buildGallery.d.ts +23 -0
  982. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.d.ts +7 -0
  983. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.d.ts +7 -0
  984. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.d.ts +7 -0
  985. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnail.d.ts +10 -0
  986. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnailGrid.d.ts +137 -0
  987. package/lib/typescript/components/Attachment/utils/buildGallery/types.d.ts +23 -0
  988. package/lib/typescript/components/Attachment/utils/getAspectRatio.d.ts +9 -0
  989. package/lib/typescript/components/Attachment/utils/getGalleryImageBorderRadius.d.ts +22 -0
  990. package/lib/typescript/components/AutoCompleteInput/AutoCompleteInput.d.ts +10 -4
  991. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.d.ts +5 -0
  992. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionHeader.d.ts +8 -0
  993. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionItem.d.ts +10 -0
  994. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts +21 -0
  995. package/lib/typescript/components/Avatar/Avatar.d.ts +1 -1
  996. package/lib/typescript/components/Channel/Channel.d.ts +13 -16
  997. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +2 -2
  998. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +3 -70
  999. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +3 -126
  1000. package/lib/typescript/components/Channel/hooks/useCreateOwnCapabilitiesContext.d.ts +7 -0
  1001. package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts +3 -3
  1002. package/lib/typescript/components/Channel/hooks/useCreateThreadContext.d.ts +2 -2
  1003. package/lib/typescript/components/Channel/hooks/useCreateTypingContext.d.ts +2 -2
  1004. package/lib/typescript/components/ChannelList/ChannelList.d.ts +15 -15
  1005. package/lib/typescript/components/ChannelList/ChannelListMessenger.d.ts +4 -4
  1006. package/lib/typescript/components/ChannelList/hooks/listeners/useAddedToChannelNotification.d.ts +5 -5
  1007. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelDeleted.d.ts +5 -5
  1008. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelHidden.d.ts +5 -5
  1009. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelTruncated.d.ts +5 -5
  1010. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelUpdated.d.ts +5 -5
  1011. package/lib/typescript/components/ChannelList/hooks/listeners/useChannelVisible.d.ts +5 -5
  1012. package/lib/typescript/components/ChannelList/hooks/listeners/useConnectionRecovered.d.ts +2 -2
  1013. package/lib/typescript/components/ChannelList/hooks/listeners/useNewMessage.d.ts +4 -4
  1014. package/lib/typescript/components/ChannelList/hooks/listeners/useNewMessageNotification.d.ts +5 -5
  1015. package/lib/typescript/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.d.ts +5 -5
  1016. package/lib/typescript/components/ChannelList/hooks/listeners/useUserPresence.d.ts +4 -4
  1017. package/lib/typescript/components/ChannelList/hooks/useCreateChannelsContext.d.ts +2 -2
  1018. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +11 -9
  1019. package/lib/typescript/components/ChannelList/utils.d.ts +7 -7
  1020. package/lib/typescript/components/ChannelPreview/ChannelAvatar.d.ts +3 -3
  1021. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +7 -7
  1022. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessage.d.ts +4 -5
  1023. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts +6 -6
  1024. package/lib/typescript/components/ChannelPreview/ChannelPreviewMutedStatus.d.ts +9 -0
  1025. package/lib/typescript/components/ChannelPreview/ChannelPreviewStatus.d.ts +3 -3
  1026. package/lib/typescript/components/ChannelPreview/ChannelPreviewTitle.d.ts +3 -3
  1027. package/lib/typescript/components/ChannelPreview/ChannelPreviewUnreadCount.d.ts +3 -3
  1028. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.d.ts +15 -3
  1029. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayName.d.ts +4 -4
  1030. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.d.ts +2 -2
  1031. package/lib/typescript/components/ChannelPreview/hooks/useLatestMessagePreview.d.ts +5 -5
  1032. package/lib/typescript/components/Chat/Chat.d.ts +3 -3
  1033. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +2 -2
  1034. package/lib/typescript/components/Chat/hooks/useIsOnline.d.ts +2 -2
  1035. package/lib/typescript/components/Chat/hooks/useMutedUsers.d.ts +2 -2
  1036. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +13 -10
  1037. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryImage.d.ts +1 -1
  1038. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +10 -10
  1039. package/lib/typescript/components/ImageGallery/components/ImageGalleryHeader.d.ts +10 -10
  1040. package/lib/typescript/components/ImageGallery/components/ImageGrid.d.ts +10 -10
  1041. package/lib/typescript/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.d.ts +1 -0
  1042. package/lib/typescript/components/Indicators/LoadingErrorIndicator.d.ts +1 -1
  1043. package/lib/typescript/components/KeyboardCompatibleView/KeyboardCompatibleView.d.ts +2 -1
  1044. package/lib/typescript/components/Message/Message.d.ts +14 -13
  1045. package/lib/typescript/components/Message/MessageSimple/MessageAvatar.d.ts +5 -5
  1046. package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts +4 -4
  1047. package/lib/typescript/components/Message/MessageSimple/MessageDeleted.d.ts +6 -6
  1048. package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts +8 -8
  1049. package/lib/typescript/components/Message/MessageSimple/MessagePinnedHeader.d.ts +8 -0
  1050. package/lib/typescript/components/Message/MessageSimple/MessageReplies.d.ts +4 -4
  1051. package/lib/typescript/components/Message/MessageSimple/MessageRepliesAvatars.d.ts +3 -3
  1052. package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts +4 -4
  1053. package/lib/typescript/components/Message/MessageSimple/MessageStatus.d.ts +4 -4
  1054. package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts +7 -6
  1055. package/lib/typescript/components/Message/MessageSimple/ReactionList.d.ts +5 -4
  1056. package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.d.ts +7 -0
  1057. package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.test.d.ts +1 -0
  1058. package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +21 -6
  1059. package/lib/typescript/components/Message/MessageSimple/utils/renderText.test.d.ts +1 -0
  1060. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +2 -2
  1061. package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +15 -0
  1062. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +26 -0
  1063. package/lib/typescript/components/Message/utils/messageActions.d.ts +22 -21
  1064. package/lib/typescript/components/Message/utils/removeReservedFields.d.ts +2 -2
  1065. package/lib/typescript/components/MessageInput/AttachButton.d.ts +5 -5
  1066. package/lib/typescript/components/MessageInput/CommandsButton.d.ts +5 -5
  1067. package/lib/typescript/components/MessageInput/CooldownTimer.d.ts +10 -0
  1068. package/lib/typescript/components/MessageInput/FileUploadPreview.d.ts +4 -4
  1069. package/lib/typescript/components/MessageInput/ImageUploadPreview.d.ts +4 -4
  1070. package/lib/typescript/components/MessageInput/InputButtons.d.ts +5 -5
  1071. package/lib/typescript/components/MessageInput/MessageInput.d.ts +4 -4
  1072. package/lib/typescript/components/MessageInput/MoreOptionsButton.d.ts +5 -5
  1073. package/lib/typescript/components/MessageInput/SendButton.d.ts +4 -4
  1074. package/lib/typescript/components/MessageInput/SendMessageDisallowedIndicator.d.ts +1 -0
  1075. package/lib/typescript/components/MessageInput/ShowThreadMessageInChannelButton.d.ts +2 -2
  1076. package/lib/typescript/components/MessageInput/hooks/useCooldown.d.ts +9 -0
  1077. package/lib/typescript/components/MessageInput/hooks/useCountdown.d.ts +8 -0
  1078. package/lib/typescript/components/MessageList/InlineLoadingMoreIndicator.d.ts +2 -2
  1079. package/lib/typescript/components/MessageList/InlineLoadingMoreRecentIndicator.d.ts +2 -2
  1080. package/lib/typescript/components/MessageList/InlineLoadingMoreThreadIndicator.d.ts +2 -2
  1081. package/lib/typescript/components/MessageList/MessageList.d.ts +8 -7
  1082. package/lib/typescript/components/MessageList/MessageSystem.d.ts +5 -5
  1083. package/lib/typescript/components/MessageList/TypingIndicator.d.ts +2 -2
  1084. package/lib/typescript/components/MessageList/TypingIndicatorContainer.d.ts +4 -4
  1085. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +6 -5
  1086. package/lib/typescript/components/MessageList/hooks/useTypingString.d.ts +2 -2
  1087. package/lib/typescript/components/MessageList/utils/filterTypingUsers.d.ts +3 -3
  1088. package/lib/typescript/components/MessageList/utils/getDateSeparators.d.ts +4 -4
  1089. package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts +5 -5
  1090. package/lib/typescript/components/MessageList/utils/getLastReceivedMessage.d.ts +2 -2
  1091. package/lib/typescript/components/MessageList/utils/getReadStates.d.ts +8 -5
  1092. package/lib/typescript/components/MessageOverlay/MessageActionList.d.ts +12 -0
  1093. package/lib/typescript/components/MessageOverlay/MessageActionListItem.d.ts +21 -0
  1094. package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts +6 -6
  1095. package/lib/typescript/components/MessageOverlay/OverlayBackdrop.d.ts +6 -0
  1096. package/lib/typescript/components/MessageOverlay/OverlayReactionList.d.ts +6 -7
  1097. package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts +3 -1
  1098. package/lib/typescript/components/MessageOverlay/OverlayReactionsAvatar.d.ts +7 -0
  1099. package/lib/typescript/components/MessageOverlay/hooks/useMessageActionAnimation.d.ts +12 -0
  1100. package/lib/typescript/components/Reply/Reply.d.ts +5 -5
  1101. package/lib/typescript/components/Thread/Thread.d.ts +8 -8
  1102. package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts +2 -2
  1103. package/lib/typescript/components/index.d.ts +13 -7
  1104. package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts +2 -2
  1105. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +39 -40
  1106. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +30 -22
  1107. package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts +19 -19
  1108. package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts +17 -17
  1109. package/lib/typescript/contexts/chatContext/ChatContext.d.ts +11 -11
  1110. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts +8 -8
  1111. package/lib/typescript/contexts/keyboardContext/KeyboardContext.d.ts +2 -2
  1112. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +12 -16
  1113. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +53 -42
  1114. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +3 -3
  1115. package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts +3 -3
  1116. package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +31 -32
  1117. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.d.ts +12 -0
  1118. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.test.d.ts +1 -0
  1119. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +77 -166
  1120. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +15 -8
  1121. package/lib/typescript/contexts/overlayContext/OverlayProvider.d.ts +2 -2
  1122. package/lib/typescript/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.d.ts +25 -0
  1123. package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +8 -8
  1124. package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts +29 -28
  1125. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +46 -17
  1126. package/lib/typescript/contexts/threadContext/ThreadContext.d.ts +10 -10
  1127. package/lib/typescript/contexts/translationContext/TranslationContext.d.ts +2 -2
  1128. package/lib/typescript/contexts/typingContext/TypingContext.d.ts +8 -8
  1129. package/lib/typescript/contexts/utils/getDisplayName.d.ts +2 -2
  1130. package/lib/typescript/hooks/useIsMountedRef.d.ts +20 -0
  1131. package/lib/typescript/i18n/en.json +9 -3
  1132. package/lib/typescript/i18n/fr.json +9 -3
  1133. package/lib/typescript/i18n/hi.json +9 -3
  1134. package/lib/typescript/i18n/it.json +9 -3
  1135. package/lib/typescript/i18n/ja.json +67 -0
  1136. package/lib/typescript/i18n/ko.json +67 -0
  1137. package/lib/typescript/i18n/nl.json +9 -3
  1138. package/lib/typescript/i18n/ru.json +9 -3
  1139. package/lib/typescript/i18n/tr.json +10 -4
  1140. package/lib/typescript/icons/{Left.d.ts → Pin.d.ts} +1 -1
  1141. package/lib/typescript/icons/PinHeader.d.ts +3 -0
  1142. package/lib/typescript/icons/{Right.d.ts → Unpin.d.ts} +1 -1
  1143. package/lib/typescript/icons/UserAdmin.d.ts +3 -0
  1144. package/lib/typescript/icons/index.d.ts +3 -2
  1145. package/lib/typescript/init.d.ts +2 -0
  1146. package/lib/typescript/native.d.ts +1 -9
  1147. package/lib/typescript/types/types.d.ts +16 -13
  1148. package/lib/typescript/utils/Streami18n.d.ts +17 -9
  1149. package/lib/typescript/utils/date.d.ts +2 -0
  1150. package/lib/typescript/utils/getResizedImageUrl.d.ts +20 -0
  1151. package/lib/typescript/utils/getUrlOfImageAttachment.d.ts +7 -0
  1152. package/lib/typescript/utils/utils.d.ts +36 -30
  1153. package/package.json +15 -20
  1154. package/src/components/Attachment/Attachment.tsx +20 -61
  1155. package/src/components/Attachment/AttachmentActions.tsx +17 -57
  1156. package/src/components/Attachment/Card.tsx +22 -52
  1157. package/src/components/Attachment/FileAttachment.tsx +16 -51
  1158. package/src/components/Attachment/FileAttachmentGroup.tsx +16 -57
  1159. package/src/components/Attachment/FileIcon.tsx +2 -2
  1160. package/src/components/Attachment/Gallery.tsx +209 -241
  1161. package/src/components/Attachment/Giphy.tsx +84 -128
  1162. package/src/components/Attachment/__tests__/Attachment.test.js +27 -19
  1163. package/src/components/Attachment/__tests__/Gallery.test.js +233 -0
  1164. package/src/components/Attachment/__tests__/buildGallery.test.js +131 -0
  1165. package/src/components/Attachment/utils/buildGallery/buildGallery.ts +77 -0
  1166. package/src/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.ts +91 -0
  1167. package/src/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.ts +99 -0
  1168. package/src/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.ts +66 -0
  1169. package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +48 -0
  1170. package/src/components/Attachment/utils/buildGallery/buildThumbnailGrid.ts +188 -0
  1171. package/src/components/Attachment/utils/buildGallery/types.ts +27 -0
  1172. package/src/components/Attachment/utils/getAspectRatio.ts +21 -0
  1173. package/src/components/Attachment/utils/getGalleryImageBorderRadius.ts +71 -0
  1174. package/src/components/AttachmentPicker/AttachmentPicker.tsx +4 -2
  1175. package/src/components/AttachmentPicker/components/AttachmentSelectionBar.tsx +15 -3
  1176. package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +66 -96
  1177. package/src/components/AutoCompleteInput/{CommandsItem.tsx → AutoCompleteSuggestionCommandIcon.tsx} +7 -59
  1178. package/src/components/AutoCompleteInput/AutoCompleteSuggestionHeader.tsx +102 -0
  1179. package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx +149 -0
  1180. package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +209 -0
  1181. package/src/components/AutoCompleteInput/__tests__/AutoCompleteInput.test.js +10 -16
  1182. package/src/components/Avatar/Avatar.tsx +8 -11
  1183. package/src/components/Avatar/GroupAvatar.tsx +7 -21
  1184. package/src/components/Avatar/__tests__/Avatar.test.js +2 -33
  1185. package/src/components/Channel/Channel.tsx +495 -477
  1186. package/src/components/Channel/__tests__/Channel.test.js +63 -100
  1187. package/src/components/Channel/__tests__/ownCapabilities.test.js +376 -0
  1188. package/src/components/Channel/hooks/useCreateChannelContext.ts +11 -25
  1189. package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +54 -69
  1190. package/src/components/Channel/hooks/useCreateMessagesContext.ts +17 -49
  1191. package/src/components/Channel/hooks/useCreateOwnCapabilitiesContext.ts +39 -0
  1192. package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +16 -32
  1193. package/src/components/Channel/hooks/useCreateThreadContext.ts +4 -19
  1194. package/src/components/Channel/hooks/useCreateTypingContext.ts +4 -19
  1195. package/src/components/ChannelList/ChannelList.tsx +36 -58
  1196. package/src/components/ChannelList/ChannelListFooterLoadingIndicator.tsx +2 -3
  1197. package/src/components/ChannelList/ChannelListHeaderErrorIndicator.tsx +3 -7
  1198. package/src/components/ChannelList/ChannelListHeaderNetworkDownIndicator.tsx +5 -2
  1199. package/src/components/ChannelList/ChannelListLoadingIndicator.tsx +5 -1
  1200. package/src/components/ChannelList/ChannelListMessenger.tsx +22 -74
  1201. package/src/components/ChannelList/Skeleton.tsx +2 -1
  1202. package/src/components/ChannelList/__tests__/ChannelList.test.js +75 -16
  1203. package/src/components/ChannelList/__tests__/ChannelListMessenger.test.js +46 -14
  1204. package/src/components/ChannelList/hooks/listeners/useAddedToChannelNotification.ts +17 -39
  1205. package/src/components/ChannelList/hooks/listeners/useChannelDeleted.ts +15 -37
  1206. package/src/components/ChannelList/hooks/listeners/useChannelHidden.ts +15 -37
  1207. package/src/components/ChannelList/hooks/listeners/useChannelTruncated.ts +17 -39
  1208. package/src/components/ChannelList/hooks/listeners/useChannelUpdated.ts +15 -37
  1209. package/src/components/ChannelList/hooks/listeners/useChannelVisible.ts +17 -39
  1210. package/src/components/ChannelList/hooks/listeners/useConnectionRecovered.ts +8 -20
  1211. package/src/components/ChannelList/hooks/listeners/useNewMessage.ts +13 -36
  1212. package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +17 -39
  1213. package/src/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.ts +15 -37
  1214. package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +11 -33
  1215. package/src/components/ChannelList/hooks/useCreateChannelsContext.ts +5 -21
  1216. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +95 -70
  1217. package/src/components/ChannelList/utils.ts +9 -42
  1218. package/src/components/ChannelPreview/ChannelAvatar.tsx +6 -29
  1219. package/src/components/ChannelPreview/ChannelPreview.tsx +21 -54
  1220. package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +14 -24
  1221. package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +39 -56
  1222. package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx +50 -0
  1223. package/src/components/ChannelPreview/ChannelPreviewStatus.tsx +10 -30
  1224. package/src/components/ChannelPreview/ChannelPreviewTitle.tsx +7 -28
  1225. package/src/components/ChannelPreview/ChannelPreviewUnreadCount.tsx +7 -27
  1226. package/src/components/ChannelPreview/__tests__/ChannelPreview.test.js +16 -22
  1227. package/src/components/ChannelPreview/__tests__/ChannelPreviewMessenger.test.js +23 -14
  1228. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.ts +15 -30
  1229. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +8 -30
  1230. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.ts +9 -30
  1231. package/src/components/ChannelPreview/hooks/useLatestMessagePreview.ts +31 -81
  1232. package/src/components/Chat/Chat.tsx +19 -44
  1233. package/src/components/Chat/__tests__/Chat.test.js +12 -47
  1234. package/src/components/Chat/hooks/useCreateChatContext.ts +4 -19
  1235. package/src/components/Chat/hooks/useIsOnline.ts +45 -56
  1236. package/src/components/Chat/hooks/useMutedUsers.ts +5 -20
  1237. package/src/components/ImageGallery/ImageGallery.tsx +110 -86
  1238. package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +1 -2
  1239. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +20 -15
  1240. package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +45 -25
  1241. package/src/components/ImageGallery/components/ImageGrid.tsx +47 -33
  1242. package/src/components/ImageGallery/components/ImageGridHandle.tsx +1 -0
  1243. package/src/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.tsx +31 -0
  1244. package/src/components/Indicators/LoadingErrorIndicator.tsx +1 -1
  1245. package/src/components/Indicators/LoadingIndicator.tsx +1 -2
  1246. package/src/components/KeyboardCompatibleView/KeyboardCompatibleView.tsx +9 -2
  1247. package/src/components/Message/Message.tsx +196 -688
  1248. package/src/components/Message/MessageSimple/MessageAvatar.tsx +14 -56
  1249. package/src/components/Message/MessageSimple/MessageContent.tsx +42 -87
  1250. package/src/components/Message/MessageSimple/MessageDeleted.tsx +24 -63
  1251. package/src/components/Message/MessageSimple/MessageFooter.tsx +60 -84
  1252. package/src/components/Message/MessageSimple/MessagePinnedHeader.tsx +109 -0
  1253. package/src/components/Message/MessageSimple/MessageReplies.tsx +19 -60
  1254. package/src/components/Message/MessageSimple/MessageRepliesAvatars.tsx +7 -29
  1255. package/src/components/Message/MessageSimple/MessageSimple.tsx +64 -78
  1256. package/src/components/Message/MessageSimple/MessageStatus.tsx +35 -88
  1257. package/src/components/Message/MessageSimple/MessageTextContainer.tsx +24 -66
  1258. package/src/components/Message/MessageSimple/ReactionList.tsx +110 -163
  1259. package/src/components/Message/MessageSimple/__tests__/Message.test.js +24 -258
  1260. package/src/components/Message/MessageSimple/__tests__/MessageAvatar.test.js +9 -8
  1261. package/src/components/Message/MessageSimple/__tests__/MessageContent.test.js +63 -46
  1262. package/src/components/Message/MessageSimple/__tests__/MessagePinnedHeader.test.js +53 -0
  1263. package/src/components/Message/MessageSimple/__tests__/MessageReplies.test.js +13 -9
  1264. package/src/components/Message/MessageSimple/__tests__/MessageStatus.test.js +11 -47
  1265. package/src/components/Message/MessageSimple/__tests__/MessageTextContainer.test.js +2 -2
  1266. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageAvatar.test.js.snap +35 -22
  1267. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessagePinnedHeader.test.js.snap +80 -0
  1268. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageReplies.test.js.snap +72 -46
  1269. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageStatus.test.js.snap +77 -48
  1270. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageTextContainer.test.js.snap +6 -18
  1271. package/src/components/Message/MessageSimple/utils/parseLinks.test.ts +100 -0
  1272. package/src/components/Message/MessageSimple/utils/parseLinks.ts +95 -0
  1273. package/src/components/Message/MessageSimple/utils/renderText.test.tsx +70 -0
  1274. package/src/components/Message/MessageSimple/utils/renderText.tsx +138 -63
  1275. package/src/components/Message/hooks/useCreateMessageContext.ts +5 -26
  1276. package/src/components/Message/hooks/useMessageActionHandlers.ts +157 -0
  1277. package/src/components/Message/hooks/useMessageActions.tsx +371 -0
  1278. package/src/components/Message/utils/messageActions.ts +53 -54
  1279. package/src/components/Message/utils/removeReservedFields.ts +3 -18
  1280. package/src/components/MessageInput/AttachButton.tsx +15 -57
  1281. package/src/components/MessageInput/CommandsButton.tsx +16 -58
  1282. package/src/components/MessageInput/CooldownTimer.tsx +67 -0
  1283. package/src/components/MessageInput/FileUploadPreview.tsx +86 -118
  1284. package/src/components/MessageInput/ImageUploadPreview.tsx +15 -58
  1285. package/src/components/MessageInput/InputButtons.tsx +17 -64
  1286. package/src/components/MessageInput/MessageInput.tsx +83 -97
  1287. package/src/components/MessageInput/MoreOptionsButton.tsx +14 -56
  1288. package/src/components/MessageInput/SendButton.tsx +14 -55
  1289. package/src/components/MessageInput/SendMessageDisallowedIndicator.tsx +47 -0
  1290. package/src/components/MessageInput/ShowThreadMessageInChannelButton.tsx +6 -21
  1291. package/src/components/MessageInput/__tests__/AttachButton.test.js +2 -2
  1292. package/src/components/MessageInput/__tests__/FileUploadPreview.test.js +193 -97
  1293. package/src/components/MessageInput/__tests__/ImageUploadPreview.test.js +35 -35
  1294. package/src/components/MessageInput/__tests__/MessageInput.test.js +29 -17
  1295. package/src/components/MessageInput/__tests__/SendButton.test.js +2 -2
  1296. package/src/components/MessageInput/__tests__/UploadProgressIndicator.test.js +2 -2
  1297. package/src/components/MessageInput/__tests__/__snapshots__/AttachButton.test.js.snap +134 -52
  1298. package/src/components/MessageInput/__tests__/__snapshots__/FileUploadPreview.test.js.snap +3955 -1647
  1299. package/src/components/MessageInput/__tests__/__snapshots__/ImageUploadPreview.test.js.snap +1964 -1464
  1300. package/src/components/MessageInput/__tests__/__snapshots__/MessageInput.test.js.snap +633 -326
  1301. package/src/components/MessageInput/__tests__/__snapshots__/SendButton.test.js.snap +224 -124
  1302. package/src/components/MessageInput/__tests__/__snapshots__/UploadProgressIndicator.test.js.snap +85 -17
  1303. package/src/components/MessageInput/hooks/useCooldown.ts +48 -0
  1304. package/src/components/MessageInput/hooks/useCountdown.ts +48 -0
  1305. package/src/components/MessageList/DateHeader.tsx +2 -2
  1306. package/src/components/MessageList/InlineDateSeparator.tsx +5 -2
  1307. package/src/components/MessageList/InlineLoadingMoreIndicator.tsx +3 -18
  1308. package/src/components/MessageList/InlineLoadingMoreRecentIndicator.tsx +3 -18
  1309. package/src/components/MessageList/InlineLoadingMoreThreadIndicator.tsx +3 -18
  1310. package/src/components/MessageList/MessageList.tsx +181 -159
  1311. package/src/components/MessageList/MessageSystem.tsx +7 -28
  1312. package/src/components/MessageList/ScrollToBottomButton.tsx +6 -1
  1313. package/src/components/MessageList/TypingIndicator.tsx +4 -20
  1314. package/src/components/MessageList/TypingIndicatorContainer.tsx +14 -47
  1315. package/src/components/MessageList/__tests__/MessageList.test.js +231 -152
  1316. package/src/components/MessageList/__tests__/MessageSystem.test.js +3 -3
  1317. package/src/components/MessageList/__tests__/ScrollToBottomButton.test.js +13 -8
  1318. package/src/components/MessageList/__tests__/TypingIndicator.test.js +14 -97
  1319. package/src/components/MessageList/__tests__/__snapshots__/MessageSystem.test.js.snap +9 -4
  1320. package/src/components/MessageList/__tests__/__snapshots__/ScrollToBottomButton.test.js.snap +78 -32
  1321. package/src/components/MessageList/__tests__/__snapshots__/TypingIndicator.test.js.snap +60 -57
  1322. package/src/components/MessageList/hooks/useMessageList.ts +39 -62
  1323. package/src/components/MessageList/hooks/useTypingString.ts +6 -22
  1324. package/src/components/MessageList/utils/filterTypingUsers.ts +7 -28
  1325. package/src/components/MessageList/utils/getDateSeparators.ts +10 -30
  1326. package/src/components/MessageList/utils/getGroupStyles.ts +23 -44
  1327. package/src/components/MessageList/utils/getLastReceivedMessage.ts +9 -19
  1328. package/src/components/MessageList/utils/getReadStates.ts +5 -20
  1329. package/src/components/MessageOverlay/MessageActionList.tsx +170 -0
  1330. package/src/components/MessageOverlay/MessageActionListItem.tsx +124 -0
  1331. package/src/components/MessageOverlay/MessageOverlay.tsx +264 -268
  1332. package/src/components/MessageOverlay/OverlayBackdrop.tsx +18 -0
  1333. package/src/components/MessageOverlay/OverlayReactionList.tsx +24 -82
  1334. package/src/components/MessageOverlay/OverlayReactions.tsx +12 -8
  1335. package/src/components/MessageOverlay/OverlayReactionsAvatar.tsx +27 -0
  1336. package/src/components/MessageOverlay/hooks/useMessageActionAnimation.tsx +44 -0
  1337. package/src/components/Reply/Reply.tsx +44 -81
  1338. package/src/components/Thread/Thread.tsx +31 -57
  1339. package/src/components/Thread/__tests__/Thread.test.js +58 -77
  1340. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +874 -1011
  1341. package/src/components/Thread/components/ThreadFooterComponent.tsx +13 -49
  1342. package/src/components/docs/ListProps.md +1 -1
  1343. package/src/components/docs/data.js +38 -37
  1344. package/src/components/index.ts +13 -7
  1345. package/src/contexts/activeChannelsRefContext/ActiveChannelsRefContext.tsx +1 -2
  1346. package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +10 -9
  1347. package/src/contexts/channelContext/ChannelContext.tsx +43 -79
  1348. package/src/contexts/channelsContext/ChannelsContext.tsx +37 -63
  1349. package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +39 -117
  1350. package/src/contexts/channelsStateContext/useChannelState.ts +29 -61
  1351. package/src/contexts/chatContext/ChatContext.tsx +15 -51
  1352. package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +13 -56
  1353. package/src/contexts/keyboardContext/KeyboardContext.tsx +13 -8
  1354. package/src/contexts/messageContext/MessageContext.tsx +16 -57
  1355. package/src/contexts/messageInputContext/MessageInputContext.tsx +146 -157
  1356. package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +13 -26
  1357. package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +15 -34
  1358. package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +41 -97
  1359. package/src/contexts/messageOverlayContext/hooks/useResettableState.test.tsx +46 -0
  1360. package/src/contexts/messageOverlayContext/hooks/useResettableState.ts +22 -0
  1361. package/src/contexts/messagesContext/MessagesContext.tsx +96 -234
  1362. package/src/contexts/overlayContext/OverlayContext.tsx +35 -35
  1363. package/src/contexts/overlayContext/OverlayProvider.tsx +52 -62
  1364. package/src/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.tsx +38 -0
  1365. package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +14 -55
  1366. package/src/contexts/suggestionsContext/SuggestionsContext.tsx +59 -80
  1367. package/src/contexts/suggestionsContext/__tests__/Suggestions.test.js +4 -2
  1368. package/src/contexts/themeContext/ThemeContext.tsx +1 -0
  1369. package/src/contexts/themeContext/utils/theme.ts +92 -36
  1370. package/src/contexts/threadContext/ThreadContext.tsx +14 -48
  1371. package/src/contexts/translationContext/TranslationContext.tsx +15 -10
  1372. package/src/contexts/typingContext/TypingContext.tsx +12 -46
  1373. package/src/contexts/utils/getDisplayName.ts +3 -1
  1374. package/src/emoji-data/compiled.ts +1830 -9609
  1375. package/src/emoji-data/emojiNames.ts +0 -140
  1376. package/src/emoji-data/emojis.ts +0 -210
  1377. package/src/emoji-data/index.js +1 -1
  1378. package/src/hooks/useAppStateListener.ts +26 -12
  1379. package/src/hooks/useIsMountedRef.ts +36 -0
  1380. package/src/hooks/useStreami18n.ts +5 -3
  1381. package/src/i18n/en.json +9 -3
  1382. package/src/i18n/fr.json +9 -3
  1383. package/src/i18n/hi.json +9 -3
  1384. package/src/i18n/it.json +9 -3
  1385. package/src/i18n/ja.json +67 -0
  1386. package/src/i18n/ko.json +67 -0
  1387. package/src/i18n/nl.json +9 -3
  1388. package/src/i18n/ru.json +9 -3
  1389. package/src/i18n/tr.json +10 -4
  1390. package/src/icons/Pin.tsx +17 -0
  1391. package/src/icons/PinHeader.tsx +12 -0
  1392. package/src/icons/Unpin.tsx +12 -0
  1393. package/src/icons/UserAdmin.tsx +23 -0
  1394. package/src/icons/index.ts +3 -2
  1395. package/src/init.ts +5 -0
  1396. package/src/mock-builders/api/queryChannels.js +1 -1
  1397. package/src/mock-builders/api/sendMessage.js +3 -1
  1398. package/src/mock-builders/generator/attachment.js +0 -2
  1399. package/src/mock-builders/generator/channel.js +101 -46
  1400. package/src/mock-builders/generator/user.js +33 -26
  1401. package/src/mock-builders/mock.js +2 -2
  1402. package/src/mock-builders/native/react-native-mock.js +1 -1
  1403. package/src/native.ts +2 -13
  1404. package/src/types/types.ts +16 -18
  1405. package/src/utils/Streami18n.ts +12 -6
  1406. package/src/utils/__tests__/Streami18n.test.js +9 -45
  1407. package/src/utils/__tests__/getResizedImageUrl.test.js +57 -0
  1408. package/src/utils/__tests__/utils.test.js +19 -0
  1409. package/src/utils/date.ts +4 -0
  1410. package/src/utils/getResizedImageUrl.ts +59 -0
  1411. package/src/utils/getUrlOfImageAttachment.ts +10 -0
  1412. package/src/utils/utils.ts +97 -142
  1413. package/src/version.json +1 -1
  1414. package/lib/commonjs/components/AutoCompleteInput/CommandsHeader.js +0 -78
  1415. package/lib/commonjs/components/AutoCompleteInput/CommandsHeader.js.map +0 -1
  1416. package/lib/commonjs/components/AutoCompleteInput/CommandsItem.js.map +0 -1
  1417. package/lib/commonjs/components/AutoCompleteInput/EmojisHeader.js +0 -81
  1418. package/lib/commonjs/components/AutoCompleteInput/EmojisHeader.js.map +0 -1
  1419. package/lib/commonjs/components/AutoCompleteInput/EmojisItem.js +0 -75
  1420. package/lib/commonjs/components/AutoCompleteInput/EmojisItem.js.map +0 -1
  1421. package/lib/commonjs/components/AutoCompleteInput/MentionsItem.js +0 -125
  1422. package/lib/commonjs/components/AutoCompleteInput/MentionsItem.js.map +0 -1
  1423. package/lib/commonjs/components/AutoCompleteInput/SuggestionsList.js +0 -199
  1424. package/lib/commonjs/components/AutoCompleteInput/SuggestionsList.js.map +0 -1
  1425. package/lib/commonjs/components/Channel/utils/debounce.js +0 -20
  1426. package/lib/commonjs/components/Channel/utils/debounce.js.map +0 -1
  1427. package/lib/commonjs/components/Channel/utils/throttle.js +0 -20
  1428. package/lib/commonjs/components/Channel/utils/throttle.js.map +0 -1
  1429. package/lib/commonjs/components/MessageOverlay/MessageActions.js.map +0 -1
  1430. package/lib/commonjs/icons/Left.js +0 -38
  1431. package/lib/commonjs/icons/Left.js.map +0 -1
  1432. package/lib/commonjs/icons/Right.js +0 -38
  1433. package/lib/commonjs/icons/Right.js.map +0 -1
  1434. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js +0 -100
  1435. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js.map +0 -1
  1436. package/lib/commonjs/styleguideComponents/BottomSheet.js +0 -25
  1437. package/lib/commonjs/styleguideComponents/BottomSheet.js.map +0 -1
  1438. package/lib/commonjs/styleguideComponents/JsDoc.js +0 -87
  1439. package/lib/commonjs/styleguideComponents/JsDoc.js.map +0 -1
  1440. package/lib/commonjs/styleguideComponents/Markdown.js +0 -12
  1441. package/lib/commonjs/styleguideComponents/Markdown.js.map +0 -1
  1442. package/lib/commonjs/styleguideComponents/PathlineRenderer.js +0 -92
  1443. package/lib/commonjs/styleguideComponents/PathlineRenderer.js.map +0 -1
  1444. package/lib/commonjs/styleguideComponents/PropsRenderer.js +0 -267
  1445. package/lib/commonjs/styleguideComponents/PropsRenderer.js.map +0 -1
  1446. package/lib/commonjs/styleguideComponents/Reanimated.js +0 -2
  1447. package/lib/commonjs/styleguideComponents/Wrapper.js +0 -29
  1448. package/lib/commonjs/styleguideComponents/Wrapper.js.map +0 -1
  1449. package/lib/commonjs/styleguideComponents/register-react-native-web.js +0 -44
  1450. package/lib/commonjs/styleguideComponents/register-react-native-web.js.map +0 -1
  1451. package/lib/commonjs/styleguideComponents/resolveAssetSource.js +0 -11
  1452. package/lib/commonjs/styleguideComponents/resolveAssetSource.js.map +0 -1
  1453. package/lib/module/components/AutoCompleteInput/CommandsHeader.js +0 -78
  1454. package/lib/module/components/AutoCompleteInput/CommandsHeader.js.map +0 -1
  1455. package/lib/module/components/AutoCompleteInput/CommandsItem.js.map +0 -1
  1456. package/lib/module/components/AutoCompleteInput/EmojisHeader.js +0 -81
  1457. package/lib/module/components/AutoCompleteInput/EmojisHeader.js.map +0 -1
  1458. package/lib/module/components/AutoCompleteInput/EmojisItem.js +0 -75
  1459. package/lib/module/components/AutoCompleteInput/EmojisItem.js.map +0 -1
  1460. package/lib/module/components/AutoCompleteInput/MentionsItem.js +0 -125
  1461. package/lib/module/components/AutoCompleteInput/MentionsItem.js.map +0 -1
  1462. package/lib/module/components/AutoCompleteInput/SuggestionsList.js +0 -199
  1463. package/lib/module/components/AutoCompleteInput/SuggestionsList.js.map +0 -1
  1464. package/lib/module/components/Channel/utils/debounce.js +0 -20
  1465. package/lib/module/components/Channel/utils/debounce.js.map +0 -1
  1466. package/lib/module/components/Channel/utils/throttle.js +0 -20
  1467. package/lib/module/components/Channel/utils/throttle.js.map +0 -1
  1468. package/lib/module/components/MessageOverlay/MessageActions.js.map +0 -1
  1469. package/lib/module/icons/Left.js +0 -38
  1470. package/lib/module/icons/Left.js.map +0 -1
  1471. package/lib/module/icons/Right.js +0 -38
  1472. package/lib/module/icons/Right.js.map +0 -1
  1473. package/lib/module/styleguideComponents/ArgumentsRenderer.js +0 -100
  1474. package/lib/module/styleguideComponents/ArgumentsRenderer.js.map +0 -1
  1475. package/lib/module/styleguideComponents/BottomSheet.js +0 -25
  1476. package/lib/module/styleguideComponents/BottomSheet.js.map +0 -1
  1477. package/lib/module/styleguideComponents/JsDoc.js +0 -87
  1478. package/lib/module/styleguideComponents/JsDoc.js.map +0 -1
  1479. package/lib/module/styleguideComponents/Markdown.js +0 -12
  1480. package/lib/module/styleguideComponents/Markdown.js.map +0 -1
  1481. package/lib/module/styleguideComponents/PathlineRenderer.js +0 -92
  1482. package/lib/module/styleguideComponents/PathlineRenderer.js.map +0 -1
  1483. package/lib/module/styleguideComponents/PropsRenderer.js +0 -267
  1484. package/lib/module/styleguideComponents/PropsRenderer.js.map +0 -1
  1485. package/lib/module/styleguideComponents/Reanimated.js +0 -2
  1486. package/lib/module/styleguideComponents/Wrapper.js +0 -29
  1487. package/lib/module/styleguideComponents/Wrapper.js.map +0 -1
  1488. package/lib/module/styleguideComponents/register-react-native-web.js +0 -44
  1489. package/lib/module/styleguideComponents/register-react-native-web.js.map +0 -1
  1490. package/lib/module/styleguideComponents/resolveAssetSource.js +0 -11
  1491. package/lib/module/styleguideComponents/resolveAssetSource.js.map +0 -1
  1492. package/lib/typescript/components/AutoCompleteInput/CommandsHeader.d.ts +0 -2
  1493. package/lib/typescript/components/AutoCompleteInput/CommandsItem.d.ts +0 -15
  1494. package/lib/typescript/components/AutoCompleteInput/EmojisHeader.d.ts +0 -5
  1495. package/lib/typescript/components/AutoCompleteInput/EmojisItem.d.ts +0 -12
  1496. package/lib/typescript/components/AutoCompleteInput/MentionsItem.d.ts +0 -16
  1497. package/lib/typescript/components/AutoCompleteInput/SuggestionsList.d.ts +0 -13
  1498. package/lib/typescript/components/Channel/utils/debounce.d.ts +0 -2
  1499. package/lib/typescript/components/Channel/utils/throttle.d.ts +0 -2
  1500. package/lib/typescript/components/MessageOverlay/MessageActions.d.ts +0 -11
  1501. package/src/components/AutoCompleteInput/CommandsHeader.tsx +0 -43
  1502. package/src/components/AutoCompleteInput/EmojisHeader.tsx +0 -45
  1503. package/src/components/AutoCompleteInput/EmojisItem.tsx +0 -52
  1504. package/src/components/AutoCompleteInput/MentionsItem.tsx +0 -74
  1505. package/src/components/AutoCompleteInput/SuggestionsList.tsx +0 -138
  1506. package/src/components/AutoCompleteInput/__tests__/CommandsItem.test.js +0 -29
  1507. package/src/components/AutoCompleteInput/__tests__/MentionsItem.test.js +0 -62
  1508. package/src/components/Channel/utils/debounce.ts +0 -12
  1509. package/src/components/Channel/utils/throttle.ts +0 -12
  1510. package/src/components/MessageList/__tests__/__snapshots__/MessageList.test.js.snap +0 -983
  1511. package/src/components/MessageOverlay/MessageActions.tsx +0 -243
  1512. package/src/icons/Left.tsx +0 -12
  1513. package/src/icons/Right.tsx +0 -12
  1514. package/src/styleguideComponents/ArgumentsRenderer.tsx +0 -59
  1515. package/src/styleguideComponents/BottomSheet.tsx +0 -3
  1516. package/src/styleguideComponents/JsDoc.tsx +0 -43
  1517. package/src/styleguideComponents/Markdown.tsx +0 -1
  1518. package/src/styleguideComponents/PathlineRenderer.tsx +0 -44
  1519. package/src/styleguideComponents/PropsRenderer.tsx +0 -138
  1520. package/src/styleguideComponents/Reanimated.tsx +0 -0
  1521. package/src/styleguideComponents/Wrapper.tsx +0 -6
  1522. package/src/styleguideComponents/register-react-native-web.js +0 -13
  1523. package/src/styleguideComponents/resolveAssetSource.js +0 -2
@@ -0,0 +1,88 @@
1
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.buildGalleryOfSingleImage = buildGalleryOfSingleImage;
7
+
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
10
+ var _buildThumbnail = require("./buildThumbnail");
11
+
12
+ var _getAspectRatio = require("../getAspectRatio");
13
+
14
+ function clamp(number, min, max) {
15
+ return Math.min(Math.max(number, min), max);
16
+ }
17
+
18
+ function getContainerSize(_ref) {
19
+ var image = _ref.image,
20
+ sizeConfig = _ref.sizeConfig;
21
+ var height = image.original_height,
22
+ width = image.original_width;
23
+ var gridHeight = sizeConfig.gridHeight,
24
+ gridWidth = sizeConfig.gridWidth,
25
+ maxHeight = sizeConfig.maxHeight,
26
+ maxWidth = sizeConfig.maxWidth,
27
+ minHeight = sizeConfig.minHeight,
28
+ minWidth = sizeConfig.minWidth;
29
+
30
+ if (!height || !width) {
31
+ return {
32
+ height: gridHeight,
33
+ width: gridWidth
34
+ };
35
+ }
36
+
37
+ var aspectRatio = (0, _getAspectRatio.getAspectRatio)(image);
38
+
39
+ if (aspectRatio <= 1) {
40
+ var _containerHeight = clamp(height, minHeight, maxHeight);
41
+
42
+ var _containerWidth = clamp(_containerHeight * aspectRatio, minWidth, maxWidth);
43
+
44
+ if (_containerWidth === maxWidth) {
45
+ return {
46
+ height: clamp(_containerWidth / aspectRatio, minHeight, maxHeight),
47
+ width: _containerWidth
48
+ };
49
+ }
50
+
51
+ return {
52
+ height: _containerHeight,
53
+ width: _containerWidth
54
+ };
55
+ }
56
+
57
+ var containerWidth = clamp(width, minWidth, maxWidth);
58
+ var containerHeight = clamp(containerWidth / aspectRatio, minHeight, maxHeight);
59
+
60
+ if (containerHeight === maxHeight) {
61
+ return {
62
+ height: containerHeight,
63
+ width: clamp(containerHeight * aspectRatio, minHeight, maxHeight)
64
+ };
65
+ }
66
+
67
+ return {
68
+ height: containerHeight,
69
+ width: containerWidth
70
+ };
71
+ }
72
+
73
+ function buildGalleryOfSingleImage(_ref2) {
74
+ var image = _ref2.image,
75
+ sizeConfig = _ref2.sizeConfig;
76
+ var container = getContainerSize({
77
+ image: image,
78
+ sizeConfig: sizeConfig
79
+ });
80
+ var thumbnail = (0, _buildThumbnail.buildThumbnail)((0, _extends2["default"])({
81
+ image: image
82
+ }, container));
83
+ var column = [thumbnail];
84
+ return (0, _extends2["default"])({}, container, {
85
+ thumbnailGrid: [column]
86
+ });
87
+ }
88
+ //# sourceMappingURL=buildGalleryOfSingleImage.js.map
@@ -0,0 +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,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"]}
@@ -0,0 +1,75 @@
1
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.buildGalleryOfThreeImages = buildGalleryOfThreeImages;
7
+
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+
12
+ var _buildThumbnailGrid = require("./buildThumbnailGrid");
13
+
14
+ var _getAspectRatio = require("../getAspectRatio");
15
+
16
+ function moveToFront(array, item) {
17
+ var index = array.indexOf(item);
18
+
19
+ if (index === -1) {
20
+ return array;
21
+ }
22
+
23
+ var newArray = (0, _toConsumableArray2["default"])(array);
24
+ newArray.splice(index, 1);
25
+ newArray.unshift(item);
26
+ return newArray;
27
+ }
28
+
29
+ function buildGalleryOfThreeImages(_ref) {
30
+ var images = _ref.images,
31
+ sizeConfig = _ref.sizeConfig;
32
+
33
+ var _images$reduce = images.reduce(function (acc, image) {
34
+ var aspectRatio = (0, _getAspectRatio.getAspectRatio)(image);
35
+ var o = (0, _extends2["default"])({}, acc);
36
+
37
+ if (aspectRatio > 1) {
38
+ if (!o.landscapeImage || aspectRatio > o.landscapeImageAspectRatio) {
39
+ o.landscapeImage = image;
40
+ o.landscapeImageAspectRatio = aspectRatio;
41
+ }
42
+ } else {
43
+ if (!o.portraitImage || aspectRatio < o.portraitImageAspectRatio) {
44
+ o.portraitImage = image;
45
+ o.portraitImageAspectRatio = aspectRatio;
46
+ }
47
+ }
48
+
49
+ return o;
50
+ }, {
51
+ landscapeImageAspectRatio: 1,
52
+ portraitImageAspectRatio: 1
53
+ }),
54
+ landscapeImage = _images$reduce.landscapeImage,
55
+ landscapeImageAspectRatio = _images$reduce.landscapeImageAspectRatio,
56
+ portraitImage = _images$reduce.portraitImage,
57
+ portraitImageAspectRatio = _images$reduce.portraitImageAspectRatio;
58
+
59
+ if (landscapeImageAspectRatio > 1 / portraitImageAspectRatio) {
60
+ return (0, _buildThumbnailGrid.buildThumbnailGrid)({
61
+ grid: [[1], [1, 1]],
62
+ images: landscapeImage ? moveToFront(images, landscapeImage) : images,
63
+ invertedDirections: true,
64
+ sizeConfig: sizeConfig
65
+ });
66
+ } else {
67
+ return (0, _buildThumbnailGrid.buildThumbnailGrid)({
68
+ grid: [[1], [1, 1]],
69
+ images: portraitImage ? moveToFront(images, portraitImage) : images,
70
+ invertedDirections: false,
71
+ sizeConfig: sizeConfig
72
+ });
73
+ }
74
+ }
75
+ //# sourceMappingURL=buildGalleryOfThreeImages.js.map
@@ -0,0 +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 { 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"]}
@@ -0,0 +1,43 @@
1
+ Object.defineProperty(exports, "__esModule", {
2
+ value: true
3
+ });
4
+ exports.buildGalleryOfTwoImages = buildGalleryOfTwoImages;
5
+
6
+ var _buildThumbnailGrid = require("./buildThumbnailGrid");
7
+
8
+ var _getAspectRatio = require("../getAspectRatio");
9
+
10
+ function buildGalleryOfTwoImages(_ref) {
11
+ var images = _ref.images,
12
+ sizeConfig = _ref.sizeConfig;
13
+ var aspectRatio1 = (0, _getAspectRatio.getAspectRatio)(images[0]);
14
+ var aspectRatio2 = (0, _getAspectRatio.getAspectRatio)(images[1]);
15
+ var isLandscape1 = aspectRatio1 > 1;
16
+ var isLandscape2 = aspectRatio2 > 1;
17
+
18
+ if (isLandscape1 && isLandscape2) {
19
+ return (0, _buildThumbnailGrid.buildThumbnailGrid)({
20
+ grid: [[1], [1]],
21
+ images: images,
22
+ invertedDirections: true,
23
+ sizeConfig: sizeConfig
24
+ });
25
+ }
26
+
27
+ if (!isLandscape1 && !isLandscape2) {
28
+ return (0, _buildThumbnailGrid.buildThumbnailGrid)({
29
+ grid: [[1, 1]],
30
+ images: images,
31
+ invertedDirections: true,
32
+ sizeConfig: sizeConfig
33
+ });
34
+ }
35
+
36
+ return (0, _buildThumbnailGrid.buildThumbnailGrid)({
37
+ grid: [[2, 1]],
38
+ images: isLandscape1 ? images : images.reverse(),
39
+ invertedDirections: true,
40
+ sizeConfig: sizeConfig
41
+ });
42
+ }
43
+ //# sourceMappingURL=buildGalleryOfTwoImages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["buildGalleryOfTwoImages.ts"],"names":["buildGalleryOfTwoImages","images","sizeConfig","aspectRatio1","aspectRatio2","isLandscape1","isLandscape2","grid","invertedDirections","reverse"],"mappings":";;;;;AAEA;;AAKA;;AAEO,SAASA,uBAAT,OAQyB;AAAA,MAL9BC,MAK8B,QAL9BA,MAK8B;AAAA,MAJ9BC,UAI8B,QAJ9BA,UAI8B;AAC9B,MAAMC,YAAY,GAAG,oCAAeF,MAAM,CAAC,CAAD,CAArB,CAArB;AACA,MAAMG,YAAY,GAAG,oCAAeH,MAAM,CAAC,CAAD,CAArB,CAArB;AAGA,MAAMI,YAAY,GAAGF,YAAY,GAAG,CAApC;AACA,MAAMG,YAAY,GAAGF,YAAY,GAAG,CAApC;;AAGA,MAAIC,YAAY,IAAIC,YAApB,EAAkC;AAQhC,WAAO,4CAAmB;AACxBC,MAAAA,IAAI,EAAE,CAAC,CAAC,CAAD,CAAD,EAAM,CAAC,CAAD,CAAN,CADkB;AAExBN,MAAAA,MAAM,EAANA,MAFwB;AAGxBO,MAAAA,kBAAkB,EAAE,IAHI;AAIxBN,MAAAA,UAAU,EAAVA;AAJwB,KAAnB,CAAP;AAMD;;AAED,MAAI,CAACG,YAAD,IAAiB,CAACC,YAAtB,EAAoC;AASlC,WAAO,4CAAmB;AACxBC,MAAAA,IAAI,EAAE,CAAC,CAAC,CAAD,EAAI,CAAJ,CAAD,CADkB;AAExBN,MAAAA,MAAM,EAANA,MAFwB;AAGxBO,MAAAA,kBAAkB,EAAE,IAHI;AAIxBN,MAAAA,UAAU,EAAVA;AAJwB,KAAnB,CAAP;AAMD;;AAED,SAAO,4CAAmB;AACxBK,IAAAA,IAAI,EAAE,CAAC,CAAC,CAAD,EAAI,CAAJ,CAAD,CADkB;AAExBN,IAAAA,MAAM,EAAEI,YAAY,GAAGJ,MAAH,GAAYA,MAAM,CAACQ,OAAP,EAFR;AAGxBD,IAAAA,kBAAkB,EAAE,IAHI;AAIxBN,IAAAA,UAAU,EAAVA;AAJwB,GAAnB,CAAP;AAMD","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\nexport function buildGalleryOfTwoImages<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n images,\n sizeConfig,\n}: {\n images: Attachment<StreamChatGenerics>[];\n sizeConfig: GallerySizeConfig;\n}): GallerySizeAndThumbnailGrid {\n const aspectRatio1 = getAspectRatio(images[0]);\n const aspectRatio2 = getAspectRatio(images[1]);\n\n // check if one image is landscape and other is portrait or vice versa\n const isLandscape1 = aspectRatio1 > 1;\n const isLandscape2 = aspectRatio2 > 1;\n\n // Both the images are landscape\n if (isLandscape1 && isLandscape2) {\n /**\n * ----------\n * | |\n * ----------\n * | |\n * ----------\n */\n return buildThumbnailGrid({\n grid: [[1], [1]],\n images,\n invertedDirections: true,\n sizeConfig,\n });\n }\n\n if (!isLandscape1 && !isLandscape2) {\n /**\n * -----------\n * | | |\n * | | |\n * | | |\n * | | |\n * -----------\n */\n return buildThumbnailGrid({\n grid: [[1, 1]],\n images,\n invertedDirections: true,\n sizeConfig,\n });\n }\n\n return buildThumbnailGrid({\n grid: [[2, 1]],\n images: isLandscape1 ? images : images.reverse(),\n invertedDirections: true,\n sizeConfig,\n });\n}\n"]}
@@ -0,0 +1,30 @@
1
+ Object.defineProperty(exports, "__esModule", {
2
+ value: true
3
+ });
4
+ exports.buildThumbnail = buildThumbnail;
5
+
6
+ var _getResizedImageUrl = require("../../../../utils/getResizedImageUrl");
7
+
8
+ var _getUrlOfImageAttachment = require("../../../../utils/getUrlOfImageAttachment");
9
+
10
+ function buildThumbnail(_ref) {
11
+ var height = _ref.height,
12
+ image = _ref.image,
13
+ resizeMode = _ref.resizeMode,
14
+ width = _ref.width;
15
+ var originalImageHeight = image.original_height,
16
+ originalImageWidth = image.original_width;
17
+ var shouldResize = originalImageHeight && originalImageWidth ? originalImageHeight + originalImageWidth > height + width : true;
18
+ var imageUrl = (0, _getUrlOfImageAttachment.getUrlOfImageAttachment)(image);
19
+ return {
20
+ height: height,
21
+ resizeMode: resizeMode ? resizeMode : image.original_height && image.original_width ? 'contain' : 'cover',
22
+ url: shouldResize ? (0, _getResizedImageUrl.getResizedImageUrl)({
23
+ height: height,
24
+ url: imageUrl,
25
+ width: width
26
+ }) : imageUrl,
27
+ width: width
28
+ };
29
+ }
30
+ //# sourceMappingURL=buildThumbnail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["buildThumbnail.ts"],"names":["buildThumbnail","height","image","resizeMode","width","originalImageHeight","original_height","originalImageWidth","original_width","shouldResize","imageUrl","url"],"mappings":";;;;;AAQA;;AACA;;AAEO,SAASA,cAAT,OAYO;AAAA,MATZC,MASY,QATZA,MASY;AAAA,MARZC,KAQY,QARZA,KAQY;AAAA,MAPZC,UAOY,QAPZA,UAOY;AAAA,MANZC,KAMY,QANZA,KAMY;AACZ,MAAyBC,mBAAzB,GAAqFH,KAArF,CAAQI,eAAR;AAAA,MAA8DC,kBAA9D,GAAqFL,KAArF,CAA8CM,cAA9C;AAGA,MAAMC,YAAY,GAChBJ,mBAAmB,IAAIE,kBAAvB,GACIF,mBAAmB,GAAGE,kBAAtB,GAA2CN,MAAM,GAAGG,KADxD,GAEI,IAHN;AAIA,MAAMM,QAAQ,GAAG,sDAAwBR,KAAxB,CAAjB;AAEA,SAAO;AACLD,IAAAA,MAAM,EAANA,MADK;AAELE,IAAAA,UAAU,EAAEA,UAAU,GAClBA,UADkB,GAEhBD,KAAK,CAACI,eAAN,IAAyBJ,KAAK,CAACM,cAA/B,GAAgD,SAAhD,GAA4D,OAJ7D;AAKLG,IAAAA,GAAG,EAAEF,YAAY,GACb,4CAAmB;AACjBR,MAAAA,MAAM,EAANA,MADiB;AAEjBU,MAAAA,GAAG,EAAED,QAFY;AAGjBN,MAAAA,KAAK,EAALA;AAHiB,KAAnB,CADa,GAMbM,QAXC;AAYLN,IAAAA,KAAK,EAALA;AAZK,GAAP;AAcD","sourcesContent":["import type { ImageResizeMode } from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport type { Thumbnail } from './types';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\n\nimport { getResizedImageUrl } from '../../../../utils/getResizedImageUrl';\nimport { getUrlOfImageAttachment } from '../../../../utils/getUrlOfImageAttachment';\n\nexport function buildThumbnail<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n height,\n image,\n resizeMode,\n width,\n}: {\n height: number;\n image: Attachment<StreamChatGenerics>;\n width: number;\n resizeMode?: ImageResizeMode;\n}): Thumbnail {\n const { original_height: originalImageHeight, original_width: originalImageWidth } = image;\n\n // Only resize if the original image is larger than the thumbnail container size.\n const shouldResize =\n originalImageHeight && originalImageWidth\n ? originalImageHeight + originalImageWidth > height + width\n : true;\n const imageUrl = getUrlOfImageAttachment(image) as string;\n\n return {\n height,\n resizeMode: resizeMode\n ? resizeMode\n : ((image.original_height && image.original_width ? 'contain' : 'cover') as ImageResizeMode),\n url: shouldResize\n ? getResizedImageUrl({\n height,\n url: imageUrl,\n width,\n })\n : imageUrl,\n width,\n };\n}\n"]}
@@ -0,0 +1,49 @@
1
+ Object.defineProperty(exports, "__esModule", {
2
+ value: true
3
+ });
4
+ exports.buildThumbnailGrid = buildThumbnailGrid;
5
+
6
+ var _buildThumbnail = require("./buildThumbnail");
7
+
8
+ function buildThumbnailGrid(_ref) {
9
+ var grid = _ref.grid,
10
+ images = _ref.images,
11
+ _ref$invertedDirectio = _ref.invertedDirections,
12
+ invertedDirections = _ref$invertedDirectio === void 0 ? false : _ref$invertedDirectio,
13
+ sizeConfig = _ref.sizeConfig;
14
+ var gridHeight = sizeConfig.gridHeight,
15
+ gridWidth = sizeConfig.gridWidth;
16
+ var imageIndex = 0;
17
+ var thumbnailGrid = [];
18
+ var numOfColumns = grid.length;
19
+ grid.forEach(function (rows, colIndex) {
20
+ var totalFlexValue = rows.reduce(function (acc, curr) {
21
+ return acc + curr;
22
+ }, 0);
23
+ rows.forEach(function (flexValue) {
24
+ var tHeight = invertedDirections ? gridHeight / numOfColumns : gridHeight * (flexValue / totalFlexValue);
25
+ var tWidth = invertedDirections ? gridWidth * (flexValue / totalFlexValue) : gridWidth / numOfColumns;
26
+ var currentImage = images[imageIndex];
27
+ var thumbnail = (0, _buildThumbnail.buildThumbnail)({
28
+ height: tHeight,
29
+ image: currentImage,
30
+ resizeMode: 'cover',
31
+ width: tWidth
32
+ });
33
+
34
+ if (!thumbnailGrid[colIndex]) {
35
+ thumbnailGrid[colIndex] = [];
36
+ }
37
+
38
+ thumbnailGrid[colIndex].push(thumbnail);
39
+ imageIndex++;
40
+ });
41
+ });
42
+ return {
43
+ height: gridHeight,
44
+ invertedDirections: invertedDirections,
45
+ thumbnailGrid: thumbnailGrid,
46
+ width: gridWidth
47
+ };
48
+ }
49
+ //# sourceMappingURL=buildThumbnailGrid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["buildThumbnailGrid.ts"],"names":["buildThumbnailGrid","grid","images","invertedDirections","sizeConfig","gridHeight","gridWidth","imageIndex","thumbnailGrid","numOfColumns","length","forEach","rows","colIndex","totalFlexValue","reduce","acc","curr","flexValue","tHeight","tWidth","currentImage","thumbnail","height","image","resizeMode","width","push"],"mappings":";;;;;AAEA;;AAqIO,SAASA,kBAAT,OAYyB;AAAA,MAT9BC,IAS8B,QAT9BA,IAS8B;AAAA,MAR9BC,MAQ8B,QAR9BA,MAQ8B;AAAA,mCAP9BC,kBAO8B;AAAA,MAP9BA,kBAO8B,sCAPT,KAOS;AAAA,MAN9BC,UAM8B,QAN9BA,UAM8B;AAC9B,MAAQC,UAAR,GAAkCD,UAAlC,CAAQC,UAAR;AAAA,MAAoBC,SAApB,GAAkCF,UAAlC,CAAoBE,SAApB;AAEA,MAAIC,UAAU,GAAG,CAAjB;AACA,MAAMC,aAA4B,GAAG,EAArC;AACA,MAAMC,YAAY,GAAGR,IAAI,CAACS,MAA1B;AACAT,EAAAA,IAAI,CAACU,OAAL,CAAa,UAACC,IAAD,EAAOC,QAAP,EAAoB;AAC/B,QAAMC,cAAc,GAAGF,IAAI,CAACG,MAAL,CAAY,UAACC,GAAD,EAAMC,IAAN;AAAA,aAAeD,GAAG,GAAGC,IAArB;AAAA,KAAZ,EAAuC,CAAvC,CAAvB;AAEAL,IAAAA,IAAI,CAACD,OAAL,CAAa,UAACO,SAAD,EAAe;AAC1B,UAAMC,OAAO,GAAGhB,kBAAkB,GAC9BE,UAAU,GAAGI,YADiB,GAE9BJ,UAAU,IAAIa,SAAS,GAAGJ,cAAhB,CAFd;AAIA,UAAMM,MAAM,GAAGjB,kBAAkB,GAC7BG,SAAS,IAAIY,SAAS,GAAGJ,cAAhB,CADoB,GAE7BR,SAAS,GAAGG,YAFhB;AAIA,UAAMY,YAAY,GAAGnB,MAAM,CAACK,UAAD,CAA3B;AACA,UAAMe,SAAS,GAAG,oCAAe;AAC/BC,QAAAA,MAAM,EAAEJ,OADuB;AAE/BK,QAAAA,KAAK,EAAEH,YAFwB;AAG/BI,QAAAA,UAAU,EAAE,OAHmB;AAI/BC,QAAAA,KAAK,EAAEN;AAJwB,OAAf,CAAlB;;AAOA,UAAI,CAACZ,aAAa,CAACK,QAAD,CAAlB,EAA8B;AAC5BL,QAAAA,aAAa,CAACK,QAAD,CAAb,GAA0B,EAA1B;AACD;;AAEDL,MAAAA,aAAa,CAACK,QAAD,CAAb,CAAwBc,IAAxB,CAA6BL,SAA7B;AACAf,MAAAA,UAAU;AACX,KAvBD;AAwBD,GA3BD;AA4BA,SAAO;AACLgB,IAAAA,MAAM,EAAElB,UADH;AAELF,IAAAA,kBAAkB,EAAlBA,kBAFK;AAGLK,IAAAA,aAAa,EAAbA,aAHK;AAILkB,IAAAA,KAAK,EAAEpB;AAJF,GAAP;AAMD","sourcesContent":["import type { Attachment } from 'stream-chat';\n\nimport { buildThumbnail } from './buildThumbnail';\nimport type { GallerySizeAndThumbnailGrid, GallerySizeConfig, ThumbnailGrid } from './types';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\n\n/**\n * Builds a grid of thumbnail images from image attachments.\n * This function take a object parameter with following properties:\n *\n * @params\n *\n * - {number[][]} grid - Grid pattern of the gallery. Each numeric value in the array represents the flex value of corresponding image in grid.\n * - {Attachment[]} images - Array of image attachments.\n * - {GallerySizeConfig} sizeConfig - Theme config for the gallery.\n * - {boolean} invertedDirections - 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 * @usage\n *\n * ```\n * const { thumbnailGrid, invertedDirection } = buildThumbnailGrid({\n * grid: [[1], [1]],\n * images: [image1, image2],\n * sizeConfig: {\n * gridHeight: 200,\n * gridWidth: 200,\n * maxHeight: 200,\n * maxWidth: 200,\n * minHeight: 200,\n * minWidth: 200,\n * },\n * })\n *\n * Rendering logic on UI:\n *\n * ```\n * <View style={{ flexDirection: invertedDirection ? 'row' : 'column }}>\n * {\n * thumbnailGrid.forEach(rows => {\n * return (\n * <View style={{ flexDirection: invertedDirection ? 'column' : 'row' }}>\n * {\n * rows.forEach(thumbnail => (\n * <Image\n * source={{ uri: thumbnail.url }}\n * resizeMode={thumbnail.resizeMode}\n * width={thumbnail.width}\n * height={thumbnail.height}\n * />\n * ))}\n * </View>\n * )});\n * }\n * </View>\n * ```\n *\n * Lets look at different examples of grid and invertedDirections param:\n *\n * EXAMPLE 1:\n *\n * ```\n * {\n * grid: [[2, 1], [2, 1]]\n * invertedDirections: false\n * }\n * ```\n *\n * Resulting thumbnail grid on rendered UI:\n *\n * __________________\n * | | |\n * | | |\n * |------------------|\n * | | |\n * | | |\n * ------------------\n *\n * EXAMPLE 2:\n *\n * ```\n * {\n * grid: [[2, 1], [2, 1]]\n * invertedDirections: true\n * }\n * ```\n * Resulting thumbnail grid on rendered UI:\n * __________________\n * | | |\n * | | |\n * | | |\n * | | |\n * |------------------|\n * | | |\n * | | |\n * ------------------\n *\n * EXAMPLE 3:\n *\n * ```\n * {\n * grid: [[2, 1]]\n * invertedDirections: false\n * }\n * ```\n * Resulting thumbnail grid on rendered UI:\n * __________________\n * | |\n * | |\n * | |\n * | |\n * |------------------|\n * | |\n * | |\n * ------------------\n *\n * EXAMPLE 4:\n *\n * ```\n * {\n * grid: [[2, 1]]\n * invertedDirections: true\n * }\n * ```\n * Resulting thumbnail grid on rendered UI:\n * __________________\n * | | |\n * | | |\n * | | |\n * | | |\n * | | |\n * ------------------\n *\n * @return {GallerySizeAndThumbnailGrid}\n */\nexport function buildThumbnailGrid<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n grid,\n images,\n invertedDirections = false,\n sizeConfig,\n}: {\n grid: number[][];\n images: Attachment<StreamChatGenerics>[];\n invertedDirections: boolean;\n sizeConfig: GallerySizeConfig;\n}): GallerySizeAndThumbnailGrid {\n const { gridHeight, gridWidth } = sizeConfig;\n\n let imageIndex = 0;\n const thumbnailGrid: ThumbnailGrid = [];\n const numOfColumns = grid.length;\n grid.forEach((rows, colIndex) => {\n const totalFlexValue = rows.reduce((acc, curr) => acc + curr, 0);\n\n rows.forEach((flexValue) => {\n const tHeight = invertedDirections\n ? gridHeight / numOfColumns\n : gridHeight * (flexValue / totalFlexValue);\n\n const tWidth = invertedDirections\n ? gridWidth * (flexValue / totalFlexValue)\n : gridWidth / numOfColumns;\n\n const currentImage = images[imageIndex];\n const thumbnail = buildThumbnail({\n height: tHeight,\n image: currentImage,\n resizeMode: 'cover',\n width: tWidth,\n });\n\n if (!thumbnailGrid[colIndex]) {\n thumbnailGrid[colIndex] = [];\n }\n\n thumbnailGrid[colIndex].push(thumbnail);\n imageIndex++;\n });\n });\n return {\n height: gridHeight,\n invertedDirections,\n thumbnailGrid,\n width: gridWidth,\n };\n}\n"]}
@@ -0,0 +1,4 @@
1
+ Object.defineProperty(exports, "__esModule", {
2
+ value: true
3
+ });
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,14 @@
1
+ Object.defineProperty(exports, "__esModule", {
2
+ value: true
3
+ });
4
+ exports.getAspectRatio = getAspectRatio;
5
+
6
+ function getAspectRatio(image) {
7
+ if (image.type !== 'image') {
8
+ throw new Error('getAspectRatio() can only be called on an image attachment');
9
+ }
10
+
11
+ if (!image.original_width || !image.original_height) return 1;
12
+ return image.original_width / image.original_height;
13
+ }
14
+ //# sourceMappingURL=getAspectRatio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["getAspectRatio.ts"],"names":["getAspectRatio","image","type","Error","original_width","original_height"],"mappings":";;;;;AAUO,SAASA,cAAT,CAELC,KAFK,EAEkC;AACvC,MAAIA,KAAK,CAACC,IAAN,KAAe,OAAnB,EAA4B;AAC1B,UAAM,IAAIC,KAAJ,CAAU,4DAAV,CAAN;AACD;;AAED,MAAI,CAACF,KAAK,CAACG,cAAP,IAAyB,CAACH,KAAK,CAACI,eAApC,EAAqD,OAAO,CAAP;AAErD,SAAOJ,KAAK,CAACG,cAAN,GAAuBH,KAAK,CAACI,eAApC;AACD","sourcesContent":["import type { Attachment } from 'stream-chat';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\n/**\n * Returns the aspect ratio of an image attachment.\n *\n * @param image Image attachment.\n * @returns {number}\n */\nexport function getAspectRatio<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(image: Attachment<StreamChatGenerics>) {\n if (image.type !== 'image') {\n throw new Error('getAspectRatio() can only be called on an image attachment');\n }\n\n if (!image.original_width || !image.original_height) return 1;\n\n return image.original_width / image.original_height;\n}\n"]}
@@ -0,0 +1,36 @@
1
+ Object.defineProperty(exports, "__esModule", {
2
+ value: true
3
+ });
4
+ exports.getGalleryImageBorderRadius = getGalleryImageBorderRadius;
5
+
6
+ function getGalleryImageBorderRadius(_ref) {
7
+ var _groupStyles$;
8
+
9
+ var alignment = _ref.alignment,
10
+ colIndex = _ref.colIndex,
11
+ groupStyles = _ref.groupStyles,
12
+ hasThreadReplies = _ref.hasThreadReplies,
13
+ height = _ref.height,
14
+ invertedDirections = _ref.invertedDirections,
15
+ messageText = _ref.messageText,
16
+ numOfColumns = _ref.numOfColumns,
17
+ numOfRows = _ref.numOfRows,
18
+ rowIndex = _ref.rowIndex,
19
+ sizeConfig = _ref.sizeConfig,
20
+ threadList = _ref.threadList,
21
+ width = _ref.width;
22
+ var groupStyle = alignment + "_" + (groupStyles == null ? void 0 : (_groupStyles$ = groupStyles[0]) == null ? void 0 : _groupStyles$.toLowerCase == null ? void 0 : _groupStyles$.toLowerCase());
23
+ var isSingleImage = numOfColumns === 1 && numOfRows === 1;
24
+ var isImageSmallerThanMinContainerSize = isSingleImage && height && width && (height > width && width === sizeConfig.minWidth || height < width && height === sizeConfig.minHeight);
25
+ var topLeftEdgeExposed = colIndex === 0 && rowIndex === 0;
26
+ var bottomLeftEdgeExposed = !invertedDirections && colIndex === 0 && rowIndex === numOfRows - 1 || invertedDirections && colIndex === numOfColumns - 1 && rowIndex === 0;
27
+ var topRightEdgeExposed = !invertedDirections && colIndex === numOfColumns - 1 && rowIndex === 0 || invertedDirections && colIndex === 0 && rowIndex === numOfRows - 1;
28
+ var bottomRightEdgeExposed = colIndex === numOfColumns && rowIndex === numOfRows - 1;
29
+ return {
30
+ borderBottomLeftRadius: !isImageSmallerThanMinContainerSize && bottomLeftEdgeExposed && !messageText && (groupStyle !== 'left_bottom' && groupStyle !== 'left_single' || hasThreadReplies && !threadList) ? 14 : 0,
31
+ borderBottomRightRadius: !isImageSmallerThanMinContainerSize && bottomRightEdgeExposed && !messageText && (groupStyle !== 'right_bottom' && groupStyle !== 'right_single' || hasThreadReplies && !threadList) ? 14 : 0,
32
+ borderTopLeftRadius: !isImageSmallerThanMinContainerSize && topLeftEdgeExposed ? 14 : 0,
33
+ borderTopRightRadius: !isImageSmallerThanMinContainerSize && topRightEdgeExposed ? 14 : 0
34
+ };
35
+ }
36
+ //# sourceMappingURL=getGalleryImageBorderRadius.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["getGalleryImageBorderRadius.ts"],"names":["getGalleryImageBorderRadius","alignment","colIndex","groupStyles","hasThreadReplies","height","invertedDirections","messageText","numOfColumns","numOfRows","rowIndex","sizeConfig","threadList","width","groupStyle","toLowerCase","isSingleImage","isImageSmallerThanMinContainerSize","minWidth","minHeight","topLeftEdgeExposed","bottomLeftEdgeExposed","topRightEdgeExposed","bottomRightEdgeExposed","borderBottomLeftRadius","borderBottomRightRadius","borderTopLeftRadius","borderTopRightRadius"],"mappings":";;;;;AAkBO,SAASA,2BAAT,OAcI;AAAA;;AAAA,MAbTC,SAaS,QAbTA,SAaS;AAAA,MAZTC,QAYS,QAZTA,QAYS;AAAA,MAXTC,WAWS,QAXTA,WAWS;AAAA,MAVTC,gBAUS,QAVTA,gBAUS;AAAA,MATTC,MASS,QATTA,MASS;AAAA,MARTC,kBAQS,QARTA,kBAQS;AAAA,MAPTC,WAOS,QAPTA,WAOS;AAAA,MANTC,YAMS,QANTA,YAMS;AAAA,MALTC,SAKS,QALTA,SAKS;AAAA,MAJTC,QAIS,QAJTA,QAIS;AAAA,MAHTC,UAGS,QAHTA,UAGS;AAAA,MAFTC,UAES,QAFTA,UAES;AAAA,MADTC,KACS,QADTA,KACS;AACT,MAAMC,UAAU,GAAMb,SAAN,UAAmBE,WAAnB,qCAAmBA,WAAW,CAAG,CAAH,CAA9B,qBAAmB,cAAkBY,WAArC,oBAAmB,cAAkBA,WAAlB,EAAnB,CAAhB;AACA,MAAMC,aAAa,GAAGR,YAAY,KAAK,CAAjB,IAAsBC,SAAS,KAAK,CAA1D;AACA,MAAMQ,kCAAkC,GACtCD,aAAa,IACbX,MADA,IAEAQ,KAFA,KAGER,MAAM,GAAGQ,KAAT,IAAkBA,KAAK,KAAKF,UAAU,CAACO,QAAxC,IACEb,MAAM,GAAGQ,KAAT,IAAkBR,MAAM,KAAKM,UAAU,CAACQ,SAJ3C,CADF;AAMA,MAAMC,kBAAkB,GAAGlB,QAAQ,KAAK,CAAb,IAAkBQ,QAAQ,KAAK,CAA1D;AACA,MAAMW,qBAAqB,GACxB,CAACf,kBAAD,IAAuBJ,QAAQ,KAAK,CAApC,IAAyCQ,QAAQ,KAAKD,SAAS,GAAG,CAAnE,IACCH,kBAAkB,IAAIJ,QAAQ,KAAKM,YAAY,GAAG,CAAlD,IAAuDE,QAAQ,KAAK,CAFvE;AAGA,MAAMY,mBAAmB,GACtB,CAAChB,kBAAD,IAAuBJ,QAAQ,KAAKM,YAAY,GAAG,CAAnD,IAAwDE,QAAQ,KAAK,CAAtE,IACCJ,kBAAkB,IAAIJ,QAAQ,KAAK,CAAnC,IAAwCQ,QAAQ,KAAKD,SAAS,GAAG,CAFpE;AAGA,MAAMc,sBAAsB,GAAGrB,QAAQ,KAAKM,YAAb,IAA6BE,QAAQ,KAAKD,SAAS,GAAG,CAArF;AAEA,SAAO;AACLe,IAAAA,sBAAsB,EACpB,CAACP,kCAAD,IACAI,qBADA,IAEA,CAACd,WAFD,KAGEO,UAAU,KAAK,aAAf,IAAgCA,UAAU,KAAK,aAAhD,IACEV,gBAAgB,IAAI,CAACQ,UAJxB,IAKI,EALJ,GAMI,CARD;AASLa,IAAAA,uBAAuB,EACrB,CAACR,kCAAD,IACAM,sBADA,IAEA,CAAChB,WAFD,KAGEO,UAAU,KAAK,cAAf,IAAiCA,UAAU,KAAK,cAAjD,IACEV,gBAAgB,IAAI,CAACQ,UAJxB,IAKI,EALJ,GAMI,CAhBD;AAiBLc,IAAAA,mBAAmB,EAAE,CAACT,kCAAD,IAAuCG,kBAAvC,GAA4D,EAA5D,GAAiE,CAjBjF;AAkBLO,IAAAA,oBAAoB,EAAE,CAACV,kCAAD,IAAuCK,mBAAvC,GAA6D,EAA7D,GAAkE;AAlBnF,GAAP;AAoBD","sourcesContent":["import type { GallerySizeConfig } from './buildGallery/types';\n\nimport type { MessageContextValue } from '../../../contexts/messageContext/MessageContext';\n\ntype Params = {\n colIndex: number;\n numOfColumns: number;\n numOfRows: number;\n rowIndex: number;\n sizeConfig: GallerySizeConfig;\n hasThreadReplies?: boolean;\n height?: number;\n invertedDirections?: boolean;\n messageText?: string;\n threadList?: boolean;\n width?: number;\n} & Pick<MessageContextValue, 'groupStyles' | 'alignment'>;\n\nexport function 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}: Params) {\n const groupStyle = `${alignment}_${groupStyles?.[0]?.toLowerCase?.()}`;\n const isSingleImage = numOfColumns === 1 && numOfRows === 1;\n const isImageSmallerThanMinContainerSize =\n isSingleImage &&\n height &&\n width &&\n ((height > width && width === sizeConfig.minWidth) ||\n (height < width && height === sizeConfig.minHeight));\n const topLeftEdgeExposed = colIndex === 0 && rowIndex === 0;\n const bottomLeftEdgeExposed =\n (!invertedDirections && colIndex === 0 && rowIndex === numOfRows - 1) ||\n (invertedDirections && colIndex === numOfColumns - 1 && rowIndex === 0);\n const topRightEdgeExposed =\n (!invertedDirections && colIndex === numOfColumns - 1 && rowIndex === 0) ||\n (invertedDirections && colIndex === 0 && rowIndex === numOfRows - 1);\n const bottomRightEdgeExposed = colIndex === numOfColumns && rowIndex === numOfRows - 1;\n\n return {\n borderBottomLeftRadius:\n !isImageSmallerThanMinContainerSize &&\n bottomLeftEdgeExposed &&\n !messageText &&\n ((groupStyle !== 'left_bottom' && groupStyle !== 'left_single') ||\n (hasThreadReplies && !threadList))\n ? 14\n : 0,\n borderBottomRightRadius:\n !isImageSmallerThanMinContainerSize &&\n bottomRightEdgeExposed &&\n !messageText &&\n ((groupStyle !== 'right_bottom' && groupStyle !== 'right_single') ||\n (hasThreadReplies && !threadList))\n ? 14\n : 0,\n borderTopLeftRadius: !isImageSmallerThanMinContainerSize && topLeftEdgeExposed ? 14 : 0,\n borderTopRightRadius: !isImageSmallerThanMinContainerSize && topRightEdgeExposed ? 14 : 0,\n };\n}\n"]}
@@ -30,7 +30,7 @@ var _native = require("../../native");
30
30
  var _utils = require("../../utils/utils");
31
31
 
32
32
  var _this = this,
33
- _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/AttachmentPicker/AttachmentPicker.tsx";
33
+ _jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AttachmentPicker/AttachmentPicker.tsx";
34
34
 
35
35
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
36
36
 
@@ -70,7 +70,7 @@ var AttachmentImage = function AttachmentImage(props) {
70
70
  __self: _this,
71
71
  __source: {
72
72
  fileName: _jsxFileName,
73
- lineNumber: 64,
73
+ lineNumber: 65,
74
74
  columnNumber: 5
75
75
  }
76
76
  }, _react["default"].createElement(_reactNative.ImageBackground, {
@@ -85,7 +85,7 @@ var AttachmentImage = function AttachmentImage(props) {
85
85
  __self: _this,
86
86
  __source: {
87
87
  fileName: _jsxFileName,
88
- lineNumber: 65,
88
+ lineNumber: 66,
89
89
  columnNumber: 7
90
90
  }
91
91
  }, selected && _react["default"].createElement(_reactNative.View, {
@@ -95,14 +95,14 @@ var AttachmentImage = function AttachmentImage(props) {
95
95
  __self: _this,
96
96
  __source: {
97
97
  fileName: _jsxFileName,
98
- lineNumber: 77,
98
+ lineNumber: 78,
99
99
  columnNumber: 11
100
100
  }
101
101
  }, _react["default"].createElement(ImageOverlaySelectedComponent, {
102
102
  __self: _this,
103
103
  __source: {
104
104
  fileName: _jsxFileName,
105
- lineNumber: 78,
105
+ lineNumber: 79,
106
106
  columnNumber: 13
107
107
  }
108
108
  }))));
@@ -144,7 +144,7 @@ var renderImage = function renderImage(_ref) {
144
144
  __self: _this,
145
145
  __source: {
146
146
  fileName: _jsxFileName,
147
- lineNumber: 120,
147
+ lineNumber: 121,
148
148
  columnNumber: 5
149
149
  }
150
150
  });
@@ -342,6 +342,7 @@ var AttachmentPicker = _react["default"].forwardRef(function (props, ref) {
342
342
  }, [androidBottomBarHeightAdjustment, attachmentPickerBottomSheetHeight, fullScreenHeight, handleHeight, screenHeight, topInset]);
343
343
  return _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_bottomSheet["default"], {
344
344
  containerHeight: fullScreenHeight,
345
+ enablePanDownToClose: true,
345
346
  handleComponent: photoError ? null : AttachmentPickerBottomSheetHandle,
346
347
  handleHeight: handleHeight,
347
348
  index: -1,
@@ -353,7 +354,7 @@ var AttachmentPicker = _react["default"].forwardRef(function (props, ref) {
353
354
  __self: _this,
354
355
  __source: {
355
356
  fileName: _jsxFileName,
356
- lineNumber: 345,
357
+ lineNumber: 346,
357
358
  columnNumber: 9
358
359
  }
359
360
  }, _react["default"].createElement(_bottomSheet.BottomSheetFlatList, {
@@ -372,7 +373,7 @@ var AttachmentPicker = _react["default"].forwardRef(function (props, ref) {
372
373
  __self: _this,
373
374
  __source: {
374
375
  fileName: _jsxFileName,
375
- lineNumber: 360,
376
+ lineNumber: 362,
376
377
  columnNumber: 11
377
378
  }
378
379
  })), selectedPicker === 'images' && photoError && _react["default"].createElement(AttachmentPickerError, {
@@ -383,7 +384,7 @@ var AttachmentPicker = _react["default"].forwardRef(function (props, ref) {
383
384
  __self: _this,
384
385
  __source: {
385
386
  fileName: _jsxFileName,
386
- lineNumber: 375,
387
+ lineNumber: 377,
387
388
  columnNumber: 11
388
389
  }
389
390
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["AttachmentPicker.tsx"],"names":["styles","StyleSheet","create","container","flexGrow","overlay","alignItems","flex","screenHeight","fullScreenHeight","Dimensions","get","height","AttachmentImage","props","ImageOverlaySelectedComponent","numberOfAttachmentPickerImageColumns","onPress","selected","uri","theme","attachmentPicker","image","imageOverlay","colors","size","margin","width","backgroundColor","renderImage","item","asset","maxNumberOfFiles","setSelectedImages","images","filter","length","AttachmentPicker","React","forwardRef","ref","AttachmentPickerBottomSheetHandle","attachmentPickerBottomSheetHandleHeight","attachmentPickerBottomSheetHeight","AttachmentPickerError","attachmentPickerErrorButtonText","AttachmentPickerErrorImage","attachmentPickerErrorText","numberOfAttachmentImagesToLoadPerCall","translucentStatusBar","bottomSheetContentContainer","white","closePicker","selectedImages","selectedPicker","setSelectedPicker","topInset","currentIndex","setCurrentIndex","endCursor","setEndCursor","photoError","setPhotoError","hasNextPage","setHasNextPage","loadingPhotos","setLoadingPhotos","photos","setPhotos","hideAttachmentPicker","undefined","current","close","getMorePhotos","after","first","results","assets","console","log","backAction","backHandler","BackHandler","addEventListener","remove","Platform","OS","Keyboard","addListener","removeListener","selectedPhotos","map","some","handleHeight","statusBarHeight","StatusBar","currentHeight","bottomBarHeight","androidBottomBarHeightAdjustment","snapPoints","index","opacity","displayName"],"mappings":"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","sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport {\n BackHandler,\n Dimensions,\n ImageBackground,\n Keyboard,\n Platform,\n StatusBar,\n StyleSheet,\n View,\n} from 'react-native';\nimport BottomSheet, {\n BottomSheetFlatList,\n BottomSheetHandleProps,\n TouchableOpacity,\n} from '@gorhom/bottom-sheet';\n\nimport { useAttachmentPickerContext } from '../../contexts/attachmentPickerContext/AttachmentPickerContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Asset, getPhotos } from '../../native';\nimport { vh, vw } from '../../utils/utils';\n\nimport type { AttachmentPickerErrorProps } from './components/AttachmentPickerError';\n\nconst styles = StyleSheet.create({\n container: {\n flexGrow: 1,\n },\n overlay: {\n alignItems: 'flex-end',\n flex: 1,\n },\n});\n\nconst screenHeight = vh(100);\nconst fullScreenHeight = Dimensions.get('screen').height;\n\ntype AttachmentImageProps = {\n ImageOverlaySelectedComponent: React.ComponentType;\n onPress: () => void;\n selected: boolean;\n uri: string;\n numberOfAttachmentPickerImageColumns?: number;\n};\n\nconst AttachmentImage: React.FC<AttachmentImageProps> = (props) => {\n const {\n ImageOverlaySelectedComponent,\n numberOfAttachmentPickerImageColumns,\n onPress,\n selected,\n uri,\n } = props;\n const {\n theme: {\n attachmentPicker: { image, imageOverlay },\n colors: { overlay },\n },\n } = useTheme();\n\n const size = vw(100) / (numberOfAttachmentPickerImageColumns || 3) - 2;\n\n return (\n <TouchableOpacity onPress={onPress}>\n <ImageBackground\n source={{ uri }}\n style={[\n {\n height: size,\n margin: 1,\n width: size,\n },\n image,\n ]}\n >\n {selected && (\n <View style={[styles.overlay, { backgroundColor: overlay }, imageOverlay]}>\n <ImageOverlaySelectedComponent />\n </View>\n )}\n </ImageBackground>\n </TouchableOpacity>\n );\n};\n\nconst renderImage = ({\n item,\n}: {\n item: {\n asset: Asset;\n ImageOverlaySelectedComponent: React.ComponentType;\n maxNumberOfFiles: number;\n selected: boolean;\n setSelectedImages: React.Dispatch<React.SetStateAction<Asset[]>>;\n numberOfAttachmentPickerImageColumns?: number;\n };\n}) => {\n const {\n asset,\n ImageOverlaySelectedComponent,\n maxNumberOfFiles,\n numberOfAttachmentPickerImageColumns,\n selected,\n setSelectedImages,\n } = item;\n const onPress = () => {\n if (selected) {\n setSelectedImages((images) => images.filter((image) => image.uri !== asset.uri));\n } else {\n setSelectedImages((images) => {\n if (images.length >= maxNumberOfFiles) {\n return images;\n }\n return [...images, asset];\n });\n }\n };\n\n return (\n <AttachmentImage\n ImageOverlaySelectedComponent={ImageOverlaySelectedComponent}\n numberOfAttachmentPickerImageColumns={numberOfAttachmentPickerImageColumns}\n onPress={onPress}\n selected={selected}\n uri={asset.uri}\n />\n );\n};\n\nexport type AttachmentPickerProps = {\n /**\n * Custom UI component to render [draggable handle](https://github.com/GetStream/stream-chat-react-native/blob/master/screenshots/docs/1.png) of attachment picker.\n *\n * **Default** [AttachmentPickerBottomSheetHandle](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.tsx)\n */\n AttachmentPickerBottomSheetHandle: React.FC<BottomSheetHandleProps>;\n /**\n * Custom UI component to render error component while opening attachment picker.\n *\n * **Default** [AttachmentPickerError](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/AttachmentPicker/components/AttachmentPickerError.tsx)\n */\n AttachmentPickerError: React.ComponentType<AttachmentPickerErrorProps>;\n /**\n * Custom UI component to render error image for attachment picker\n *\n * **Default** [AttachmentPickerErrorImage](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/AttachmentPicker/components/AttachmentPickerErrorImage.tsx)\n */\n AttachmentPickerErrorImage: React.ComponentType;\n /**\n * Custom UI component to render overlay component, that shows up on top of [selected image](https://github.com/GetStream/stream-chat-react-native/blob/master/screenshots/docs/1.png) (with tick mark)\n *\n * **Default** [ImageOverlaySelectedComponent](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/AttachmentPicker/components/ImageOverlaySelectedComponent.tsx)\n */\n ImageOverlaySelectedComponent: React.ComponentType;\n attachmentPickerBottomSheetHandleHeight?: number;\n attachmentPickerBottomSheetHeight?: number;\n attachmentPickerErrorButtonText?: string;\n attachmentPickerErrorText?: string;\n numberOfAttachmentImagesToLoadPerCall?: number;\n numberOfAttachmentPickerImageColumns?: number;\n translucentStatusBar?: boolean;\n};\n\nexport const AttachmentPicker = React.forwardRef(\n (props: AttachmentPickerProps, ref: React.ForwardedRef<BottomSheet>) => {\n const {\n AttachmentPickerBottomSheetHandle,\n attachmentPickerBottomSheetHandleHeight,\n attachmentPickerBottomSheetHeight,\n AttachmentPickerError,\n attachmentPickerErrorButtonText,\n AttachmentPickerErrorImage,\n attachmentPickerErrorText,\n ImageOverlaySelectedComponent,\n numberOfAttachmentImagesToLoadPerCall,\n numberOfAttachmentPickerImageColumns,\n translucentStatusBar,\n } = props;\n\n const {\n theme: {\n attachmentPicker: { bottomSheetContentContainer },\n colors: { white },\n },\n } = useTheme();\n const {\n closePicker,\n maxNumberOfFiles,\n selectedImages,\n selectedPicker,\n setSelectedImages,\n setSelectedPicker,\n topInset,\n } = useAttachmentPickerContext();\n\n const [currentIndex, setCurrentIndex] = useState(-1);\n const [endCursor, setEndCursor] = useState<string>();\n const [photoError, setPhotoError] = useState(false);\n const [hasNextPage, setHasNextPage] = useState(true);\n const [loadingPhotos, setLoadingPhotos] = useState(false);\n const [photos, setPhotos] = useState<Asset[]>([]);\n\n const hideAttachmentPicker = () => {\n setSelectedPicker(undefined);\n if ((ref as React.MutableRefObject<BottomSheet>)?.current) {\n (ref as React.MutableRefObject<BottomSheet>).current.close();\n }\n };\n\n const getMorePhotos = async () => {\n if (hasNextPage && !loadingPhotos && currentIndex > -1 && selectedPicker === 'images') {\n setLoadingPhotos(true);\n try {\n const results = await getPhotos({\n after: endCursor,\n first: numberOfAttachmentImagesToLoadPerCall ?? 60,\n });\n if (endCursor) {\n setPhotos([...photos, ...results.assets]);\n } else {\n setPhotos(results.assets);\n }\n setEndCursor(results.endCursor);\n setHasNextPage(results.hasNextPage || false);\n } catch (error) {\n console.log(error);\n setPhotoError(true);\n }\n setLoadingPhotos(false);\n }\n };\n\n useEffect(() => {\n const backAction = () => {\n if (selectedPicker) {\n setSelectedPicker(undefined);\n closePicker();\n return true;\n }\n\n return false;\n };\n\n const backHandler = BackHandler.addEventListener('hardwareBackPress', backAction);\n\n return () => backHandler.remove();\n }, [selectedPicker]);\n\n useEffect(() => {\n if (Platform.OS === 'ios') {\n Keyboard.addListener('keyboardWillShow', hideAttachmentPicker);\n } else {\n Keyboard.addListener('keyboardDidShow', hideAttachmentPicker);\n }\n\n return () => {\n if (Platform.OS === 'ios') {\n Keyboard.removeListener('keyboardWillShow', hideAttachmentPicker);\n } else {\n Keyboard.removeListener('keyboardDidShow', hideAttachmentPicker);\n }\n };\n }, []);\n\n useEffect(() => {\n if (currentIndex < 0) {\n setSelectedPicker(undefined);\n if (!loadingPhotos) {\n setEndCursor(undefined);\n setHasNextPage(true);\n }\n }\n }, [currentIndex]);\n\n useEffect(() => {\n if (\n selectedPicker === 'images' &&\n endCursor === undefined &&\n currentIndex > -1 &&\n !loadingPhotos\n ) {\n setPhotoError(false);\n getMorePhotos();\n }\n }, [currentIndex, selectedPicker]);\n\n const selectedPhotos = photos.map((asset) => ({\n asset,\n ImageOverlaySelectedComponent,\n maxNumberOfFiles,\n numberOfAttachmentPickerImageColumns,\n selected: selectedImages.some((image) => image.uri === asset.uri),\n setSelectedImages,\n }));\n\n const handleHeight = attachmentPickerBottomSheetHandleHeight || 20;\n\n /**\n * This is to handle issues with Android measurements coming back incorrect.\n * If the StatusBar height is perfectly 1/2 of the difference between the two\n * dimensions for screen and window, it is incorrect and we need to account for\n * this. If you use a translucent header bar more adjustments are needed.\n */\n const statusBarHeight = StatusBar.currentHeight ?? 0;\n const bottomBarHeight = fullScreenHeight - screenHeight - statusBarHeight;\n const androidBottomBarHeightAdjustment =\n Platform.OS === 'android'\n ? bottomBarHeight === statusBarHeight\n ? translucentStatusBar\n ? 0\n : StatusBar.currentHeight ?? 0\n : translucentStatusBar\n ? bottomBarHeight > statusBarHeight\n ? -bottomBarHeight + statusBarHeight\n : bottomBarHeight > 0\n ? -statusBarHeight\n : 0\n : bottomBarHeight > 0\n ? 0\n : statusBarHeight\n : 0;\n\n /**\n * Snap points changing cause a rerender of the position,\n * this is an issue if you are calling close on the bottom sheet.\n */\n const snapPoints = useMemo(\n () => [\n attachmentPickerBottomSheetHeight ??\n 308 + (fullScreenHeight - screenHeight + androidBottomBarHeightAdjustment) - handleHeight,\n fullScreenHeight - topInset - handleHeight,\n ],\n [\n androidBottomBarHeightAdjustment,\n attachmentPickerBottomSheetHeight,\n fullScreenHeight,\n handleHeight,\n screenHeight,\n topInset,\n ],\n );\n\n return (\n <>\n <BottomSheet\n containerHeight={fullScreenHeight}\n handleComponent={\n /**\n * using `null` here instead of `style={{ opacity: photoError ? 0 : 1 }}`\n * as opacity is not an allowed style\n */\n photoError ? null : AttachmentPickerBottomSheetHandle\n }\n handleHeight={handleHeight}\n index={-1}\n onChange={(index: number) => setCurrentIndex(index)}\n ref={ref}\n snapPoints={snapPoints}\n >\n <BottomSheetFlatList\n contentContainerStyle={[\n styles.container,\n { backgroundColor: white },\n bottomSheetContentContainer,\n { opacity: photoError ? 0 : 1 },\n ]}\n data={selectedPhotos}\n keyExtractor={(item) => item.asset.uri}\n numColumns={numberOfAttachmentPickerImageColumns ?? 3}\n onEndReached={getMorePhotos}\n renderItem={renderImage}\n />\n </BottomSheet>\n {selectedPicker === 'images' && photoError && (\n <AttachmentPickerError\n attachmentPickerBottomSheetHeight={attachmentPickerBottomSheetHeight}\n attachmentPickerErrorButtonText={attachmentPickerErrorButtonText}\n AttachmentPickerErrorImage={AttachmentPickerErrorImage}\n attachmentPickerErrorText={attachmentPickerErrorText}\n />\n )}\n </>\n );\n },\n);\n\nAttachmentPicker.displayName = 'AttachmentPicker';\n"]}
1
+ {"version":3,"sources":["AttachmentPicker.tsx"],"names":["styles","StyleSheet","create","container","flexGrow","overlay","alignItems","flex","screenHeight","fullScreenHeight","Dimensions","get","height","AttachmentImage","props","ImageOverlaySelectedComponent","numberOfAttachmentPickerImageColumns","onPress","selected","uri","theme","attachmentPicker","image","imageOverlay","colors","size","margin","width","backgroundColor","renderImage","item","asset","maxNumberOfFiles","setSelectedImages","images","filter","length","AttachmentPicker","React","forwardRef","ref","AttachmentPickerBottomSheetHandle","attachmentPickerBottomSheetHandleHeight","attachmentPickerBottomSheetHeight","AttachmentPickerError","attachmentPickerErrorButtonText","AttachmentPickerErrorImage","attachmentPickerErrorText","numberOfAttachmentImagesToLoadPerCall","translucentStatusBar","bottomSheetContentContainer","white","closePicker","selectedImages","selectedPicker","setSelectedPicker","topInset","currentIndex","setCurrentIndex","endCursor","setEndCursor","photoError","setPhotoError","hasNextPage","setHasNextPage","loadingPhotos","setLoadingPhotos","photos","setPhotos","hideAttachmentPicker","undefined","current","close","getMorePhotos","after","first","results","assets","console","log","backAction","backHandler","BackHandler","addEventListener","remove","Platform","OS","Keyboard","addListener","removeListener","selectedPhotos","map","some","handleHeight","statusBarHeight","StatusBar","currentHeight","bottomBarHeight","androidBottomBarHeightAdjustment","snapPoints","index","opacity","displayName"],"mappings":"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","sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport {\n BackHandler,\n Dimensions,\n ImageBackground,\n Keyboard,\n Platform,\n StatusBar,\n StyleSheet,\n View,\n} from 'react-native';\n\nimport BottomSheet, {\n BottomSheetFlatList,\n BottomSheetHandleProps,\n TouchableOpacity,\n} from '@gorhom/bottom-sheet';\n\nimport type { AttachmentPickerErrorProps } from './components/AttachmentPickerError';\n\nimport { useAttachmentPickerContext } from '../../contexts/attachmentPickerContext/AttachmentPickerContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Asset, getPhotos } from '../../native';\nimport { vh, vw } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n container: {\n flexGrow: 1,\n },\n overlay: {\n alignItems: 'flex-end',\n flex: 1,\n },\n});\n\nconst screenHeight = vh(100);\nconst fullScreenHeight = Dimensions.get('screen').height;\n\ntype AttachmentImageProps = {\n ImageOverlaySelectedComponent: React.ComponentType;\n onPress: () => void;\n selected: boolean;\n uri: string;\n numberOfAttachmentPickerImageColumns?: number;\n};\n\nconst AttachmentImage: React.FC<AttachmentImageProps> = (props) => {\n const {\n ImageOverlaySelectedComponent,\n numberOfAttachmentPickerImageColumns,\n onPress,\n selected,\n uri,\n } = props;\n const {\n theme: {\n attachmentPicker: { image, imageOverlay },\n colors: { overlay },\n },\n } = useTheme();\n\n const size = vw(100) / (numberOfAttachmentPickerImageColumns || 3) - 2;\n\n return (\n <TouchableOpacity onPress={onPress}>\n <ImageBackground\n source={{ uri }}\n style={[\n {\n height: size,\n margin: 1,\n width: size,\n },\n image,\n ]}\n >\n {selected && (\n <View style={[styles.overlay, { backgroundColor: overlay }, imageOverlay]}>\n <ImageOverlaySelectedComponent />\n </View>\n )}\n </ImageBackground>\n </TouchableOpacity>\n );\n};\n\nconst renderImage = ({\n item,\n}: {\n item: {\n asset: Asset;\n ImageOverlaySelectedComponent: React.ComponentType;\n maxNumberOfFiles: number;\n selected: boolean;\n setSelectedImages: React.Dispatch<React.SetStateAction<Asset[]>>;\n numberOfAttachmentPickerImageColumns?: number;\n };\n}) => {\n const {\n asset,\n ImageOverlaySelectedComponent,\n maxNumberOfFiles,\n numberOfAttachmentPickerImageColumns,\n selected,\n setSelectedImages,\n } = item;\n const onPress = () => {\n if (selected) {\n setSelectedImages((images) => images.filter((image) => image.uri !== asset.uri));\n } else {\n setSelectedImages((images) => {\n if (images.length >= maxNumberOfFiles) {\n return images;\n }\n return [...images, asset];\n });\n }\n };\n\n return (\n <AttachmentImage\n ImageOverlaySelectedComponent={ImageOverlaySelectedComponent}\n numberOfAttachmentPickerImageColumns={numberOfAttachmentPickerImageColumns}\n onPress={onPress}\n selected={selected}\n uri={asset.uri}\n />\n );\n};\n\nexport type AttachmentPickerProps = {\n /**\n * Custom UI component to render [draggable handle](https://github.com/GetStream/stream-chat-react-native/blob/master/screenshots/docs/1.png) of attachment picker.\n *\n * **Default** [AttachmentPickerBottomSheetHandle](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.tsx)\n */\n AttachmentPickerBottomSheetHandle: React.FC<BottomSheetHandleProps>;\n /**\n * Custom UI component to render error component while opening attachment picker.\n *\n * **Default** [AttachmentPickerError](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/AttachmentPicker/components/AttachmentPickerError.tsx)\n */\n AttachmentPickerError: React.ComponentType<AttachmentPickerErrorProps>;\n /**\n * Custom UI component to render error image for attachment picker\n *\n * **Default** [AttachmentPickerErrorImage](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/AttachmentPicker/components/AttachmentPickerErrorImage.tsx)\n */\n AttachmentPickerErrorImage: React.ComponentType;\n /**\n * Custom UI component to render overlay component, that shows up on top of [selected image](https://github.com/GetStream/stream-chat-react-native/blob/master/screenshots/docs/1.png) (with tick mark)\n *\n * **Default** [ImageOverlaySelectedComponent](https://github.com/GetStream/stream-chat-react-native/blob/master/src/components/AttachmentPicker/components/ImageOverlaySelectedComponent.tsx)\n */\n ImageOverlaySelectedComponent: React.ComponentType;\n attachmentPickerBottomSheetHandleHeight?: number;\n attachmentPickerBottomSheetHeight?: number;\n attachmentPickerErrorButtonText?: string;\n attachmentPickerErrorText?: string;\n numberOfAttachmentImagesToLoadPerCall?: number;\n numberOfAttachmentPickerImageColumns?: number;\n translucentStatusBar?: boolean;\n};\n\nexport const AttachmentPicker = React.forwardRef(\n (props: AttachmentPickerProps, ref: React.ForwardedRef<BottomSheet>) => {\n const {\n AttachmentPickerBottomSheetHandle,\n attachmentPickerBottomSheetHandleHeight,\n attachmentPickerBottomSheetHeight,\n AttachmentPickerError,\n attachmentPickerErrorButtonText,\n AttachmentPickerErrorImage,\n attachmentPickerErrorText,\n ImageOverlaySelectedComponent,\n numberOfAttachmentImagesToLoadPerCall,\n numberOfAttachmentPickerImageColumns,\n translucentStatusBar,\n } = props;\n\n const {\n theme: {\n attachmentPicker: { bottomSheetContentContainer },\n colors: { white },\n },\n } = useTheme();\n const {\n closePicker,\n maxNumberOfFiles,\n selectedImages,\n selectedPicker,\n setSelectedImages,\n setSelectedPicker,\n topInset,\n } = useAttachmentPickerContext();\n\n const [currentIndex, setCurrentIndex] = useState(-1);\n const [endCursor, setEndCursor] = useState<string>();\n const [photoError, setPhotoError] = useState(false);\n const [hasNextPage, setHasNextPage] = useState(true);\n const [loadingPhotos, setLoadingPhotos] = useState(false);\n const [photos, setPhotos] = useState<Asset[]>([]);\n\n const hideAttachmentPicker = () => {\n setSelectedPicker(undefined);\n if ((ref as React.MutableRefObject<BottomSheet>)?.current) {\n (ref as React.MutableRefObject<BottomSheet>).current.close();\n }\n };\n\n const getMorePhotos = async () => {\n if (hasNextPage && !loadingPhotos && currentIndex > -1 && selectedPicker === 'images') {\n setLoadingPhotos(true);\n try {\n const results = await getPhotos({\n after: endCursor,\n first: numberOfAttachmentImagesToLoadPerCall ?? 60,\n });\n if (endCursor) {\n setPhotos([...photos, ...results.assets]);\n } else {\n setPhotos(results.assets);\n }\n setEndCursor(results.endCursor);\n setHasNextPage(results.hasNextPage || false);\n } catch (error) {\n console.log(error);\n setPhotoError(true);\n }\n setLoadingPhotos(false);\n }\n };\n\n useEffect(() => {\n const backAction = () => {\n if (selectedPicker) {\n setSelectedPicker(undefined);\n closePicker();\n return true;\n }\n\n return false;\n };\n\n const backHandler = BackHandler.addEventListener('hardwareBackPress', backAction);\n\n return () => backHandler.remove();\n }, [selectedPicker]);\n\n useEffect(() => {\n if (Platform.OS === 'ios') {\n Keyboard.addListener('keyboardWillShow', hideAttachmentPicker);\n } else {\n Keyboard.addListener('keyboardDidShow', hideAttachmentPicker);\n }\n\n return () => {\n if (Platform.OS === 'ios') {\n Keyboard.removeListener('keyboardWillShow', hideAttachmentPicker);\n } else {\n Keyboard.removeListener('keyboardDidShow', hideAttachmentPicker);\n }\n };\n }, []);\n\n useEffect(() => {\n if (currentIndex < 0) {\n setSelectedPicker(undefined);\n if (!loadingPhotos) {\n setEndCursor(undefined);\n setHasNextPage(true);\n }\n }\n }, [currentIndex]);\n\n useEffect(() => {\n if (\n selectedPicker === 'images' &&\n endCursor === undefined &&\n currentIndex > -1 &&\n !loadingPhotos\n ) {\n setPhotoError(false);\n getMorePhotos();\n }\n }, [currentIndex, selectedPicker]);\n\n const selectedPhotos = photos.map((asset) => ({\n asset,\n ImageOverlaySelectedComponent,\n maxNumberOfFiles,\n numberOfAttachmentPickerImageColumns,\n selected: selectedImages.some((image) => image.uri === asset.uri),\n setSelectedImages,\n }));\n\n const handleHeight = attachmentPickerBottomSheetHandleHeight || 20;\n\n /**\n * This is to handle issues with Android measurements coming back incorrect.\n * If the StatusBar height is perfectly 1/2 of the difference between the two\n * dimensions for screen and window, it is incorrect and we need to account for\n * this. If you use a translucent header bar more adjustments are needed.\n */\n const statusBarHeight = StatusBar.currentHeight ?? 0;\n const bottomBarHeight = fullScreenHeight - screenHeight - statusBarHeight;\n const androidBottomBarHeightAdjustment =\n Platform.OS === 'android'\n ? bottomBarHeight === statusBarHeight\n ? translucentStatusBar\n ? 0\n : StatusBar.currentHeight ?? 0\n : translucentStatusBar\n ? bottomBarHeight > statusBarHeight\n ? -bottomBarHeight + statusBarHeight\n : bottomBarHeight > 0\n ? -statusBarHeight\n : 0\n : bottomBarHeight > 0\n ? 0\n : statusBarHeight\n : 0;\n\n /**\n * Snap points changing cause a rerender of the position,\n * this is an issue if you are calling close on the bottom sheet.\n */\n const snapPoints = useMemo(\n () => [\n attachmentPickerBottomSheetHeight ??\n 308 + (fullScreenHeight - screenHeight + androidBottomBarHeightAdjustment) - handleHeight,\n fullScreenHeight - topInset - handleHeight,\n ],\n [\n androidBottomBarHeightAdjustment,\n attachmentPickerBottomSheetHeight,\n fullScreenHeight,\n handleHeight,\n screenHeight,\n topInset,\n ],\n );\n\n return (\n <>\n <BottomSheet\n containerHeight={fullScreenHeight}\n enablePanDownToClose={true}\n handleComponent={\n /**\n * using `null` here instead of `style={{ opacity: photoError ? 0 : 1 }}`\n * as opacity is not an allowed style\n */\n photoError ? null : AttachmentPickerBottomSheetHandle\n }\n handleHeight={handleHeight}\n index={-1}\n onChange={(index: number) => setCurrentIndex(index)}\n ref={ref}\n snapPoints={snapPoints}\n >\n <BottomSheetFlatList\n contentContainerStyle={[\n styles.container,\n { backgroundColor: white },\n bottomSheetContentContainer,\n { opacity: photoError ? 0 : 1 },\n ]}\n data={selectedPhotos}\n keyExtractor={(item) => item.asset.uri}\n numColumns={numberOfAttachmentPickerImageColumns ?? 3}\n onEndReached={getMorePhotos}\n renderItem={renderImage}\n />\n </BottomSheet>\n {selectedPicker === 'images' && photoError && (\n <AttachmentPickerError\n attachmentPickerBottomSheetHeight={attachmentPickerBottomSheetHeight}\n attachmentPickerErrorButtonText={attachmentPickerErrorButtonText}\n AttachmentPickerErrorImage={AttachmentPickerErrorImage}\n attachmentPickerErrorText={attachmentPickerErrorText}\n />\n )}\n </>\n );\n },\n);\n\nAttachmentPicker.displayName = 'AttachmentPicker';\n"]}