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
@@ -0,0 +1,38 @@
1
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.OverlayBackdrop = 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/MessageOverlay/OverlayBackdrop.tsx";
16
+
17
+ var OverlayBackdrop = function OverlayBackdrop(props) {
18
+ var _props$style = props.style,
19
+ style = _props$style === void 0 ? {} : _props$style;
20
+
21
+ var _useTheme = (0, _ThemeContext.useTheme)(),
22
+ overlay = _useTheme.theme.colors.overlay;
23
+
24
+ return _react["default"].createElement(_reactNative.View, {
25
+ style: [{
26
+ backgroundColor: overlay
27
+ }, style],
28
+ __self: _this,
29
+ __source: {
30
+ fileName: _jsxFileName,
31
+ lineNumber: 17,
32
+ columnNumber: 10
33
+ }
34
+ });
35
+ };
36
+
37
+ exports.OverlayBackdrop = OverlayBackdrop;
38
+ //# sourceMappingURL=OverlayBackdrop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["OverlayBackdrop.tsx"],"names":["OverlayBackdrop","props","style","overlay","theme","colors","backgroundColor"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;;;;AAMO,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,KAAD,EAA8C;AAC3E,qBAAuBA,KAAvB,CAAQC,KAAR;AAAA,MAAQA,KAAR,6BAAgB,EAAhB;;AACA,kBAII,6BAJJ;AAAA,MAEcC,OAFd,aACEC,KADF,CAEIC,MAFJ,CAEcF,OAFd;;AAKA,SAAO,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAAC;AAAEG,MAAAA,eAAe,EAAEH;AAAnB,KAAD,EAA+BD,KAA/B,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAP;AACD,CARM","sourcesContent":["import React from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\ntype OverlayBackdropProps = {\n style?: StyleProp<ViewStyle>;\n};\n\nexport const OverlayBackdrop = (props: OverlayBackdropProps): JSX.Element => {\n const { style = {} } = props;\n const {\n theme: {\n colors: { overlay },\n },\n } = useTheme();\n return <View style={[{ backgroundColor: overlay }, style]} />;\n};\n"]}
@@ -5,7 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.OverlayReactionList = exports.ReactionButton = void 0;
8
+ exports.ReactionButton = exports.OverlayReactionList = void 0;
9
9
 
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
 
@@ -259,7 +259,6 @@ var OverlayReactionListWithContext = function OverlayReactionListWithContext(pro
259
259
  return {
260
260
  cx: messageLayout.value.x - radius * 3,
261
261
  cy: messageLayout.value.y - radius * 3,
262
- fill: fill || white_snow,
263
262
  r: radius * 2
264
263
  };
265
264
  });
@@ -267,7 +266,6 @@ var OverlayReactionListWithContext = function OverlayReactionListWithContext(pro
267
266
  return {
268
267
  cx: messageLayout.value.x - radius,
269
268
  cy: messageLayout.value.y,
270
- fill: fill || white_snow,
271
269
  r: radius
272
270
  };
273
271
  });
