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

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