stream-chat-react-native-core 3.10.2 → 4.0.0-beta.4

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 (1099) hide show
  1. package/lib/commonjs/components/Attachment/Attachment.js +2 -2
  2. package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
  3. package/lib/commonjs/components/Attachment/AttachmentActions.js.map +1 -1
  4. package/lib/commonjs/components/Attachment/Card.js +18 -15
  5. package/lib/commonjs/components/Attachment/Card.js.map +1 -1
  6. package/lib/commonjs/components/Attachment/FileAttachment.js +8 -8
  7. package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
  8. package/lib/commonjs/components/Attachment/FileIcon.js.map +1 -1
  9. package/lib/commonjs/components/Attachment/Gallery.js +97 -113
  10. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  11. package/lib/commonjs/components/Attachment/Giphy.js +112 -148
  12. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  13. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js +46 -0
  14. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
  15. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
  16. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
  17. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
  18. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
  19. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
  20. package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
  21. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
  22. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
  23. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
  24. package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
  25. package/lib/commonjs/components/Attachment/utils/buildGallery/types.js +4 -0
  26. package/lib/commonjs/components/Attachment/utils/buildGallery/types.js.map +1 -0
  27. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js +14 -0
  28. package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -0
  29. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
  30. package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
  31. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +9 -8
  32. package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  33. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +21 -45
  34. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  35. package/lib/commonjs/components/AutoCompleteInput/{CommandsItem.js → AutoCompleteSuggestionCommandIcon.js} +21 -94
  36. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -0
  37. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +145 -0
  38. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -0
  39. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +248 -0
  40. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -0
  41. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +223 -0
  42. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -0
  43. package/lib/commonjs/components/Avatar/Avatar.js +13 -7
  44. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
  45. package/lib/commonjs/components/Avatar/GroupAvatar.js +10 -10
  46. package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
  47. package/lib/commonjs/components/Channel/Channel.js +332 -247
  48. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  49. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +5 -5
  50. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  51. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js +7 -5
  52. package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  53. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +9 -31
  54. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  55. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +35 -0
  56. package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -0
  57. package/lib/commonjs/components/ChannelList/ChannelList.js +6 -6
  58. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  59. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +5 -4
  60. package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  61. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +6 -7
  62. package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  63. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +4 -3
  64. package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  65. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +17 -17
  66. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  67. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  68. package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  69. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  70. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  71. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  72. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  73. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  74. package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  75. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  76. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  77. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
  78. package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  79. package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  80. package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  81. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js +2 -2
  82. package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  83. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +89 -64
  84. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  85. package/lib/commonjs/components/ChannelList/utils.js +1 -1
  86. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +2 -2
  87. package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  88. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +2 -2
  89. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  90. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  91. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +49 -20
  92. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  93. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
  94. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
  95. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
  96. package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  97. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  98. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  99. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  100. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js +16 -7
  101. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  102. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  103. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  104. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js +2 -1
  105. package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  106. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  107. package/lib/commonjs/components/Chat/hooks/useIsOnline.js +12 -5
  108. package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
  109. package/lib/commonjs/components/ImageGallery/ImageGallery.js +90 -58
  110. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  111. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +2 -2
  112. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  113. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +12 -12
  114. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  115. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +14 -16
  116. package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  117. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +7 -7
  118. package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
  119. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +5 -5
  120. package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  121. package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  122. package/lib/commonjs/components/Indicators/LoadingIndicator.js +9 -9
  123. package/lib/commonjs/components/Indicators/LoadingIndicator.js.map +1 -1
  124. package/lib/commonjs/components/Message/Message.js +151 -860
  125. package/lib/commonjs/components/Message/Message.js.map +1 -1
  126. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +6 -6
  127. package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  128. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +39 -38
  129. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  130. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +8 -6
  131. package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  132. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +33 -21
  133. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  134. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +122 -0
  135. package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -0
  136. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +5 -1
  137. package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  138. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +5 -5
  139. package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  140. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +27 -13
  141. package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  142. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +25 -24
  143. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  144. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +7 -3
  145. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  146. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +52 -80
  147. package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +1 -1
  148. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js +89 -0
  149. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
  150. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
  151. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
  152. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +170 -73
  153. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  154. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js +240 -0
  155. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js.map +1 -0
  156. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +1 -5
  157. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  158. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js +307 -0
  159. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -0
  160. package/lib/commonjs/components/Message/hooks/useMessageActions.js +563 -0
  161. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -0
  162. package/lib/commonjs/components/Message/utils/messageActions.js +17 -15
  163. package/lib/commonjs/components/Message/utils/messageActions.js.map +1 -1
  164. package/lib/commonjs/components/Message/utils/removeReservedFields.js.map +1 -1
  165. package/lib/commonjs/components/MessageInput/AttachButton.js +3 -3
  166. package/lib/commonjs/components/MessageInput/AttachButton.js.map +1 -1
  167. package/lib/commonjs/components/MessageInput/CommandsButton.js +3 -3
  168. package/lib/commonjs/components/MessageInput/CommandsButton.js.map +1 -1
  169. package/lib/commonjs/components/MessageInput/CooldownTimer.js +78 -0
  170. package/lib/commonjs/components/MessageInput/CooldownTimer.js.map +1 -0
  171. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +4 -4
  172. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  173. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +9 -9
  174. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
  175. package/lib/commonjs/components/MessageInput/InputButtons.js +17 -22
  176. package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
  177. package/lib/commonjs/components/MessageInput/MessageInput.js +93 -65
  178. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  179. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +3 -3
  180. package/lib/commonjs/components/MessageInput/MoreOptionsButton.js.map +1 -1
  181. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +71 -0
  182. package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -0
  183. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +4 -3
  184. package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  185. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js +63 -0
  186. package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -0
  187. package/lib/commonjs/components/MessageInput/hooks/useCountdown.js +57 -0
  188. package/lib/commonjs/components/MessageInput/hooks/useCountdown.js.map +1 -0
  189. package/lib/commonjs/components/MessageList/DateHeader.js +2 -2
  190. package/lib/commonjs/components/MessageList/DateHeader.js.map +1 -1
  191. package/lib/commonjs/components/MessageList/InlineDateSeparator.js +2 -2
  192. package/lib/commonjs/components/MessageList/InlineDateSeparator.js.map +1 -1
  193. package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  194. package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  195. package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  196. package/lib/commonjs/components/MessageList/MessageList.js +77 -44
  197. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  198. package/lib/commonjs/components/MessageList/MessageSystem.js.map +1 -1
  199. package/lib/commonjs/components/MessageList/TypingIndicator.js +5 -5
  200. package/lib/commonjs/components/MessageList/TypingIndicator.js.map +1 -1
  201. package/lib/commonjs/components/MessageList/hooks/useMessageList.js +23 -10
  202. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  203. package/lib/commonjs/components/MessageList/hooks/useTypingString.js +2 -2
  204. package/lib/commonjs/components/MessageList/hooks/useTypingString.js.map +1 -1
  205. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js +2 -1
  206. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js.map +1 -1
  207. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js +10 -5
  208. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
  209. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js +3 -1
  210. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  211. package/lib/{module/components/MessageOverlay/MessageActions.js → commonjs/components/MessageOverlay/MessageActionList.js} +33 -85
  212. package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -0
  213. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +131 -0
  214. package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -0
  215. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +97 -78
  216. package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
  217. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +38 -0
  218. package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js.map +1 -0
  219. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +12 -11
  220. package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  221. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +31 -34
  222. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
  223. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
  224. package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
  225. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js +37 -0
  226. package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -0
  227. package/lib/commonjs/components/Reply/Reply.js +25 -19
  228. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  229. package/lib/commonjs/components/Thread/Thread.js +11 -2
  230. package/lib/commonjs/components/Thread/Thread.js.map +1 -1
  231. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +20 -12
  232. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  233. package/lib/commonjs/components/docs/ListProps.md +1 -1
  234. package/lib/commonjs/components/docs/data.js +1 -1
  235. package/lib/commonjs/components/index.js +133 -55
  236. package/lib/commonjs/components/index.js.map +1 -1
  237. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +68 -0
  238. package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -0
  239. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +2 -2
  240. package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  241. package/lib/commonjs/contexts/channelContext/ChannelContext.js +2 -2
  242. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  243. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +2 -2
  244. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  245. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +155 -0
  246. package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -0
  247. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +144 -0
  248. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -0
  249. package/lib/commonjs/contexts/chatContext/ChatContext.js +2 -2
  250. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  251. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
  252. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  253. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +2 -2
  254. package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  255. package/lib/commonjs/contexts/messageContext/MessageContext.js +2 -2
  256. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  257. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +122 -84
  258. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  259. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +9 -5
  260. package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  261. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js +10 -3
  262. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  263. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +5 -19
  264. package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  265. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
  266. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
  267. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
  268. package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
  269. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +2 -2
  270. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  271. package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -1
  272. package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
  273. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +55 -46
  274. package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
  275. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +61 -0
  276. package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -0
  277. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
  278. package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  279. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +20 -33
  280. package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  281. package/lib/commonjs/contexts/themeContext/ThemeContext.js +2 -2
  282. package/lib/commonjs/contexts/themeContext/ThemeContext.js.map +1 -1
  283. package/lib/commonjs/contexts/themeContext/utils/theme.js +45 -20
  284. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  285. package/lib/commonjs/contexts/threadContext/ThreadContext.js +2 -2
  286. package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
  287. package/lib/commonjs/contexts/translationContext/TranslationContext.js +1 -1
  288. package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
  289. package/lib/commonjs/contexts/typingContext/TypingContext.js +2 -2
  290. package/lib/commonjs/contexts/typingContext/TypingContext.js.map +1 -1
  291. package/lib/commonjs/contexts/utils/getDisplayName.js.map +1 -1
  292. package/lib/commonjs/emoji-data/compiled.js +0 -315
  293. package/lib/commonjs/emoji-data/compiled.js.map +1 -1
  294. package/lib/commonjs/emoji-data/emojiNames.js +0 -105
  295. package/lib/commonjs/emoji-data/emojiNames.js.map +1 -1
  296. package/lib/commonjs/emoji-data/emojis.js +0 -175
  297. package/lib/commonjs/emoji-data/emojis.js.map +1 -1
  298. package/lib/commonjs/emoji-data/index.js +2 -2
  299. package/lib/commonjs/emoji-data/index.js.map +1 -1
  300. package/lib/commonjs/hooks/useStreami18n.js.map +1 -1
  301. package/lib/commonjs/i18n/en.json +9 -3
  302. package/lib/commonjs/i18n/fr.json +9 -3
  303. package/lib/commonjs/i18n/hi.json +9 -3
  304. package/lib/commonjs/i18n/it.json +9 -3
  305. package/lib/commonjs/i18n/ja.json +9 -0
  306. package/lib/commonjs/i18n/ko.json +9 -0
  307. package/lib/commonjs/i18n/nl.json +9 -3
  308. package/lib/commonjs/i18n/ru.json +9 -3
  309. package/lib/commonjs/i18n/tr.json +10 -4
  310. package/lib/commonjs/icons/Pin.js +42 -0
  311. package/lib/commonjs/icons/Pin.js.map +1 -0
  312. package/lib/commonjs/icons/PinHeader.js +38 -0
  313. package/lib/commonjs/icons/PinHeader.js.map +1 -0
  314. package/lib/commonjs/icons/Unpin.js +38 -0
  315. package/lib/commonjs/icons/Unpin.js.map +1 -0
  316. package/lib/commonjs/icons/index.js +39 -26
  317. package/lib/commonjs/icons/index.js.map +1 -1
  318. package/lib/commonjs/icons/utils/base.js +1 -1
  319. package/lib/commonjs/index.js +6 -6
  320. package/lib/commonjs/mock-builders/api/error.js +1 -1
  321. package/lib/commonjs/mock-builders/api/sendMessage.js +4 -1
  322. package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
  323. package/lib/commonjs/mock-builders/generator/attachment.js +1 -3
  324. package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
  325. package/lib/commonjs/mock-builders/generator/channel.js +101 -50
  326. package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
  327. package/lib/commonjs/mock-builders/generator/user.js +32 -33
  328. package/lib/commonjs/mock-builders/generator/user.js.map +1 -1
  329. package/lib/commonjs/mock-builders/mock.js +3 -3
  330. package/lib/commonjs/mock-builders/mock.js.map +1 -1
  331. package/lib/commonjs/native.js +1 -7
  332. package/lib/commonjs/native.js.map +1 -1
  333. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js +7 -7
  334. package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js.map +1 -1
  335. package/lib/commonjs/styleguideComponents/JsDoc.js +4 -4
  336. package/lib/commonjs/styleguideComponents/JsDoc.js.map +1 -1
  337. package/lib/commonjs/styleguideComponents/PathlineRenderer.js +7 -7
  338. package/lib/commonjs/styleguideComponents/PathlineRenderer.js.map +1 -1
  339. package/lib/commonjs/styleguideComponents/PropsRenderer.js +25 -25
  340. package/lib/commonjs/styleguideComponents/PropsRenderer.js.map +1 -1
  341. package/lib/commonjs/styleguideComponents/Wrapper.js +1 -1
  342. package/lib/commonjs/styleguideComponents/Wrapper.js.map +1 -1
  343. package/lib/commonjs/utils/Streami18n.js.map +1 -1
  344. package/lib/commonjs/utils/date.js +13 -0
  345. package/lib/commonjs/utils/date.js.map +1 -0
  346. package/lib/commonjs/utils/getResizedImageUrl.js +26 -0
  347. package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -0
  348. package/lib/commonjs/utils/getUrlOfImageAttachment.js +9 -0
  349. package/lib/commonjs/utils/getUrlOfImageAttachment.js.map +1 -0
  350. package/lib/commonjs/utils/utils.js +17 -9
  351. package/lib/commonjs/utils/utils.js.map +1 -1
  352. package/lib/commonjs/version.json +1 -1
  353. package/lib/module/components/Attachment/Attachment.js +2 -2
  354. package/lib/module/components/Attachment/Attachment.js.map +1 -1
  355. package/lib/module/components/Attachment/AttachmentActions.js.map +1 -1
  356. package/lib/module/components/Attachment/Card.js +18 -15
  357. package/lib/module/components/Attachment/Card.js.map +1 -1
  358. package/lib/module/components/Attachment/FileAttachment.js +8 -8
  359. package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
  360. package/lib/module/components/Attachment/FileIcon.js.map +1 -1
  361. package/lib/module/components/Attachment/Gallery.js +97 -113
  362. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  363. package/lib/module/components/Attachment/Giphy.js +112 -148
  364. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  365. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js +46 -0
  366. package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
  367. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
  368. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
  369. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
  370. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
  371. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
  372. package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
  373. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
  374. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
  375. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
  376. package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
  377. package/lib/module/components/Attachment/utils/buildGallery/types.js +4 -0
  378. package/lib/module/components/Attachment/utils/buildGallery/types.js.map +1 -0
  379. package/lib/module/components/Attachment/utils/getAspectRatio.js +14 -0
  380. package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -0
  381. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
  382. package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
  383. package/lib/module/components/AttachmentPicker/AttachmentPicker.js +9 -8
  384. package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
  385. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +21 -45
  386. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  387. package/lib/module/components/AutoCompleteInput/{CommandsItem.js → AutoCompleteSuggestionCommandIcon.js} +21 -94
  388. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -0
  389. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +145 -0
  390. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -0
  391. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +248 -0
  392. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -0
  393. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +223 -0
  394. package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -0
  395. package/lib/module/components/Avatar/Avatar.js +13 -7
  396. package/lib/module/components/Avatar/Avatar.js.map +1 -1
  397. package/lib/module/components/Avatar/GroupAvatar.js +10 -10
  398. package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
  399. package/lib/module/components/Channel/Channel.js +332 -247
  400. package/lib/module/components/Channel/Channel.js.map +1 -1
  401. package/lib/module/components/Channel/hooks/useCreateChannelContext.js +5 -5
  402. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  403. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +7 -5
  404. package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
  405. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +9 -31
  406. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  407. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +35 -0
  408. package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -0
  409. package/lib/module/components/ChannelList/ChannelList.js +6 -6
  410. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  411. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +5 -4
  412. package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
  413. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +6 -7
  414. package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
  415. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +4 -3
  416. package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
  417. package/lib/module/components/ChannelList/ChannelListMessenger.js +17 -17
  418. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  419. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
  420. package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
  421. package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
  422. package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
  423. package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
  424. package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
  425. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
  426. package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
  427. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
  428. package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
  429. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
  430. package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
  431. package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
  432. package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
  433. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js +2 -2
  434. package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
  435. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +89 -64
  436. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  437. package/lib/module/components/ChannelList/utils.js +1 -1
  438. package/lib/module/components/ChannelPreview/ChannelAvatar.js +2 -2
  439. package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
  440. package/lib/module/components/ChannelPreview/ChannelPreview.js +2 -2
  441. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  442. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  443. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +49 -20
  444. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  445. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
  446. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
  447. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
  448. package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
  449. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  450. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  451. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  452. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js +16 -7
  453. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
  454. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
  455. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
  456. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js +2 -1
  457. package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
  458. package/lib/module/components/Chat/Chat.js.map +1 -1
  459. package/lib/module/components/Chat/hooks/useIsOnline.js +12 -5
  460. package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
  461. package/lib/module/components/ImageGallery/ImageGallery.js +90 -58
  462. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  463. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +2 -2
  464. package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
  465. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +12 -12
  466. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  467. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +14 -16
  468. package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
  469. package/lib/module/components/ImageGallery/components/ImageGrid.js +7 -7
  470. package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
  471. package/lib/module/components/ImageGallery/components/ImageGridHandle.js +5 -5
  472. package/lib/module/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
  473. package/lib/module/components/Indicators/LoadingErrorIndicator.js.map +1 -1
  474. package/lib/module/components/Indicators/LoadingIndicator.js +9 -9
  475. package/lib/module/components/Indicators/LoadingIndicator.js.map +1 -1
  476. package/lib/module/components/Message/Message.js +151 -860
  477. package/lib/module/components/Message/Message.js.map +1 -1
  478. package/lib/module/components/Message/MessageSimple/MessageAvatar.js +6 -6
  479. package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
  480. package/lib/module/components/Message/MessageSimple/MessageContent.js +39 -38
  481. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  482. package/lib/module/components/Message/MessageSimple/MessageDeleted.js +8 -6
  483. package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
  484. package/lib/module/components/Message/MessageSimple/MessageFooter.js +33 -21
  485. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  486. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +122 -0
  487. package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -0
  488. package/lib/module/components/Message/MessageSimple/MessageReplies.js +5 -1
  489. package/lib/module/components/Message/MessageSimple/MessageReplies.js.map +1 -1
  490. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +5 -5
  491. package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
  492. package/lib/module/components/Message/MessageSimple/MessageSimple.js +27 -13
  493. package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
  494. package/lib/module/components/Message/MessageSimple/MessageStatus.js +25 -24
  495. package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  496. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +7 -3
  497. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  498. package/lib/module/components/Message/MessageSimple/ReactionList.js +52 -80
  499. package/lib/module/components/Message/MessageSimple/ReactionList.js.map +1 -1
  500. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js +89 -0
  501. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
  502. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
  503. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
  504. package/lib/module/components/Message/MessageSimple/utils/renderText.js +170 -73
  505. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  506. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js +240 -0
  507. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js.map +1 -0
  508. package/lib/module/components/Message/hooks/useCreateMessageContext.js +1 -5
  509. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  510. package/lib/module/components/Message/hooks/useMessageActionHandlers.js +307 -0
  511. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -0
  512. package/lib/module/components/Message/hooks/useMessageActions.js +563 -0
  513. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -0
  514. package/lib/module/components/Message/utils/messageActions.js +17 -15
  515. package/lib/module/components/Message/utils/messageActions.js.map +1 -1
  516. package/lib/module/components/Message/utils/removeReservedFields.js.map +1 -1
  517. package/lib/module/components/MessageInput/AttachButton.js +3 -3
  518. package/lib/module/components/MessageInput/AttachButton.js.map +1 -1
  519. package/lib/module/components/MessageInput/CommandsButton.js +3 -3
  520. package/lib/module/components/MessageInput/CommandsButton.js.map +1 -1
  521. package/lib/module/components/MessageInput/CooldownTimer.js +78 -0
  522. package/lib/module/components/MessageInput/CooldownTimer.js.map +1 -0
  523. package/lib/module/components/MessageInput/FileUploadPreview.js +4 -4
  524. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  525. package/lib/module/components/MessageInput/ImageUploadPreview.js +9 -9
  526. package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
  527. package/lib/module/components/MessageInput/InputButtons.js +17 -22
  528. package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
  529. package/lib/module/components/MessageInput/MessageInput.js +93 -65
  530. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  531. package/lib/module/components/MessageInput/MoreOptionsButton.js +3 -3
  532. package/lib/module/components/MessageInput/MoreOptionsButton.js.map +1 -1
  533. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +71 -0
  534. package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -0
  535. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +4 -3
  536. package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
  537. package/lib/module/components/MessageInput/hooks/useCooldown.js +63 -0
  538. package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -0
  539. package/lib/module/components/MessageInput/hooks/useCountdown.js +57 -0
  540. package/lib/module/components/MessageInput/hooks/useCountdown.js.map +1 -0
  541. package/lib/module/components/MessageList/DateHeader.js +2 -2
  542. package/lib/module/components/MessageList/DateHeader.js.map +1 -1
  543. package/lib/module/components/MessageList/InlineDateSeparator.js +2 -2
  544. package/lib/module/components/MessageList/InlineDateSeparator.js.map +1 -1
  545. package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
  546. package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
  547. package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
  548. package/lib/module/components/MessageList/MessageList.js +77 -44
  549. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  550. package/lib/module/components/MessageList/MessageSystem.js.map +1 -1
  551. package/lib/module/components/MessageList/TypingIndicator.js +5 -5
  552. package/lib/module/components/MessageList/TypingIndicator.js.map +1 -1
  553. package/lib/module/components/MessageList/hooks/useMessageList.js +23 -10
  554. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  555. package/lib/module/components/MessageList/hooks/useTypingString.js +2 -2
  556. package/lib/module/components/MessageList/hooks/useTypingString.js.map +1 -1
  557. package/lib/module/components/MessageList/utils/getDateSeparators.js +2 -1
  558. package/lib/module/components/MessageList/utils/getDateSeparators.js.map +1 -1
  559. package/lib/module/components/MessageList/utils/getGroupStyles.js +10 -5
  560. package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
  561. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js +3 -1
  562. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  563. package/lib/{commonjs/components/MessageOverlay/MessageActions.js → module/components/MessageOverlay/MessageActionList.js} +33 -85
  564. package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -0
  565. package/lib/module/components/MessageOverlay/MessageActionListItem.js +131 -0
  566. package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -0
  567. package/lib/module/components/MessageOverlay/MessageOverlay.js +97 -78
  568. package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
  569. package/lib/module/components/MessageOverlay/OverlayBackdrop.js +38 -0
  570. package/lib/module/components/MessageOverlay/OverlayBackdrop.js.map +1 -0
  571. package/lib/module/components/MessageOverlay/OverlayReactionList.js +12 -11
  572. package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
  573. package/lib/module/components/MessageOverlay/OverlayReactions.js +31 -34
  574. package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
  575. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
  576. package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
  577. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js +37 -0
  578. package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -0
  579. package/lib/module/components/Reply/Reply.js +25 -19
  580. package/lib/module/components/Reply/Reply.js.map +1 -1
  581. package/lib/module/components/Thread/Thread.js +11 -2
  582. package/lib/module/components/Thread/Thread.js.map +1 -1
  583. package/lib/module/components/Thread/components/ThreadFooterComponent.js +20 -12
  584. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  585. package/lib/module/components/docs/ListProps.md +1 -1
  586. package/lib/module/components/docs/data.js +1 -1
  587. package/lib/module/components/index.js +133 -55
  588. package/lib/module/components/index.js.map +1 -1
  589. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +68 -0
  590. package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -0
  591. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +2 -2
  592. package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
  593. package/lib/module/contexts/channelContext/ChannelContext.js +2 -2
  594. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  595. package/lib/module/contexts/channelsContext/ChannelsContext.js +2 -2
  596. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  597. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +155 -0
  598. package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -0
  599. package/lib/module/contexts/channelsStateContext/useChannelState.js +144 -0
  600. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -0
  601. package/lib/module/contexts/chatContext/ChatContext.js +2 -2
  602. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  603. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
  604. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  605. package/lib/module/contexts/keyboardContext/KeyboardContext.js +2 -2
  606. package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
  607. package/lib/module/contexts/messageContext/MessageContext.js +2 -2
  608. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  609. package/lib/module/contexts/messageInputContext/MessageInputContext.js +122 -84
  610. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  611. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +9 -5
  612. package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
  613. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js +10 -3
  614. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  615. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +5 -19
  616. package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
  617. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
  618. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
  619. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
  620. package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
  621. package/lib/module/contexts/messagesContext/MessagesContext.js +2 -2
  622. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  623. package/lib/module/contexts/overlayContext/OverlayContext.js +1 -1
  624. package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
  625. package/lib/module/contexts/overlayContext/OverlayProvider.js +55 -46
  626. package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
  627. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +61 -0
  628. package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -0
  629. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
  630. package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
  631. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +20 -33
  632. package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
  633. package/lib/module/contexts/themeContext/ThemeContext.js +2 -2
  634. package/lib/module/contexts/themeContext/ThemeContext.js.map +1 -1
  635. package/lib/module/contexts/themeContext/utils/theme.js +45 -20
  636. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  637. package/lib/module/contexts/threadContext/ThreadContext.js +2 -2
  638. package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
  639. package/lib/module/contexts/translationContext/TranslationContext.js +1 -1
  640. package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
  641. package/lib/module/contexts/typingContext/TypingContext.js +2 -2
  642. package/lib/module/contexts/typingContext/TypingContext.js.map +1 -1
  643. package/lib/module/contexts/utils/getDisplayName.js.map +1 -1
  644. package/lib/module/emoji-data/compiled.js +0 -315
  645. package/lib/module/emoji-data/compiled.js.map +1 -1
  646. package/lib/module/emoji-data/emojiNames.js +0 -105
  647. package/lib/module/emoji-data/emojiNames.js.map +1 -1
  648. package/lib/module/emoji-data/emojis.js +0 -175
  649. package/lib/module/emoji-data/emojis.js.map +1 -1
  650. package/lib/module/emoji-data/index.js +2 -2
  651. package/lib/module/emoji-data/index.js.map +1 -1
  652. package/lib/module/hooks/useStreami18n.js.map +1 -1
  653. package/lib/module/i18n/en.json +9 -3
  654. package/lib/module/i18n/fr.json +9 -3
  655. package/lib/module/i18n/hi.json +9 -3
  656. package/lib/module/i18n/it.json +9 -3
  657. package/lib/module/i18n/ja.json +9 -0
  658. package/lib/module/i18n/ko.json +9 -0
  659. package/lib/module/i18n/nl.json +9 -3
  660. package/lib/module/i18n/ru.json +9 -3
  661. package/lib/module/i18n/tr.json +10 -4
  662. package/lib/module/icons/Pin.js +42 -0
  663. package/lib/module/icons/Pin.js.map +1 -0
  664. package/lib/module/icons/PinHeader.js +38 -0
  665. package/lib/module/icons/PinHeader.js.map +1 -0
  666. package/lib/module/icons/Unpin.js +38 -0
  667. package/lib/module/icons/Unpin.js.map +1 -0
  668. package/lib/module/icons/index.js +39 -26
  669. package/lib/module/icons/index.js.map +1 -1
  670. package/lib/module/icons/utils/base.js +1 -1
  671. package/lib/module/index.js +6 -6
  672. package/lib/module/mock-builders/api/error.js +1 -1
  673. package/lib/module/mock-builders/api/sendMessage.js +4 -1
  674. package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
  675. package/lib/module/mock-builders/generator/attachment.js +1 -3
  676. package/lib/module/mock-builders/generator/attachment.js.map +1 -1
  677. package/lib/module/mock-builders/generator/channel.js +101 -50
  678. package/lib/module/mock-builders/generator/channel.js.map +1 -1
  679. package/lib/module/mock-builders/generator/user.js +32 -33
  680. package/lib/module/mock-builders/generator/user.js.map +1 -1
  681. package/lib/module/mock-builders/mock.js +3 -3
  682. package/lib/module/mock-builders/mock.js.map +1 -1
  683. package/lib/module/native.js +1 -7
  684. package/lib/module/native.js.map +1 -1
  685. package/lib/module/styleguideComponents/ArgumentsRenderer.js +7 -7
  686. package/lib/module/styleguideComponents/ArgumentsRenderer.js.map +1 -1
  687. package/lib/module/styleguideComponents/JsDoc.js +4 -4
  688. package/lib/module/styleguideComponents/JsDoc.js.map +1 -1
  689. package/lib/module/styleguideComponents/PathlineRenderer.js +7 -7
  690. package/lib/module/styleguideComponents/PathlineRenderer.js.map +1 -1
  691. package/lib/module/styleguideComponents/PropsRenderer.js +25 -25
  692. package/lib/module/styleguideComponents/PropsRenderer.js.map +1 -1
  693. package/lib/module/styleguideComponents/Wrapper.js +1 -1
  694. package/lib/module/styleguideComponents/Wrapper.js.map +1 -1
  695. package/lib/module/utils/Streami18n.js.map +1 -1
  696. package/lib/module/utils/date.js +13 -0
  697. package/lib/module/utils/date.js.map +1 -0
  698. package/lib/module/utils/getResizedImageUrl.js +26 -0
  699. package/lib/module/utils/getResizedImageUrl.js.map +1 -0
  700. package/lib/module/utils/getUrlOfImageAttachment.js +9 -0
  701. package/lib/module/utils/getUrlOfImageAttachment.js.map +1 -0
  702. package/lib/module/utils/utils.js +17 -9
  703. package/lib/module/utils/utils.js.map +1 -1
  704. package/lib/module/version.json +1 -1
  705. package/lib/typescript/components/Attachment/Attachment.d.ts +1 -1
  706. package/lib/typescript/components/Attachment/AttachmentActions.d.ts +1 -1
  707. package/lib/typescript/components/Attachment/Card.d.ts +3 -1
  708. package/lib/typescript/components/Attachment/FileAttachment.d.ts +1 -1
  709. package/lib/typescript/components/Attachment/Gallery.d.ts +4 -6
  710. package/lib/typescript/components/Attachment/Giphy.d.ts +1 -1
  711. package/lib/typescript/components/Attachment/utils/buildGallery/buildGallery.d.ts +23 -0
  712. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.d.ts +7 -0
  713. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.d.ts +7 -0
  714. package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.d.ts +7 -0
  715. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnail.d.ts +10 -0
  716. package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnailGrid.d.ts +137 -0
  717. package/lib/typescript/components/Attachment/utils/buildGallery/types.d.ts +23 -0
  718. package/lib/typescript/components/Attachment/utils/getAspectRatio.d.ts +9 -0
  719. package/lib/typescript/components/Attachment/utils/getGalleryImageBorderRadius.d.ts +22 -0
  720. package/lib/typescript/components/AutoCompleteInput/AutoCompleteInput.d.ts +7 -1
  721. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.d.ts +4 -0
  722. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionHeader.d.ts +8 -0
  723. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionItem.d.ts +10 -0
  724. package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts +21 -0
  725. package/lib/typescript/components/Channel/Channel.d.ts +13 -12
  726. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
  727. package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +1 -68
  728. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -126
  729. package/lib/typescript/components/Channel/hooks/useCreateOwnCapabilitiesContext.d.ts +7 -0
  730. package/lib/typescript/components/ChannelList/ChannelList.d.ts +1 -1
  731. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +4 -2
  732. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +2 -2
  733. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts +2 -2
  734. package/lib/typescript/components/ChannelPreview/ChannelPreviewMutedStatus.d.ts +9 -0
  735. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.d.ts +12 -0
  736. package/lib/typescript/components/Chat/Chat.d.ts +1 -1
  737. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +4 -1
  738. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryImage.d.ts +1 -1
  739. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +1 -1
  740. package/lib/typescript/components/ImageGallery/components/ImageGalleryHeader.d.ts +1 -1
  741. package/lib/typescript/components/ImageGallery/components/ImageGrid.d.ts +1 -1
  742. package/lib/typescript/components/Indicators/LoadingErrorIndicator.d.ts +1 -1
  743. package/lib/typescript/components/Message/Message.d.ts +4 -3
  744. package/lib/typescript/components/Message/MessageSimple/MessageAvatar.d.ts +1 -1
  745. package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts +1 -1
  746. package/lib/typescript/components/Message/MessageSimple/MessageDeleted.d.ts +2 -2
  747. package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts +2 -2
  748. package/lib/typescript/components/Message/MessageSimple/MessagePinnedHeader.d.ts +8 -0
  749. package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts +1 -1
  750. package/lib/typescript/components/Message/MessageSimple/MessageStatus.d.ts +1 -1
  751. package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts +1 -0
  752. package/lib/typescript/components/Message/MessageSimple/ReactionList.d.ts +2 -1
  753. package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.d.ts +7 -0
  754. package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.test.d.ts +1 -0
  755. package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +18 -3
  756. package/lib/typescript/components/Message/MessageSimple/utils/renderText.test.d.ts +1 -0
  757. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +1 -1
  758. package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +15 -0
  759. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +26 -0
  760. package/lib/typescript/components/Message/utils/messageActions.d.ts +22 -21
  761. package/lib/typescript/components/Message/utils/removeReservedFields.d.ts +1 -1
  762. package/lib/typescript/components/MessageInput/AttachButton.d.ts +1 -1
  763. package/lib/typescript/components/MessageInput/CommandsButton.d.ts +1 -1
  764. package/lib/typescript/components/MessageInput/CooldownTimer.d.ts +10 -0
  765. package/lib/typescript/components/MessageInput/InputButtons.d.ts +1 -1
  766. package/lib/typescript/components/MessageInput/MessageInput.d.ts +1 -1
  767. package/lib/typescript/components/MessageInput/MoreOptionsButton.d.ts +1 -1
  768. package/lib/typescript/components/MessageInput/SendMessageDisallowedIndicator.d.ts +1 -0
  769. package/lib/typescript/components/MessageInput/hooks/useCooldown.d.ts +9 -0
  770. package/lib/typescript/components/MessageInput/hooks/useCountdown.d.ts +8 -0
  771. package/lib/typescript/components/MessageList/MessageList.d.ts +2 -1
  772. package/lib/typescript/components/MessageList/MessageSystem.d.ts +1 -1
  773. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +1 -0
  774. package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts +1 -1
  775. package/lib/typescript/components/MessageOverlay/MessageActionList.d.ts +12 -0
  776. package/lib/typescript/components/MessageOverlay/MessageActionListItem.d.ts +20 -0
  777. package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts +4 -4
  778. package/lib/typescript/components/MessageOverlay/OverlayBackdrop.d.ts +6 -0
  779. package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts +3 -1
  780. package/lib/typescript/components/MessageOverlay/OverlayReactionsAvatar.d.ts +7 -0
  781. package/lib/typescript/components/MessageOverlay/hooks/useMessageActionAnimation.d.ts +12 -0
  782. package/lib/typescript/components/Reply/Reply.d.ts +1 -1
  783. package/lib/typescript/components/Thread/Thread.d.ts +2 -2
  784. package/lib/typescript/components/index.d.ts +13 -7
  785. package/lib/typescript/contexts/activeChannelsRefContext/ActiveChannelsRefContext.d.ts +9 -0
  786. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +28 -30
  787. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +13 -5
  788. package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts +41 -0
  789. package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts +20 -0
  790. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +2 -6
  791. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +21 -10
  792. package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +3 -3
  793. package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts +1 -1
  794. package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +12 -13
  795. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.d.ts +12 -0
  796. package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.test.d.ts +1 -0
  797. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +23 -114
  798. package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +14 -7
  799. package/lib/typescript/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.d.ts +25 -0
  800. package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts +14 -13
  801. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +41 -16
  802. package/lib/typescript/contexts/utils/getDisplayName.d.ts +2 -2
  803. package/lib/typescript/hooks/useStreami18n.d.ts +1 -1
  804. package/lib/typescript/i18n/en.json +9 -3
  805. package/lib/typescript/i18n/fr.json +9 -3
  806. package/lib/typescript/i18n/hi.json +9 -3
  807. package/lib/typescript/i18n/it.json +9 -3
  808. package/lib/typescript/i18n/ja.json +9 -0
  809. package/lib/typescript/i18n/ko.json +9 -0
  810. package/lib/typescript/i18n/nl.json +9 -3
  811. package/lib/typescript/i18n/ru.json +9 -3
  812. package/lib/typescript/i18n/tr.json +10 -4
  813. package/lib/typescript/icons/{Left.d.ts → Pin.d.ts} +1 -1
  814. package/lib/typescript/icons/PinHeader.d.ts +3 -0
  815. package/lib/typescript/icons/{Right.d.ts → Unpin.d.ts} +1 -1
  816. package/lib/typescript/icons/index.d.ts +3 -2
  817. package/lib/typescript/native.d.ts +1 -9
  818. package/lib/typescript/utils/Streami18n.d.ts +11 -8
  819. package/lib/typescript/utils/date.d.ts +2 -0
  820. package/lib/typescript/utils/getResizedImageUrl.d.ts +19 -0
  821. package/lib/typescript/utils/getUrlOfImageAttachment.d.ts +7 -0
  822. package/lib/typescript/utils/utils.d.ts +14 -11
  823. package/package.json +12 -14
  824. package/src/components/Attachment/Attachment.tsx +3 -3
  825. package/src/components/Attachment/AttachmentActions.tsx +2 -2
  826. package/src/components/Attachment/Card.tsx +8 -5
  827. package/src/components/Attachment/FileAttachment.tsx +3 -4
  828. package/src/components/Attachment/FileIcon.tsx +2 -2
  829. package/src/components/Attachment/Gallery.tsx +164 -193
  830. package/src/components/Attachment/Giphy.tsx +67 -70
  831. package/src/components/Attachment/__tests__/Attachment.test.js +22 -14
  832. package/src/components/Attachment/__tests__/Gallery.test.js +233 -0
  833. package/src/components/Attachment/__tests__/buildGallery.test.js +131 -0
  834. package/src/components/Attachment/utils/buildGallery/buildGallery.ts +75 -0
  835. package/src/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.ts +95 -0
  836. package/src/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.ts +99 -0
  837. package/src/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.ts +64 -0
  838. package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +46 -0
  839. package/src/components/Attachment/utils/buildGallery/buildThumbnailGrid.ts +186 -0
  840. package/src/components/Attachment/utils/buildGallery/types.ts +27 -0
  841. package/src/components/Attachment/utils/getAspectRatio.ts +21 -0
  842. package/src/components/Attachment/utils/getGalleryImageBorderRadius.ts +71 -0
  843. package/src/components/AttachmentPicker/AttachmentPicker.tsx +4 -2
  844. package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +43 -28
  845. package/src/components/AutoCompleteInput/{CommandsItem.tsx → AutoCompleteSuggestionCommandIcon.tsx} +3 -57
  846. package/src/components/AutoCompleteInput/AutoCompleteSuggestionHeader.tsx +109 -0
  847. package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx +156 -0
  848. package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +212 -0
  849. package/src/components/AutoCompleteInput/__tests__/AutoCompleteInput.test.js +6 -12
  850. package/src/components/Avatar/Avatar.tsx +7 -10
  851. package/src/components/Avatar/GroupAvatar.tsx +7 -21
  852. package/src/components/Avatar/__tests__/Avatar.test.js +2 -30
  853. package/src/components/Channel/Channel.tsx +288 -232
  854. package/src/components/Channel/__tests__/Channel.test.js +34 -29
  855. package/src/components/Channel/__tests__/ownCapabilities.test.js +376 -0
  856. package/src/components/Channel/hooks/useCreateChannelContext.ts +6 -6
  857. package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +4 -3
  858. package/src/components/Channel/hooks/useCreateMessagesContext.ts +9 -30
  859. package/src/components/Channel/hooks/useCreateOwnCapabilitiesContext.ts +54 -0
  860. package/src/components/ChannelList/ChannelList.tsx +8 -9
  861. package/src/components/ChannelList/ChannelListFooterLoadingIndicator.tsx +2 -3
  862. package/src/components/ChannelList/ChannelListHeaderErrorIndicator.tsx +3 -7
  863. package/src/components/ChannelList/ChannelListHeaderNetworkDownIndicator.tsx +5 -2
  864. package/src/components/ChannelList/ChannelListMessenger.tsx +3 -4
  865. package/src/components/ChannelList/__tests__/ChannelList.test.js +73 -13
  866. package/src/components/ChannelList/__tests__/ChannelListMessenger.test.js +11 -12
  867. package/src/components/ChannelList/hooks/listeners/useAddedToChannelNotification.ts +3 -3
  868. package/src/components/ChannelList/hooks/listeners/useChannelDeleted.ts +2 -2
  869. package/src/components/ChannelList/hooks/listeners/useChannelHidden.ts +2 -2
  870. package/src/components/ChannelList/hooks/listeners/useChannelTruncated.ts +2 -2
  871. package/src/components/ChannelList/hooks/listeners/useChannelUpdated.ts +2 -2
  872. package/src/components/ChannelList/hooks/listeners/useChannelVisible.ts +3 -3
  873. package/src/components/ChannelList/hooks/listeners/useNewMessage.ts +2 -3
  874. package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +4 -4
  875. package/src/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.ts +2 -2
  876. package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +2 -2
  877. package/src/components/ChannelList/hooks/useCreateChannelsContext.ts +1 -2
  878. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +86 -44
  879. package/src/components/ChannelPreview/ChannelAvatar.tsx +3 -5
  880. package/src/components/ChannelPreview/ChannelPreview.tsx +3 -3
  881. package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +2 -2
  882. package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +27 -11
  883. package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx +71 -0
  884. package/src/components/ChannelPreview/ChannelPreviewStatus.tsx +4 -3
  885. package/src/components/ChannelPreview/ChannelPreviewTitle.tsx +2 -2
  886. package/src/components/ChannelPreview/ChannelPreviewUnreadCount.tsx +2 -1
  887. package/src/components/ChannelPreview/__tests__/ChannelPreview.test.js +8 -9
  888. package/src/components/ChannelPreview/__tests__/ChannelPreviewMessenger.test.js +8 -9
  889. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.ts +8 -2
  890. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +3 -4
  891. package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.ts +2 -2
  892. package/src/components/ChannelPreview/hooks/useLatestMessagePreview.ts +4 -3
  893. package/src/components/Chat/Chat.tsx +6 -6
  894. package/src/components/Chat/__tests__/Chat.test.js +10 -6
  895. package/src/components/Chat/hooks/useIsOnline.ts +12 -8
  896. package/src/components/ImageGallery/ImageGallery.tsx +83 -49
  897. package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +1 -2
  898. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +2 -5
  899. package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +5 -7
  900. package/src/components/ImageGallery/components/ImageGrid.tsx +4 -5
  901. package/src/components/ImageGallery/components/ImageGridHandle.tsx +1 -0
  902. package/src/components/Indicators/LoadingErrorIndicator.tsx +1 -1
  903. package/src/components/Indicators/LoadingIndicator.tsx +1 -2
  904. package/src/components/Message/Message.tsx +155 -594
  905. package/src/components/Message/MessageSimple/MessageAvatar.tsx +1 -2
  906. package/src/components/Message/MessageSimple/MessageContent.tsx +23 -25
  907. package/src/components/Message/MessageSimple/MessageDeleted.tsx +8 -6
  908. package/src/components/Message/MessageSimple/MessageFooter.tsx +45 -27
  909. package/src/components/Message/MessageSimple/MessagePinnedHeader.tsx +150 -0
  910. package/src/components/Message/MessageSimple/MessageReplies.tsx +5 -0
  911. package/src/components/Message/MessageSimple/MessageRepliesAvatars.tsx +2 -3
  912. package/src/components/Message/MessageSimple/MessageSimple.tsx +47 -26
  913. package/src/components/Message/MessageSimple/MessageStatus.tsx +19 -34
  914. package/src/components/Message/MessageSimple/MessageTextContainer.tsx +5 -0
  915. package/src/components/Message/MessageSimple/ReactionList.tsx +64 -77
  916. package/src/components/Message/MessageSimple/__tests__/Message.test.js +9 -10
  917. package/src/components/Message/MessageSimple/__tests__/MessageAvatar.test.js +2 -2
  918. package/src/components/Message/MessageSimple/__tests__/MessageContent.test.js +40 -47
  919. package/src/components/Message/MessageSimple/__tests__/MessagePinnedHeader.test.js +53 -0
  920. package/src/components/Message/MessageSimple/__tests__/MessageReplies.test.js +2 -2
  921. package/src/components/Message/MessageSimple/__tests__/MessageStatus.test.js +4 -5
  922. package/src/components/Message/MessageSimple/__tests__/MessageTextContainer.test.js +2 -2
  923. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageAvatar.test.js.snap +1 -1
  924. package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessagePinnedHeader.test.js.snap +80 -0
  925. package/src/components/Message/MessageSimple/utils/parseLinks.test.ts +100 -0
  926. package/src/components/Message/MessageSimple/utils/parseLinks.ts +95 -0
  927. package/src/components/Message/MessageSimple/utils/renderText.test.tsx +70 -0
  928. package/src/components/Message/MessageSimple/utils/renderText.tsx +98 -58
  929. package/src/components/Message/hooks/useCreateMessageContext.ts +1 -7
  930. package/src/components/Message/hooks/useMessageActionHandlers.ts +172 -0
  931. package/src/components/Message/hooks/useMessageActions.tsx +386 -0
  932. package/src/components/Message/utils/messageActions.ts +64 -38
  933. package/src/components/Message/utils/removeReservedFields.ts +1 -1
  934. package/src/components/MessageInput/AttachButton.tsx +1 -2
  935. package/src/components/MessageInput/CommandsButton.tsx +1 -2
  936. package/src/components/MessageInput/CooldownTimer.tsx +67 -0
  937. package/src/components/MessageInput/FileUploadPreview.tsx +5 -5
  938. package/src/components/MessageInput/ImageUploadPreview.tsx +3 -4
  939. package/src/components/MessageInput/InputButtons.tsx +4 -10
  940. package/src/components/MessageInput/MessageInput.tsx +62 -35
  941. package/src/components/MessageInput/MoreOptionsButton.tsx +1 -2
  942. package/src/components/MessageInput/SendMessageDisallowedIndicator.tsx +47 -0
  943. package/src/components/MessageInput/ShowThreadMessageInChannelButton.tsx +2 -2
  944. package/src/components/MessageInput/__tests__/AttachButton.test.js +2 -2
  945. package/src/components/MessageInput/__tests__/FileUploadPreview.test.js +43 -45
  946. package/src/components/MessageInput/__tests__/ImageUploadPreview.test.js +15 -15
  947. package/src/components/MessageInput/__tests__/MessageInput.test.js +15 -23
  948. package/src/components/MessageInput/__tests__/SendButton.test.js +2 -2
  949. package/src/components/MessageInput/__tests__/UploadProgressIndicator.test.js +2 -2
  950. package/src/components/MessageInput/__tests__/__snapshots__/FileUploadPreview.test.js.snap +3593 -2889
  951. package/src/components/MessageInput/__tests__/__snapshots__/ImageUploadPreview.test.js.snap +1912 -1572
  952. package/src/components/MessageInput/__tests__/__snapshots__/MessageInput.test.js.snap +539 -296
  953. package/src/components/MessageInput/__tests__/__snapshots__/UploadProgressIndicator.test.js.snap +4 -4
  954. package/src/components/MessageInput/hooks/useCooldown.ts +62 -0
  955. package/src/components/MessageInput/hooks/useCountdown.ts +48 -0
  956. package/src/components/MessageList/DateHeader.tsx +2 -2
  957. package/src/components/MessageList/InlineDateSeparator.tsx +2 -2
  958. package/src/components/MessageList/MessageList.tsx +63 -39
  959. package/src/components/MessageList/MessageSystem.tsx +2 -2
  960. package/src/components/MessageList/TypingIndicator.tsx +1 -2
  961. package/src/components/MessageList/__tests__/MessageList.test.js +241 -116
  962. package/src/components/MessageList/__tests__/MessageSystem.test.js +3 -3
  963. package/src/components/MessageList/__tests__/ScrollToBottomButton.test.js +3 -3
  964. package/src/components/MessageList/__tests__/TypingIndicator.test.js +5 -6
  965. package/src/components/MessageList/__tests__/__snapshots__/TypingIndicator.test.js.snap +1 -1
  966. package/src/components/MessageList/hooks/useMessageList.ts +19 -9
  967. package/src/components/MessageList/hooks/useTypingString.ts +1 -2
  968. package/src/components/MessageList/utils/getDateSeparators.ts +4 -3
  969. package/src/components/MessageList/utils/getGroupStyles.ts +14 -9
  970. package/src/components/MessageList/utils/getLastReceivedMessage.ts +6 -1
  971. package/src/components/MessageOverlay/{MessageActions.tsx → MessageActionList.tsx} +59 -91
  972. package/src/components/MessageOverlay/MessageActionListItem.tsx +113 -0
  973. package/src/components/MessageOverlay/MessageOverlay.tsx +258 -217
  974. package/src/components/MessageOverlay/OverlayBackdrop.tsx +18 -0
  975. package/src/components/MessageOverlay/OverlayReactionList.tsx +3 -5
  976. package/src/components/MessageOverlay/OverlayReactions.tsx +27 -8
  977. package/src/components/MessageOverlay/OverlayReactionsAvatar.tsx +27 -0
  978. package/src/components/MessageOverlay/hooks/useMessageActionAnimation.tsx +44 -0
  979. package/src/components/Reply/Reply.tsx +25 -15
  980. package/src/components/Thread/Thread.tsx +13 -6
  981. package/src/components/Thread/__tests__/Thread.test.js +38 -113
  982. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +1085 -1018
  983. package/src/components/Thread/components/ThreadFooterComponent.tsx +14 -3
  984. package/src/components/docs/ListProps.md +1 -1
  985. package/src/components/index.ts +13 -7
  986. package/src/contexts/activeChannelsRefContext/ActiveChannelsRefContext.tsx +32 -0
  987. package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +1 -2
  988. package/src/contexts/channelContext/ChannelContext.tsx +28 -32
  989. package/src/contexts/channelsContext/ChannelsContext.tsx +18 -7
  990. package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +286 -0
  991. package/src/contexts/channelsStateContext/useChannelState.ts +207 -0
  992. package/src/contexts/chatContext/ChatContext.tsx +1 -2
  993. package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +1 -2
  994. package/src/contexts/keyboardContext/KeyboardContext.tsx +1 -2
  995. package/src/contexts/messageContext/MessageContext.tsx +2 -10
  996. package/src/contexts/messageInputContext/MessageInputContext.tsx +77 -36
  997. package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +9 -7
  998. package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +15 -10
  999. package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +19 -28
  1000. package/src/contexts/messageOverlayContext/hooks/useResettableState.test.tsx +46 -0
  1001. package/src/contexts/messageOverlayContext/hooks/useResettableState.ts +22 -0
  1002. package/src/contexts/messagesContext/MessagesContext.tsx +39 -140
  1003. package/src/contexts/overlayContext/OverlayContext.tsx +19 -11
  1004. package/src/contexts/overlayContext/OverlayProvider.tsx +48 -42
  1005. package/src/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.tsx +38 -0
  1006. package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +1 -2
  1007. package/src/contexts/suggestionsContext/SuggestionsContext.tsx +26 -46
  1008. package/src/contexts/suggestionsContext/__tests__/Suggestions.test.js +1 -1
  1009. package/src/contexts/themeContext/ThemeContext.tsx +1 -0
  1010. package/src/contexts/themeContext/utils/theme.ts +84 -35
  1011. package/src/contexts/threadContext/ThreadContext.tsx +1 -2
  1012. package/src/contexts/translationContext/TranslationContext.tsx +3 -3
  1013. package/src/contexts/typingContext/TypingContext.tsx +1 -2
  1014. package/src/contexts/utils/getDisplayName.ts +3 -1
  1015. package/src/emoji-data/compiled.ts +1830 -9609
  1016. package/src/emoji-data/emojiNames.ts +0 -140
  1017. package/src/emoji-data/emojis.ts +0 -210
  1018. package/src/emoji-data/index.js +1 -1
  1019. package/src/hooks/useStreami18n.ts +1 -1
  1020. package/src/i18n/en.json +9 -3
  1021. package/src/i18n/fr.json +9 -3
  1022. package/src/i18n/hi.json +9 -3
  1023. package/src/i18n/it.json +9 -3
  1024. package/src/i18n/ja.json +9 -0
  1025. package/src/i18n/ko.json +9 -0
  1026. package/src/i18n/nl.json +9 -3
  1027. package/src/i18n/ru.json +9 -3
  1028. package/src/i18n/tr.json +10 -4
  1029. package/src/icons/Pin.tsx +17 -0
  1030. package/src/icons/PinHeader.tsx +12 -0
  1031. package/src/icons/Unpin.tsx +12 -0
  1032. package/src/icons/index.ts +3 -2
  1033. package/src/mock-builders/api/sendMessage.js +3 -1
  1034. package/src/mock-builders/generator/attachment.js +0 -2
  1035. package/src/mock-builders/generator/channel.js +101 -46
  1036. package/src/mock-builders/generator/user.js +33 -26
  1037. package/src/mock-builders/mock.js +2 -2
  1038. package/src/native.ts +2 -13
  1039. package/src/styleguideComponents/ArgumentsRenderer.tsx +2 -1
  1040. package/src/styleguideComponents/JsDoc.tsx +3 -1
  1041. package/src/styleguideComponents/PathlineRenderer.tsx +2 -1
  1042. package/src/styleguideComponents/PropsRenderer.tsx +7 -4
  1043. package/src/styleguideComponents/Wrapper.tsx +1 -0
  1044. package/src/utils/Streami18n.ts +3 -3
  1045. package/src/utils/__tests__/Streami18n.test.js +1 -2
  1046. package/src/utils/date.ts +4 -0
  1047. package/src/utils/getResizedImageUrl.ts +43 -0
  1048. package/src/utils/getUrlOfImageAttachment.ts +10 -0
  1049. package/src/utils/utils.ts +23 -16
  1050. package/src/version.json +1 -1
  1051. package/lib/commonjs/components/AutoCompleteInput/CommandsHeader.js +0 -78
  1052. package/lib/commonjs/components/AutoCompleteInput/CommandsHeader.js.map +0 -1
  1053. package/lib/commonjs/components/AutoCompleteInput/CommandsItem.js.map +0 -1
  1054. package/lib/commonjs/components/AutoCompleteInput/EmojisHeader.js +0 -81
  1055. package/lib/commonjs/components/AutoCompleteInput/EmojisHeader.js.map +0 -1
  1056. package/lib/commonjs/components/AutoCompleteInput/EmojisItem.js +0 -75
  1057. package/lib/commonjs/components/AutoCompleteInput/EmojisItem.js.map +0 -1
  1058. package/lib/commonjs/components/AutoCompleteInput/MentionsItem.js +0 -125
  1059. package/lib/commonjs/components/AutoCompleteInput/MentionsItem.js.map +0 -1
  1060. package/lib/commonjs/components/AutoCompleteInput/SuggestionsList.js +0 -199
  1061. package/lib/commonjs/components/AutoCompleteInput/SuggestionsList.js.map +0 -1
  1062. package/lib/commonjs/components/MessageOverlay/MessageActions.js.map +0 -1
  1063. package/lib/commonjs/icons/Left.js +0 -38
  1064. package/lib/commonjs/icons/Left.js.map +0 -1
  1065. package/lib/commonjs/icons/Right.js +0 -38
  1066. package/lib/commonjs/icons/Right.js.map +0 -1
  1067. package/lib/module/components/AutoCompleteInput/CommandsHeader.js +0 -78
  1068. package/lib/module/components/AutoCompleteInput/CommandsHeader.js.map +0 -1
  1069. package/lib/module/components/AutoCompleteInput/CommandsItem.js.map +0 -1
  1070. package/lib/module/components/AutoCompleteInput/EmojisHeader.js +0 -81
  1071. package/lib/module/components/AutoCompleteInput/EmojisHeader.js.map +0 -1
  1072. package/lib/module/components/AutoCompleteInput/EmojisItem.js +0 -75
  1073. package/lib/module/components/AutoCompleteInput/EmojisItem.js.map +0 -1
  1074. package/lib/module/components/AutoCompleteInput/MentionsItem.js +0 -125
  1075. package/lib/module/components/AutoCompleteInput/MentionsItem.js.map +0 -1
  1076. package/lib/module/components/AutoCompleteInput/SuggestionsList.js +0 -199
  1077. package/lib/module/components/AutoCompleteInput/SuggestionsList.js.map +0 -1
  1078. package/lib/module/components/MessageOverlay/MessageActions.js.map +0 -1
  1079. package/lib/module/icons/Left.js +0 -38
  1080. package/lib/module/icons/Left.js.map +0 -1
  1081. package/lib/module/icons/Right.js +0 -38
  1082. package/lib/module/icons/Right.js.map +0 -1
  1083. package/lib/typescript/components/AutoCompleteInput/CommandsHeader.d.ts +0 -2
  1084. package/lib/typescript/components/AutoCompleteInput/CommandsItem.d.ts +0 -15
  1085. package/lib/typescript/components/AutoCompleteInput/EmojisHeader.d.ts +0 -5
  1086. package/lib/typescript/components/AutoCompleteInput/EmojisItem.d.ts +0 -12
  1087. package/lib/typescript/components/AutoCompleteInput/MentionsItem.d.ts +0 -16
  1088. package/lib/typescript/components/AutoCompleteInput/SuggestionsList.d.ts +0 -13
  1089. package/lib/typescript/components/MessageOverlay/MessageActions.d.ts +0 -11
  1090. package/src/components/AutoCompleteInput/CommandsHeader.tsx +0 -43
  1091. package/src/components/AutoCompleteInput/EmojisHeader.tsx +0 -45
  1092. package/src/components/AutoCompleteInput/EmojisItem.tsx +0 -52
  1093. package/src/components/AutoCompleteInput/MentionsItem.tsx +0 -74
  1094. package/src/components/AutoCompleteInput/SuggestionsList.tsx +0 -138
  1095. package/src/components/AutoCompleteInput/__tests__/CommandsItem.test.js +0 -26
  1096. package/src/components/AutoCompleteInput/__tests__/MentionsItem.test.js +0 -62
  1097. package/src/components/MessageList/__tests__/__snapshots__/MessageList.test.js.snap +0 -936
  1098. package/src/icons/Left.tsx +0 -12
  1099. package/src/icons/Right.tsx +0 -12