@@ -285,10 +283,11 @@ var OverlayReactionListWithContext = function OverlayReactionListWithContext(pro
285
283
  var numberOfReactions = supportedReactions.length;
286
284
  return _react["default"].createElement(_reactNative.View, {
287
285
  style: _reactNative.StyleSheet.absoluteFill,
286
+ testID: "overlay-reaction-list",
288
287
  __self: _this,
289
288
  __source: {
290
289
  fileName: _jsxFileName,
291
- lineNumber: 375,
290
+ lineNumber: 373,
292
291
  columnNumber: 5
293
292
  }
294
293
  }, _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -300,30 +299,32 @@ var OverlayReactionListWithContext = function OverlayReactionListWithContext(pro
300
299
  __self: _this,
301
300
  __source: {
302
301
  fileName: _jsxFileName,
303
- lineNumber: 376,
302
+ lineNumber: 374,
304
303
  columnNumber: 7
305
304
  }
306
305
  }, _react["default"].createElement(_reactNativeSvg["default"], {
307
306
  __self: _this,
308
307
  __source: {
309
308
  fileName: _jsxFileName,
310
- lineNumber: 382,
309
+ lineNumber: 380,
311
310
  columnNumber: 9
312
311
  }
313
312
  }, _react["default"].createElement(AnimatedCircle, {
314
313
  animatedProps: animatedBigCircleProps,
314
+ fill: fill || white_snow,
315
315
  __self: _this,
316
316
  __source: {
317
317
  fileName: _jsxFileName,
318
- lineNumber: 383,
318
+ lineNumber: 381,
319
319
  columnNumber: 11
320
320
  }
321
321
  }), _react["default"].createElement(AnimatedCircle, {
322
322
  animatedProps: animateSmallCircleProps,
323
+ fill: fill || white_snow,
323
324
  __self: _this,
324
325
  __source: {
325
326
  fileName: _jsxFileName,
326
- lineNumber: 384,
327
+ lineNumber: 382,
327
328
  columnNumber: 11
328
329
  }
329
330
  })), _react["default"].createElement(_reactNativeReanimated["default"].View, {
@@ -344,7 +345,7 @@ var OverlayReactionListWithContext = function OverlayReactionListWithContext(pro
344
345
  __self: _this,
345
346
  __source: {
346
347
  fileName: _jsxFileName,
347
- lineNumber: 386,
348
+ lineNumber: 384,
348
349
  columnNumber: 9
349
350
  }
350
351
  }, supportedReactions == null ? void 0 : supportedReactions.map(function (_ref3, index) {
@@ -363,7 +364,7 @@ var OverlayReactionListWithContext = function OverlayReactionListWithContext(pro
363
364
  __self: _this,
364
365
  __source: {
365
366
  fileName: _jsxFileName,
366
- lineNumber: 404,
367
+ lineNumber: 402,
367
368
  columnNumber: 13
368
369
  }
369
370
  });
@@ -401,7 +402,7 @@ var OverlayReactionList = function OverlayReactionList(props) {
401
402
  __self: _this,
402
403
  __source: {
403
404
  fileName: _jsxFileName,
404
- lineNumber: 489,
405
+ lineNumber: 487,
405
406
  columnNumber: 5
406
407
  }
407
408
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["OverlayReactionList.tsx"],"names":["AnimatedCircle","Animated","createAnimatedComponent","Circle","styles","StyleSheet","create","notLastReaction","marginRight","reactionList","alignItems","borderRadius","flexDirection","justifyContent","paddingHorizontal","paddingVertical","position","selectedIcon","reactionData","Icon","LoveReaction","type","ThumbsUpReaction","ThumbsDownReaction","LOLReaction","WutReaction","ReactionButton","props","handleReaction","index","numberOfReactions","ownReactionTypes","setOverlay","showScreen","theme","colors","accent_blue","grey","overlay","reactionsList","reaction","reactionSize","selected","includes","animationScale","hasShown","scale","selectedOpacity","onTap","onEnd","triggerHaptic","value","duration","onFinish","onStart","result","iconStyle","transform","selectedStyle","opacity","bottom","Number","paddingBottom","left","paddingLeft","right","paddingRight","top","paddingTop","OverlayReactionListWithContext","alignment","fill","messageLayout","setReactionListHeight","supportedReactions","white_snow","screenPadding","padding","radius","reactionListHeight","reactionBubbleWidth","reactionListLayout","height","width","animatedStyle","insideLeftBound","x","insideRightBound","y","animatedBigCircleProps","cx","cy","r","animateSmallCircleProps","showScreenStyle","translateY","translateX","length","absoluteFill","layout","nativeEvent","layoutWidth","backgroundColor","map","areEqual","prevProps","nextProps","prevAlignment","prevOwnReactionTypes","nextAlignment","nextOwnReactionTypes","alignmentEqual","ownReactionTypesEqual","MemoizedOverlayReactionList","React","memo","OverlayReactionList","data","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { StyleSheet, useWindowDimensions, View, ViewStyle } from 'react-native';\nimport { TapGestureHandler, TapGestureHandlerStateChangeEvent } from 'react-native-gesture-handler';\nimport Animated, {\n cancelAnimation,\n interpolate,\n runOnJS,\n useAnimatedGestureHandler,\n useAnimatedProps,\n useAnimatedReaction,\n useAnimatedStyle,\n useSharedValue,\n withDelay,\n withSequence,\n withTiming,\n} from 'react-native-reanimated';\nimport Svg, { Circle, CircleProps, FillProps } from 'react-native-svg';\n\nimport {\n MessageOverlayData,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport {\n IconProps,\n LOLReaction,\n LoveReaction,\n ThumbsDownReaction,\n ThumbsUpReaction,\n WutReaction,\n} from '../../icons';\n\nimport { triggerHaptic } from '../../native';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\nimport type { ReactionData } from '../../utils/utils';\n\nconst AnimatedCircle = Animated.createAnimatedComponent\n ? Animated.createAnimatedComponent(Circle)\n : Circle;\n\nconst styles = StyleSheet.create({\n notLastReaction: {\n marginRight: 16,\n },\n reactionList: {\n alignItems: 'center',\n borderRadius: 24,\n flexDirection: 'row',\n justifyContent: 'center',\n paddingHorizontal: 16,\n paddingVertical: 12,\n position: 'absolute',\n },\n selectedIcon: {\n position: 'absolute',\n },\n});\n\nconst reactionData: ReactionData[] = [\n {\n Icon: LoveReaction,\n type: 'love',\n },\n {\n Icon: ThumbsUpReaction,\n type: 'like',\n },\n {\n Icon: ThumbsDownReaction,\n type: 'sad',\n },\n {\n Icon: LOLReaction,\n type: 'haha',\n },\n {\n Icon: WutReaction,\n type: 'wow',\n },\n];\n\ntype ReactionButtonProps<\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 DefaultUserType = DefaultUserType,\n> = Pick<\n OverlayReactionListPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n 'ownReactionTypes' | 'handleReaction' | 'setOverlay'\n> & {\n Icon: React.FC<IconProps>;\n index: number;\n numberOfReactions: number;\n showScreen: Animated.SharedValue<number>;\n type: string;\n};\n\nexport const ReactionButton = <\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 DefaultUserType = DefaultUserType,\n>(\n props: ReactionButtonProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n handleReaction,\n Icon,\n index,\n numberOfReactions,\n ownReactionTypes,\n setOverlay,\n showScreen,\n type,\n } = props;\n const {\n theme: {\n colors: { accent_blue, grey },\n overlay: {\n reactionsList: { reaction, reactionSize },\n },\n },\n } = useTheme();\n const selected = ownReactionTypes.includes(type);\n const animationScale = useSharedValue(0);\n const hasShown = useSharedValue(0);\n const scale = useSharedValue(1);\n const selectedOpacity = useSharedValue(selected ? 1 : 0);\n\n const onTap = useAnimatedGestureHandler<TapGestureHandlerStateChangeEvent>(\n {\n onEnd: () => {\n runOnJS(triggerHaptic)('impactLight');\n selectedOpacity.value = withTiming(selected ? 0 : 1, { duration: 250 }, () => {\n if (handleReaction) {\n runOnJS(handleReaction)(type);\n }\n runOnJS(setOverlay)('none');\n });\n },\n onFinish: () => {\n cancelAnimation(scale);\n scale.value = withTiming(1, { duration: 100 });\n },\n onStart: () => {\n cancelAnimation(scale);\n scale.value = withTiming(1.5, { duration: 100 });\n },\n },\n [handleReaction, selected, setOverlay, type],\n );\n\n useAnimatedReaction(\n () => {\n if (showScreen.value > 0.8 && hasShown.value === 0) {\n return 1;\n }\n return 0;\n },\n (result) => {\n if (hasShown.value === 0 && result !== 0) {\n hasShown.value = 1;\n animationScale.value = withSequence(\n withDelay(60 * (numberOfReactions - (index + 1)), withTiming(0.1, { duration: 50 })),\n withTiming(1.5, { duration: 250 }),\n withTiming(1, { duration: 250 }),\n );\n }\n },\n [index, numberOfReactions],\n );\n\n const iconStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n scale: animationScale.value,\n },\n {\n scale: scale.value,\n },\n ],\n }),\n [],\n );\n\n const selectedStyle = useAnimatedStyle<ViewStyle>(() => ({\n opacity: selectedOpacity.value,\n }));\n\n return (\n <TapGestureHandler\n hitSlop={{\n bottom:\n Number(reaction.paddingVertical || 0) ||\n Number(reaction.paddingBottom || 0) ||\n styles.reactionList.paddingVertical,\n left:\n (Number(reaction.paddingHorizontal || 0) ||\n Number(reaction.paddingLeft || 0) ||\n styles.notLastReaction.marginRight) / 2,\n right:\n (Number(reaction.paddingHorizontal || 0) ||\n Number(reaction.paddingRight || 0) ||\n styles.notLastReaction.marginRight) / 2,\n top:\n Number(reaction.paddingVertical || 0) ||\n Number(reaction.paddingTop || 0) ||\n styles.reactionList.paddingVertical,\n }}\n maxDurationMs={3000}\n onHandlerStateChange={onTap}\n >\n <Animated.View\n style={[index !== numberOfReactions - 1 ? styles.notLastReaction : {}, reaction, iconStyle]}\n >\n <Icon height={reactionSize} pathFill={grey} width={reactionSize} />\n <Animated.View style={[styles.selectedIcon, selectedStyle]}>\n <Icon height={reactionSize} pathFill={accent_blue} width={reactionSize} />\n </Animated.View>\n </Animated.View>\n </TapGestureHandler>\n );\n};\n\nexport type OverlayReactionListPropsWithContext<\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 DefaultUserType = DefaultUserType,\n> = Pick<\n MessageOverlayData<At, Ch, Co, Ev, Me, Re, Us>,\n 'alignment' | 'handleReaction' | 'messagesContext'\n> &\n Pick<MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'supportedReactions'> &\n Pick<OverlayContextValue, 'setOverlay'> & {\n messageLayout: Animated.SharedValue<{\n x: number;\n y: number;\n }>;\n ownReactionTypes: string[];\n setReactionListHeight: React.Dispatch<React.SetStateAction<number>>;\n showScreen: Animated.SharedValue<number>;\n fill?: FillProps['fill'];\n };\n\nconst OverlayReactionListWithContext = <\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 DefaultUserType = DefaultUserType,\n>(\n props: OverlayReactionListPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n alignment,\n fill,\n handleReaction,\n messageLayout,\n ownReactionTypes,\n setReactionListHeight,\n showScreen,\n setOverlay,\n supportedReactions = reactionData,\n } = props;\n\n const {\n theme: {\n colors: { white_snow },\n overlay: {\n padding: screenPadding,\n reactionsList: { radius, reactionList },\n },\n },\n } = useTheme();\n\n const reactionListHeight = useSharedValue(0);\n const reactionBubbleWidth = useSharedValue(0);\n const reactionListLayout = useSharedValue({\n height: 0,\n width: 0,\n });\n\n const { width } = useWindowDimensions();\n\n const animatedStyle = useAnimatedStyle<ViewStyle>(() => {\n const borderRadius = reactionList.borderRadius || styles.reactionList.borderRadius;\n const insideLeftBound =\n messageLayout.value.x - reactionListLayout.value.width + borderRadius > screenPadding;\n const insideRightBound = messageLayout.value.x + borderRadius < width - screenPadding;\n const left = !insideLeftBound\n ? screenPadding\n : !insideRightBound\n ? width - screenPadding - reactionListLayout.value.width\n : messageLayout.value.x - reactionListLayout.value.width + borderRadius;\n const top = messageLayout.value.y - reactionListLayout.value.height - radius * 2;\n\n return {\n left,\n top,\n };\n });\n\n const animatedBigCircleProps = useAnimatedProps<CircleProps>(() => ({\n cx: messageLayout.value.x - radius * 3,\n cy: messageLayout.value.y - radius * 3,\n fill: fill || white_snow,\n r: radius * 2,\n }));\n\n const animateSmallCircleProps = useAnimatedProps<CircleProps>(() => ({\n cx: messageLayout.value.x - radius,\n cy: messageLayout.value.y,\n fill: fill || white_snow,\n r: radius,\n }));\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [-reactionListHeight.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [\n alignment === 'left' ? -reactionBubbleWidth.value / 2 : reactionBubbleWidth.value / 2,\n 0,\n ],\n ),\n },\n {\n scale: interpolate(showScreen.value, [0, 0.8, 1], [0, 0, 1]),\n },\n ],\n }),\n [alignment],\n );\n\n const numberOfReactions = supportedReactions.length;\n\n return (\n <View style={StyleSheet.absoluteFill}>\n <Animated.View\n onLayout={({ nativeEvent: { layout } }) => {\n reactionBubbleWidth.value = layout.width;\n }}\n style={showScreenStyle}\n >\n <Svg>\n <AnimatedCircle animatedProps={animatedBigCircleProps} />\n <AnimatedCircle animatedProps={animateSmallCircleProps} />\n </Svg>\n <Animated.View\n onLayout={({\n nativeEvent: {\n layout: { height, width: layoutWidth },\n },\n }) => {\n reactionListLayout.value = { height, width: layoutWidth };\n reactionListHeight.value = height;\n setReactionListHeight(height);\n }}\n style={[\n styles.reactionList,\n { backgroundColor: white_snow },\n animatedStyle,\n reactionList,\n ]}\n >\n {supportedReactions?.map(({ Icon, type }, index) => (\n <ReactionButton<At, Ch, Co, Ev, Me, Re, Us>\n handleReaction={handleReaction}\n Icon={Icon}\n index={index}\n key={`${type}_${index}`}\n numberOfReactions={numberOfReactions}\n ownReactionTypes={ownReactionTypes}\n setOverlay={setOverlay}\n showScreen={showScreen}\n type={type}\n />\n ))}\n </Animated.View>\n </Animated.View>\n </View>\n );\n};\n\nconst areEqual = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n prevProps: OverlayReactionListPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: OverlayReactionListPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { alignment: prevAlignment, ownReactionTypes: prevOwnReactionTypes } = prevProps;\n const { alignment: nextAlignment, ownReactionTypes: nextOwnReactionTypes } = nextProps;\n\n const alignmentEqual = prevAlignment === nextAlignment;\n if (!alignmentEqual) return false;\n\n const ownReactionTypesEqual = prevOwnReactionTypes.length === nextOwnReactionTypes.length;\n if (!ownReactionTypesEqual) return false;\n\n return true;\n};\n\nconst MemoizedOverlayReactionList = React.memo(\n OverlayReactionListWithContext,\n areEqual,\n) as typeof OverlayReactionListWithContext;\n\nexport type OverlayReactionListProps<\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 DefaultUserType = DefaultUserType,\n> = Omit<\n OverlayReactionListPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n 'setOverlay' | 'supportedReactions'\n> &\n Partial<\n Pick<\n OverlayReactionListPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n 'setOverlay' | 'supportedReactions'\n >\n >;\n\n/**\n * OverlayReactionList - A high level component which implements all the logic required for a message overlay reaction list\n */\nexport const OverlayReactionList = <\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 DefaultUserType = DefaultUserType,\n>(\n props: OverlayReactionListProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { data } = useMessageOverlayContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { supportedReactions } = useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { setOverlay } = useOverlayContext();\n\n return (\n <MemoizedOverlayReactionList\n {...(data || {})}\n {...{ setOverlay, supportedReactions }}\n {...props}\n />\n );\n};\n\nOverlayReactionList.displayName = 'OverlayReactionList{overlay{reactionList}}';\n"]}
1
+ {"version":3,"sources":["OverlayReactionList.tsx"],"names":["AnimatedCircle","Animated","createAnimatedComponent","Circle","styles","StyleSheet","create","notLastReaction","marginRight","reactionList","alignItems","borderRadius","flexDirection","justifyContent","paddingHorizontal","paddingVertical","position","selectedIcon","reactionData","Icon","LoveReaction","type","ThumbsUpReaction","ThumbsDownReaction","LOLReaction","WutReaction","ReactionButton","props","handleReaction","index","numberOfReactions","ownReactionTypes","setOverlay","showScreen","theme","colors","accent_blue","grey","overlay","reactionsList","reaction","reactionSize","selected","includes","animationScale","hasShown","scale","selectedOpacity","onTap","onEnd","triggerHaptic","value","duration","onFinish","onStart","result","iconStyle","transform","selectedStyle","opacity","bottom","Number","paddingBottom","left","paddingLeft","right","paddingRight","top","paddingTop","OverlayReactionListWithContext","alignment","fill","messageLayout","setReactionListHeight","supportedReactions","white_snow","screenPadding","padding","radius","reactionListHeight","reactionBubbleWidth","reactionListLayout","height","width","animatedStyle","insideLeftBound","x","insideRightBound","y","animatedBigCircleProps","cx","cy","r","animateSmallCircleProps","showScreenStyle","translateY","translateX","length","absoluteFill","layout","nativeEvent","layoutWidth","backgroundColor","map","areEqual","prevProps","nextProps","prevAlignment","prevOwnReactionTypes","nextAlignment","nextOwnReactionTypes","alignmentEqual","ownReactionTypesEqual","MemoizedOverlayReactionList","React","memo","OverlayReactionList","data","displayName"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAaA;;AAEA;;AAIA;;AAIA;;AAIA;;AACA;;AASA;;;;;;;;;AAcA,IAAMA,cAAc,GAAGC,kCAASC,uBAAT,GACnBD,kCAASC,uBAAT,CAAiCC,sBAAjC,CADmB,GAEnBA,sBAFJ;;AAIA,IAAMC,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,eAAe,EAAE;AACfC,IAAAA,WAAW,EAAE;AADE,GADc;AAI/BC,EAAAA,YAAY,EAAE;AACZC,IAAAA,UAAU,EAAE,QADA;AAEZC,IAAAA,YAAY,EAAE,EAFF;AAGZC,IAAAA,aAAa,EAAE,KAHH;AAIZC,IAAAA,cAAc,EAAE,QAJJ;AAKZC,IAAAA,iBAAiB,EAAE,EALP;AAMZC,IAAAA,eAAe,EAAE,EANL;AAOZC,IAAAA,QAAQ,EAAE;AAPE,GAJiB;AAa/BC,EAAAA,YAAY,EAAE;AACZD,IAAAA,QAAQ,EAAE;AADE;AAbiB,CAAlB,CAAf;;AAkBA,IAAME,YAA4B,GAAG,CACnC;AACEC,EAAAA,IAAI,EAAEC,mBADR;AAEEC,EAAAA,IAAI,EAAE;AAFR,CADmC,EAKnC;AACEF,EAAAA,IAAI,EAAEG,uBADR;AAEED,EAAAA,IAAI,EAAE;AAFR,CALmC,EASnC;AACEF,EAAAA,IAAI,EAAEI,yBADR;AAEEF,EAAAA,IAAI,EAAE;AAFR,CATmC,EAanC;AACEF,EAAAA,IAAI,EAAEK,kBADR;AAEEH,EAAAA,IAAI,EAAE;AAFR,CAbmC,EAiBnC;AACEF,EAAAA,IAAI,EAAEM,kBADR;AAEEJ,EAAAA,IAAI,EAAE;AAFR,CAjBmC,CAArC;;AA0CO,IAAMK,cAAc,GAAG,SAAjBA,cAAiB,CAS5BC,KAT4B,EAUzB;AACH,MACEC,cADF,GASID,KATJ,CACEC,cADF;AAAA,MAEET,IAFF,GASIQ,KATJ,CAEER,IAFF;AAAA,MAGEU,KAHF,GASIF,KATJ,CAGEE,KAHF;AAAA,MAIEC,iBAJF,GASIH,KATJ,CAIEG,iBAJF;AAAA,MAKEC,gBALF,GASIJ,KATJ,CAKEI,gBALF;AAAA,MAMEC,UANF,GASIL,KATJ,CAMEK,UANF;AAAA,MAOEC,UAPF,GASIN,KATJ,CAOEM,UAPF;AAAA,MAQEZ,IARF,GASIM,KATJ,CAQEN,IARF;;AAUA,kBAOI,6BAPJ;AAAA,kCACEa,KADF;AAAA,8CAEIC,MAFJ;AAAA,MAEcC,WAFd,yBAEcA,WAFd;AAAA,MAE2BC,IAF3B,yBAE2BA,IAF3B;AAAA,8CAGIC,OAHJ,CAIMC,aAJN;AAAA,MAIuBC,QAJvB,yBAIuBA,QAJvB;AAAA,MAIiCC,YAJjC,yBAIiCA,YAJjC;;AAQA,MAAMC,QAAQ,GAAGX,gBAAgB,CAACY,QAAjB,CAA0BtB,IAA1B,CAAjB;AACA,MAAMuB,cAAc,GAAG,2CAAe,CAAf,CAAvB;AACA,MAAMC,QAAQ,GAAG,2CAAe,CAAf,CAAjB;AACA,MAAMC,KAAK,GAAG,2CAAe,CAAf,CAAd;AACA,MAAMC,eAAe,GAAG,2CAAeL,QAAQ,GAAG,CAAH,GAAO,CAA9B,CAAxB;AAEA,MAAMM,KAAK,GAAG,sDACZ;AACEC,IAAAA,KAAK,EAAE,iBAAM;AACX,0CAAQC,qBAAR,EAAuB,aAAvB;AACAH,MAAAA,eAAe,CAACI,KAAhB,GAAwB,uCAAWT,QAAQ,GAAG,CAAH,GAAO,CAA1B,EAA6B;AAAEU,QAAAA,QAAQ,EAAE;AAAZ,OAA7B,EAAgD,YAAM;AAC5E,YAAIxB,cAAJ,EAAoB;AAClB,8CAAQA,cAAR,EAAwBP,IAAxB;AACD;;AACD,4CAAQW,UAAR,EAAoB,MAApB;AACD,OALuB,CAAxB;AAMD,KATH;AAUEqB,IAAAA,QAAQ,EAAE,oBAAM;AACd,kDAAgBP,KAAhB;AACAA,MAAAA,KAAK,CAACK,KAAN,GAAc,uCAAW,CAAX,EAAc;AAAEC,QAAAA,QAAQ,EAAE;AAAZ,OAAd,CAAd;AACD,KAbH;AAcEE,IAAAA,OAAO,EAAE,mBAAM;AACb,kDAAgBR,KAAhB;AACAA,MAAAA,KAAK,CAACK,KAAN,GAAc,uCAAW,GAAX,EAAgB;AAAEC,QAAAA,QAAQ,EAAE;AAAZ,OAAhB,CAAd;AACD;AAjBH,GADY,EAoBZ,CAACxB,cAAD,EAAiBc,QAAjB,EAA2BV,UAA3B,EAAuCX,IAAvC,CApBY,CAAd;AAuBA,kDACE,YAAM;AACJ,QAAIY,UAAU,CAACkB,KAAX,GAAmB,GAAnB,IAA0BN,QAAQ,CAACM,KAAT,KAAmB,CAAjD,EAAoD;AAClD,aAAO,CAAP;AACD;;AACD,WAAO,CAAP;AACD,GANH,EAOE,UAACI,MAAD,EAAY;AACV,QAAIV,QAAQ,CAACM,KAAT,KAAmB,CAAnB,IAAwBI,MAAM,KAAK,CAAvC,EAA0C;AACxCV,MAAAA,QAAQ,CAACM,KAAT,GAAiB,CAAjB;AACAP,MAAAA,cAAc,CAACO,KAAf,GAAuB,yCACrB,sCAAU,MAAMrB,iBAAiB,IAAID,KAAK,GAAG,CAAZ,CAAvB,CAAV,EAAkD,uCAAW,GAAX,EAAgB;AAAEuB,QAAAA,QAAQ,EAAE;AAAZ,OAAhB,CAAlD,CADqB,EAErB,uCAAW,GAAX,EAAgB;AAAEA,QAAAA,QAAQ,EAAE;AAAZ,OAAhB,CAFqB,EAGrB,uCAAW,CAAX,EAAc;AAAEA,QAAAA,QAAQ,EAAE;AAAZ,OAAd,CAHqB,CAAvB;AAKD;AACF,GAhBH,EAiBE,CAACvB,KAAD,EAAQC,iBAAR,CAjBF;AAoBA,MAAM0B,SAAS,GAAG,6CAChB;AAAA,WAAO;AACLC,MAAAA,SAAS,EAAE,CACT;AACEX,QAAAA,KAAK,EAAEF,cAAc,CAACO;AADxB,OADS,EAIT;AACEL,QAAAA,KAAK,EAAEA,KAAK,CAACK;AADf,OAJS;AADN,KAAP;AAAA,GADgB,EAWhB,EAXgB,CAAlB;AAcA,MAAMO,aAAa,GAAG,6CAA4B;AAAA,WAAO;AACvDC,MAAAA,OAAO,EAAEZ,eAAe,CAACI;AAD8B,KAAP;AAAA,GAA5B,CAAtB;AAIA,SACE,gCAAC,4CAAD;AACE,IAAA,OAAO,EAAE;AACPS,MAAAA,MAAM,EACJC,MAAM,CAACrB,QAAQ,CAACzB,eAAT,IAA4B,CAA7B,CAAN,IACA8C,MAAM,CAACrB,QAAQ,CAACsB,aAAT,IAA0B,CAA3B,CADN,IAEA1D,MAAM,CAACK,YAAP,CAAoBM,eAJf;AAKPgD,MAAAA,IAAI,EACF,CAACF,MAAM,CAACrB,QAAQ,CAAC1B,iBAAT,IAA8B,CAA/B,CAAN,IACC+C,MAAM,CAACrB,QAAQ,CAACwB,WAAT,IAAwB,CAAzB,CADP,IAEC5D,MAAM,CAACG,eAAP,CAAuBC,WAFzB,IAEwC,CARnC;AASPyD,MAAAA,KAAK,EACH,CAACJ,MAAM,CAACrB,QAAQ,CAAC1B,iBAAT,IAA8B,CAA/B,CAAN,IACC+C,MAAM,CAACrB,QAAQ,CAAC0B,YAAT,IAAyB,CAA1B,CADP,IAEC9D,MAAM,CAACG,eAAP,CAAuBC,WAFzB,IAEwC,CAZnC;AAaP2D,MAAAA,GAAG,EACDN,MAAM,CAACrB,QAAQ,CAACzB,eAAT,IAA4B,CAA7B,CAAN,IACA8C,MAAM,CAACrB,QAAQ,CAAC4B,UAAT,IAAuB,CAAxB,CADN,IAEAhE,MAAM,CAACK,YAAP,CAAoBM;AAhBf,KADX;AAmBE,IAAA,aAAa,EAAE,IAnBjB;AAoBE,IAAA,oBAAoB,EAAEiC,KApBxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAsBE,gCAAC,iCAAD,CAAU,IAAV;AACE,IAAA,KAAK,EAAE,CAACnB,KAAK,KAAKC,iBAAiB,GAAG,CAA9B,GAAkC1B,MAAM,CAACG,eAAzC,GAA2D,EAA5D,EAAgEiC,QAAhE,EAA0EgB,SAA1E,CADT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAGE,gCAAC,IAAD;AAAM,IAAA,MAAM,EAAEf,YAAd;AAA4B,IAAA,QAAQ,EAAEJ,IAAtC;AAA4C,IAAA,KAAK,EAAEI,YAAnD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAHF,EAIE,gCAAC,iCAAD,CAAU,IAAV;AAAe,IAAA,KAAK,EAAE,CAACrC,MAAM,CAACa,YAAR,EAAsByC,aAAtB,CAAtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,IAAD;AAAM,IAAA,MAAM,EAAEjB,YAAd;AAA4B,IAAA,QAAQ,EAAEL,WAAtC;AAAmD,IAAA,KAAK,EAAEK,YAA1D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IADF,CAJF,CAtBF,CADF;AAiCD,CAjIM;;;;AA2JP,IAAM4B,8BAA8B,GAAG,SAAjCA,8BAAiC,CASrC1C,KATqC,EAUlC;AACH,MACE2C,SADF,GAUI3C,KAVJ,CACE2C,SADF;AAAA,MAEEC,IAFF,GAUI5C,KAVJ,CAEE4C,IAFF;AAAA,MAGE3C,cAHF,GAUID,KAVJ,CAGEC,cAHF;AAAA,MAIE4C,aAJF,GAUI7C,KAVJ,CAIE6C,aAJF;AAAA,MAKEzC,gBALF,GAUIJ,KAVJ,CAKEI,gBALF;AAAA,MAME0C,qBANF,GAUI9C,KAVJ,CAME8C,qBANF;AAAA,MAOExC,UAPF,GAUIN,KAVJ,CAOEM,UAPF;AAAA,MAQED,UARF,GAUIL,KAVJ,CAQEK,UARF;AAAA,8BAUIL,KAVJ,CASE+C,kBATF;AAAA,MASEA,kBATF,sCASuBxD,YATvB;;AAYA,mBAQI,6BARJ;AAAA,oCACEgB,KADF;AAAA,MAEcyC,UAFd,oBAEIxC,MAFJ,CAEcwC,UAFd;AAAA,+CAGIrC,OAHJ;AAAA,MAIesC,aAJf,yBAIMC,OAJN;AAAA,qDAKMtC,aALN;AAAA,MAKuBuC,MALvB,0BAKuBA,MALvB;AAAA,MAK+BrE,YAL/B,0BAK+BA,YAL/B;;AAUA,MAAMsE,kBAAkB,GAAG,2CAAe,CAAf,CAA3B;AACA,MAAMC,mBAAmB,GAAG,2CAAe,CAAf,CAA5B;AACA,MAAMC,kBAAkB,GAAG,2CAAe;AACxCC,IAAAA,MAAM,EAAE,CADgC;AAExCC,IAAAA,KAAK,EAAE;AAFiC,GAAf,CAA3B;;AAKA,6BAAkB,uCAAlB;AAAA,MAAQA,KAAR,wBAAQA,KAAR;;AAEA,MAAMC,aAAa,GAAG,6CAA4B,YAAM;AACtD,QAAMzE,YAAY,GAAGF,YAAY,CAACE,YAAb,IAA6BP,MAAM,CAACK,YAAP,CAAoBE,YAAtE;AACA,QAAM0E,eAAe,GACnBb,aAAa,CAACrB,KAAd,CAAoBmC,CAApB,GAAwBL,kBAAkB,CAAC9B,KAAnB,CAAyBgC,KAAjD,GAAyDxE,YAAzD,GAAwEiE,aAD1E;AAEA,QAAMW,gBAAgB,GAAGf,aAAa,CAACrB,KAAd,CAAoBmC,CAApB,GAAwB3E,YAAxB,GAAuCwE,KAAK,GAAGP,aAAxE;AACA,QAAMb,IAAI,GAAG,CAACsB,eAAD,GACTT,aADS,GAET,CAACW,gBAAD,GACAJ,KAAK,GAAGP,aAAR,GAAwBK,kBAAkB,CAAC9B,KAAnB,CAAyBgC,KADjD,GAEAX,aAAa,CAACrB,KAAd,CAAoBmC,CAApB,GAAwBL,kBAAkB,CAAC9B,KAAnB,CAAyBgC,KAAjD,GAAyDxE,YAJ7D;AAKA,QAAMwD,GAAG,GAAGK,aAAa,CAACrB,KAAd,CAAoBqC,CAApB,GAAwBP,kBAAkB,CAAC9B,KAAnB,CAAyB+B,MAAjD,GAA0DJ,MAAM,GAAG,CAA/E;AAEA,WAAO;AACLf,MAAAA,IAAI,EAAJA,IADK;AAELI,MAAAA,GAAG,EAAHA;AAFK,KAAP;AAID,GAhBqB,CAAtB;AAkBA,MAAMsB,sBAAsB,GAAG,6CAA8B;AAAA,WAAO;AAClEC,MAAAA,EAAE,EAAElB,aAAa,CAACrB,KAAd,CAAoBmC,CAApB,GAAwBR,MAAM,GAAG,CAD6B;AAElEa,MAAAA,EAAE,EAAEnB,aAAa,CAACrB,KAAd,CAAoBqC,CAApB,GAAwBV,MAAM,GAAG,CAF6B;AAGlEc,MAAAA,CAAC,EAAEd,MAAM,GAAG;AAHsD,KAAP;AAAA,GAA9B,CAA/B;AAMA,MAAMe,uBAAuB,GAAG,6CAA8B;AAAA,WAAO;AACnEH,MAAAA,EAAE,EAAElB,aAAa,CAACrB,KAAd,CAAoBmC,CAApB,GAAwBR,MADuC;AAEnEa,MAAAA,EAAE,EAAEnB,aAAa,CAACrB,KAAd,CAAoBqC,CAF2C;AAGnEI,MAAAA,CAAC,EAAEd;AAHgE,KAAP;AAAA,GAA9B,CAAhC;AAMA,MAAMgB,eAAe,GAAG,6CACtB;AAAA,WAAO;AACLrC,MAAAA,SAAS,EAAE,CACT;AACEsC,QAAAA,UAAU,EAAE,wCAAY9D,UAAU,CAACkB,KAAvB,EAA8B,CAAC,CAAD,EAAI,CAAJ,CAA9B,EAAsC,CAAC,CAAC4B,kBAAkB,CAAC5B,KAApB,GAA4B,CAA7B,EAAgC,CAAhC,CAAtC;AADd,OADS,EAIT;AACE6C,QAAAA,UAAU,EAAE,wCACV/D,UAAU,CAACkB,KADD,EAEV,CAAC,CAAD,EAAI,CAAJ,CAFU,EAGV,CACEmB,SAAS,KAAK,MAAd,GAAuB,CAACU,mBAAmB,CAAC7B,KAArB,GAA6B,CAApD,GAAwD6B,mBAAmB,CAAC7B,KAApB,GAA4B,CADtF,EAEE,CAFF,CAHU;AADd,OAJS,EAcT;AACEL,QAAAA,KAAK,EAAE,wCAAYb,UAAU,CAACkB,KAAvB,EAA8B,CAAC,CAAD,EAAI,GAAJ,EAAS,CAAT,CAA9B,EAA2C,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,CAA3C;AADT,OAdS;AADN,KAAP;AAAA,GADsB,EAqBtB,CAACmB,SAAD,CArBsB,CAAxB;AAwBA,MAAMxC,iBAAiB,GAAG4C,kBAAkB,CAACuB,MAA7C;AAEA,SACE,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE5F,wBAAW6F,YAAxB;AAAsC,IAAA,MAAM,EAAC,uBAA7C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,iCAAD,CAAU,IAAV;AACE,IAAA,QAAQ,EAAE,wBAAiC;AAAA,UAAfC,MAAe,QAA9BC,WAA8B,CAAfD,MAAe;AACzCnB,MAAAA,mBAAmB,CAAC7B,KAApB,GAA4BgD,MAAM,CAAChB,KAAnC;AACD,KAHH;AAIE,IAAA,KAAK,EAAEW,eAJT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAME,gCAAC,0BAAD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,cAAD;AAAgB,IAAA,aAAa,EAAEL,sBAA/B;AAAuD,IAAA,IAAI,EAAElB,IAAI,IAAII,UAArE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IADF,EAEE,gCAAC,cAAD;AAAgB,IAAA,aAAa,EAAEkB,uBAA/B;AAAwD,IAAA,IAAI,EAAEtB,IAAI,IAAII,UAAtE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAFF,CANF,EAUE,gCAAC,iCAAD,CAAU,IAAV;AACE,IAAA,QAAQ,EAAE,yBAIJ;AAAA,wCAHJyB,WAGI,CAFFD,MAEE;AAAA,UAFQjB,MAER,yBAFQA,MAER;AAAA,UAFuBmB,WAEvB,yBAFgBlB,KAEhB;AACJF,MAAAA,kBAAkB,CAAC9B,KAAnB,GAA2B;AAAE+B,QAAAA,MAAM,EAANA,MAAF;AAAUC,QAAAA,KAAK,EAAEkB;AAAjB,OAA3B;AACAtB,MAAAA,kBAAkB,CAAC5B,KAAnB,GAA2B+B,MAA3B;AACAT,MAAAA,qBAAqB,CAACS,MAAD,CAArB;AACD,KATH;AAUE,IAAA,KAAK,EAAE,CACL9E,MAAM,CAACK,YADF,EAEL;AAAE6F,MAAAA,eAAe,EAAE3B;AAAnB,KAFK,EAGLS,aAHK,EAIL3E,YAJK,CAVT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAiBGiE,kBAjBH,oBAiBGA,kBAAkB,CAAE6B,GAApB,CAAwB,iBAAiB1E,KAAjB;AAAA,QAAGV,IAAH,SAAGA,IAAH;AAAA,QAASE,IAAT,SAASA,IAAT;AAAA,WACvB,gCAAC,cAAD;AACE,MAAA,cAAc,EAAEO,cADlB;AAEE,MAAA,IAAI,EAAET,IAFR;AAGE,MAAA,KAAK,EAAEU,KAHT;AAIE,MAAA,GAAG,EAAKR,IAAL,SAAaQ,KAJlB;AAKE,MAAA,iBAAiB,EAAEC,iBALrB;AAME,MAAA,gBAAgB,EAAEC,gBANpB;AAOE,MAAA,UAAU,EAAEC,UAPd;AAQE,MAAA,UAAU,EAAEC,UARd;AASE,MAAA,IAAI,EAAEZ,IATR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MADuB;AAAA,GAAxB,CAjBH,CAVF,CADF,CADF;AA8CD,CAhJD;;AAkJA,IAAMmF,QAAQ,GAAG,SAAXA,QAAW,CASfC,SATe,EAUfC,SAVe,EAWZ;AACH,MAAmBC,aAAnB,GAA6EF,SAA7E,CAAQnC,SAAR;AAAA,MAAoDsC,oBAApD,GAA6EH,SAA7E,CAAkC1E,gBAAlC;AACA,MAAmB8E,aAAnB,GAA6EH,SAA7E,CAAQpC,SAAR;AAAA,MAAoDwC,oBAApD,GAA6EJ,SAA7E,CAAkC3E,gBAAlC;AAEA,MAAMgF,cAAc,GAAGJ,aAAa,KAAKE,aAAzC;AACA,MAAI,CAACE,cAAL,EAAqB,OAAO,KAAP;AAErB,MAAMC,qBAAqB,GAAGJ,oBAAoB,CAACX,MAArB,KAAgCa,oBAAoB,CAACb,MAAnF;AACA,MAAI,CAACe,qBAAL,EAA4B,OAAO,KAAP;AAE5B,SAAO,IAAP;AACD,CAtBD;;AAwBA,IAAMC,2BAA2B,GAAGC,kBAAMC,IAAN,CAClC9C,8BADkC,EAElCmC,QAFkC,CAApC;;AA2BO,IAAMY,mBAAmB,GAAG,SAAtBA,mBAAsB,CASjCzF,KATiC,EAU9B;AACH,8BAAiB,sDAAjB;AAAA,MAAQ0F,IAAR,yBAAQA,IAAR;;AACA,4BAA+B,0CAA/B;AAAA,MAAQ3C,kBAAR,uBAAQA,kBAAR;;AACA,2BAAuB,wCAAvB;AAAA,MAAQ1C,UAAR,sBAAQA,UAAR;;AAEA,SACE,gCAAC,2BAAD,gCACOqF,IAAI,IAAI,EADf;AAEQrF,IAAAA,UAAU,EAAVA,UAFR;AAEoB0C,IAAAA,kBAAkB,EAAlBA;AAFpB,KAGM/C,KAHN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KADF;AAOD,CAtBM;;;AAwBPyF,mBAAmB,CAACE,WAApB,GAAkC,4CAAlC","sourcesContent":["import React from 'react';\nimport { StyleSheet, useWindowDimensions, View, ViewStyle } from 'react-native';\nimport { TapGestureHandler, TapGestureHandlerStateChangeEvent } from 'react-native-gesture-handler';\nimport Animated, {\n cancelAnimation,\n interpolate,\n runOnJS,\n useAnimatedGestureHandler,\n useAnimatedProps,\n useAnimatedReaction,\n useAnimatedStyle,\n useSharedValue,\n withDelay,\n withSequence,\n withTiming,\n} from 'react-native-reanimated';\nimport Svg, { Circle, CircleProps, FillProps } from 'react-native-svg';\n\nimport {\n MessageOverlayData,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport {\n IconProps,\n LOLReaction,\n LoveReaction,\n ThumbsDownReaction,\n ThumbsUpReaction,\n WutReaction,\n} from '../../icons';\n\nimport { triggerHaptic } from '../../native';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\nimport type { ReactionData } from '../../utils/utils';\n\nconst AnimatedCircle = Animated.createAnimatedComponent\n ? Animated.createAnimatedComponent(Circle)\n : Circle;\n\nconst styles = StyleSheet.create({\n notLastReaction: {\n marginRight: 16,\n },\n reactionList: {\n alignItems: 'center',\n borderRadius: 24,\n flexDirection: 'row',\n justifyContent: 'center',\n paddingHorizontal: 16,\n paddingVertical: 12,\n position: 'absolute',\n },\n selectedIcon: {\n position: 'absolute',\n },\n});\n\nconst reactionData: ReactionData[] = [\n {\n Icon: LoveReaction,\n type: 'love',\n },\n {\n Icon: ThumbsUpReaction,\n type: 'like',\n },\n {\n Icon: ThumbsDownReaction,\n type: 'sad',\n },\n {\n Icon: LOLReaction,\n type: 'haha',\n },\n {\n Icon: WutReaction,\n type: 'wow',\n },\n];\n\ntype ReactionButtonProps<\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 DefaultUserType = DefaultUserType,\n> = Pick<\n OverlayReactionListPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n 'ownReactionTypes' | 'handleReaction' | 'setOverlay'\n> & {\n Icon: React.FC<IconProps>;\n index: number;\n numberOfReactions: number;\n showScreen: Animated.SharedValue<number>;\n type: string;\n};\n\nexport const ReactionButton = <\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 DefaultUserType = DefaultUserType,\n>(\n props: ReactionButtonProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n handleReaction,\n Icon,\n index,\n numberOfReactions,\n ownReactionTypes,\n setOverlay,\n showScreen,\n type,\n } = props;\n const {\n theme: {\n colors: { accent_blue, grey },\n overlay: {\n reactionsList: { reaction, reactionSize },\n },\n },\n } = useTheme();\n const selected = ownReactionTypes.includes(type);\n const animationScale = useSharedValue(0);\n const hasShown = useSharedValue(0);\n const scale = useSharedValue(1);\n const selectedOpacity = useSharedValue(selected ? 1 : 0);\n\n const onTap = useAnimatedGestureHandler<TapGestureHandlerStateChangeEvent>(\n {\n onEnd: () => {\n runOnJS(triggerHaptic)('impactLight');\n selectedOpacity.value = withTiming(selected ? 0 : 1, { duration: 250 }, () => {\n if (handleReaction) {\n runOnJS(handleReaction)(type);\n }\n runOnJS(setOverlay)('none');\n });\n },\n onFinish: () => {\n cancelAnimation(scale);\n scale.value = withTiming(1, { duration: 100 });\n },\n onStart: () => {\n cancelAnimation(scale);\n scale.value = withTiming(1.5, { duration: 100 });\n },\n },\n [handleReaction, selected, setOverlay, type],\n );\n\n useAnimatedReaction(\n () => {\n if (showScreen.value > 0.8 && hasShown.value === 0) {\n return 1;\n }\n return 0;\n },\n (result) => {\n if (hasShown.value === 0 && result !== 0) {\n hasShown.value = 1;\n animationScale.value = withSequence(\n withDelay(60 * (numberOfReactions - (index + 1)), withTiming(0.1, { duration: 50 })),\n withTiming(1.5, { duration: 250 }),\n withTiming(1, { duration: 250 }),\n );\n }\n },\n [index, numberOfReactions],\n );\n\n const iconStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n scale: animationScale.value,\n },\n {\n scale: scale.value,\n },\n ],\n }),\n [],\n );\n\n const selectedStyle = useAnimatedStyle<ViewStyle>(() => ({\n opacity: selectedOpacity.value,\n }));\n\n return (\n <TapGestureHandler\n hitSlop={{\n bottom:\n Number(reaction.paddingVertical || 0) ||\n Number(reaction.paddingBottom || 0) ||\n styles.reactionList.paddingVertical,\n left:\n (Number(reaction.paddingHorizontal || 0) ||\n Number(reaction.paddingLeft || 0) ||\n styles.notLastReaction.marginRight) / 2,\n right:\n (Number(reaction.paddingHorizontal || 0) ||\n Number(reaction.paddingRight || 0) ||\n styles.notLastReaction.marginRight) / 2,\n top:\n Number(reaction.paddingVertical || 0) ||\n Number(reaction.paddingTop || 0) ||\n styles.reactionList.paddingVertical,\n }}\n maxDurationMs={3000}\n onHandlerStateChange={onTap}\n >\n <Animated.View\n style={[index !== numberOfReactions - 1 ? styles.notLastReaction : {}, reaction, iconStyle]}\n >\n <Icon height={reactionSize} pathFill={grey} width={reactionSize} />\n <Animated.View style={[styles.selectedIcon, selectedStyle]}>\n <Icon height={reactionSize} pathFill={accent_blue} width={reactionSize} />\n </Animated.View>\n </Animated.View>\n </TapGestureHandler>\n );\n};\n\nexport type OverlayReactionListPropsWithContext<\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 DefaultUserType = DefaultUserType,\n> = Pick<\n MessageOverlayData<At, Ch, Co, Ev, Me, Re, Us>,\n 'alignment' | 'handleReaction' | 'messagesContext'\n> &\n Pick<MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'supportedReactions'> &\n Pick<OverlayContextValue, 'setOverlay'> & {\n messageLayout: Animated.SharedValue<{\n x: number;\n y: number;\n }>;\n ownReactionTypes: string[];\n setReactionListHeight: React.Dispatch<React.SetStateAction<number>>;\n showScreen: Animated.SharedValue<number>;\n fill?: FillProps['fill'];\n };\n\nconst OverlayReactionListWithContext = <\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 DefaultUserType = DefaultUserType,\n>(\n props: OverlayReactionListPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n alignment,\n fill,\n handleReaction,\n messageLayout,\n ownReactionTypes,\n setReactionListHeight,\n showScreen,\n setOverlay,\n supportedReactions = reactionData,\n } = props;\n\n const {\n theme: {\n colors: { white_snow },\n overlay: {\n padding: screenPadding,\n reactionsList: { radius, reactionList },\n },\n },\n } = useTheme();\n\n const reactionListHeight = useSharedValue(0);\n const reactionBubbleWidth = useSharedValue(0);\n const reactionListLayout = useSharedValue({\n height: 0,\n width: 0,\n });\n\n const { width } = useWindowDimensions();\n\n const animatedStyle = useAnimatedStyle<ViewStyle>(() => {\n const borderRadius = reactionList.borderRadius || styles.reactionList.borderRadius;\n const insideLeftBound =\n messageLayout.value.x - reactionListLayout.value.width + borderRadius > screenPadding;\n const insideRightBound = messageLayout.value.x + borderRadius < width - screenPadding;\n const left = !insideLeftBound\n ? screenPadding\n : !insideRightBound\n ? width - screenPadding - reactionListLayout.value.width\n : messageLayout.value.x - reactionListLayout.value.width + borderRadius;\n const top = messageLayout.value.y - reactionListLayout.value.height - radius * 2;\n\n return {\n left,\n top,\n };\n });\n\n const animatedBigCircleProps = useAnimatedProps<CircleProps>(() => ({\n cx: messageLayout.value.x - radius * 3,\n cy: messageLayout.value.y - radius * 3,\n r: radius * 2,\n }));\n\n const animateSmallCircleProps = useAnimatedProps<CircleProps>(() => ({\n cx: messageLayout.value.x - radius,\n cy: messageLayout.value.y,\n r: radius,\n }));\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [-reactionListHeight.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [\n alignment === 'left' ? -reactionBubbleWidth.value / 2 : reactionBubbleWidth.value / 2,\n 0,\n ],\n ),\n },\n {\n scale: interpolate(showScreen.value, [0, 0.8, 1], [0, 0, 1]),\n },\n ],\n }),\n [alignment],\n );\n\n const numberOfReactions = supportedReactions.length;\n\n return (\n <View style={StyleSheet.absoluteFill} testID='overlay-reaction-list'>\n <Animated.View\n onLayout={({ nativeEvent: { layout } }) => {\n reactionBubbleWidth.value = layout.width;\n }}\n style={showScreenStyle}\n >\n <Svg>\n <AnimatedCircle animatedProps={animatedBigCircleProps} fill={fill || white_snow} />\n <AnimatedCircle animatedProps={animateSmallCircleProps} fill={fill || white_snow} />\n </Svg>\n <Animated.View\n onLayout={({\n nativeEvent: {\n layout: { height, width: layoutWidth },\n },\n }) => {\n reactionListLayout.value = { height, width: layoutWidth };\n reactionListHeight.value = height;\n setReactionListHeight(height);\n }}\n style={[\n styles.reactionList,\n { backgroundColor: white_snow },\n animatedStyle,\n reactionList,\n ]}\n >\n {supportedReactions?.map(({ Icon, type }, index) => (\n <ReactionButton<At, Ch, Co, Ev, Me, Re, Us>\n handleReaction={handleReaction}\n Icon={Icon}\n index={index}\n key={`${type}_${index}`}\n numberOfReactions={numberOfReactions}\n ownReactionTypes={ownReactionTypes}\n setOverlay={setOverlay}\n showScreen={showScreen}\n type={type}\n />\n ))}\n </Animated.View>\n </Animated.View>\n </View>\n );\n};\n\nconst areEqual = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n prevProps: OverlayReactionListPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: OverlayReactionListPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { alignment: prevAlignment, ownReactionTypes: prevOwnReactionTypes } = prevProps;\n const { alignment: nextAlignment, ownReactionTypes: nextOwnReactionTypes } = nextProps;\n\n const alignmentEqual = prevAlignment === nextAlignment;\n if (!alignmentEqual) return false;\n\n const ownReactionTypesEqual = prevOwnReactionTypes.length === nextOwnReactionTypes.length;\n if (!ownReactionTypesEqual) return false;\n\n return true;\n};\n\nconst MemoizedOverlayReactionList = React.memo(\n OverlayReactionListWithContext,\n areEqual,\n) as typeof OverlayReactionListWithContext;\n\nexport type OverlayReactionListProps<\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 DefaultUserType = DefaultUserType,\n> = Omit<\n OverlayReactionListPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n 'setOverlay' | 'supportedReactions'\n> &\n Partial<\n Pick<\n OverlayReactionListPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n 'setOverlay' | 'supportedReactions'\n >\n >;\n\n/**\n * OverlayReactionList - A high level component which implements all the logic required for a message overlay reaction list\n */\nexport const OverlayReactionList = <\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 DefaultUserType = DefaultUserType,\n>(\n props: OverlayReactionListProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { data } = useMessageOverlayContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { supportedReactions } = useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { setOverlay } = useOverlayContext();\n\n return (\n <MemoizedOverlayReactionList\n {...(data || {})}\n {...{ setOverlay, supportedReactions }}\n {...props}\n />\n );\n};\n\nOverlayReactionList.displayName = 'OverlayReactionList{overlay{reactionList}}';\n"]}
@@ -11,18 +11,16 @@ var _react = _interopRequireDefault(require("react"));
11
11
 