@@ -1 +1 @@
1
- {"version":3,"sources":["messageActions.ts"],"names":["messageActions","blockUser","canModifyMessage","copyMessage","deleteMessage","editMessage","error","flagMessage","isMyMessage","isThreadMessage","message","messageReactions","mutesEnabled","muteUser","quotedRepliesEnabled","quotedReply","retry","threadRepliesEnabled","threadReply","undefined","actions","push","text"],"mappings":";;;;;AAcO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,OA8CiB;AAAA,MArC7CC,SAqC6C,QArC7CA,SAqC6C;AAAA,MApC7CC,gBAoC6C,QApC7CA,gBAoC6C;AAAA,MAnC7CC,WAmC6C,QAnC7CA,WAmC6C;AAAA,MAlC7CC,aAkC6C,QAlC7CA,aAkC6C;AAAA,MAjC7CC,WAiC6C,QAjC7CA,WAiC6C;AAAA,MAhC7CC,KAgC6C,QAhC7CA,KAgC6C;AAAA,MA/B7CC,WA+B6C,QA/B7CA,WA+B6C;AAAA,MA9B7CC,WA8B6C,QA9B7CA,WA8B6C;AAAA,MA7B7CC,eA6B6C,QA7B7CA,eA6B6C;AAAA,MA5B7CC,OA4B6C,QA5B7CA,OA4B6C;AAAA,MA3B7CC,gBA2B6C,QA3B7CA,gBA2B6C;AAAA,MA1B7CC,YA0B6C,QA1B7CA,YA0B6C;AAAA,MAzB7CC,QAyB6C,QAzB7CA,QAyB6C;AAAA,MAxB7CC,oBAwB6C,QAxB7CA,oBAwB6C;AAAA,MAvB7CC,WAuB6C,QAvB7CA,WAuB6C;AAAA,MAtB7CC,KAsB6C,QAtB7CA,KAsB6C;AAAA,MArB7CC,oBAqB6C,QArB7CA,oBAqB6C;AAAA,MApB7CC,WAoB6C,QApB7CA,WAoB6C;;AAC7C,MAAIP,gBAAJ,EAAsB;AACpB,WAAOQ,SAAP;AACD;;AAED,MAAMC,OAAoC,GAAG,EAA7C;;AAEA,MAAId,KAAK,IAAIE,WAAb,EAA0B;AACxBY,IAAAA,OAAO,CAACC,IAAR,CAAaL,KAAb;AACD;;AAED,MAAIF,oBAAoB,IAAI,CAACL,eAAzB,IAA4C,CAACH,KAAjD,EAAwD;AACtDc,IAAAA,OAAO,CAACC,IAAR,CAAaN,WAAb;AACD;;AAED,MAAIE,oBAAoB,IAAI,CAACR,eAAzB,IAA4C,CAACH,KAAjD,EAAwD;AACtDc,IAAAA,OAAO,CAACC,IAAR,CAAaH,WAAb;AACD;;AAED,MAAIhB,gBAAJ,EAAsB;AACpBkB,IAAAA,OAAO,CAACC,IAAR,CAAahB,WAAb;AACD;;AAED,MAAIK,OAAO,CAACY,IAAR,IAAgB,CAAChB,KAArB,EAA4B;AAC1Bc,IAAAA,OAAO,CAACC,IAAR,CAAalB,WAAb;AACD;;AAED,MAAIS,YAAY,IAAI,CAACJ,WAArB,EAAkC;AAChCY,IAAAA,OAAO,CAACC,IAAR,CAAaR,QAAb;AACD;;AAED,MAAI,CAACL,WAAL,EAAkB;AAChBY,IAAAA,OAAO,CAACC,IAAR,CAAad,WAAb;AACD;;AAED,MAAI,CAACC,WAAD,IAAgBN,gBAApB,EAAsC;AACpCkB,IAAAA,OAAO,CAACC,IAAR,CAAapB,SAAb;AACD;;AAED,MAAIC,gBAAJ,EAAsB;AACpBkB,IAAAA,OAAO,CAACC,IAAR,CAAajB,aAAb;AACD;;AAED,SAAOgB,OAAP;AACD,CA1FM","sourcesContent":["import type { MessageType } from '../../MessageList/hooks/useMessageList';\n\nimport type { MessageAction } from '../../../contexts/messageOverlayContext/MessageOverlayContext';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../types/types';\n\nexport const messageActions = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>({\n blockUser,\n canModifyMessage,\n copyMessage,\n deleteMessage,\n editMessage,\n error,\n flagMessage,\n isMyMessage,\n isThreadMessage,\n message,\n messageReactions,\n mutesEnabled,\n muteUser,\n quotedRepliesEnabled,\n quotedReply,\n retry,\n threadRepliesEnabled,\n threadReply,\n}: {\n blockUser: MessageAction | null;\n canModifyMessage: boolean;\n copyMessage: MessageAction | null;\n deleteMessage: MessageAction | null;\n editMessage: MessageAction | null;\n error: boolean;\n flagMessage: MessageAction | null;\n isMyMessage: boolean;\n isThreadMessage: boolean;\n message: MessageType<At, Ch, Co, Ev, Me, Re, Us>;\n messageReactions: boolean;\n muteUser: MessageAction | null;\n quotedReply: MessageAction | null;\n retry: MessageAction | null;\n threadReply: MessageAction | null;\n mutesEnabled?: boolean;\n quotedRepliesEnabled?: boolean;\n threadRepliesEnabled?: boolean;\n}): Array<MessageAction | null> | undefined => {\n if (messageReactions) {\n return undefined;\n }\n\n const actions: Array<MessageAction | null> = [];\n\n if (error && isMyMessage) {\n actions.push(retry);\n }\n\n if (quotedRepliesEnabled && !isThreadMessage && !error) {\n actions.push(quotedReply);\n }\n\n if (threadRepliesEnabled && !isThreadMessage && !error) {\n actions.push(threadReply);\n }\n\n if (canModifyMessage) {\n actions.push(editMessage);\n }\n\n if (message.text && !error) {\n actions.push(copyMessage);\n }\n\n if (mutesEnabled && !isMyMessage) {\n actions.push(muteUser);\n }\n\n if (!isMyMessage) {\n actions.push(flagMessage);\n }\n\n if (!isMyMessage && canModifyMessage) {\n actions.push(blockUser);\n }\n\n if (canModifyMessage) {\n actions.push(deleteMessage);\n }\n\n return actions;\n};\n"]}
1
+ {"version":3,"sources":["messageActions.ts"],"names":["messageActions","blockUser","copyMessage","deleteMessage","editMessage","error","flagMessage","isMyMessage","isThreadMessage","message","messageReactions","ownCapabilities","pinMessage","quotedReply","retry","threadReply","unpinMessage","undefined","actions","push","quoteMessage","sendReply","updateOwnMessage","updateAnyMessage","text","pinned","banChannelMembers","deleteOwnMessage","deleteAnyMessage"],"mappings":";;;;;AAmDO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,OAyB0B;AAAA,MAhBtDC,SAgBsD,QAhBtDA,SAgBsD;AAAA,MAftDC,WAesD,QAftDA,WAesD;AAAA,MAdtDC,aAcsD,QAdtDA,aAcsD;AAAA,MAbtDC,WAasD,QAbtDA,WAasD;AAAA,MAZtDC,KAYsD,QAZtDA,KAYsD;AAAA,MAXtDC,WAWsD,QAXtDA,WAWsD;AAAA,MAVtDC,WAUsD,QAVtDA,WAUsD;AAAA,MATtDC,eASsD,QATtDA,eASsD;AAAA,MARtDC,OAQsD,QARtDA,OAQsD;AAAA,MAPtDC,gBAOsD,QAPtDA,gBAOsD;AAAA,MANtDC,eAMsD,QANtDA,eAMsD;AAAA,MALtDC,UAKsD,QALtDA,UAKsD;AAAA,MAJtDC,WAIsD,QAJtDA,WAIsD;AAAA,MAHtDC,KAGsD,QAHtDA,KAGsD;AAAA,MAFtDC,WAEsD,QAFtDA,WAEsD;AAAA,MADtDC,YACsD,QADtDA,YACsD;;AACtD,MAAIN,gBAAJ,EAAsB;AACpB,WAAOO,SAAP;AACD;;AAED,MAAMC,OAAwC,GAAG,EAAjD;;AAEA,MAAIb,KAAK,IAAIE,WAAb,EAA0B;AACxBW,IAAAA,OAAO,CAACC,IAAR,CAAaL,KAAb;AACD;;AAED,MAAIH,eAAe,CAACS,YAAhB,IAAgC,CAACZ,eAAjC,IAAoD,CAACH,KAAzD,EAAgE;AAC9Da,IAAAA,OAAO,CAACC,IAAR,CAAaN,WAAb;AACD;;AAED,MAAIF,eAAe,CAACU,SAAhB,IAA6B,CAACb,eAA9B,IAAiD,CAACH,KAAtD,EAA6D;AAC3Da,IAAAA,OAAO,CAACC,IAAR,CAAaJ,WAAb;AACD;;AAED,MACGR,WAAW,IAAII,eAAe,CAACW,gBAAhC,IACC,CAACf,WAAD,IAAgBI,eAAe,CAACY,gBAFnC,EAGE;AACAL,IAAAA,OAAO,CAACC,IAAR,CAAaf,WAAb;AACD;;AAED,MAAIK,OAAO,CAACe,IAAR,IAAgB,CAACnB,KAArB,EAA4B;AAC1Ba,IAAAA,OAAO,CAACC,IAAR,CAAajB,WAAb;AACD;;AAED,MAAI,CAACK,WAAD,IAAgBI,eAAe,CAACL,WAApC,EAAiD;AAC/CY,IAAAA,OAAO,CAACC,IAAR,CAAab,WAAb;AACD;;AAED,MAAIK,eAAe,CAACC,UAAhB,IAA8B,CAACH,OAAO,CAACgB,MAA3C,EAAmD;AACjDP,IAAAA,OAAO,CAACC,IAAR,CAAaP,UAAb;AACD;;AAED,MAAID,eAAe,CAACC,UAAhB,IAA8BH,OAAO,CAACgB,MAA1C,EAAkD;AAChDP,IAAAA,OAAO,CAACC,IAAR,CAAaH,YAAb;AACD;;AAED,MAAI,CAACT,WAAD,IAAgBI,eAAe,CAACe,iBAApC,EAAuD;AACrDR,IAAAA,OAAO,CAACC,IAAR,CAAalB,SAAb;AACD;;AAED,MACGM,WAAW,IAAII,eAAe,CAACgB,gBAAhC,IACC,CAACpB,WAAD,IAAgBI,eAAe,CAACiB,gBAFnC,EAGE;AACAV,IAAAA,OAAO,CAACC,IAAR,CAAahB,aAAb;AACD;;AAED,SAAOe,OAAP;AACD,CA/EM","sourcesContent":["import type { MessageContextValue } from '../../../contexts/messageContext/MessageContext';\nimport type { OwnCapabilitiesContextValue } from '../../../contexts/ownCapabilitiesContext/OwnCapabilitiesContext';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../types/types';\nimport type { MessageActionType } from '../../MessageOverlay/MessageActionListItem';\n\nexport type MessageActionsParams<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = {\n blockUser: MessageActionType;\n copyMessage: MessageActionType;\n deleteMessage: MessageActionType;\n dismissOverlay: () => void;\n editMessage: MessageActionType;\n error: boolean | Error;\n flagMessage: MessageActionType;\n isThreadMessage: boolean;\n messageReactions: boolean;\n muteUser: MessageActionType;\n ownCapabilities: OwnCapabilitiesContextValue;\n pinMessage: MessageActionType;\n quotedReply: MessageActionType;\n retry: MessageActionType;\n threadReply: MessageActionType;\n unpinMessage: MessageActionType;\n} & Pick<MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'message' | 'isMyMessage'>;\n\nexport type MessageActionsProp<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = (param: MessageActionsParams<At, Ch, Co, Ev, Me, Re, Us>) => MessageActionType[];\n\nexport const messageActions = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>({\n blockUser,\n copyMessage,\n deleteMessage,\n editMessage,\n error,\n flagMessage,\n isMyMessage,\n isThreadMessage,\n message,\n messageReactions,\n ownCapabilities,\n pinMessage,\n quotedReply,\n retry,\n threadReply,\n unpinMessage,\n}: MessageActionsParams<At, Ch, Co, Ev, Me, Re, Us>) => {\n if (messageReactions) {\n return undefined;\n }\n\n const actions: Array<MessageActionType | null> = [];\n\n if (error && isMyMessage) {\n actions.push(retry);\n }\n\n if (ownCapabilities.quoteMessage && !isThreadMessage && !error) {\n actions.push(quotedReply);\n }\n\n if (ownCapabilities.sendReply && !isThreadMessage && !error) {\n actions.push(threadReply);\n }\n\n if (\n (isMyMessage && ownCapabilities.updateOwnMessage) ||\n (!isMyMessage && ownCapabilities.updateAnyMessage)\n ) {\n actions.push(editMessage);\n }\n\n if (message.text && !error) {\n actions.push(copyMessage);\n }\n\n if (!isMyMessage && ownCapabilities.flagMessage) {\n actions.push(flagMessage);\n }\n\n if (ownCapabilities.pinMessage && !message.pinned) {\n actions.push(pinMessage);\n }\n\n if (ownCapabilities.pinMessage && message.pinned) {\n actions.push(unpinMessage);\n }\n\n if (!isMyMessage && ownCapabilities.banChannelMembers) {\n actions.push(blockUser);\n }\n\n if (\n (isMyMessage && ownCapabilities.deleteOwnMessage) ||\n (!isMyMessage && ownCapabilities.deleteAnyMessage)\n ) {\n actions.push(deleteMessage);\n }\n\n return actions;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["removeReservedFields.ts"],"names":["removeReservedFields","message","retryMessage","reserved","forEach","key"],"mappings":";;;;;;;;;AAYO,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CASlCC,OATkC,EAU/B;AACH,MAAMC,YAAY,iCAAQD,OAAR,CAAlB;AACA,MAAME,QAAQ,GAAG,CACf,KADe,EAEf,QAFe,EAGf,YAHe,EAIf,YAJe,EAKf,IALe,EAMf,iBANe,EAOf,cAPe,EAQf,MARe,EASf,YATe,CAAjB;AAWAA,EAAAA,QAAQ,CAACC,OAAT,CAAiB,UAACC,GAAD,EAAS;AACxB,WAAOH,YAAY,CAACG,GAAD,CAAnB;AACD,GAFD;AAIA,SAAOH,YAAP;AACD,CA5BM","sourcesContent":["import type { MessageType } from '../../MessageList/hooks/useMessageList';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../types/types';\n\nexport const removeReservedFields = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n message: MessageType<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const retryMessage = { ...message };\n const reserved = [\n 'cid',\n 'config',\n 'created_at',\n 'created_by',\n 'id',\n 'last_message_at',\n 'member_count',\n 'type',\n 'updated_at',\n ];\n reserved.forEach((key) => {\n delete retryMessage[key];\n });\n\n return retryMessage;\n};\n"]}
1
+ {"version":3,"sources":["removeReservedFields.ts"],"names":["removeReservedFields","message","retryMessage","reserved","forEach","key"],"mappings":";;;;;;;;;AAYO,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CASlCC,OATkC,EAU/B;AACH,MAAMC,YAAY,iCAAQD,OAAR,CAAlB;AACA,MAAME,QAAQ,GAAG,CACf,KADe,EAEf,QAFe,EAGf,YAHe,EAIf,YAJe,EAKf,IALe,EAMf,iBANe,EAOf,cAPe,EAQf,MARe,EASf,YATe,CAAjB;AAWAA,EAAAA,QAAQ,CAACC,OAAT,CAAiB,UAACC,GAAD,EAAS;AACxB,WAAOH,YAAY,CAACG,GAAD,CAAnB;AACD,GAFD;AAIA,SAAOH,YAAP;AACD,CA5BM","sourcesContent":["import type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../types/types';\nimport type { MessageType } from '../../MessageList/hooks/useMessageList';\n\nexport const removeReservedFields = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n message: MessageType<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const retryMessage = { ...message };\n const reserved = [\n 'cid',\n 'config',\n 'created_at',\n 'created_by',\n 'id',\n 'last_message_at',\n 'member_count',\n 'type',\n 'updated_at',\n ];\n reserved.forEach((key) => {\n delete retryMessage[key];\n });\n\n return retryMessage;\n};\n"]}
@@ -50,7 +50,7 @@ var AttachButtonWithContext = function AttachButtonWithContext(props) {
50
50
  __self: _this,
51
51
  __source: {
52
52
  fileName: _jsxFileName,
53
- lineNumber: 59,
53
+ lineNumber: 58,
54
54
  columnNumber: 5
55
55
  }
56
56
  }, _react["default"].createElement(_Attach.Attach, {
@@ -58,7 +58,7 @@ var AttachButtonWithContext = function AttachButtonWithContext(props) {
58
58
  __self: _this,
59
59
  __source: {
60
60
  fileName: _jsxFileName,
61
- lineNumber: 66,
61
+ lineNumber: 65,
62
62
  columnNumber: 7
63
63
  }
64
64
  }));
@@ -97,7 +97,7 @@ var AttachButton = function AttachButton(props) {
97
97
  __self: _this,
98
98
  __source: {
99
99
  fileName: _jsxFileName,
100
- lineNumber: 138,
100
+ lineNumber: 137,
101
101
  columnNumber: 10
102
102
  }
103
103
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["AttachButton.tsx"],"names":["AttachButtonWithContext","props","disabled","handleOnPress","selectedPicker","theme","colors","accent_blue","grey","attachButton","messageInput","bottom","left","right","top","areEqual","prevProps","nextProps","prevDisabled","prevHandleOnPress","prevSelectedPicker","nextDisabled","nextHandleOnPress","nextSelectedPicker","disabledEqual","handleOnPressEqual","selectedPickerEqual","MemoizedAttachButton","React","memo","AttachButton","displayName"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AAIA;;AACA;;;;;AA6BA,IAAMA,uBAAuB,GAAG,SAA1BA,uBAA0B,CAS9BC,KAT8B,EAU3B;AACH,MAAQC,QAAR,GAAoDD,KAApD,CAAQC,QAAR;AAAA,MAAkBC,aAAlB,GAAoDF,KAApD,CAAkBE,aAAlB;AAAA,MAAiCC,cAAjC,GAAoDH,KAApD,CAAiCG,cAAjC;;AACA,kBAKI,6BALJ;AAAA,kCACEC,KADF;AAAA,8CAEIC,MAFJ;AAAA,MAEcC,WAFd,yBAEcA,WAFd;AAAA,MAE2BC,IAF3B,yBAE2BA,IAF3B;AAAA,MAGoBC,YAHpB,mBAGIC,YAHJ,CAGoBD,YAHpB;;AAOA,SACE,gCAAC,2CAAD;AACE,IAAA,QAAQ,EAAEP,QADZ;AAEE,IAAA,OAAO,EAAE;AAAES,MAAAA,MAAM,EAAE,EAAV;AAAcC,MAAAA,IAAI,EAAE,EAApB;AAAwBC,MAAAA,KAAK,EAAE,CAA/B;AAAkCC,MAAAA,GAAG,EAAE;AAAvC,KAFX;AAGE,IAAA,OAAO,EAAEZ,QAAQ,GAAG;AAAA,aAAM,IAAN;AAAA,KAAH,GAAgBC,aAHnC;AAIE,IAAA,KAAK,EAAE,CAACM,YAAD,CAJT;AAKE,IAAA,MAAM,EAAC,eALT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAOE,gCAAC,cAAD;AAAQ,IAAA,QAAQ,EAAEL,cAAc,KAAK,QAAnB,GAA8BG,WAA9B,GAA4CC,IAA9D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAPF,CADF;AAWD,CA9BD;;AAgCA,IAAMO,QAAQ,GAAG,SAAXA,QAAW,CASfC,SATe,EAUfC,SAVe,EAWZ;AACH,MACYC,YADZ,GAIIF,SAJJ,CACEd,QADF;AAAA,MAEiBiB,iBAFjB,GAIIH,SAJJ,CAEEb,aAFF;AAAA,MAGkBiB,kBAHlB,GAIIJ,SAJJ,CAGEZ,cAHF;AAKA,MACYiB,YADZ,GAIIJ,SAJJ,CACEf,QADF;AAAA,MAEiBoB,iBAFjB,GAIIL,SAJJ,CAEEd,aAFF;AAAA,MAGkBoB,kBAHlB,GAIIN,SAJJ,CAGEb,cAHF;AAMA,MAAMoB,aAAa,GAAGN,YAAY,KAAKG,YAAvC;AACA,MAAI,CAACG,aAAL,EAAoB,OAAO,KAAP;AAEpB,MAAMC,kBAAkB,GAAGN,iBAAiB,KAAKG,iBAAjD;AACA,MAAI,CAACG,kBAAL,EAAyB,OAAO,KAAP;AAEzB,MAAMC,mBAAmB,GAAGN,kBAAkB,KAAKG,kBAAnD;AACA,MAAI,CAACG,mBAAL,EAA0B,OAAO,KAAP;AAE1B,SAAO,IAAP;AACD,CAjCD;;AAmCA,IAAMC,oBAAoB,GAAGC,kBAAMC,IAAN,CAC3B7B,uBAD2B,EAE3Be,QAF2B,CAA7B;;AAkBO,IAAMe,YAAY,GAAG,SAAfA,YAAe,CAS1B7B,KAT0B,EAUvB;AACH,2BAA6B,wCAA7B;AAAA,iDAAQC,QAAR;AAAA,MAAQA,QAAR,sCAAmB,KAAnB;;AACA,8BAA2B,0DAA3B;AAAA,MAAQE,cAAR,yBAAQA,cAAR;;AAEA,SAAO,gCAAC,oBAAD;AAA4BF,IAAAA,QAAQ,EAARA,QAA5B;AAAsCE,IAAAA,cAAc,EAAdA;AAAtC,KAA4DH,KAA5D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAP;AACD,CAfM;;;AAiBP6B,YAAY,CAACC,WAAb,GAA2B,4BAA3B","sourcesContent":["import React from 'react';\nimport { TouchableOpacity } from 'react-native-gesture-handler';\n\nimport { useAttachmentPickerContext } from '../../contexts/attachmentPickerContext/AttachmentPickerContext';\nimport {\n ChannelContextValue,\n useChannelContext,\n} from '../../contexts/channelContext/ChannelContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Attach } from '../../icons/Attach';\n\nimport type { GestureResponderEvent } from 'react-native';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\ntype AttachButtonPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<ChannelContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'disabled'> & {\n /** Function that opens attachment options bottom sheet */\n handleOnPress?: ((event: GestureResponderEvent) => void) & (() => void);\n selectedPicker?: 'images';\n};\n\nconst AttachButtonWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: AttachButtonPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { disabled, handleOnPress, selectedPicker } = props;\n const {\n theme: {\n colors: { accent_blue, grey },\n messageInput: { attachButton },\n },\n } = useTheme();\n\n return (\n <TouchableOpacity\n disabled={disabled}\n hitSlop={{ bottom: 15, left: 15, right: 5, top: 15 }}\n onPress={disabled ? () => null : handleOnPress}\n style={[attachButton]}\n testID='attach-button'\n >\n <Attach pathFill={selectedPicker === 'images' ? accent_blue : grey} />\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n prevProps: AttachButtonPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: AttachButtonPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n disabled: prevDisabled,\n handleOnPress: prevHandleOnPress,\n selectedPicker: prevSelectedPicker,\n } = prevProps;\n const {\n disabled: nextDisabled,\n handleOnPress: nextHandleOnPress,\n selectedPicker: nextSelectedPicker,\n } = nextProps;\n\n const disabledEqual = prevDisabled === nextDisabled;\n if (!disabledEqual) return false;\n\n const handleOnPressEqual = prevHandleOnPress === nextHandleOnPress;\n if (!handleOnPressEqual) return false;\n\n const selectedPickerEqual = prevSelectedPicker === nextSelectedPicker;\n if (!selectedPickerEqual) return false;\n\n return true;\n};\n\nconst MemoizedAttachButton = React.memo(\n AttachButtonWithContext,\n areEqual,\n) as typeof AttachButtonWithContext;\n\nexport type AttachButtonProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<AttachButtonPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>>;\n\n/**\n * UI Component for attach button in MessageInput component.\n */\nexport const AttachButton = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: AttachButtonProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { disabled = false } = useChannelContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { selectedPicker } = useAttachmentPickerContext();\n\n return <MemoizedAttachButton {...{ disabled, selectedPicker }} {...props} />;\n};\n\nAttachButton.displayName = 'AttachButton{messageInput}';\n"]}
1
+ {"version":3,"sources":["AttachButton.tsx"],"names":["AttachButtonWithContext","props","disabled","handleOnPress","selectedPicker","theme","colors","accent_blue","grey","attachButton","messageInput","bottom","left","right","top","areEqual","prevProps","nextProps","prevDisabled","prevHandleOnPress","prevSelectedPicker","nextDisabled","nextHandleOnPress","nextSelectedPicker","disabledEqual","handleOnPressEqual","selectedPickerEqual","MemoizedAttachButton","React","memo","AttachButton","displayName"],"mappings":";;;;;;;;;AAAA;;AAEA;;AAEA;;AACA;;AAIA;;AACA;;;;;AA2BA,IAAMA,uBAAuB,GAAG,SAA1BA,uBAA0B,CAS9BC,KAT8B,EAU3B;AACH,MAAQC,QAAR,GAAoDD,KAApD,CAAQC,QAAR;AAAA,MAAkBC,aAAlB,GAAoDF,KAApD,CAAkBE,aAAlB;AAAA,MAAiCC,cAAjC,GAAoDH,KAApD,CAAiCG,cAAjC;;AACA,kBAKI,6BALJ;AAAA,kCACEC,KADF;AAAA,8CAEIC,MAFJ;AAAA,MAEcC,WAFd,yBAEcA,WAFd;AAAA,MAE2BC,IAF3B,yBAE2BA,IAF3B;AAAA,MAGoBC,YAHpB,mBAGIC,YAHJ,CAGoBD,YAHpB;;AAOA,SACE,gCAAC,2CAAD;AACE,IAAA,QAAQ,EAAEP,QADZ;AAEE,IAAA,OAAO,EAAE;AAAES,MAAAA,MAAM,EAAE,EAAV;AAAcC,MAAAA,IAAI,EAAE,EAApB;AAAwBC,MAAAA,KAAK,EAAE,CAA/B;AAAkCC,MAAAA,GAAG,EAAE;AAAvC,KAFX;AAGE,IAAA,OAAO,EAAEZ,QAAQ,GAAG;AAAA,aAAM,IAAN;AAAA,KAAH,GAAgBC,aAHnC;AAIE,IAAA,KAAK,EAAE,CAACM,YAAD,CAJT;AAKE,IAAA,MAAM,EAAC,eALT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAOE,gCAAC,cAAD;AAAQ,IAAA,QAAQ,EAAEL,cAAc,KAAK,QAAnB,GAA8BG,WAA9B,GAA4CC,IAA9D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAPF,CADF;AAWD,CA9BD;;AAgCA,IAAMO,QAAQ,GAAG,SAAXA,QAAW,CASfC,SATe,EAUfC,SAVe,EAWZ;AACH,MACYC,YADZ,GAIIF,SAJJ,CACEd,QADF;AAAA,MAEiBiB,iBAFjB,GAIIH,SAJJ,CAEEb,aAFF;AAAA,MAGkBiB,kBAHlB,GAIIJ,SAJJ,CAGEZ,cAHF;AAKA,MACYiB,YADZ,GAIIJ,SAJJ,CACEf,QADF;AAAA,MAEiBoB,iBAFjB,GAIIL,SAJJ,CAEEd,aAFF;AAAA,MAGkBoB,kBAHlB,GAIIN,SAJJ,CAGEb,cAHF;AAMA,MAAMoB,aAAa,GAAGN,YAAY,KAAKG,YAAvC;AACA,MAAI,CAACG,aAAL,EAAoB,OAAO,KAAP;AAEpB,MAAMC,kBAAkB,GAAGN,iBAAiB,KAAKG,iBAAjD;AACA,MAAI,CAACG,kBAAL,EAAyB,OAAO,KAAP;AAEzB,MAAMC,mBAAmB,GAAGN,kBAAkB,KAAKG,kBAAnD;AACA,MAAI,CAACG,mBAAL,EAA0B,OAAO,KAAP;AAE1B,SAAO,IAAP;AACD,CAjCD;;AAmCA,IAAMC,oBAAoB,GAAGC,kBAAMC,IAAN,CAC3B7B,uBAD2B,EAE3Be,QAF2B,CAA7B;;AAkBO,IAAMe,YAAY,GAAG,SAAfA,YAAe,CAS1B7B,KAT0B,EAUvB;AACH,2BAA6B,wCAA7B;AAAA,iDAAQC,QAAR;AAAA,MAAQA,QAAR,sCAAmB,KAAnB;;AACA,8BAA2B,0DAA3B;AAAA,MAAQE,cAAR,yBAAQA,cAAR;;AAEA,SAAO,gCAAC,oBAAD;AAA4BF,IAAAA,QAAQ,EAARA,QAA5B;AAAsCE,IAAAA,cAAc,EAAdA;AAAtC,KAA4DH,KAA5D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAP;AACD,CAfM;;;AAiBP6B,YAAY,CAACC,WAAb,GAA2B,4BAA3B","sourcesContent":["import React from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { TouchableOpacity } from 'react-native-gesture-handler';\n\nimport { useAttachmentPickerContext } from '../../contexts/attachmentPickerContext/AttachmentPickerContext';\nimport {\n ChannelContextValue,\n useChannelContext,\n} from '../../contexts/channelContext/ChannelContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Attach } from '../../icons/Attach';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\ntype AttachButtonPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<ChannelContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'disabled'> & {\n /** Function that opens attachment options bottom sheet */\n handleOnPress?: ((event: GestureResponderEvent) => void) & (() => void);\n selectedPicker?: 'images';\n};\n\nconst AttachButtonWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: AttachButtonPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { disabled, handleOnPress, selectedPicker } = props;\n const {\n theme: {\n colors: { accent_blue, grey },\n messageInput: { attachButton },\n },\n } = useTheme();\n\n return (\n <TouchableOpacity\n disabled={disabled}\n hitSlop={{ bottom: 15, left: 15, right: 5, top: 15 }}\n onPress={disabled ? () => null : handleOnPress}\n style={[attachButton]}\n testID='attach-button'\n >\n <Attach pathFill={selectedPicker === 'images' ? accent_blue : grey} />\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n prevProps: AttachButtonPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: AttachButtonPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n disabled: prevDisabled,\n handleOnPress: prevHandleOnPress,\n selectedPicker: prevSelectedPicker,\n } = prevProps;\n const {\n disabled: nextDisabled,\n handleOnPress: nextHandleOnPress,\n selectedPicker: nextSelectedPicker,\n } = nextProps;\n\n const disabledEqual = prevDisabled === nextDisabled;\n if (!disabledEqual) return false;\n\n const handleOnPressEqual = prevHandleOnPress === nextHandleOnPress;\n if (!handleOnPressEqual) return false;\n\n const selectedPickerEqual = prevSelectedPicker === nextSelectedPicker;\n if (!selectedPickerEqual) return false;\n\n return true;\n};\n\nconst MemoizedAttachButton = React.memo(\n AttachButtonWithContext,\n areEqual,\n) as typeof AttachButtonWithContext;\n\nexport type AttachButtonProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<AttachButtonPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>>;\n\n/**\n * UI Component for attach button in MessageInput component.\n */\nexport const AttachButton = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: AttachButtonProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { disabled = false } = useChannelContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { selectedPicker } = useAttachmentPickerContext();\n\n return <MemoizedAttachButton {...{ disabled, selectedPicker }} {...props} />;\n};\n\nAttachButton.displayName = 'AttachButton{messageInput}';\n"]}
@@ -48,7 +48,7 @@ var CommandsButtonWithContext = function CommandsButtonWithContext(props) {
48
48
  __self: _this,
49
49
  __source: {
50
50
  fileName: _jsxFileName,
51
- lineNumber: 64,
51
+ lineNumber: 63,
52
52
  columnNumber: 5
53
53
  }
54
54
  }, _react["default"].createElement(_Lightning.Lightning, {
@@ -58,7 +58,7 @@ var CommandsButtonWithContext = function CommandsButtonWithContext(props) {
58
58
  __self: _this,
59
59
  __source: {
60
60
  fileName: _jsxFileName,
61
- lineNumber: 71,
61
+ lineNumber: 70,
62
62
  columnNumber: 7
63
63
  }
64
64
  }));
@@ -93,7 +93,7 @@ var CommandsButton = function CommandsButton(props) {
93
93
  __self: _this,
94
94
  __source: {
95
95
  fileName: _jsxFileName,
96
- lineNumber: 138,
96
+ lineNumber: 137,
97
97
  columnNumber: 10
98
98
  }
99
99
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["CommandsButton.tsx"],"names":["CommandsButtonWithContext","props","disabled","handleOnPress","suggestions","theme","colors","accent_blue","grey","commandsButton","messageInput","bottom","left","right","top","data","some","suggestion","areEqual","prevProps","nextProps","prevDisabled","prevSuggestions","nextDisabled","nextSuggestions","disabledEqual","suggestionsEqual","MemoizedCommandsButton","React","memo","CommandsButton","displayName"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AAIA;;AAKA;;AACA;;;;;AA6BA,IAAMA,yBAAyB,GAAG,SAA5BA,yBAA4B,CAShCC,KATgC,EAU7B;AACH,MAAQC,QAAR,GAAiDD,KAAjD,CAAQC,QAAR;AAAA,MAAkBC,aAAlB,GAAiDF,KAAjD,CAAkBE,aAAlB;AAAA,MAAiCC,WAAjC,GAAiDH,KAAjD,CAAiCG,WAAjC;;AAEA,kBAKI,6BALJ;AAAA,kCACEC,KADF;AAAA,8CAEIC,MAFJ;AAAA,MAEcC,WAFd,yBAEcA,WAFd;AAAA,MAE2BC,IAF3B,yBAE2BA,IAF3B;AAAA,MAGoBC,cAHpB,mBAGIC,YAHJ,CAGoBD,cAHpB;;AAOA,SACE,gCAAC,2CAAD;AACE,IAAA,QAAQ,EAAEP,QADZ;AAEE,IAAA,OAAO,EAAE;AAAES,MAAAA,MAAM,EAAE,EAAV;AAAcC,MAAAA,IAAI,EAAE,CAApB;AAAuBC,MAAAA,KAAK,EAAE,EAA9B;AAAkCC,MAAAA,GAAG,EAAE;AAAvC,KAFX;AAGE,IAAA,OAAO,EAAEX,aAHX;AAIE,IAAA,KAAK,EAAE,CAACM,cAAD,CAJT;AAKE,IAAA,MAAM,EAAC,iBALT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAOE,gCAAC,oBAAD;AACE,IAAA,QAAQ,EACNL,WAAW,IAAIA,WAAW,CAACW,IAAZ,CAAiBC,IAAjB,CAAsB,UAACC,UAAD;AAAA,aAAgB,6CAAoBA,UAApB,CAAhB;AAAA,KAAtB,CAAf,GACIV,WADJ,GAEIC,IAJR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAPF,CADF;AAiBD,CArCD;;AAuCA,IAAMU,QAAQ,GAAG,SAAXA,QAAW,CASfC,SATe,EAUfC,SAVe,EAWZ;AACH,MAAkBC,YAAlB,GAAiEF,SAAjE,CAAQjB,QAAR;AAAA,MAA6CoB,eAA7C,GAAiEH,SAAjE,CAAgCf,WAAhC;AACA,MAAkBmB,YAAlB,GAAiEH,SAAjE,CAAQlB,QAAR;AAAA,MAA6CsB,eAA7C,GAAiEJ,SAAjE,CAAgChB,WAAhC;AAEA,MAAMqB,aAAa,GAAGJ,YAAY,KAAKE,YAAvC;AACA,MAAI,CAACE,aAAL,EAAoB,OAAO,KAAP;AAEpB,MAAMC,gBAAgB,GAAG,CAAC,CAACJ,eAAF,KAAsB,CAAC,CAACE,eAAjD;AACA,MAAI,CAACE,gBAAL,EAAuB,OAAO,KAAP;AAEvB,SAAO,IAAP;AACD,CAtBD;;AAwBA,IAAMC,sBAAsB,GAAGC,kBAAMC,IAAN,CAC7B7B,yBAD6B,EAE7BkB,QAF6B,CAA/B;;AAkBO,IAAMY,cAAc,GAAG,SAAjBA,cAAiB,CAS5B7B,KAT4B,EAUzB;AACH,2BAA6B,wCAA7B;AAAA,iDAAQC,QAAR;AAAA,MAAQA,QAAR,sCAAmB,KAAnB;;AACA,8BAAwB,gDAAxB;AAAA,MAAQE,WAAR,yBAAQA,WAAR;;AAEA,SAAO,gCAAC,sBAAD;AAA8BF,IAAAA,QAAQ,EAARA,QAA9B;AAAwCE,IAAAA,WAAW,EAAXA;AAAxC,KAA2DH,KAA3D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAP;AACD,CAfM;;;AAiBP6B,cAAc,CAACC,WAAf,GAA6B,8BAA7B","sourcesContent":["import React from 'react';\nimport { TouchableOpacity } from 'react-native-gesture-handler';\n\nimport {\n ChannelContextValue,\n useChannelContext,\n} from '../../contexts/channelContext/ChannelContext';\nimport {\n isSuggestionCommand,\n SuggestionsContextValue,\n useSuggestionsContext,\n} from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Lightning } from '../../icons/Lightning';\n\nimport type { GestureResponderEvent } from 'react-native';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\ntype CommandsButtonPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<ChannelContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'disabled'> &\n Pick<SuggestionsContextValue<Co, Us>, 'suggestions'> & {\n /** Function that opens commands selector */\n handleOnPress?: ((event: GestureResponderEvent) => void) & (() => void);\n };\n\nconst CommandsButtonWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: CommandsButtonPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { disabled, handleOnPress, suggestions } = props;\n\n const {\n theme: {\n colors: { accent_blue, grey },\n messageInput: { commandsButton },\n },\n } = useTheme();\n\n return (\n <TouchableOpacity\n disabled={disabled}\n hitSlop={{ bottom: 15, left: 5, right: 15, top: 15 }}\n onPress={handleOnPress}\n style={[commandsButton]}\n testID='commands-button'\n >\n <Lightning\n pathFill={\n suggestions && suggestions.data.some((suggestion) => isSuggestionCommand(suggestion))\n ? accent_blue\n : grey\n }\n />\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n prevProps: CommandsButtonPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: CommandsButtonPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { disabled: prevDisabled, suggestions: prevSuggestions } = prevProps;\n const { disabled: nextDisabled, suggestions: nextSuggestions } = nextProps;\n\n const disabledEqual = prevDisabled === nextDisabled;\n if (!disabledEqual) return false;\n\n const suggestionsEqual = !!prevSuggestions === !!nextSuggestions;\n if (!suggestionsEqual) return false;\n\n return true;\n};\n\nconst MemoizedCommandsButton = React.memo(\n CommandsButtonWithContext,\n areEqual,\n) as typeof CommandsButtonWithContext;\n\nexport type CommandsButtonProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<CommandsButtonPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>>;\n\n/**\n * UI Component for attach button in MessageInput component.\n */\nexport const CommandsButton = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: CommandsButtonProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { disabled = false } = useChannelContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { suggestions } = useSuggestionsContext<Co, Us>();\n\n return <MemoizedCommandsButton {...{ disabled, suggestions }} {...props} />;\n};\n\nCommandsButton.displayName = 'CommandsButton{messageInput}';\n"]}
1
+ {"version":3,"sources":["CommandsButton.tsx"],"names":["CommandsButtonWithContext","props","disabled","handleOnPress","suggestions","theme","colors","accent_blue","grey","commandsButton","messageInput","bottom","left","right","top","data","some","suggestion","areEqual","prevProps","nextProps","prevDisabled","prevSuggestions","nextDisabled","nextSuggestions","disabledEqual","suggestionsEqual","MemoizedCommandsButton","React","memo","CommandsButton","displayName"],"mappings":";;;;;;;;;AAAA;;AAEA;;AAEA;;AAIA;;AAKA;;AACA;;;;;AA2BA,IAAMA,yBAAyB,GAAG,SAA5BA,yBAA4B,CAShCC,KATgC,EAU7B;AACH,MAAQC,QAAR,GAAiDD,KAAjD,CAAQC,QAAR;AAAA,MAAkBC,aAAlB,GAAiDF,KAAjD,CAAkBE,aAAlB;AAAA,MAAiCC,WAAjC,GAAiDH,KAAjD,CAAiCG,WAAjC;;AAEA,kBAKI,6BALJ;AAAA,kCACEC,KADF;AAAA,8CAEIC,MAFJ;AAAA,MAEcC,WAFd,yBAEcA,WAFd;AAAA,MAE2BC,IAF3B,yBAE2BA,IAF3B;AAAA,MAGoBC,cAHpB,mBAGIC,YAHJ,CAGoBD,cAHpB;;AAOA,SACE,gCAAC,2CAAD;AACE,IAAA,QAAQ,EAAEP,QADZ;AAEE,IAAA,OAAO,EAAE;AAAES,MAAAA,MAAM,EAAE,EAAV;AAAcC,MAAAA,IAAI,EAAE,CAApB;AAAuBC,MAAAA,KAAK,EAAE,EAA9B;AAAkCC,MAAAA,GAAG,EAAE;AAAvC,KAFX;AAGE,IAAA,OAAO,EAAEX,aAHX;AAIE,IAAA,KAAK,EAAE,CAACM,cAAD,CAJT;AAKE,IAAA,MAAM,EAAC,iBALT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAOE,gCAAC,oBAAD;AACE,IAAA,QAAQ,EACNL,WAAW,IAAIA,WAAW,CAACW,IAAZ,CAAiBC,IAAjB,CAAsB,UAACC,UAAD;AAAA,aAAgB,6CAAoBA,UAApB,CAAhB;AAAA,KAAtB,CAAf,GACIV,WADJ,GAEIC,IAJR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAPF,CADF;AAiBD,CArCD;;AAuCA,IAAMU,QAAQ,GAAG,SAAXA,QAAW,CASfC,SATe,EAUfC,SAVe,EAWZ;AACH,MAAkBC,YAAlB,GAAiEF,SAAjE,CAAQjB,QAAR;AAAA,MAA6CoB,eAA7C,GAAiEH,SAAjE,CAAgCf,WAAhC;AACA,MAAkBmB,YAAlB,GAAiEH,SAAjE,CAAQlB,QAAR;AAAA,MAA6CsB,eAA7C,GAAiEJ,SAAjE,CAAgChB,WAAhC;AAEA,MAAMqB,aAAa,GAAGJ,YAAY,KAAKE,YAAvC;AACA,MAAI,CAACE,aAAL,EAAoB,OAAO,KAAP;AAEpB,MAAMC,gBAAgB,GAAG,CAAC,CAACJ,eAAF,KAAsB,CAAC,CAACE,eAAjD;AACA,MAAI,CAACE,gBAAL,EAAuB,OAAO,KAAP;AAEvB,SAAO,IAAP;AACD,CAtBD;;AAwBA,IAAMC,sBAAsB,GAAGC,kBAAMC,IAAN,CAC7B7B,yBAD6B,EAE7BkB,QAF6B,CAA/B;;AAkBO,IAAMY,cAAc,GAAG,SAAjBA,cAAiB,CAS5B7B,KAT4B,EAUzB;AACH,2BAA6B,wCAA7B;AAAA,iDAAQC,QAAR;AAAA,MAAQA,QAAR,sCAAmB,KAAnB;;AACA,8BAAwB,gDAAxB;AAAA,MAAQE,WAAR,yBAAQA,WAAR;;AAEA,SAAO,gCAAC,sBAAD;AAA8BF,IAAAA,QAAQ,EAARA,QAA9B;AAAwCE,IAAAA,WAAW,EAAXA;AAAxC,KAA2DH,KAA3D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAP;AACD,CAfM;;;AAiBP6B,cAAc,CAACC,WAAf,GAA6B,8BAA7B","sourcesContent":["import React from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { TouchableOpacity } from 'react-native-gesture-handler';\n\nimport {\n ChannelContextValue,\n useChannelContext,\n} from '../../contexts/channelContext/ChannelContext';\nimport {\n isSuggestionCommand,\n SuggestionsContextValue,\n useSuggestionsContext,\n} from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Lightning } from '../../icons/Lightning';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\ntype CommandsButtonPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<ChannelContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'disabled'> &\n Pick<SuggestionsContextValue<Co, Us>, 'suggestions'> & {\n /** Function that opens commands selector */\n handleOnPress?: ((event: GestureResponderEvent) => void) & (() => void);\n };\n\nconst CommandsButtonWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: CommandsButtonPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { disabled, handleOnPress, suggestions } = props;\n\n const {\n theme: {\n colors: { accent_blue, grey },\n messageInput: { commandsButton },\n },\n } = useTheme();\n\n return (\n <TouchableOpacity\n disabled={disabled}\n hitSlop={{ bottom: 15, left: 5, right: 15, top: 15 }}\n onPress={handleOnPress}\n style={[commandsButton]}\n testID='commands-button'\n >\n <Lightning\n pathFill={\n suggestions && suggestions.data.some((suggestion) => isSuggestionCommand(suggestion))\n ? accent_blue\n : grey\n }\n />\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n prevProps: CommandsButtonPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: CommandsButtonPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { disabled: prevDisabled, suggestions: prevSuggestions } = prevProps;\n const { disabled: nextDisabled, suggestions: nextSuggestions } = nextProps;\n\n const disabledEqual = prevDisabled === nextDisabled;\n if (!disabledEqual) return false;\n\n const suggestionsEqual = !!prevSuggestions === !!nextSuggestions;\n if (!suggestionsEqual) return false;\n\n return true;\n};\n\nconst MemoizedCommandsButton = React.memo(\n CommandsButtonWithContext,\n areEqual,\n) as typeof CommandsButtonWithContext;\n\nexport type CommandsButtonProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<CommandsButtonPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>>;\n\n/**\n * UI Component for attach button in MessageInput component.\n */\nexport const CommandsButton = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: CommandsButtonProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { disabled = false } = useChannelContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { suggestions } = useSuggestionsContext<Co, Us>();\n\n return <MemoizedCommandsButton {...{ disabled, suggestions }} {...props} />;\n};\n\nCommandsButton.displayName = 'CommandsButton{messageInput}';\n"]}
@@ -0,0 +1,78 @@
1
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CooldownTimer = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _reactNative = require("react-native");
11
+
12
+ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
13
+
14
+ var _this = this,
15
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/MessageInput/CooldownTimer.tsx";
16
+
17
+ var CONTAINER_SIZE = 24;
18
+ var CONTAINER_HORIZONTAL_PADDING = 6;
19
+ var EXTRA_CHARACTER_PADDING = CONTAINER_SIZE - CONTAINER_HORIZONTAL_PADDING * 2;
20
+
21
+ var normalizeWidth = function normalizeWidth(seconds) {
22
+ return CONTAINER_SIZE + EXTRA_CHARACTER_PADDING * (("" + seconds).length - 1);
23
+ };
24
+
25
+ var CooldownTimer = function CooldownTimer(props) {
26
+ var seconds = props.seconds;
27
+
28
+ var _useTheme = (0, _ThemeContext.useTheme)(),
29
+ _useTheme$theme = _useTheme.theme,
30
+ _useTheme$theme$color = _useTheme$theme.colors,
31
+ black = _useTheme$theme$color.black,
32
+ grey_gainsboro = _useTheme$theme$color.grey_gainsboro,
33
+ _useTheme$theme$messa = _useTheme$theme.messageInput.cooldownTimer,
34
+ container = _useTheme$theme$messa.container,
35
+ text = _useTheme$theme$messa.text;
36
+
37
+ return _react["default"].createElement(_reactNative.View, {
38
+ style: [styles.container, {
39
+ backgroundColor: grey_gainsboro,
40
+ width: normalizeWidth(seconds)
41
+ }, container],
42
+ __self: _this,
43
+ __source: {
44
+ fileName: _jsxFileName,
45
+ lineNumber: 40,
46
+ columnNumber: 5
47
+ }
48
+ }, _react["default"].createElement(_reactNative.Text, {
49
+ style: [styles.text, {
50
+ color: black
51
+ }, text],
52
+ testID: "cooldown-seconds",
53
+ __self: _this,
54
+ __source: {
55
+ fileName: _jsxFileName,
56
+ lineNumber: 50,
57
+ columnNumber: 7
58
+ }
59
+ }, seconds));
60
+ };
61
+
62
+ exports.CooldownTimer = CooldownTimer;
63
+
64
+ var styles = _reactNative.StyleSheet.create({
65
+ container: {
66
+ alignItems: 'center',
67
+ borderRadius: CONTAINER_SIZE / 2,
68
+ height: CONTAINER_SIZE,
69
+ justifyContent: 'center',
70
+ minWidth: CONTAINER_SIZE,
71
+ paddingHorizontal: CONTAINER_HORIZONTAL_PADDING
72
+ },
73
+ text: {
74
+ fontSize: 16,
75
+ fontWeight: '600'
76
+ }
77
+ });
78
+ //# sourceMappingURL=CooldownTimer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["CooldownTimer.tsx"],"names":["CONTAINER_SIZE","CONTAINER_HORIZONTAL_PADDING","EXTRA_CHARACTER_PADDING","normalizeWidth","seconds","length","CooldownTimer","props","theme","colors","black","grey_gainsboro","messageInput","cooldownTimer","container","text","styles","backgroundColor","width","color","StyleSheet","create","alignItems","borderRadius","height","justifyContent","minWidth","paddingHorizontal","fontSize","fontWeight"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;;;;AAMA,IAAMA,cAAc,GAAG,EAAvB;AACA,IAAMC,4BAA4B,GAAG,CAArC;AACA,IAAMC,uBAAuB,GAAGF,cAAc,GAAGC,4BAA4B,GAAG,CAAhF;;AAOA,IAAME,cAAc,GAAG,SAAjBA,cAAiB,CAACC,OAAD;AAAA,SACrBJ,cAAc,GAAGE,uBAAuB,IAAI,MAAGE,OAAH,EAAaC,MAAb,GAAsB,CAA1B,CADnB;AAAA,CAAvB;;AASO,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD,EAA+B;AAC1D,MAAQH,OAAR,GAAoBG,KAApB,CAAQH,OAAR;;AACA,kBAOI,6BAPJ;AAAA,kCACEI,KADF;AAAA,8CAEIC,MAFJ;AAAA,MAEcC,KAFd,yBAEcA,KAFd;AAAA,MAEqBC,cAFrB,yBAEqBA,cAFrB;AAAA,8CAGIC,YAHJ,CAIMC,aAJN;AAAA,MAIuBC,SAJvB,yBAIuBA,SAJvB;AAAA,MAIkCC,IAJlC,yBAIkCA,IAJlC;;AASA,SACE,gCAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CACLC,MAAM,CAACF,SADF,EAEL;AACEG,MAAAA,eAAe,EAAEN,cADnB;AAEEO,MAAAA,KAAK,EAAEf,cAAc,CAACC,OAAD;AAFvB,KAFK,EAMLU,SANK,CADT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAUE,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACE,MAAM,CAACD,IAAR,EAAc;AAAEI,MAAAA,KAAK,EAAET;AAAT,KAAd,EAAgCK,IAAhC,CAAb;AAAoD,IAAA,MAAM,EAAC,kBAA3D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGX,OADH,CAVF,CADF;AAgBD,CA3BM;;;;AA6BP,IAAMY,MAAM,GAAGI,wBAAWC,MAAX,CAAkB;AAC/BP,EAAAA,SAAS,EAAE;AACTQ,IAAAA,UAAU,EAAE,QADH;AAETC,IAAAA,YAAY,EAAEvB,cAAc,GAAG,CAFtB;AAGTwB,IAAAA,MAAM,EAAExB,cAHC;AAITyB,IAAAA,cAAc,EAAE,QAJP;AAKTC,IAAAA,QAAQ,EAAE1B,cALD;AAMT2B,IAAAA,iBAAiB,EAAE1B;AANV,GADoB;AAS/Bc,EAAAA,IAAI,EAAE;AAAEa,IAAAA,QAAQ,EAAE,EAAZ;AAAgBC,IAAAA,UAAU,EAAE;AAA5B;AATyB,CAAlB,CAAf","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nexport type CooldownTimerProps = {\n seconds: number;\n};\n\nconst CONTAINER_SIZE = 24;\nconst CONTAINER_HORIZONTAL_PADDING = 6;\nconst EXTRA_CHARACTER_PADDING = CONTAINER_SIZE - CONTAINER_HORIZONTAL_PADDING * 2;\n\n/**\n * To avoid the container jumping between sizes when there are more\n * than one character in the width of the container since we aren't\n * using a monospaced font.\n */\nconst normalizeWidth = (seconds: number) =>\n CONTAINER_SIZE + EXTRA_CHARACTER_PADDING * (`${seconds}`.length - 1);\n\n/**\n * Renders an amount of seconds left for a cooldown to finish.\n *\n * See `useCountdown` for an example of how to set a countdown\n * to use as the source of `seconds`.\n **/\nexport const CooldownTimer = (props: CooldownTimerProps) => {\n const { seconds } = props;\n const {\n theme: {\n colors: { black, grey_gainsboro },\n messageInput: {\n cooldownTimer: { container, text },\n },\n },\n } = useTheme();\n\n return (\n <View\n style={[\n styles.container,\n {\n backgroundColor: grey_gainsboro,\n width: normalizeWidth(seconds),\n },\n container,\n ]}\n >\n <Text style={[styles.text, { color: black }, text]} testID='cooldown-seconds'>\n {seconds}\n </Text>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n borderRadius: CONTAINER_SIZE / 2,\n height: CONTAINER_SIZE,\n justifyContent: 'center',\n minWidth: CONTAINER_SIZE,\n paddingHorizontal: CONTAINER_HORIZONTAL_PADDING,\n },\n text: { fontSize: 16, fontWeight: '600' },\n});\n"]}
@@ -17,8 +17,6 @@ var _reactNative = require("react-native");
17
17
 
18
18
  var _UploadProgressIndicator = require("./UploadProgressIndicator");
19
19
 
20
- var _FileAttachment = require("../Attachment/FileAttachment");
21
-
22
20
  var _MessageInputContext = require("../../contexts/messageInputContext/MessageInputContext");
23
21
 
24
22
  var _MessagesContext = require("../../contexts/messagesContext/MessagesContext");
@@ -29,6 +27,8 @@ var _Close = require("../../icons/Close");
29
27
 
30
28
  var _utils = require("../../utils/utils");
31
29
 
30
+ var _FileAttachment = require("../Attachment/FileAttachment");
31
+
32
32
  var _this = this,
33
33
  _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/MessageInput/FileUploadPreview.tsx";
34
34
 
@@ -101,7 +101,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
101
101
  black = _useTheme$theme$color.black,
102
102
  grey = _useTheme$theme$color.grey,
103
103
  grey_whisper = _useTheme$theme$color.grey_whisper,
104
- overlay_dark = _useTheme$theme$color.overlay_dark,
104
+ overlay = _useTheme$theme$color.overlay,
105
105
  _useTheme$theme$messa = _useTheme$theme.messageInput.fileUploadPreview,
106
106
  dismiss = _useTheme$theme$messa.dismiss,
107
107
  fileContainer = _useTheme$theme$messa.fileContainer,
@@ -194,7 +194,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
194
194
  removeFile(item.id);
195
195
  },
196
196
  style: [styles.dismiss, {
197
- backgroundColor: overlay_dark
197
+ backgroundColor: overlay
198
198
  }, dismiss],
199
199
  testID: "remove-file-upload-preview",
200
200
  __self: _this,
@@ -1 +1 @@
1
- {"version":3,"sources":["FileUploadPreview.tsx"],"names":["FILE_PREVIEW_HEIGHT","styles","StyleSheet","create","dismiss","borderRadius","height","position","right","top","width","fileContainer","borderWidth","flexDirection","justifyContent","marginBottom","padding","fileContentContainer","filenameText","fontSize","fontWeight","paddingLeft","fileSizeText","fileTextContainer","flatList","maxHeight","overlay","marginLeft","marginRight","FileUploadPreviewWithContext","props","FileAttachmentIcon","fileUploads","removeFile","uploadFile","flatListRef","flatListWidth","setFlatListWidth","theme","colors","black","grey","grey_whisper","overlay_dark","messageInput","fileUploadPreview","renderItem","index","item","indicatorType","state","FileState","UPLOADING","ProgressIndicatorTypes","IN_PROGRESS","UPLOAD_FAILED","RETRY","undefined","newFile","UPLOADED","FINISHED","length","borderColor","file","type","color","name","size","id","backgroundColor","fileUploadsLength","current","setTimeout","scrollToEnd","_","offset","nativeEvent","layout","areEqual","prevProps","nextProps","prevFileUploads","nextFileUploads","every","prevFileUpload","MemoizedFileUploadPreview","React","memo","FileUploadPreview","displayName"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AAEA;;AACA;;AAKA;;AAIA;;AACA;;AACA;;;;;;;;;AAaA,IAAMA,mBAAmB,GAAG,EAA5B;;AAEA,IAAMC,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,YAAY,EAAE,EADP;AAEPC,IAAAA,MAAM,EAAE,EAFD;AAGPC,IAAAA,QAAQ,EAAE,UAHH;AAIPC,IAAAA,KAAK,EAAE,EAJA;AAKPC,IAAAA,GAAG,EAAE,CALE;AAMPC,IAAAA,KAAK,EAAE;AANA,GADsB;AAS/BC,EAAAA,aAAa,EAAE;AACbN,IAAAA,YAAY,EAAE,EADD;AAEbO,IAAAA,WAAW,EAAE,CAFA;AAGbC,IAAAA,aAAa,EAAE,KAHF;AAIbP,IAAAA,MAAM,EAAEN,mBAJK;AAKbc,IAAAA,cAAc,EAAE,eALH;AAMbC,IAAAA,YAAY,EAAE,CAND;AAObC,IAAAA,OAAO,EAAE;AAPI,GATgB;AAkB/BC,EAAAA,oBAAoB,EAAE;AAAEJ,IAAAA,aAAa,EAAE;AAAjB,GAlBS;AAmB/BK,EAAAA,YAAY,EAAE;AACZC,IAAAA,QAAQ,EAAE,EADE;AAEZC,IAAAA,UAAU,EAAE,MAFA;AAGZC,IAAAA,WAAW,EAAE;AAHD,GAnBiB;AAwB/BC,EAAAA,YAAY,EAAE;AACZH,IAAAA,QAAQ,EAAE,EADE;AAEZE,IAAAA,WAAW,EAAE;AAFD,GAxBiB;AA4B/BE,EAAAA,iBAAiB,EAAE;AACjBjB,IAAAA,MAAM,EAAE,MADS;AAEjBQ,IAAAA,cAAc,EAAE;AAFC,GA5BY;AAgC/BU,EAAAA,QAAQ,EAAE;AAAET,IAAAA,YAAY,EAAE,EAAhB;AAAoBU,IAAAA,SAAS,EAAEzB,mBAAmB,GAAG,GAAtB,GAA4B;AAA3D,GAhCqB;AAiC/B0B,EAAAA,OAAO,EAAE;AACPrB,IAAAA,YAAY,EAAE,EADP;AAEPsB,IAAAA,UAAU,EAAE,CAFL;AAGPC,IAAAA,WAAW,EAAE;AAHN;AAjCsB,CAAlB,CAAf;;AAsDA,IAAMC,4BAA4B,GAAG,SAA/BA,4BAA+B,CASnCC,KATmC,EAUhC;AACH,MAAQC,kBAAR,GAAoED,KAApE,CAAQC,kBAAR;AAAA,MAA4BC,WAA5B,GAAoEF,KAApE,CAA4BE,WAA5B;AAAA,MAAyCC,UAAzC,GAAoEH,KAApE,CAAyCG,UAAzC;AAAA,MAAqDC,UAArD,GAAoEJ,KAApE,CAAqDI,UAArD;AAEA,MAAMC,WAAW,GAAG,mBAAoC,IAApC,CAApB;;AACA,kBAA0C,qBAAS,CAAT,CAA1C;AAAA;AAAA,MAAOC,aAAP;AAAA,MAAsBC,gBAAtB;;AAEA,kBAeI,6BAfJ;AAAA,kCACEC,KADF;AAAA,8CAEIC,MAFJ;AAAA,MAEcC,KAFd,yBAEcA,KAFd;AAAA,MAEqBC,IAFrB,yBAEqBA,IAFrB;AAAA,MAE2BC,YAF3B,yBAE2BA,YAF3B;AAAA,MAEyCC,YAFzC,yBAEyCA,YAFzC;AAAA,8CAGIC,YAHJ,CAIMC,iBAJN;AAAA,MAKQzC,OALR,yBAKQA,OALR;AAAA,MAMQO,aANR,yBAMQA,aANR;AAAA,MAOQM,oBAPR,yBAOQA,oBAPR;AAAA,MAQQC,YARR,yBAQQA,YARR;AAAA,MASQI,YATR,yBASQA,YATR;AAAA,MAUQC,iBAVR,yBAUQA,iBAVR;AAAA,MAWQC,QAXR,yBAWQA,QAXR;;AAiBA,MAAMsB,UAAU,GAAG,SAAbA,UAAa,OAA0D;AAAA,QAAvDC,KAAuD,QAAvDA,KAAuD;AAAA,QAAhDC,IAAgD,QAAhDA,IAAgD;AAC3E,QAAMC,aAAa,GACjBD,IAAI,CAACE,KAAL,KAAeC,iBAAUC,SAAzB,GACIC,8BAAuBC,WAD3B,GAEIN,IAAI,CAACE,KAAL,KAAeC,iBAAUI,aAAzB,GACAF,8BAAuBG,KADvB,GAEAC,SALN;AAOA,WACE,kEACE,gCAAC,gDAAD;AACE,MAAA,MAAM,EAAE,kBAAM;AACZvB,QAAAA,UAAU,CAAC;AAAEwB,UAAAA,OAAO,EAAEV;AAAX,SAAD,CAAV;AACD,OAHH;AAIE,MAAA,MAAM,EAAEA,IAAI,CAACE,KAAL,KAAeC,iBAAUQ,QAAzB,IAAqCX,IAAI,CAACE,KAAL,KAAeC,iBAAUS,QAJxE;AAKE,MAAA,KAAK,EAAE3D,MAAM,CAACyB,OALhB;AAME,MAAA,IAAI,EAAEuB,aANR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAQE,gCAAC,iBAAD;AACE,MAAA,KAAK,EAAE,CACLhD,MAAM,CAACU,aADF,EAELoC,KAAK,KAAKf,WAAW,CAAC6B,MAAZ,GAAqB,CAA/B,GACI;AACE9C,QAAAA,YAAY,EAAE;AADhB,OADJ,GAII,EANC,EAOL;AACE+C,QAAAA,WAAW,EAAEpB,YADf;AAEEhC,QAAAA,KAAK,EAAE0B,aAAa,GAAG;AAFzB,OAPK,EAWLzB,aAXK,CADT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAeE,gCAAC,iBAAD;AAAM,MAAA,KAAK,EAAE,CAACV,MAAM,CAACgB,oBAAR,EAA8BA,oBAA9B,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OACE,gCAAC,kBAAD;AAAoB,MAAA,QAAQ,EAAE+B,IAAI,CAACe,IAAL,CAAUC,IAAxC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MADF,EAEE,gCAAC,iBAAD;AAAM,MAAA,KAAK,EAAE,CAAC/D,MAAM,CAACsB,iBAAR,EAA2BA,iBAA3B,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OACE,gCAAC,iBAAD;AACE,MAAA,aAAa,EAAE,CADjB;AAEE,MAAA,KAAK,EAAE,CACLtB,MAAM,CAACiB,YADF,EAEL;AACE+C,QAAAA,KAAK,EAAEzB,KADT;AAEE9B,QAAAA,KAAK,EACH0B,aAAa,GACb,EADA,GAEA,EAFA,GAGA,EAHA,GAIA;AAPJ,OAFK,EAWLlB,YAXK,CAFT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAgBG8B,IAAI,CAACe,IAAL,CAAUG,IAAV,IAAkB,EAhBrB,CADF,EAmBE,gCAAC,iBAAD;AAAM,MAAA,KAAK,EAAE,CAACjE,MAAM,CAACqB,YAAR,EAAsB;AAAE2C,QAAAA,KAAK,EAAExB;AAAT,OAAtB,EAAuCnB,YAAvC,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OACG,4CAAuB0B,IAAI,CAACe,IAAL,CAAUI,IAAjC,CADH,CAnBF,CAFF,CAfF,CARF,CADF,EAoDE,gCAAC,6BAAD;AACE,MAAA,OAAO,EAAE,mBAAM;AACblC,QAAAA,UAAU,CAACe,IAAI,CAACoB,EAAN,CAAV;AACD,OAHH;AAIE,MAAA,KAAK,EAAE,CAACnE,MAAM,CAACG,OAAR,EAAiB;AAAEiE,QAAAA,eAAe,EAAE1B;AAAnB,OAAjB,EAAoDvC,OAApD,CAJT;AAKE,MAAA,MAAM,EAAC,4BALT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAOE,gCAAC,YAAD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAPF,CApDF,CADF;AAgED,GAxED;;AA0EA,MAAMkE,iBAAiB,GAAGtC,WAAW,CAAC6B,MAAtC;AAEA,wBAAU,YAAM;AACd,QAAIS,iBAAiB,IAAInC,WAAW,CAACoC,OAArC,EAA8C;AAC5CC,MAAAA,UAAU,CAAC;AAAA;;AAAA,uCAAMrC,WAAW,CAACoC,OAAlB,qBAAM,qBAAqBE,WAArB,EAAN;AAAA,OAAD,EAA2C,CAA3C,CAAV;AACD;AACF,GAJD,EAIG,CAACH,iBAAD,CAJH;AAMA,SAAOA,iBAAiB,GACtB,gCAAC,qBAAD;AACE,IAAA,IAAI,EAAEtC,WADR;AAEE,IAAA,aAAa,EAAE,uBAAC0C,CAAD,EAAI3B,KAAJ;AAAA,aAAe;AAC5BA,QAAAA,KAAK,EAALA,KAD4B;AAE5Bc,QAAAA,MAAM,EAAE7D,mBAAmB,GAAG,CAFF;AAG5B2E,QAAAA,MAAM,EAAE,CAAC3E,mBAAmB,GAAG,CAAvB,IAA4B+C;AAHR,OAAf;AAAA,KAFjB;AAOE,IAAA,YAAY,EAAE,sBAACC,IAAD;AAAA,aAAUA,IAAI,CAACoB,EAAf;AAAA,KAPhB;AAQE,IAAA,QAAQ,EAAE,yBAIJ;AAAA,UAFQ1D,KAER,SAHJkE,WAGI,CAFFC,MAEE,CAFQnE,KAER;AACJ2B,MAAAA,gBAAgB,CAAC3B,KAAD,CAAhB;AACD,KAdH;AAeE,IAAA,GAAG,EAAEyB,WAfP;AAgBE,IAAA,UAAU,EAAEW,UAhBd;AAiBE,IAAA,KAAK,EAAE,CAAC7C,MAAM,CAACuB,QAAR,EAAkBA,QAAlB,CAjBT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IADsB,GAoBpB,IApBJ;AAqBD,CAxID;;AA0IA,IAAMsD,QAAQ,GAAG,SAAXA,QAAW,CASfC,SATe,EAUfC,SAVe,EAWZ;AACH,MAAqBC,eAArB,GAAyCF,SAAzC,CAAQ/C,WAAR;AACA,MAAqBkD,eAArB,GAAyCF,SAAzC,CAAQhD,WAAR;AAEA,SACEiD,eAAe,CAACpB,MAAhB,KAA2BqB,eAAe,CAACrB,MAA3C,IACAoB,eAAe,CAACE,KAAhB,CACE,UAACC,cAAD,EAAiBrC,KAAjB;AAAA,WAA2BqC,cAAc,CAAClC,KAAf,KAAyBgC,eAAe,CAACnC,KAAD,CAAf,CAAuBG,KAA3E;AAAA,GADF,CAFF;AAMD,CArBD;;AAuBA,IAAMmC,yBAAyB,GAAGC,kBAAMC,IAAN,CAChC1D,4BADgC,EAEhCiD,QAFgC,CAAlC;;AAmBO,IAAMU,iBAAiB,GAAG,SAApBA,iBAAoB,CAS/B1D,KAT+B,EAU5B;AACH,8BACE,kDADF;AAAA,MAAQE,WAAR,yBAAQA,WAAR;AAAA,MAAqBC,UAArB,yBAAqBA,UAArB;AAAA,MAAiCC,UAAjC,yBAAiCA,UAAjC;;AAEA,4BAA+B,0CAA/B;AAAA,MAAQH,kBAAR,uBAAQA,kBAAR;;AAEA,SACE,gCAAC,yBAAD;AACQA,IAAAA,kBAAkB,EAAlBA,kBADR;AAC4BC,IAAAA,WAAW,EAAXA,WAD5B;AACyCC,IAAAA,UAAU,EAAVA,UADzC;AACqDC,IAAAA,UAAU,EAAVA;AADrD,KAEMJ,KAFN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KADF;AAMD,CArBM;;;AAuBP0D,iBAAiB,CAACC,WAAlB,GAAgC,oDAAhC","sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { FlatList, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport { getFileSizeDisplayText } from '../Attachment/FileAttachment';\nimport {\n FileUpload,\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Close } from '../../icons/Close';\nimport { FileState, ProgressIndicatorTypes } from '../../utils/utils';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nconst FILE_PREVIEW_HEIGHT = 60;\n\nconst styles = StyleSheet.create({\n dismiss: {\n borderRadius: 24,\n height: 24,\n position: 'absolute',\n right: 14,\n top: 4,\n width: 24,\n },\n fileContainer: {\n borderRadius: 12,\n borderWidth: 1,\n flexDirection: 'row',\n height: FILE_PREVIEW_HEIGHT,\n justifyContent: 'space-between',\n marginBottom: 8,\n padding: 8,\n },\n fileContentContainer: { flexDirection: 'row' },\n filenameText: {\n fontSize: 14,\n fontWeight: 'bold',\n paddingLeft: 10,\n },\n fileSizeText: {\n fontSize: 12,\n paddingLeft: 10,\n },\n fileTextContainer: {\n height: '100%',\n justifyContent: 'space-around',\n },\n flatList: { marginBottom: 12, maxHeight: FILE_PREVIEW_HEIGHT * 2.5 + 16 },\n overlay: {\n borderRadius: 12,\n marginLeft: 8,\n marginRight: 8,\n },\n});\n\ntype FileUploadPreviewPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<\n MessageInputContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'fileUploads' | 'removeFile' | 'uploadFile'\n> &\n Pick<MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'FileAttachmentIcon'>;\n\nconst FileUploadPreviewWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { FileAttachmentIcon, fileUploads, removeFile, uploadFile } = props;\n\n const flatListRef = useRef<FlatList<FileUpload> | null>(null);\n const [flatListWidth, setFlatListWidth] = useState(0);\n\n const {\n theme: {\n colors: { black, grey, grey_whisper, overlay_dark },\n messageInput: {\n fileUploadPreview: {\n dismiss,\n fileContainer,\n fileContentContainer,\n filenameText,\n fileSizeText,\n fileTextContainer,\n flatList,\n },\n },\n },\n } = useTheme();\n\n const renderItem = ({ index, item }: { index: number; item: FileUpload }) => {\n const indicatorType =\n item.state === FileState.UPLOADING\n ? ProgressIndicatorTypes.IN_PROGRESS\n : item.state === FileState.UPLOAD_FAILED\n ? ProgressIndicatorTypes.RETRY\n : undefined;\n\n return (\n <>\n <UploadProgressIndicator\n action={() => {\n uploadFile({ newFile: item });\n }}\n active={item.state !== FileState.UPLOADED && item.state !== FileState.FINISHED}\n style={styles.overlay}\n type={indicatorType}\n >\n <View\n style={[\n styles.fileContainer,\n index === fileUploads.length - 1\n ? {\n marginBottom: 0,\n }\n : {},\n {\n borderColor: grey_whisper,\n width: flatListWidth - 16,\n },\n fileContainer,\n ]}\n >\n <View style={[styles.fileContentContainer, fileContentContainer]}>\n <FileAttachmentIcon mimeType={item.file.type} />\n <View style={[styles.fileTextContainer, fileTextContainer]}>\n <Text\n numberOfLines={1}\n style={[\n styles.filenameText,\n {\n color: black,\n width:\n flatListWidth -\n 16 - // 16 = horizontal padding\n 40 - // 40 = file icon size\n 24 - // 24 = close icon size\n 24, // 24 = internal padding\n },\n filenameText,\n ]}\n >\n {item.file.name || ''}\n </Text>\n <Text style={[styles.fileSizeText, { color: grey }, fileSizeText]}>\n {getFileSizeDisplayText(item.file.size)}\n </Text>\n </View>\n </View>\n </View>\n </UploadProgressIndicator>\n <TouchableOpacity\n onPress={() => {\n removeFile(item.id);\n }}\n style={[styles.dismiss, { backgroundColor: overlay_dark }, dismiss]}\n testID='remove-file-upload-preview'\n >\n <Close />\n </TouchableOpacity>\n </>\n );\n };\n\n const fileUploadsLength = fileUploads.length;\n\n useEffect(() => {\n if (fileUploadsLength && flatListRef.current) {\n setTimeout(() => flatListRef.current?.scrollToEnd(), 1);\n }\n }, [fileUploadsLength]);\n\n return fileUploadsLength ? (\n <FlatList\n data={fileUploads}\n getItemLayout={(_, index) => ({\n index,\n length: FILE_PREVIEW_HEIGHT + 8,\n offset: (FILE_PREVIEW_HEIGHT + 8) * index,\n })}\n keyExtractor={(item) => item.id}\n onLayout={({\n nativeEvent: {\n layout: { width },\n },\n }) => {\n setFlatListWidth(width);\n }}\n ref={flatListRef}\n renderItem={renderItem}\n style={[styles.flatList, flatList]}\n />\n ) : null;\n};\n\nconst areEqual = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n prevProps: FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { fileUploads: prevFileUploads } = prevProps;\n const { fileUploads: nextFileUploads } = nextProps;\n\n return (\n prevFileUploads.length === nextFileUploads.length &&\n prevFileUploads.every(\n (prevFileUpload, index) => prevFileUpload.state === nextFileUploads[index].state,\n )\n );\n};\n\nconst MemoizedFileUploadPreview = React.memo(\n FileUploadPreviewWithContext,\n areEqual,\n) as typeof FileUploadPreviewWithContext;\n\nexport type FileUploadPreviewProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>>;\n\n/**\n * FileUploadPreview\n * UI Component to preview the files set for upload\n */\nexport const FileUploadPreview = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: FileUploadPreviewProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { fileUploads, removeFile, uploadFile } =\n useMessageInputContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { FileAttachmentIcon } = useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return (\n <MemoizedFileUploadPreview\n {...{ FileAttachmentIcon, fileUploads, removeFile, uploadFile }}\n {...props}\n />\n );\n};\n\nFileUploadPreview.displayName = 'FileUploadPreview{messageInput{fileUploadPreview}}';\n"]}
1
+ {"version":3,"sources":["FileUploadPreview.tsx"],"names":["FILE_PREVIEW_HEIGHT","styles","StyleSheet","create","dismiss","borderRadius","height","position","right","top","width","fileContainer","borderWidth","flexDirection","justifyContent","marginBottom","padding","fileContentContainer","filenameText","fontSize","fontWeight","paddingLeft","fileSizeText","fileTextContainer","flatList","maxHeight","overlay","marginLeft","marginRight","FileUploadPreviewWithContext","props","FileAttachmentIcon","fileUploads","removeFile","uploadFile","flatListRef","flatListWidth","setFlatListWidth","theme","colors","black","grey","grey_whisper","messageInput","fileUploadPreview","renderItem","index","item","indicatorType","state","FileState","UPLOADING","ProgressIndicatorTypes","IN_PROGRESS","UPLOAD_FAILED","RETRY","undefined","newFile","UPLOADED","FINISHED","length","borderColor","file","type","color","name","size","id","backgroundColor","fileUploadsLength","current","setTimeout","scrollToEnd","_","offset","nativeEvent","layout","areEqual","prevProps","nextProps","prevFileUploads","nextFileUploads","every","prevFileUpload","MemoizedFileUploadPreview","React","memo","FileUploadPreview","displayName"],"mappings":"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","sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { FlatList, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport {\n FileUpload,\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Close } from '../../icons/Close';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\nimport { FileState, ProgressIndicatorTypes } from '../../utils/utils';\n\nimport { getFileSizeDisplayText } from '../Attachment/FileAttachment';\n\nconst FILE_PREVIEW_HEIGHT = 60;\n\nconst styles = StyleSheet.create({\n dismiss: {\n borderRadius: 24,\n height: 24,\n position: 'absolute',\n right: 14,\n top: 4,\n width: 24,\n },\n fileContainer: {\n borderRadius: 12,\n borderWidth: 1,\n flexDirection: 'row',\n height: FILE_PREVIEW_HEIGHT,\n justifyContent: 'space-between',\n marginBottom: 8,\n padding: 8,\n },\n fileContentContainer: { flexDirection: 'row' },\n filenameText: {\n fontSize: 14,\n fontWeight: 'bold',\n paddingLeft: 10,\n },\n fileSizeText: {\n fontSize: 12,\n paddingLeft: 10,\n },\n fileTextContainer: {\n height: '100%',\n justifyContent: 'space-around',\n },\n flatList: { marginBottom: 12, maxHeight: FILE_PREVIEW_HEIGHT * 2.5 + 16 },\n overlay: {\n borderRadius: 12,\n marginLeft: 8,\n marginRight: 8,\n },\n});\n\ntype FileUploadPreviewPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<\n MessageInputContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'fileUploads' | 'removeFile' | 'uploadFile'\n> &\n Pick<MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'FileAttachmentIcon'>;\n\nconst FileUploadPreviewWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { FileAttachmentIcon, fileUploads, removeFile, uploadFile } = props;\n\n const flatListRef = useRef<FlatList<FileUpload> | null>(null);\n const [flatListWidth, setFlatListWidth] = useState(0);\n\n const {\n theme: {\n colors: { black, grey, grey_whisper, overlay },\n messageInput: {\n fileUploadPreview: {\n dismiss,\n fileContainer,\n fileContentContainer,\n filenameText,\n fileSizeText,\n fileTextContainer,\n flatList,\n },\n },\n },\n } = useTheme();\n\n const renderItem = ({ index, item }: { index: number; item: FileUpload }) => {\n const indicatorType =\n item.state === FileState.UPLOADING\n ? ProgressIndicatorTypes.IN_PROGRESS\n : item.state === FileState.UPLOAD_FAILED\n ? ProgressIndicatorTypes.RETRY\n : undefined;\n\n return (\n <>\n <UploadProgressIndicator\n action={() => {\n uploadFile({ newFile: item });\n }}\n active={item.state !== FileState.UPLOADED && item.state !== FileState.FINISHED}\n style={styles.overlay}\n type={indicatorType}\n >\n <View\n style={[\n styles.fileContainer,\n index === fileUploads.length - 1\n ? {\n marginBottom: 0,\n }\n : {},\n {\n borderColor: grey_whisper,\n width: flatListWidth - 16,\n },\n fileContainer,\n ]}\n >\n <View style={[styles.fileContentContainer, fileContentContainer]}>\n <FileAttachmentIcon mimeType={item.file.type} />\n <View style={[styles.fileTextContainer, fileTextContainer]}>\n <Text\n numberOfLines={1}\n style={[\n styles.filenameText,\n {\n color: black,\n width:\n flatListWidth -\n 16 - // 16 = horizontal padding\n 40 - // 40 = file icon size\n 24 - // 24 = close icon size\n 24, // 24 = internal padding\n },\n filenameText,\n ]}\n >\n {item.file.name || ''}\n </Text>\n <Text style={[styles.fileSizeText, { color: grey }, fileSizeText]}>\n {getFileSizeDisplayText(item.file.size)}\n </Text>\n </View>\n </View>\n </View>\n </UploadProgressIndicator>\n <TouchableOpacity\n onPress={() => {\n removeFile(item.id);\n }}\n style={[styles.dismiss, { backgroundColor: overlay }, dismiss]}\n testID='remove-file-upload-preview'\n >\n <Close />\n </TouchableOpacity>\n </>\n );\n };\n\n const fileUploadsLength = fileUploads.length;\n\n useEffect(() => {\n if (fileUploadsLength && flatListRef.current) {\n setTimeout(() => flatListRef.current?.scrollToEnd(), 1);\n }\n }, [fileUploadsLength]);\n\n return fileUploadsLength ? (\n <FlatList\n data={fileUploads}\n getItemLayout={(_, index) => ({\n index,\n length: FILE_PREVIEW_HEIGHT + 8,\n offset: (FILE_PREVIEW_HEIGHT + 8) * index,\n })}\n keyExtractor={(item) => item.id}\n onLayout={({\n nativeEvent: {\n layout: { width },\n },\n }) => {\n setFlatListWidth(width);\n }}\n ref={flatListRef}\n renderItem={renderItem}\n style={[styles.flatList, flatList]}\n />\n ) : null;\n};\n\nconst areEqual = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n prevProps: FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { fileUploads: prevFileUploads } = prevProps;\n const { fileUploads: nextFileUploads } = nextProps;\n\n return (\n prevFileUploads.length === nextFileUploads.length &&\n prevFileUploads.every(\n (prevFileUpload, index) => prevFileUpload.state === nextFileUploads[index].state,\n )\n );\n};\n\nconst MemoizedFileUploadPreview = React.memo(\n FileUploadPreviewWithContext,\n areEqual,\n) as typeof FileUploadPreviewWithContext;\n\nexport type FileUploadPreviewProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>>;\n\n/**\n * FileUploadPreview\n * UI Component to preview the files set for upload\n */\nexport const FileUploadPreview = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: FileUploadPreviewProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { fileUploads, removeFile, uploadFile } =\n useMessageInputContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { FileAttachmentIcon } = useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return (\n <MemoizedFileUploadPreview\n {...{ FileAttachmentIcon, fileUploads, removeFile, uploadFile }}\n {...props}\n />\n );\n};\n\nFileUploadPreview.displayName = 'FileUploadPreview{messageInput{fileUploadPreview}}';\n"]}
@@ -56,7 +56,7 @@ var ImageUploadPreviewWithContext = function ImageUploadPreviewWithContext(props
56
56
  var _useTheme = (0, _ThemeContext.useTheme)(),
57
57
  _useTheme$theme = _useTheme.theme,
58
58
  _useTheme$theme$color = _useTheme$theme.colors,
59
- overlay_dark = _useTheme$theme$color.overlay_dark,
59
+ overlay = _useTheme$theme$color.overlay,
60
60
  white = _useTheme$theme$color.white,
61
61
  _useTheme$theme$messa = _useTheme$theme.messageInput.imageUploadPreview,
62
62
  dismiss = _useTheme$theme$messa.dismiss,
@@ -74,7 +74,7 @@ var ImageUploadPreviewWithContext = function ImageUploadPreviewWithContext(props
74
74
  __self: _this,
75
75
  __source: {
76
76
  fileName: _jsxFileName,
77
- lineNumber: 94,
77
+ lineNumber: 93,
78
78
  columnNumber: 5
79
79
  }
80
80
  }, _react["default"].createElement(_UploadProgressIndicator.UploadProgressIndicator, {
@@ -89,7 +89,7 @@ var ImageUploadPreviewWithContext = function ImageUploadPreviewWithContext(props
89
89
  __self: _this,
90
90
  __source: {
91
91
  fileName: _jsxFileName,
92
- lineNumber: 101,
92
+ lineNumber: 100,
93
93
  columnNumber: 7
94
94
  }
95
95
  }, _react["default"].createElement(_reactNative.Image, {
@@ -101,7 +101,7 @@ var ImageUploadPreviewWithContext = function ImageUploadPreviewWithContext(props
101
101
  __self: _this,
102
102
  __source: {
103
103
  fileName: _jsxFileName,
104
- lineNumber: 115,
104
+ lineNumber: 114,
105
105
  columnNumber: 9
106
106
  }
107
107
  })), _react["default"].createElement(_reactNative.TouchableOpacity, {
@@ -109,13 +109,13 @@ var ImageUploadPreviewWithContext = function ImageUploadPreviewWithContext(props
109
109
  removeImage(item.id);
110
110
  },
111
111
  style: [styles.dismiss, {
112
- backgroundColor: overlay_dark
112
+ backgroundColor: overlay
113
113
  }, dismiss],
114
114
  testID: "remove-image-upload-preview",
115
115
  __self: _this,
116
116
  __source: {
117
117
  fileName: _jsxFileName,
118
- lineNumber: 121,
118
+ lineNumber: 120,
119
119
  columnNumber: 7
120
120
  }
121
121
  }, _react["default"].createElement(_Close.Close, {
@@ -123,7 +123,7 @@ var ImageUploadPreviewWithContext = function ImageUploadPreviewWithContext(props
123
123
  __self: _this,
124
124
  __source: {
125
125
  fileName: _jsxFileName,
126
- lineNumber: 128,
126
+ lineNumber: 127,
127
127
  columnNumber: 9
128
128
  }
129
129
  })));
@@ -147,7 +147,7 @@ var ImageUploadPreviewWithContext = function ImageUploadPreviewWithContext(props
147
147
  __self: _this,
148
148
  __source: {
149
149
  fileName: _jsxFileName,
150
- lineNumber: 134,
150
+ lineNumber: 133,
151
151
  columnNumber: 5
152
152
  }
153
153
  }) : null;
@@ -177,7 +177,7 @@ var ImageUploadPreview = function ImageUploadPreview(props) {
177
177
  __self: _this,
178
178
  __source: {
179
179
  fileName: _jsxFileName,
180
- lineNumber: 195,
180
+ lineNumber: 194,
181
181
  columnNumber: 5
182
182
  }
183
183
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["ImageUploadPreview.tsx"],"names":["IMAGE_PREVIEW_SIZE","styles","StyleSheet","create","dismiss","borderRadius","position","right","top","flatList","paddingBottom","itemContainer","flexDirection","height","marginLeft","upload","width","ImageUploadPreviewWithContext","props","imageUploads","removeImage","uploadImage","theme","colors","overlay_dark","white","messageInput","imageUploadPreview","renderItem","index","item","length","marginRight","newImage","state","FileState","UPLOADED","FINISHED","UPLOADING","ProgressIndicatorTypes","IN_PROGRESS","UPLOAD_FAILED","RETRY","undefined","uri","file","url","id","backgroundColor","_","offset","areEqual","prevProps","nextProps","prevImageUploads","nextImageUploads","every","prevImageUpload","MemoizedImageUploadPreviewWithContext","React","memo","ImageUploadPreview","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { FlatList, Image, StyleSheet, TouchableOpacity, View } from 'react-native';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport {\n ImageUpload,\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Close } from '../../icons/Close';\nimport { FileState, ProgressIndicatorTypes } from '../../utils/utils';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nconst IMAGE_PREVIEW_SIZE = 100;\n\nconst styles = StyleSheet.create({\n dismiss: {\n borderRadius: 24,\n position: 'absolute',\n right: 8,\n top: 8,\n },\n flatList: { paddingBottom: 12 },\n itemContainer: {\n flexDirection: 'row',\n height: IMAGE_PREVIEW_SIZE,\n marginLeft: 8,\n },\n upload: {\n borderRadius: 10,\n height: IMAGE_PREVIEW_SIZE,\n width: IMAGE_PREVIEW_SIZE,\n },\n});\n\ntype ImageUploadPreviewPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<\n MessageInputContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'imageUploads' | 'removeImage' | 'uploadImage'\n>;\n\nexport type ImageUploadPreviewProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<ImageUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>>;\n\nconst ImageUploadPreviewWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: ImageUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { imageUploads, removeImage, uploadImage } = props;\n\n const {\n theme: {\n colors: { overlay_dark, white },\n messageInput: {\n imageUploadPreview: { dismiss, flatList, itemContainer, upload },\n },\n },\n } = useTheme();\n\n const renderItem = ({ index, item }: { index: number; item: ImageUpload }) => (\n <View\n style={[\n styles.itemContainer,\n index === imageUploads.length - 1 ? { marginRight: 8 } : {},\n itemContainer,\n ]}\n >\n <UploadProgressIndicator\n action={() => {\n uploadImage({ newImage: item });\n }}\n active={item.state !== FileState.UPLOADED && item.state !== FileState.FINISHED}\n style={styles.upload}\n type={\n item.state === FileState.UPLOADING\n ? ProgressIndicatorTypes.IN_PROGRESS\n : item.state === FileState.UPLOAD_FAILED\n ? ProgressIndicatorTypes.RETRY\n : undefined\n }\n >\n <Image\n resizeMode='cover'\n source={{ uri: item.file.uri || item.url }}\n style={[styles.upload, upload]}\n />\n </UploadProgressIndicator>\n <TouchableOpacity\n onPress={() => {\n removeImage(item.id);\n }}\n style={[styles.dismiss, { backgroundColor: overlay_dark }, dismiss]}\n testID='remove-image-upload-preview'\n >\n <Close pathFill={white} />\n </TouchableOpacity>\n </View>\n );\n\n return imageUploads.length > 0 ? (\n <FlatList\n data={imageUploads}\n getItemLayout={(_, index) => ({\n index,\n length: IMAGE_PREVIEW_SIZE + 8,\n offset: (IMAGE_PREVIEW_SIZE + 8) * index,\n })}\n horizontal\n keyExtractor={(item) => item.id}\n renderItem={renderItem}\n style={[styles.flatList, flatList]}\n />\n ) : null;\n};\n\nconst areEqual = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n prevProps: ImageUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: ImageUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { imageUploads: prevImageUploads } = prevProps;\n const { imageUploads: nextImageUploads } = nextProps;\n\n return (\n prevImageUploads.length === nextImageUploads.length &&\n prevImageUploads.every(\n (prevImageUpload, index) => prevImageUpload.state === nextImageUploads[index].state,\n )\n );\n};\n\nconst MemoizedImageUploadPreviewWithContext = React.memo(\n ImageUploadPreviewWithContext,\n areEqual,\n) as typeof ImageUploadPreviewWithContext;\n\n/**\n * UI Component to preview the images set for upload\n */\nexport const ImageUploadPreview = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: ImageUploadPreviewProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { imageUploads, removeImage, uploadImage } =\n useMessageInputContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return (\n <MemoizedImageUploadPreviewWithContext\n {...{ imageUploads, removeImage, uploadImage }}\n {...props}\n />\n );\n};\n\nImageUploadPreview.displayName = 'ImageUploadPreview{messageInput{imageUploadPreview}}';\n"]}
1
+ {"version":3,"sources":["ImageUploadPreview.tsx"],"names":["IMAGE_PREVIEW_SIZE","styles","StyleSheet","create","dismiss","borderRadius","position","right","top","flatList","paddingBottom","itemContainer","flexDirection","height","marginLeft","upload","width","ImageUploadPreviewWithContext","props","imageUploads","removeImage","uploadImage","theme","colors","overlay","white","messageInput","imageUploadPreview","renderItem","index","item","length","marginRight","newImage","state","FileState","UPLOADED","FINISHED","UPLOADING","ProgressIndicatorTypes","IN_PROGRESS","UPLOAD_FAILED","RETRY","undefined","uri","file","url","id","backgroundColor","_","offset","areEqual","prevProps","nextProps","prevImageUploads","nextImageUploads","every","prevImageUpload","MemoizedImageUploadPreviewWithContext","React","memo","ImageUploadPreview","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { FlatList, Image, StyleSheet, TouchableOpacity, View } from 'react-native';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport {\n ImageUpload,\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Close } from '../../icons/Close';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\nimport { FileState, ProgressIndicatorTypes } from '../../utils/utils';\n\nconst IMAGE_PREVIEW_SIZE = 100;\n\nconst styles = StyleSheet.create({\n dismiss: {\n borderRadius: 24,\n position: 'absolute',\n right: 8,\n top: 8,\n },\n flatList: { paddingBottom: 12 },\n itemContainer: {\n flexDirection: 'row',\n height: IMAGE_PREVIEW_SIZE,\n marginLeft: 8,\n },\n upload: {\n borderRadius: 10,\n height: IMAGE_PREVIEW_SIZE,\n width: IMAGE_PREVIEW_SIZE,\n },\n});\n\ntype ImageUploadPreviewPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<\n MessageInputContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'imageUploads' | 'removeImage' | 'uploadImage'\n>;\n\nexport type ImageUploadPreviewProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<ImageUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>>;\n\nconst ImageUploadPreviewWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: ImageUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { imageUploads, removeImage, uploadImage } = props;\n\n const {\n theme: {\n colors: { overlay, white },\n messageInput: {\n imageUploadPreview: { dismiss, flatList, itemContainer, upload },\n },\n },\n } = useTheme();\n\n const renderItem = ({ index, item }: { index: number; item: ImageUpload }) => (\n <View\n style={[\n styles.itemContainer,\n index === imageUploads.length - 1 ? { marginRight: 8 } : {},\n itemContainer,\n ]}\n >\n <UploadProgressIndicator\n action={() => {\n uploadImage({ newImage: item });\n }}\n active={item.state !== FileState.UPLOADED && item.state !== FileState.FINISHED}\n style={styles.upload}\n type={\n item.state === FileState.UPLOADING\n ? ProgressIndicatorTypes.IN_PROGRESS\n : item.state === FileState.UPLOAD_FAILED\n ? ProgressIndicatorTypes.RETRY\n : undefined\n }\n >\n <Image\n resizeMode='cover'\n source={{ uri: item.file.uri || item.url }}\n style={[styles.upload, upload]}\n />\n </UploadProgressIndicator>\n <TouchableOpacity\n onPress={() => {\n removeImage(item.id);\n }}\n style={[styles.dismiss, { backgroundColor: overlay }, dismiss]}\n testID='remove-image-upload-preview'\n >\n <Close pathFill={white} />\n </TouchableOpacity>\n </View>\n );\n\n return imageUploads.length > 0 ? (\n <FlatList\n data={imageUploads}\n getItemLayout={(_, index) => ({\n index,\n length: IMAGE_PREVIEW_SIZE + 8,\n offset: (IMAGE_PREVIEW_SIZE + 8) * index,\n })}\n horizontal\n keyExtractor={(item) => item.id}\n renderItem={renderItem}\n style={[styles.flatList, flatList]}\n />\n ) : null;\n};\n\nconst areEqual = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n prevProps: ImageUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: ImageUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { imageUploads: prevImageUploads } = prevProps;\n const { imageUploads: nextImageUploads } = nextProps;\n\n return (\n prevImageUploads.length === nextImageUploads.length &&\n prevImageUploads.every(\n (prevImageUpload, index) => prevImageUpload.state === nextImageUploads[index].state,\n )\n );\n};\n\nconst MemoizedImageUploadPreviewWithContext = React.memo(\n ImageUploadPreviewWithContext,\n areEqual,\n) as typeof ImageUploadPreviewWithContext;\n\n/**\n * UI Component to preview the images set for upload\n */\nexport const ImageUploadPreview = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: ImageUploadPreviewProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { imageUploads, removeImage, uploadImage } =\n useMessageInputContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return (\n <MemoizedImageUploadPreviewWithContext\n {...{ imageUploads, removeImage, uploadImage }}\n {...props}\n />\n );\n};\n\nImageUploadPreview.displayName = 'ImageUploadPreview{messageInput{imageUploadPreview}}';\n"]}