12
12
  var _reactNative = require("react-native");
13
13
 
14
- var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
15
-
16
14
  var _reactNativeGestureHandler = require("react-native-gesture-handler");
17
15
 
16
+ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
17
+
18
18
  var _reactNativeSvg = _interopRequireWildcard(require("react-native-svg"));
19
19
 
20
- var _Avatar = require("../Avatar/Avatar");
20
+ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
21
21
 
22
22
  var _icons = require("../../icons");
23
23
 
24
- var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
25
-
26
24
  var _this = this,
27
25
  _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/MessageOverlay/OverlayReactions.tsx";
28
26
 
@@ -116,7 +114,7 @@ var ReactionIcon = function ReactionIcon(_ref) {
116
114
  __self: _this,
117
115
  __source: {
118
116
  fileName: _jsxFileName,
119
- lineNumber: 120,
117
+ lineNumber: 137,
120
118
  columnNumber: 10
121
119
  }
122
120
  });
@@ -128,7 +126,8 @@ var OverlayReactions = function OverlayReactions(props) {
128
126
  _props$supportedReact = props.supportedReactions,
129
127
  supportedReactions = _props$supportedReact === void 0 ? reactionData : _props$supportedReact,
130
128
  showScreen = props.showScreen,
131
- title = props.title;
129
+ title = props.title,
130
+ OverlayReactionsAvatar = props.OverlayReactionsAvatar;
132
131
  var layoutHeight = (0, _reactNativeReanimated.useSharedValue)(0);
133
132
  var layoutWidth = (0, _reactNativeReanimated.useSharedValue)(0);
134
133
 
@@ -164,12 +163,11 @@ var OverlayReactions = function OverlayReactions(props) {
164
163
  var maxHeight = Math.floor(height - overlayPadding * 2 - ((Number(flatListContainer.paddingVertical || 0) || styles.flatListContainer.paddingVertical) + (Number(avatarContainer.padding || 0) || styles.avatarContainer.padding)) * 2);
165
164
 
166
165
  var renderItem = function renderItem(_ref2) {
167
- var _ref2$item = _ref2.item,
168
- _ref2$item$alignment = _ref2$item.alignment,
169
- alignment = _ref2$item$alignment === void 0 ? 'left' : _ref2$item$alignment,
170
- image = _ref2$item.image,
171
- name = _ref2$item.name,
172
- type = _ref2$item.type;
166
+ var item = _ref2.item;
167
+ var _item$alignment = item.alignment,
168
+ alignment = _item$alignment === void 0 ? 'left' : _item$alignment,
169
+ name = item.name,
170
+ type = item.type;
173
171
  var x = avatarSize / 2 - avatarSize / (radius * 4) * (alignment === 'left' ? 1 : -1);
174
172
  var y = avatarSize - radius;
175
173
  var left = alignment === 'left' ? x - (Number(reactionBubbleBackground.width || 0) || styles.reactionBubbleBackground.width) + radius : x - radius;
@@ -179,7 +177,7 @@ var OverlayReactions = function OverlayReactions(props) {
179
177
  __self: _this,
180
178
  __source: {
181
179
  fileName: _jsxFileName,
182
- lineNumber: 203,
180
+ lineNumber: 222,
183
181
  columnNumber: 7
184
182
  }
185
183
  }, _react["default"].createElement(_reactNative.View, {
@@ -187,17 +185,16 @@ var OverlayReactions = function OverlayReactions(props) {
187
185
  __self: _this,
188
186
  __source: {
189
187
  fileName: _jsxFileName,
190
- lineNumber: 204,
188
+ lineNumber: 223,
191
189
  columnNumber: 9
192
190
  }
193
- }, _react["default"].createElement(_Avatar.Avatar, {
194
- image: image,
195
- name: name,
191
+ }, _react["default"].createElement(OverlayReactionsAvatar, {
192
+ reaction: item,
196
193
  size: avatarSize,
197
194
  __self: _this,
198
195
  __source: {
199
196
  fileName: _jsxFileName,
200
- lineNumber: 205,
197
+ lineNumber: 224,
201
198
  columnNumber: 11
202
199
  }
203
200
  }), _react["default"].createElement(_reactNative.View, {
@@ -205,14 +202,14 @@ var OverlayReactions = function OverlayReactions(props) {
205
202
  __self: _this,
206
203
  __source: {
207
204
  fileName: _jsxFileName,
208
- lineNumber: 206,
205
+ lineNumber: 225,
209
206
  columnNumber: 11
210
207
  }
211
208
  }, _react["default"].createElement(_reactNativeSvg["default"], {
212
209
  __self: _this,
213
210
  __source: {
214
211
  fileName: _jsxFileName,
215
- lineNumber: 207,
212
+ lineNumber: 226,
216
213
  columnNumber: 13
217
214
  }
218
215
  }, _react["default"].createElement(_reactNativeSvg.Circle, {
@@ -225,7 +222,7 @@ var OverlayReactions = function OverlayReactions(props) {
225
222
  __self: _this,
226
223
  __source: {
227
224
  fileName: _jsxFileName,
228
- lineNumber: 208,
225
+ lineNumber: 227,
229
226
  columnNumber: 15
230
227
  }
231
228
  }), _react["default"].createElement(_reactNativeSvg.Circle, {
@@ -238,7 +235,7 @@ var OverlayReactions = function OverlayReactions(props) {
238
235
  __self: _this,
239
236
  __source: {
240
237
  fileName: _jsxFileName,
241
- lineNumber: 216,
238
+ lineNumber: 235,
242
239
  columnNumber: 15
243
240
  }
244
241
  })), _react["default"].createElement(_reactNative.View, {
@@ -252,7 +249,7 @@ var OverlayReactions = function OverlayReactions(props) {
252
249
  __self: _this,
253
250
  __source: {
254
251
  fileName: _jsxFileName,
255
- lineNumber: 225,
252
+ lineNumber: 244,
256
253
  columnNumber: 13
257
254
  }
258
255
  }), _react["default"].createElement(_reactNative.View, {
@@ -260,14 +257,14 @@ var OverlayReactions = function OverlayReactions(props) {
260
257
  __self: _this,
261
258
  __source: {
262
259
  fileName: _jsxFileName,
263
- lineNumber: 238,
260
+ lineNumber: 257,
264
261
  columnNumber: 13
265
262
  }
266
263
  }, _react["default"].createElement(_reactNativeSvg["default"], {
267
264
  __self: _this,
268
265
  __source: {
269
266
  fileName: _jsxFileName,
270
- lineNumber: 239,
267
+ lineNumber: 258,
271
268
  columnNumber: 15
272
269
  }
273
270
  }, _react["default"].createElement(_reactNativeSvg.Circle, {
@@ -278,7 +275,7 @@ var OverlayReactions = function OverlayReactions(props) {
278
275
  __self: _this,
279
276
  __source: {
280
277
  fileName: _jsxFileName,
281
- lineNumber: 240,
278
+ lineNumber: 259,
282
279
  columnNumber: 17
283
280
  }
284
281
  }))), _react["default"].createElement(_reactNative.View, {
@@ -292,7 +289,7 @@ var OverlayReactions = function OverlayReactions(props) {
292
289
  __self: _this,
293
290
  __source: {
294
291
  fileName: _jsxFileName,
295
- lineNumber: 248,
292
+ lineNumber: 267,
296
293
  columnNumber: 13
297
294
  }
298
295
  }, _react["default"].createElement(ReactionIcon, {
@@ -303,7 +300,7 @@ var OverlayReactions = function OverlayReactions(props) {
303
300
  __self: _this,
304
301
  __source: {
305
302
  fileName: _jsxFileName,
306
- lineNumber: 265,
303
+ lineNumber: 284,
307
304
  columnNumber: 15
308
305
  }
309
306
  })))), _react["default"].createElement(_reactNative.View, {
@@ -311,7 +308,7 @@ var OverlayReactions = function OverlayReactions(props) {
311
308
  __self: _this,
312
309
  __source: {
313
310
  fileName: _jsxFileName,
314
- lineNumber: 274,
311
+ lineNumber: 293,
315
312
  columnNumber: 9
316
313
  }
317
314
  }, _react["default"].createElement(_reactNative.Text, {
@@ -321,7 +318,7 @@ var OverlayReactions = function OverlayReactions(props) {
321
318
  __self: _this,
322
319
  __source: {
323
320
  fileName: _jsxFileName,
324
- lineNumber: 275,
321
+ lineNumber: 294,
325
322
  columnNumber: 11
326
323
  }
327
324
  }, name)));
@@ -350,7 +347,7 @@ var OverlayReactions = function OverlayReactions(props) {
350
347
  __self: _this,
351
348
  __source: {
352
349
  fileName: _jsxFileName,
353
- lineNumber: 303,
350
+ lineNumber: 322,
354
351
  columnNumber: 5
355
352
  }
356
353
  }, _react["default"].createElement(_reactNative.Text, {
@@ -360,7 +357,7 @@ var OverlayReactions = function OverlayReactions(props) {
360
357
  __self: _this,
361
358
  __source: {
362
359
  fileName: _jsxFileName,
363
- lineNumber: 310,
360
+ lineNumber: 329,
364
361
  columnNumber: 7
365
362
  }
366
363
  }, title), _react["default"].createElement(_reactNativeGestureHandler.FlatList, {
@@ -378,7 +375,7 @@ var OverlayReactions = function OverlayReactions(props) {
378
375
  __self: _this,
379
376
  __source: {
380
377
  fileName: _jsxFileName,
381
- lineNumber: 311,
378
+ lineNumber: 330,
382
379
  columnNumber: 7
383
380
  }
384
381
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["OverlayReactions.tsx"],"names":["styles","StyleSheet","create","avatarContainer","padding","avatarInnerContainer","alignSelf","avatarName","flex","fontSize","fontWeight","paddingTop","textAlign","avatarNameContainer","alignItems","flexDirection","flexGrow","container","borderRadius","marginTop","width","flatListContainer","paddingHorizontal","paddingVertical","flatListContentContainer","paddingBottom","reactionBubble","justifyContent","position","reactionBubbleBackground","height","title","reactionData","Icon","LoveReaction","type","ThumbsUpReaction","ThumbsDownReaction","LOLReaction","WutReaction","ReactionIcon","pathFill","size","supportedReactions","find","reaction","Unknown","OverlayReactions","props","overlayAlignment","alignment","reactions","showScreen","layoutHeight","layoutWidth","theme","colors","accent_blue","black","grey_gainsboro","white","overlay","overlayPadding","avatarSize","radius","titleStyle","supportedReactionTypes","map","supportedReaction","filteredReactions","filter","includes","numColumns","Math","floor","Number","maxHeight","renderItem","item","image","name","x","y","left","top","absoluteFill","backgroundColor","borderColor","borderWidth","color","showScreenStyle","transform","translateY","value","translateX","scale","layout","nativeEvent","index","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, useWindowDimensions, View, ViewStyle } from 'react-native';\nimport Animated, { interpolate, useAnimatedStyle, useSharedValue } from 'react-native-reanimated';\nimport { FlatList } from 'react-native-gesture-handler';\nimport Svg, { Circle } from 'react-native-svg';\n\nimport { Avatar } from '../Avatar/Avatar';\n\nimport {\n LOLReaction,\n LoveReaction,\n ThumbsDownReaction,\n ThumbsUpReaction,\n Unknown,\n WutReaction,\n} from '../../icons';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport type { Alignment } from '../../contexts/messageContext/MessageContext';\nimport type { ReactionData } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n avatarContainer: {\n padding: 8,\n },\n avatarInnerContainer: {\n alignSelf: 'center',\n },\n avatarName: {\n flex: 1,\n fontSize: 12,\n fontWeight: '700',\n paddingTop: 6,\n textAlign: 'center',\n },\n avatarNameContainer: {\n alignItems: 'center',\n flexDirection: 'row',\n flexGrow: 1,\n },\n container: {\n alignItems: 'center',\n borderRadius: 16,\n marginTop: 8,\n width: '100%',\n },\n flatListContainer: {\n paddingHorizontal: 12,\n paddingVertical: 8,\n },\n flatListContentContainer: {\n alignItems: 'center',\n paddingBottom: 12,\n },\n reactionBubble: {\n alignItems: 'center',\n borderRadius: 24,\n justifyContent: 'center',\n position: 'absolute',\n },\n reactionBubbleBackground: {\n borderRadius: 24,\n height: 24,\n position: 'absolute',\n width: 24,\n },\n title: {\n fontSize: 16,\n fontWeight: '700',\n paddingTop: 16,\n },\n});\n\nconst reactionData: ReactionData[] = [\n {\n Icon: LoveReaction,\n type: 'love',\n },\n {\n Icon: ThumbsUpReaction,\n type: 'like',\n },\n {\n Icon: ThumbsDownReaction,\n type: 'sad',\n },\n {\n Icon: LOLReaction,\n type: 'haha',\n },\n {\n Icon: WutReaction,\n type: 'wow',\n },\n];\n\nexport type Reaction = {\n alignment: Alignment;\n name: string;\n type: string;\n image?: string;\n};\n\nexport type OverlayReactionsProps = {\n reactions: Reaction[];\n showScreen: Animated.SharedValue<number>;\n title: string;\n alignment?: Alignment;\n supportedReactions?: ReactionData[];\n};\n\nconst ReactionIcon: React.FC<\n Pick<Reaction, 'type'> & {\n pathFill: string;\n size: number;\n supportedReactions: ReactionData[];\n }\n> = ({ pathFill, size, supportedReactions, type }) => {\n const Icon = supportedReactions.find((reaction) => reaction.type === type)?.Icon || Unknown;\n return <Icon height={size} pathFill={pathFill} width={size} />;\n};\n\n/**\n * OverlayReactions - A high level component which implements all the logic required for message overlay reactions\n */\nexport const OverlayReactions: React.FC<OverlayReactionsProps> = (props) => {\n const {\n alignment: overlayAlignment,\n reactions,\n supportedReactions = reactionData,\n showScreen,\n title,\n } = props;\n const layoutHeight = useSharedValue(0);\n const layoutWidth = useSharedValue(0);\n\n const {\n theme: {\n colors: { accent_blue, black, grey_gainsboro, white },\n overlay: {\n padding: overlayPadding,\n reactions: {\n avatarContainer,\n avatarName,\n avatarSize,\n container,\n flatListContainer,\n radius,\n reactionBubble,\n reactionBubbleBackground,\n title: titleStyle,\n },\n },\n },\n } = useTheme();\n\n const width = useWindowDimensions().width;\n const height = useWindowDimensions().height;\n\n const supportedReactionTypes = supportedReactions.map(\n (supportedReaction) => supportedReaction.type,\n );\n\n const filteredReactions = reactions.filter((reaction) =>\n supportedReactionTypes.includes(reaction.type),\n );\n\n const numColumns = Math.floor(\n (width -\n overlayPadding * 2 -\n ((Number(flatListContainer.paddingHorizontal || 0) ||\n styles.flatListContainer.paddingHorizontal) +\n (Number(avatarContainer.padding || 0) || styles.avatarContainer.padding)) *\n 2) /\n (avatarSize + (Number(avatarContainer.padding || 0) || styles.avatarContainer.padding) * 2),\n );\n\n const maxHeight = Math.floor(\n height -\n overlayPadding * 2 -\n ((Number(flatListContainer.paddingVertical || 0) ||\n styles.flatListContainer.paddingVertical) +\n (Number(avatarContainer.padding || 0) || styles.avatarContainer.padding)) *\n 2,\n );\n\n const renderItem = ({ item: { alignment = 'left', image, name, type } }: { item: Reaction }) => {\n const x = avatarSize / 2 - (avatarSize / (radius * 4)) * (alignment === 'left' ? 1 : -1);\n const y = avatarSize - radius;\n\n const left =\n alignment === 'left'\n ? x -\n (Number(reactionBubbleBackground.width || 0) || styles.reactionBubbleBackground.width) +\n radius\n : x - radius;\n const top =\n y -\n radius -\n (Number(reactionBubbleBackground.height || 0) || styles.reactionBubbleBackground.height);\n\n return (\n <View style={[styles.avatarContainer, avatarContainer]}>\n <View style={styles.avatarInnerContainer}>\n <Avatar image={image} name={name} size={avatarSize} />\n <View style={[StyleSheet.absoluteFill]}>\n <Svg>\n <Circle\n cx={x - (radius * 2 - radius / 4) * (alignment === 'left' ? 1 : -1)}\n cy={y - radius * 2 - radius / 4}\n fill={alignment === 'left' ? grey_gainsboro : white}\n r={radius * 2}\n stroke={alignment === 'left' ? white : grey_gainsboro}\n strokeWidth={radius / 2}\n />\n <Circle\n cx={x}\n cy={y}\n fill={alignment === 'left' ? grey_gainsboro : white}\n r={radius}\n stroke={alignment === 'left' ? white : grey_gainsboro}\n strokeWidth={radius / 2}\n />\n </Svg>\n <View\n style={[\n styles.reactionBubbleBackground,\n {\n backgroundColor: alignment === 'left' ? grey_gainsboro : white,\n borderColor: alignment === 'left' ? white : grey_gainsboro,\n borderWidth: radius / 2,\n left,\n top,\n },\n reactionBubbleBackground,\n ]}\n />\n <View style={[StyleSheet.absoluteFill]}>\n <Svg>\n <Circle\n cx={x - (radius * 2 - radius / 4) * (alignment === 'left' ? 1 : -1)}\n cy={y - radius * 2 - radius / 4}\n fill={alignment === 'left' ? grey_gainsboro : white}\n r={radius * 2 - radius / 2}\n />\n </Svg>\n </View>\n <View\n style={[\n styles.reactionBubble,\n {\n backgroundColor: alignment === 'left' ? grey_gainsboro : white,\n height:\n (reactionBubble.borderRadius || styles.reactionBubble.borderRadius) -\n radius / 2,\n left,\n top,\n width:\n (reactionBubble.borderRadius || styles.reactionBubble.borderRadius) -\n radius / 2,\n },\n reactionBubble,\n ]}\n >\n <ReactionIcon\n pathFill={accent_blue}\n size={(reactionBubble.borderRadius || styles.reactionBubble.borderRadius) / 2}\n supportedReactions={supportedReactions}\n type={type}\n />\n </View>\n </View>\n </View>\n <View style={styles.avatarNameContainer}>\n <Text style={[styles.avatarName, { color: black }, avatarName]}>{name}</Text>\n </View>\n </View>\n );\n };\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [-layoutHeight.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [overlayAlignment === 'left' ? -layoutWidth.value / 2 : layoutWidth.value / 2, 0],\n ),\n },\n {\n scale: showScreen.value,\n },\n ],\n }),\n [overlayAlignment],\n );\n\n return (\n <Animated.View\n onLayout={({ nativeEvent: { layout } }) => {\n layoutWidth.value = layout.width;\n layoutHeight.value = layout.height;\n }}\n style={[styles.container, { backgroundColor: white }, container, showScreenStyle]}\n >\n <Text style={[styles.title, { color: black }, titleStyle]}>{title}</Text>\n <FlatList\n contentContainerStyle={styles.flatListContentContainer}\n data={filteredReactions}\n keyExtractor={({ name }, index) => `${name}_${index}`}\n numColumns={numColumns}\n renderItem={renderItem}\n style={[styles.flatListContainer, flatListContainer, { maxHeight: maxHeight / numColumns }]}\n />\n </Animated.View>\n );\n};\n\nOverlayReactions.displayName = 'OverlayReactions{overlay{reactions}}';\n"]}
1
+ {"version":3,"sources":["OverlayReactions.tsx"],"names":["styles","StyleSheet","create","avatarContainer","padding","avatarInnerContainer","alignSelf","avatarName","flex","fontSize","fontWeight","paddingTop","textAlign","avatarNameContainer","alignItems","flexDirection","flexGrow","container","borderRadius","marginTop","width","flatListContainer","paddingHorizontal","paddingVertical","flatListContentContainer","paddingBottom","reactionBubble","justifyContent","position","reactionBubbleBackground","height","title","reactionData","Icon","LoveReaction","type","ThumbsUpReaction","ThumbsDownReaction","LOLReaction","WutReaction","ReactionIcon","pathFill","size","supportedReactions","find","reaction","Unknown","OverlayReactions","props","overlayAlignment","alignment","reactions","showScreen","OverlayReactionsAvatar","layoutHeight","layoutWidth","theme","colors","accent_blue","black","grey_gainsboro","white","overlay","overlayPadding","avatarSize","radius","titleStyle","supportedReactionTypes","map","supportedReaction","filteredReactions","filter","includes","numColumns","Math","floor","Number","maxHeight","renderItem","item","name","x","y","left","top","absoluteFill","backgroundColor","borderColor","borderWidth","color","showScreenStyle","transform","translateY","value","translateX","scale","layout","nativeEvent","index","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, useWindowDimensions, View, ViewStyle } from 'react-native';\nimport { FlatList } from 'react-native-gesture-handler';\nimport Animated, { interpolate, useAnimatedStyle, useSharedValue } from 'react-native-reanimated';\nimport Svg, { Circle } from 'react-native-svg';\n\nimport type { Alignment } from '../../contexts/messageContext/MessageContext';\nimport type { MessageOverlayContextValue } from '../../contexts/messageOverlayContext/MessageOverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport {\n LOLReaction,\n LoveReaction,\n ThumbsDownReaction,\n ThumbsUpReaction,\n Unknown,\n WutReaction,\n} from '../../icons';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\nimport type { ReactionData } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n avatarContainer: {\n padding: 8,\n },\n avatarInnerContainer: {\n alignSelf: 'center',\n },\n avatarName: {\n flex: 1,\n fontSize: 12,\n fontWeight: '700',\n paddingTop: 6,\n textAlign: 'center',\n },\n avatarNameContainer: {\n alignItems: 'center',\n flexDirection: 'row',\n flexGrow: 1,\n },\n container: {\n alignItems: 'center',\n borderRadius: 16,\n marginTop: 8,\n width: '100%',\n },\n flatListContainer: {\n paddingHorizontal: 12,\n paddingVertical: 8,\n },\n flatListContentContainer: {\n alignItems: 'center',\n paddingBottom: 12,\n },\n reactionBubble: {\n alignItems: 'center',\n borderRadius: 24,\n justifyContent: 'center',\n position: 'absolute',\n },\n reactionBubbleBackground: {\n borderRadius: 24,\n height: 24,\n position: 'absolute',\n width: 24,\n },\n title: {\n fontSize: 16,\n fontWeight: '700',\n paddingTop: 16,\n },\n});\n\nconst reactionData: ReactionData[] = [\n {\n Icon: LoveReaction,\n type: 'love',\n },\n {\n Icon: ThumbsUpReaction,\n type: 'like',\n },\n {\n Icon: ThumbsDownReaction,\n type: 'sad',\n },\n {\n Icon: LOLReaction,\n type: 'haha',\n },\n {\n Icon: WutReaction,\n type: 'wow',\n },\n];\n\nexport type Reaction = {\n alignment: Alignment;\n name: string;\n type: string;\n image?: string;\n};\n\nexport type OverlayReactionsProps<\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 DefaultUserType = DefaultUserType,\n> = Pick<MessageOverlayContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'OverlayReactionsAvatar'> & {\n reactions: Reaction[];\n showScreen: Animated.SharedValue<number>;\n title: string;\n alignment?: Alignment;\n supportedReactions?: ReactionData[];\n};\n\nconst ReactionIcon: React.FC<\n Pick<Reaction, 'type'> & {\n pathFill: string;\n size: number;\n supportedReactions: ReactionData[];\n }\n> = ({ pathFill, size, supportedReactions, type }) => {\n const Icon = supportedReactions.find((reaction) => reaction.type === type)?.Icon || Unknown;\n return <Icon height={size} pathFill={pathFill} width={size} />;\n};\n\n/**\n * OverlayReactions - A high level component which implements all the logic required for message overlay reactions\n */\nexport const OverlayReactions: React.FC<OverlayReactionsProps> = (props) => {\n const {\n alignment: overlayAlignment,\n reactions,\n supportedReactions = reactionData,\n showScreen,\n title,\n OverlayReactionsAvatar,\n } = props;\n const layoutHeight = useSharedValue(0);\n const layoutWidth = useSharedValue(0);\n\n const {\n theme: {\n colors: { accent_blue, black, grey_gainsboro, white },\n overlay: {\n padding: overlayPadding,\n reactions: {\n avatarContainer,\n avatarName,\n avatarSize,\n container,\n flatListContainer,\n radius,\n reactionBubble,\n reactionBubbleBackground,\n title: titleStyle,\n },\n },\n },\n } = useTheme();\n\n const width = useWindowDimensions().width;\n const height = useWindowDimensions().height;\n\n const supportedReactionTypes = supportedReactions.map(\n (supportedReaction) => supportedReaction.type,\n );\n\n const filteredReactions = reactions.filter((reaction) =>\n supportedReactionTypes.includes(reaction.type),\n );\n\n const numColumns = Math.floor(\n (width -\n overlayPadding * 2 -\n ((Number(flatListContainer.paddingHorizontal || 0) ||\n styles.flatListContainer.paddingHorizontal) +\n (Number(avatarContainer.padding || 0) || styles.avatarContainer.padding)) *\n 2) /\n (avatarSize + (Number(avatarContainer.padding || 0) || styles.avatarContainer.padding) * 2),\n );\n\n const maxHeight = Math.floor(\n height -\n overlayPadding * 2 -\n ((Number(flatListContainer.paddingVertical || 0) ||\n styles.flatListContainer.paddingVertical) +\n (Number(avatarContainer.padding || 0) || styles.avatarContainer.padding)) *\n 2,\n );\n\n const renderItem = ({ item }: { item: Reaction }) => {\n const { alignment = 'left', name, type } = item;\n const x = avatarSize / 2 - (avatarSize / (radius * 4)) * (alignment === 'left' ? 1 : -1);\n const y = avatarSize - radius;\n\n const left =\n alignment === 'left'\n ? x -\n (Number(reactionBubbleBackground.width || 0) || styles.reactionBubbleBackground.width) +\n radius\n : x - radius;\n const top =\n y -\n radius -\n (Number(reactionBubbleBackground.height || 0) || styles.reactionBubbleBackground.height);\n\n return (\n <View style={[styles.avatarContainer, avatarContainer]}>\n <View style={styles.avatarInnerContainer}>\n <OverlayReactionsAvatar reaction={item} size={avatarSize} />\n <View style={[StyleSheet.absoluteFill]}>\n <Svg>\n <Circle\n cx={x - (radius * 2 - radius / 4) * (alignment === 'left' ? 1 : -1)}\n cy={y - radius * 2 - radius / 4}\n fill={alignment === 'left' ? grey_gainsboro : white}\n r={radius * 2}\n stroke={alignment === 'left' ? white : grey_gainsboro}\n strokeWidth={radius / 2}\n />\n <Circle\n cx={x}\n cy={y}\n fill={alignment === 'left' ? grey_gainsboro : white}\n r={radius}\n stroke={alignment === 'left' ? white : grey_gainsboro}\n strokeWidth={radius / 2}\n />\n </Svg>\n <View\n style={[\n styles.reactionBubbleBackground,\n {\n backgroundColor: alignment === 'left' ? grey_gainsboro : white,\n borderColor: alignment === 'left' ? white : grey_gainsboro,\n borderWidth: radius / 2,\n left,\n top,\n },\n reactionBubbleBackground,\n ]}\n />\n <View style={[StyleSheet.absoluteFill]}>\n <Svg>\n <Circle\n cx={x - (radius * 2 - radius / 4) * (alignment === 'left' ? 1 : -1)}\n cy={y - radius * 2 - radius / 4}\n fill={alignment === 'left' ? grey_gainsboro : white}\n r={radius * 2 - radius / 2}\n />\n </Svg>\n </View>\n <View\n style={[\n styles.reactionBubble,\n {\n backgroundColor: alignment === 'left' ? grey_gainsboro : white,\n height:\n (reactionBubble.borderRadius || styles.reactionBubble.borderRadius) -\n radius / 2,\n left,\n top,\n width:\n (reactionBubble.borderRadius || styles.reactionBubble.borderRadius) -\n radius / 2,\n },\n reactionBubble,\n ]}\n >\n <ReactionIcon\n pathFill={accent_blue}\n size={(reactionBubble.borderRadius || styles.reactionBubble.borderRadius) / 2}\n supportedReactions={supportedReactions}\n type={type}\n />\n </View>\n </View>\n </View>\n <View style={styles.avatarNameContainer}>\n <Text style={[styles.avatarName, { color: black }, avatarName]}>{name}</Text>\n </View>\n </View>\n );\n };\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [-layoutHeight.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [overlayAlignment === 'left' ? -layoutWidth.value / 2 : layoutWidth.value / 2, 0],\n ),\n },\n {\n scale: showScreen.value,\n },\n ],\n }),\n [overlayAlignment],\n );\n\n return (\n <Animated.View\n onLayout={({ nativeEvent: { layout } }) => {\n layoutWidth.value = layout.width;\n layoutHeight.value = layout.height;\n }}\n style={[styles.container, { backgroundColor: white }, container, showScreenStyle]}\n >\n <Text style={[styles.title, { color: black }, titleStyle]}>{title}</Text>\n <FlatList\n contentContainerStyle={styles.flatListContentContainer}\n data={filteredReactions}\n keyExtractor={({ name }, index) => `${name}_${index}`}\n numColumns={numColumns}\n renderItem={renderItem}\n style={[styles.flatListContainer, flatListContainer, { maxHeight: maxHeight / numColumns }]}\n />\n </Animated.View>\n );\n};\n\nOverlayReactions.displayName = 'OverlayReactions{overlay{reactions}}';\n"]}
@@ -0,0 +1,41 @@
1
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.OverlayReactionsAvatar = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
11
+
12
+ var _Avatar = require("../Avatar/Avatar");
13
+
14
+ var _this = this,
15
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/MessageOverlay/OverlayReactionsAvatar.tsx";
16
+
17
+ var OverlayReactionsAvatar = function OverlayReactionsAvatar(props) {
18
+ var _props$reaction = props.reaction,
19
+ image = _props$reaction.image,
20
+ name = _props$reaction.name,
21
+ size = props.size;
22
+
23
+ var _useTheme = (0, _ThemeContext.useTheme)(),
24
+ BASE_AVATAR_SIZE = _useTheme.theme.avatar.BASE_AVATAR_SIZE;
25
+
26
+ return _react["default"].createElement(_Avatar.Avatar, {
27
+ image: image,
28
+ name: name,
29
+ size: size || BASE_AVATAR_SIZE,
30
+ __self: _this,
31
+ __source: {
32
+ fileName: _jsxFileName,
33
+ lineNumber: 24,
34
+ columnNumber: 10
35
+ }
36
+ });
37
+ };
38
+
39
+ exports.OverlayReactionsAvatar = OverlayReactionsAvatar;
40
+ OverlayReactionsAvatar.displayName = 'OverlayReactionsAvatar{overlay{reactionsAvatar}}';
41
+ //# sourceMappingURL=OverlayReactionsAvatar.js.map