stream-chat-react-native-core 4.0.0 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -13
- package/lib/commonjs/components/Attachment/Attachment.js +17 -16
- package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
- package/lib/commonjs/components/Attachment/AttachmentActions.js +5 -5
- package/lib/commonjs/components/Attachment/AttachmentActions.js.map +1 -1
- package/lib/commonjs/components/Attachment/Card.js +19 -16
- package/lib/commonjs/components/Attachment/Card.js.map +1 -1
- package/lib/commonjs/components/Attachment/FileAttachment.js +9 -9
- package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
- package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +5 -5
- package/lib/commonjs/components/Attachment/FileAttachmentGroup.js.map +1 -1
- package/lib/commonjs/components/Attachment/FileIcon.js +1 -1
- package/lib/commonjs/components/Attachment/FileIcon.js.map +1 -1
- package/lib/commonjs/components/Attachment/Gallery.js +124 -122
- package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
- package/lib/commonjs/components/Attachment/Giphy.js +113 -149
- package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js +46 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/types.js +4 -0
- package/lib/commonjs/{styleguideComponents/Reanimated.js.map → components/Attachment/utils/buildGallery/types.js.map} +0 -0
- package/lib/commonjs/components/Attachment/utils/getAspectRatio.js +14 -0
- package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -0
- package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
- package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
- package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +10 -9
- package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerError.js +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js +12 -9
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/CameraSelectorIcon.js +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/FileSelectorIcon.js +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/ImageSelectorIcon.js +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +25 -49
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/{CommandsItem.js → AutoCompleteSuggestionCommandIcon.js} +21 -94
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -0
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +145 -0
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -0
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +248 -0
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -0
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +223 -0
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -0
- package/lib/commonjs/components/Avatar/Avatar.js +14 -8
- package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
- package/lib/commonjs/components/Avatar/GroupAvatar.js +11 -9
- package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
- package/lib/commonjs/components/Channel/Channel.js +304 -203
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +7 -5
- package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js +7 -5
- package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +13 -31
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +35 -0
- package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -0
- package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelList.js +7 -7
- package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +6 -5
- package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +7 -8
- package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +5 -4
- package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js +8 -5
- package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +18 -18
- package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
- package/lib/commonjs/components/ChannelList/Skeleton.js +15 -14
- package/lib/commonjs/components/ChannelList/Skeleton.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
- package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js +3 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
- package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
- package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js +2 -2
- package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +96 -63
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/commonjs/components/ChannelList/utils.js +1 -1
- package/lib/commonjs/components/ChannelList/utils.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +3 -3
- package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +5 -5
- package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +6 -6
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +50 -21
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +5 -5
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js +2 -2
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +3 -3
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js +16 -7
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js +2 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
- package/lib/commonjs/components/Chat/Chat.js +9 -5
- package/lib/commonjs/components/Chat/Chat.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useIsOnline.js +40 -31
- package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useMutedUsers.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/ImageGallery.js +91 -59
- package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +3 -3
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +13 -13
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +32 -17
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryOverlay.js +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +8 -8
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +6 -6
- package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
- package/lib/commonjs/components/Indicators/EmptyStateIndicator.js +1 -1
- package/lib/commonjs/components/Indicators/LoadingDot.js +1 -1
- package/lib/commonjs/components/Indicators/LoadingDots.js +1 -1
- package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js +1 -1
- package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js.map +1 -1
- package/lib/commonjs/components/Indicators/LoadingIndicator.js +10 -10
- package/lib/commonjs/components/Indicators/LoadingIndicator.js.map +1 -1
- package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js +21 -13
- package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
- package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +1 -1
- package/lib/commonjs/components/Message/Message.js +153 -855
- package/lib/commonjs/components/Message/Message.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +7 -7
- package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +42 -40
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +9 -7
- package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +35 -23
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +122 -0
- package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -0
- package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +27 -11
- package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +6 -6
- package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +32 -15
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +29 -25
- package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +8 -4
- package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +87 -114
- package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js +89 -0
- package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
- package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
- package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +208 -27
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js +240 -0
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js.map +1 -0
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +1 -5
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js +307 -0
- package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -0
- package/lib/commonjs/components/Message/hooks/useMessageActions.js +563 -0
- package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -0
- package/lib/commonjs/components/Message/utils/messageActions.js +17 -15
- package/lib/commonjs/components/Message/utils/messageActions.js.map +1 -1
- package/lib/commonjs/components/Message/utils/removeReservedFields.js.map +1 -1
- package/lib/commonjs/components/MessageInput/AttachButton.js +7 -5
- package/lib/commonjs/components/MessageInput/AttachButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/CommandsButton.js +4 -4
- package/lib/commonjs/components/MessageInput/CommandsButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/CooldownTimer.js +78 -0
- package/lib/commonjs/components/MessageInput/CooldownTimer.js.map +1 -0
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js +33 -28
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
- package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +10 -10
- package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
- package/lib/commonjs/components/MessageInput/InputButtons.js +18 -23
- package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
- package/lib/commonjs/components/MessageInput/MessageInput.js +94 -66
- package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +4 -4
- package/lib/commonjs/components/MessageInput/MoreOptionsButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/SendButton.js +9 -7
- package/lib/commonjs/components/MessageInput/SendButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +71 -0
- package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -0
- package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +12 -11
- package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/UploadProgressIndicator.js +1 -1
- package/lib/commonjs/components/MessageInput/hooks/useCooldown.js +63 -0
- package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -0
- package/lib/commonjs/components/MessageInput/hooks/useCountdown.js +57 -0
- package/lib/commonjs/components/MessageInput/hooks/useCountdown.js.map +1 -0
- package/lib/commonjs/components/MessageList/DateHeader.js +3 -3
- package/lib/commonjs/components/MessageList/DateHeader.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineDateSeparator.js +5 -4
- package/lib/commonjs/components/MessageList/InlineDateSeparator.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +5 -5
- package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +5 -5
- package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +5 -5
- package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js +1 -1
- package/lib/commonjs/components/MessageList/MessageList.js +101 -62
- package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageSystem.js +7 -7
- package/lib/commonjs/components/MessageList/MessageSystem.js.map +1 -1
- package/lib/commonjs/components/MessageList/NetworkDownIndicator.js +1 -1
- package/lib/commonjs/components/MessageList/ScrollToBottomButton.js +8 -6
- package/lib/commonjs/components/MessageList/ScrollToBottomButton.js.map +1 -1
- package/lib/commonjs/components/MessageList/TypingIndicator.js +6 -6
- package/lib/commonjs/components/MessageList/TypingIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js +3 -3
- package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js +24 -11
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useTypingString.js +2 -2
- package/lib/commonjs/components/MessageList/hooks/useTypingString.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/filterTypingUsers.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getDateSeparators.js +2 -1
- package/lib/commonjs/components/MessageList/utils/getDateSeparators.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getGroupStyles.js +11 -10
- package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js +3 -1
- package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +1 -1
- package/lib/{module/components/MessageOverlay/MessageActions.js → commonjs/components/MessageOverlay/MessageActionList.js} +33 -85
- package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -0
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +131 -0
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -0
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +100 -85
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +38 -0
- package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js.map +1 -0
- package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +18 -19
- package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +32 -35
- package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
- package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
- package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js +37 -0
- package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -0
- package/lib/commonjs/components/Reply/Reply.js +26 -20
- package/lib/commonjs/components/Reply/Reply.js.map +1 -1
- package/lib/commonjs/components/Spinner/Spinner.js +1 -1
- package/lib/commonjs/components/Thread/Thread.js +15 -6
- package/lib/commonjs/components/Thread/Thread.js.map +1 -1
- package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +14 -13
- package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
- package/lib/commonjs/components/docs/ListProps.md +1 -1
- package/lib/commonjs/components/docs/data.js +45 -45
- package/lib/commonjs/components/docs/data.js.map +1 -1
- package/lib/commonjs/components/index.js +133 -55
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +3 -3
- package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
- package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +3 -3
- package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
- package/lib/commonjs/contexts/channelContext/ChannelContext.js +3 -3
- package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
- package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +3 -3
- package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
- package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +5 -5
- package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
- package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +3 -3
- package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
- package/lib/commonjs/contexts/chatContext/ChatContext.js +3 -3
- package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +3 -3
- package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
- package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +3 -3
- package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
- package/lib/commonjs/contexts/messageContext/MessageContext.js +3 -3
- package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +106 -71
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +9 -5
- package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js +10 -3
- package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
- package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +6 -20
- package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
- package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
- package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
- package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
- package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js +3 -3
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/commonjs/contexts/overlayContext/OverlayContext.js +2 -2
- package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
- package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +50 -50
- package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +61 -0
- package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -0
- package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +3 -3
- package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
- package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +21 -34
- package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
- package/lib/commonjs/contexts/themeContext/ThemeContext.js +3 -3
- package/lib/commonjs/contexts/themeContext/ThemeContext.js.map +1 -1
- package/lib/commonjs/contexts/themeContext/utils/theme.js +48 -20
- package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/commonjs/contexts/threadContext/ThreadContext.js +3 -3
- package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
- package/lib/commonjs/contexts/translationContext/TranslationContext.js +4 -4
- package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
- package/lib/commonjs/contexts/typingContext/TypingContext.js +3 -3
- package/lib/commonjs/contexts/typingContext/TypingContext.js.map +1 -1
- package/lib/commonjs/contexts/utils/getDisplayName.js.map +1 -1
- package/lib/commonjs/emoji-data/compiled.js +0 -315
- package/lib/commonjs/emoji-data/compiled.js.map +1 -1
- package/lib/commonjs/emoji-data/emojiNames.js +0 -105
- package/lib/commonjs/emoji-data/emojiNames.js.map +1 -1
- package/lib/commonjs/emoji-data/emojis.js +0 -175
- package/lib/commonjs/emoji-data/emojis.js.map +1 -1
- package/lib/commonjs/emoji-data/index.js +2 -2
- package/lib/commonjs/emoji-data/index.js.map +1 -1
- package/lib/commonjs/hooks/useAppStateListener.js +8 -5
- package/lib/commonjs/hooks/useAppStateListener.js.map +1 -1
- package/lib/commonjs/hooks/useIsMountedRef.js +19 -0
- package/lib/commonjs/hooks/useIsMountedRef.js.map +1 -0
- package/lib/commonjs/hooks/useStreami18n.js +5 -2
- package/lib/commonjs/hooks/useStreami18n.js.map +1 -1
- package/lib/commonjs/i18n/en.json +9 -3
- package/lib/commonjs/i18n/fr.json +9 -3
- package/lib/commonjs/i18n/hi.json +9 -3
- package/lib/commonjs/i18n/it.json +9 -3
- package/lib/commonjs/i18n/ja.json +67 -0
- package/lib/commonjs/i18n/ko.json +67 -0
- package/lib/commonjs/i18n/nl.json +9 -3
- package/lib/commonjs/i18n/ru.json +9 -3
- package/lib/commonjs/i18n/tr.json +10 -4
- package/lib/commonjs/icons/ArrowRight.js +1 -1
- package/lib/commonjs/icons/AtMentions.js +1 -1
- package/lib/commonjs/icons/Attach.js +1 -1
- package/lib/commonjs/icons/Audio.js +1 -1
- package/lib/commonjs/icons/CSV.js +1 -1
- package/lib/commonjs/icons/Camera.js +1 -1
- package/lib/commonjs/icons/Check.js +1 -1
- package/lib/commonjs/icons/CheckAll.js +1 -1
- package/lib/commonjs/icons/CheckSend.js +1 -1
- package/lib/commonjs/icons/CircleClose.js +1 -1
- package/lib/commonjs/icons/CirclePlus.js +1 -1
- package/lib/commonjs/icons/CircleRight.js +1 -1
- package/lib/commonjs/icons/Close.js +1 -1
- package/lib/commonjs/icons/Copy.js +1 -1
- package/lib/commonjs/icons/CurveLineLeftUp.js +1 -1
- package/lib/commonjs/icons/DOC.js +1 -1
- package/lib/commonjs/icons/DOCX.js +1 -1
- package/lib/commonjs/icons/Delete.js +1 -1
- package/lib/commonjs/icons/Down.js +1 -1
- package/lib/commonjs/icons/DownloadArrow.js +1 -1
- package/lib/commonjs/icons/DownloadCloud.js +1 -1
- package/lib/commonjs/icons/Edit.js +1 -1
- package/lib/commonjs/icons/Error.js +1 -1
- package/lib/commonjs/icons/Eye.js +1 -1
- package/lib/commonjs/icons/Flag.js +1 -1
- package/lib/commonjs/icons/Folder.js +1 -1
- package/lib/commonjs/icons/GenericFile.js +1 -1
- package/lib/commonjs/icons/GiphyIcon.js +1 -1
- package/lib/commonjs/icons/Grid.js +1 -1
- package/lib/commonjs/icons/Group.js +1 -1
- package/lib/commonjs/icons/HTML.js +1 -1
- package/lib/commonjs/icons/Imgur.js +1 -1
- package/lib/commonjs/icons/LOLReaction.js +1 -1
- package/lib/commonjs/icons/Lightning.js +1 -1
- package/lib/commonjs/icons/Link.js +1 -1
- package/lib/commonjs/icons/Loading.js +1 -1
- package/lib/commonjs/icons/Logo.js +1 -1
- package/lib/commonjs/icons/LoveReaction.js +1 -1
- package/lib/commonjs/icons/MD.js +1 -1
- package/lib/commonjs/icons/MailOpen.js +1 -1
- package/lib/commonjs/icons/MenuPointHorizontal.js +1 -1
- package/lib/commonjs/icons/MenuPointVertical.js +1 -1
- package/lib/commonjs/icons/MessageFlag.js +1 -1
- package/lib/commonjs/icons/MessageIcon.js +1 -1
- package/lib/commonjs/icons/Mute.js +1 -1
- package/lib/commonjs/icons/Notification.js +1 -1
- package/lib/commonjs/icons/ODT.js +1 -1
- package/lib/commonjs/icons/PDF.js +1 -1
- package/lib/commonjs/icons/PPT.js +1 -1
- package/lib/commonjs/icons/PPTX.js +1 -1
- package/lib/commonjs/icons/Picture.js +1 -1
- package/lib/commonjs/icons/Pin.js +42 -0
- package/lib/commonjs/icons/Pin.js.map +1 -0
- package/lib/commonjs/icons/PinHeader.js +38 -0
- package/lib/commonjs/icons/PinHeader.js.map +1 -0
- package/lib/commonjs/icons/RAR.js +1 -1
- package/lib/commonjs/icons/RTF.js +1 -1
- package/lib/commonjs/icons/Refresh.js +1 -1
- package/lib/commonjs/icons/SEVEN_Z.js +1 -1
- package/lib/commonjs/icons/Search.js +1 -1
- package/lib/commonjs/icons/SendRight.js +1 -1
- package/lib/commonjs/icons/SendUp.js +1 -1
- package/lib/commonjs/icons/Share.js +1 -1
- package/lib/commonjs/icons/ShareRightArrow.js +1 -1
- package/lib/commonjs/icons/Smile.js +1 -1
- package/lib/commonjs/icons/Sound.js +1 -1
- package/lib/commonjs/icons/TAR.js +1 -1
- package/lib/commonjs/icons/TXT.js +1 -1
- package/lib/commonjs/icons/ThreadReply.js +1 -1
- package/lib/commonjs/icons/ThumbsDownReaction.js +1 -1
- package/lib/commonjs/icons/ThumbsUpReaction.js +1 -1
- package/lib/commonjs/icons/Time.js +1 -1
- package/lib/commonjs/icons/Unknown.js +1 -1
- package/lib/commonjs/icons/Unpin.js +38 -0
- package/lib/commonjs/icons/Unpin.js.map +1 -0
- package/lib/commonjs/icons/User.js +1 -1
- package/lib/commonjs/icons/UserAdd.js +1 -1
- package/lib/commonjs/icons/UserAdmin.js +62 -0
- package/lib/commonjs/icons/UserAdmin.js.map +1 -0
- package/lib/commonjs/icons/UserDelete.js +1 -1
- package/lib/commonjs/icons/UserMinus.js +1 -1
- package/lib/commonjs/icons/WutReaction.js +1 -1
- package/lib/commonjs/icons/XLS.js +1 -1
- package/lib/commonjs/icons/XLSX.js +1 -1
- package/lib/commonjs/icons/ZIP.js +1 -1
- package/lib/commonjs/icons/index.js +39 -26
- package/lib/commonjs/icons/index.js.map +1 -1
- package/lib/commonjs/icons/utils/base.js +2 -2
- package/lib/commonjs/index.js +6 -6
- package/lib/commonjs/init.js +13 -0
- package/lib/commonjs/init.js.map +1 -0
- package/lib/commonjs/mock-builders/api/error.js +1 -1
- package/lib/commonjs/mock-builders/api/queryChannels.js +1 -1
- package/lib/commonjs/mock-builders/api/queryChannels.js.map +1 -1
- package/lib/commonjs/mock-builders/api/sendMessage.js +4 -1
- package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/attachment.js +1 -3
- package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/channel.js +101 -50
- package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/user.js +32 -33
- package/lib/commonjs/mock-builders/generator/user.js.map +1 -1
- package/lib/commonjs/mock-builders/mock.js +3 -3
- package/lib/commonjs/mock-builders/mock.js.map +1 -1
- package/lib/commonjs/mock-builders/native/react-native-mock.js +1 -1
- package/lib/commonjs/mock-builders/native/react-native-mock.js.map +1 -1
- package/lib/commonjs/native.js +1 -7
- package/lib/commonjs/native.js.map +1 -1
- package/lib/commonjs/utils/Streami18n.js +10 -0
- package/lib/commonjs/utils/Streami18n.js.map +1 -1
- package/lib/commonjs/utils/date.js +13 -0
- package/lib/commonjs/utils/date.js.map +1 -0
- package/lib/commonjs/utils/getResizedImageUrl.js +37 -0
- package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -0
- package/lib/commonjs/utils/getUrlOfImageAttachment.js +9 -0
- package/lib/commonjs/utils/getUrlOfImageAttachment.js.map +1 -0
- package/lib/commonjs/utils/utils.js +39 -19
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Attachment/Attachment.js +17 -16
- package/lib/module/components/Attachment/Attachment.js.map +1 -1
- package/lib/module/components/Attachment/AttachmentActions.js +5 -5
- package/lib/module/components/Attachment/AttachmentActions.js.map +1 -1
- package/lib/module/components/Attachment/Card.js +19 -16
- package/lib/module/components/Attachment/Card.js.map +1 -1
- package/lib/module/components/Attachment/FileAttachment.js +9 -9
- package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
- package/lib/module/components/Attachment/FileAttachmentGroup.js +5 -5
- package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
- package/lib/module/components/Attachment/FileIcon.js +1 -1
- package/lib/module/components/Attachment/FileIcon.js.map +1 -1
- package/lib/module/components/Attachment/Gallery.js +124 -122
- package/lib/module/components/Attachment/Gallery.js.map +1 -1
- package/lib/module/components/Attachment/Giphy.js +113 -149
- package/lib/module/components/Attachment/Giphy.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js +46 -0
- package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
- package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
- package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
- package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
- package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
- package/lib/module/components/Attachment/utils/buildGallery/types.js +4 -0
- package/lib/module/{styleguideComponents/Reanimated.js.map → components/Attachment/utils/buildGallery/types.js.map} +0 -0
- package/lib/module/components/Attachment/utils/getAspectRatio.js +14 -0
- package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -0
- package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
- package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
- package/lib/module/components/AttachmentPicker/AttachmentPicker.js +10 -9
- package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerError.js +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js +12 -9
- package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/CameraSelectorIcon.js +1 -1
- package/lib/module/components/AttachmentPicker/components/FileSelectorIcon.js +1 -1
- package/lib/module/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +1 -1
- package/lib/module/components/AttachmentPicker/components/ImageSelectorIcon.js +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +25 -49
- package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/{CommandsItem.js → AutoCompleteSuggestionCommandIcon.js} +21 -94
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -0
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +145 -0
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -0
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +248 -0
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -0
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +223 -0
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -0
- package/lib/module/components/Avatar/Avatar.js +14 -8
- package/lib/module/components/Avatar/Avatar.js.map +1 -1
- package/lib/module/components/Avatar/GroupAvatar.js +11 -9
- package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
- package/lib/module/components/Channel/Channel.js +304 -203
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateChannelContext.js +7 -5
- package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +7 -5
- package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +13 -31
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +35 -0
- package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -0
- package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelList.js +7 -7
- package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +6 -5
- package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +7 -8
- package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +5 -4
- package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js +8 -5
- package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListMessenger.js +18 -18
- package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
- package/lib/module/components/ChannelList/Skeleton.js +15 -14
- package/lib/module/components/ChannelList/Skeleton.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
- package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
- package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js +3 -1
- package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
- package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
- package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js +2 -2
- package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +96 -63
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/module/components/ChannelList/utils.js +1 -1
- package/lib/module/components/ChannelList/utils.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelAvatar.js +3 -3
- package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreview.js +5 -5
- package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +6 -6
- package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +50 -21
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
- package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
- package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +5 -5
- package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js +2 -2
- package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +3 -3
- package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js +16 -7
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js +2 -1
- package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
- package/lib/module/components/Chat/Chat.js +9 -5
- package/lib/module/components/Chat/Chat.js.map +1 -1
- package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
- package/lib/module/components/Chat/hooks/useIsOnline.js +40 -31
- package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
- package/lib/module/components/Chat/hooks/useMutedUsers.js.map +1 -1
- package/lib/module/components/ImageGallery/ImageGallery.js +91 -59
- package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +3 -3
- package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +13 -13
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +32 -17
- package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryOverlay.js +1 -1
- package/lib/module/components/ImageGallery/components/ImageGrid.js +8 -8
- package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGridHandle.js +6 -6
- package/lib/module/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
- package/lib/module/components/Indicators/EmptyStateIndicator.js +1 -1
- package/lib/module/components/Indicators/LoadingDot.js +1 -1
- package/lib/module/components/Indicators/LoadingDots.js +1 -1
- package/lib/module/components/Indicators/LoadingErrorIndicator.js +1 -1
- package/lib/module/components/Indicators/LoadingErrorIndicator.js.map +1 -1
- package/lib/module/components/Indicators/LoadingIndicator.js +10 -10
- package/lib/module/components/Indicators/LoadingIndicator.js.map +1 -1
- package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js +21 -13
- package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
- package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +1 -1
- package/lib/module/components/Message/Message.js +153 -855
- package/lib/module/components/Message/Message.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageAvatar.js +7 -7
- package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageContent.js +42 -40
- package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageDeleted.js +9 -7
- package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageFooter.js +35 -23
- package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +122 -0
- package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -0
- package/lib/module/components/Message/MessageSimple/MessageReplies.js +27 -11
- package/lib/module/components/Message/MessageSimple/MessageReplies.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +6 -6
- package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageSimple.js +32 -15
- package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageStatus.js +29 -25
- package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +8 -4
- package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/ReactionList.js +87 -114
- package/lib/module/components/Message/MessageSimple/ReactionList.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/parseLinks.js +89 -0
- package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
- package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
- package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
- package/lib/module/components/Message/MessageSimple/utils/renderText.js +208 -27
- package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/renderText.test.js +240 -0
- package/lib/module/components/Message/MessageSimple/utils/renderText.test.js.map +1 -0
- package/lib/module/components/Message/hooks/useCreateMessageContext.js +1 -5
- package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/module/components/Message/hooks/useMessageActionHandlers.js +307 -0
- package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -0
- package/lib/module/components/Message/hooks/useMessageActions.js +563 -0
- package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -0
- package/lib/module/components/Message/utils/messageActions.js +17 -15
- package/lib/module/components/Message/utils/messageActions.js.map +1 -1
- package/lib/module/components/Message/utils/removeReservedFields.js.map +1 -1
- package/lib/module/components/MessageInput/AttachButton.js +7 -5
- package/lib/module/components/MessageInput/AttachButton.js.map +1 -1
- package/lib/module/components/MessageInput/CommandsButton.js +4 -4
- package/lib/module/components/MessageInput/CommandsButton.js.map +1 -1
- package/lib/module/components/MessageInput/CooldownTimer.js +78 -0
- package/lib/module/components/MessageInput/CooldownTimer.js.map +1 -0
- package/lib/module/components/MessageInput/FileUploadPreview.js +33 -28
- package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
- package/lib/module/components/MessageInput/ImageUploadPreview.js +10 -10
- package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
- package/lib/module/components/MessageInput/InputButtons.js +18 -23
- package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
- package/lib/module/components/MessageInput/MessageInput.js +94 -66
- package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/module/components/MessageInput/MoreOptionsButton.js +4 -4
- package/lib/module/components/MessageInput/MoreOptionsButton.js.map +1 -1
- package/lib/module/components/MessageInput/SendButton.js +9 -7
- package/lib/module/components/MessageInput/SendButton.js.map +1 -1
- package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +71 -0
- package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -0
- package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +12 -11
- package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
- package/lib/module/components/MessageInput/UploadProgressIndicator.js +1 -1
- package/lib/module/components/MessageInput/hooks/useCooldown.js +63 -0
- package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -0
- package/lib/module/components/MessageInput/hooks/useCountdown.js +57 -0
- package/lib/module/components/MessageInput/hooks/useCountdown.js.map +1 -0
- package/lib/module/components/MessageList/DateHeader.js +3 -3
- package/lib/module/components/MessageList/DateHeader.js.map +1 -1
- package/lib/module/components/MessageList/InlineDateSeparator.js +5 -4
- package/lib/module/components/MessageList/InlineDateSeparator.js.map +1 -1
- package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +5 -5
- package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
- package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +5 -5
- package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
- package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +5 -5
- package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
- package/lib/module/components/MessageList/InlineUnreadIndicator.js +1 -1
- package/lib/module/components/MessageList/MessageList.js +101 -62
- package/lib/module/components/MessageList/MessageList.js.map +1 -1
- package/lib/module/components/MessageList/MessageSystem.js +7 -7
- package/lib/module/components/MessageList/MessageSystem.js.map +1 -1
- package/lib/module/components/MessageList/NetworkDownIndicator.js +1 -1
- package/lib/module/components/MessageList/ScrollToBottomButton.js +8 -6
- package/lib/module/components/MessageList/ScrollToBottomButton.js.map +1 -1
- package/lib/module/components/MessageList/TypingIndicator.js +6 -6
- package/lib/module/components/MessageList/TypingIndicator.js.map +1 -1
- package/lib/module/components/MessageList/TypingIndicatorContainer.js +3 -3
- package/lib/module/components/MessageList/TypingIndicatorContainer.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useMessageList.js +24 -11
- package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useTypingString.js +2 -2
- package/lib/module/components/MessageList/hooks/useTypingString.js.map +1 -1
- package/lib/module/components/MessageList/utils/filterTypingUsers.js.map +1 -1
- package/lib/module/components/MessageList/utils/getDateSeparators.js +2 -1
- package/lib/module/components/MessageList/utils/getDateSeparators.js.map +1 -1
- package/lib/module/components/MessageList/utils/getGroupStyles.js +11 -10
- package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
- package/lib/module/components/MessageList/utils/getLastReceivedMessage.js +3 -1
- package/lib/module/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
- package/lib/module/components/MessageList/utils/getReadStates.js.map +1 -1
- package/lib/{commonjs/components/MessageOverlay/MessageActions.js → module/components/MessageOverlay/MessageActionList.js} +33 -85
- package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -0
- package/lib/module/components/MessageOverlay/MessageActionListItem.js +131 -0
- package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -0
- package/lib/module/components/MessageOverlay/MessageOverlay.js +100 -85
- package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/module/components/MessageOverlay/OverlayBackdrop.js +38 -0
- package/lib/module/components/MessageOverlay/OverlayBackdrop.js.map +1 -0
- package/lib/module/components/MessageOverlay/OverlayReactionList.js +18 -19
- package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
- package/lib/module/components/MessageOverlay/OverlayReactions.js +32 -35
- package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
- package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
- package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
- package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js +37 -0
- package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -0
- package/lib/module/components/Reply/Reply.js +26 -20
- package/lib/module/components/Reply/Reply.js.map +1 -1
- package/lib/module/components/Spinner/Spinner.js +1 -1
- package/lib/module/components/Thread/Thread.js +15 -6
- package/lib/module/components/Thread/Thread.js.map +1 -1
- package/lib/module/components/Thread/components/ThreadFooterComponent.js +14 -13
- package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
- package/lib/module/components/docs/ListProps.md +1 -1
- package/lib/module/components/docs/data.js +45 -45
- package/lib/module/components/docs/data.js.map +1 -1
- package/lib/module/components/index.js +133 -55
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +3 -3
- package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
- package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +3 -3
- package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
- package/lib/module/contexts/channelContext/ChannelContext.js +3 -3
- package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
- package/lib/module/contexts/channelsContext/ChannelsContext.js +3 -3
- package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
- package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +5 -5
- package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
- package/lib/module/contexts/channelsStateContext/useChannelState.js +3 -3
- package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
- package/lib/module/contexts/chatContext/ChatContext.js +3 -3
- package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +3 -3
- package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
- package/lib/module/contexts/keyboardContext/KeyboardContext.js +3 -3
- package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
- package/lib/module/contexts/messageContext/MessageContext.js +3 -3
- package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/MessageInputContext.js +106 -71
- package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +9 -5
- package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js +10 -3
- package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
- package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +6 -20
- package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
- package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
- package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
- package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
- package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
- package/lib/module/contexts/messagesContext/MessagesContext.js +3 -3
- package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/module/contexts/overlayContext/OverlayContext.js +2 -2
- package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
- package/lib/module/contexts/overlayContext/OverlayProvider.js +50 -50
- package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +61 -0
- package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -0
- package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +3 -3
- package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
- package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +21 -34
- package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
- package/lib/module/contexts/themeContext/ThemeContext.js +3 -3
- package/lib/module/contexts/themeContext/ThemeContext.js.map +1 -1
- package/lib/module/contexts/themeContext/utils/theme.js +48 -20
- package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/module/contexts/threadContext/ThreadContext.js +3 -3
- package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
- package/lib/module/contexts/translationContext/TranslationContext.js +4 -4
- package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
- package/lib/module/contexts/typingContext/TypingContext.js +3 -3
- package/lib/module/contexts/typingContext/TypingContext.js.map +1 -1
- package/lib/module/contexts/utils/getDisplayName.js.map +1 -1
- package/lib/module/emoji-data/compiled.js +0 -315
- package/lib/module/emoji-data/compiled.js.map +1 -1
- package/lib/module/emoji-data/emojiNames.js +0 -105
- package/lib/module/emoji-data/emojiNames.js.map +1 -1
- package/lib/module/emoji-data/emojis.js +0 -175
- package/lib/module/emoji-data/emojis.js.map +1 -1
- package/lib/module/emoji-data/index.js +2 -2
- package/lib/module/emoji-data/index.js.map +1 -1
- package/lib/module/hooks/useAppStateListener.js +8 -5
- package/lib/module/hooks/useAppStateListener.js.map +1 -1
- package/lib/module/hooks/useIsMountedRef.js +19 -0
- package/lib/module/hooks/useIsMountedRef.js.map +1 -0
- package/lib/module/hooks/useStreami18n.js +5 -2
- package/lib/module/hooks/useStreami18n.js.map +1 -1
- package/lib/module/i18n/en.json +9 -3
- package/lib/module/i18n/fr.json +9 -3
- package/lib/module/i18n/hi.json +9 -3
- package/lib/module/i18n/it.json +9 -3
- package/lib/module/i18n/ja.json +67 -0
- package/lib/module/i18n/ko.json +67 -0
- package/lib/module/i18n/nl.json +9 -3
- package/lib/module/i18n/ru.json +9 -3
- package/lib/module/i18n/tr.json +10 -4
- package/lib/module/icons/ArrowRight.js +1 -1
- package/lib/module/icons/AtMentions.js +1 -1
- package/lib/module/icons/Attach.js +1 -1
- package/lib/module/icons/Audio.js +1 -1
- package/lib/module/icons/CSV.js +1 -1
- package/lib/module/icons/Camera.js +1 -1
- package/lib/module/icons/Check.js +1 -1
- package/lib/module/icons/CheckAll.js +1 -1
- package/lib/module/icons/CheckSend.js +1 -1
- package/lib/module/icons/CircleClose.js +1 -1
- package/lib/module/icons/CirclePlus.js +1 -1
- package/lib/module/icons/CircleRight.js +1 -1
- package/lib/module/icons/Close.js +1 -1
- package/lib/module/icons/Copy.js +1 -1
- package/lib/module/icons/CurveLineLeftUp.js +1 -1
- package/lib/module/icons/DOC.js +1 -1
- package/lib/module/icons/DOCX.js +1 -1
- package/lib/module/icons/Delete.js +1 -1
- package/lib/module/icons/Down.js +1 -1
- package/lib/module/icons/DownloadArrow.js +1 -1
- package/lib/module/icons/DownloadCloud.js +1 -1
- package/lib/module/icons/Edit.js +1 -1
- package/lib/module/icons/Error.js +1 -1
- package/lib/module/icons/Eye.js +1 -1
- package/lib/module/icons/Flag.js +1 -1
- package/lib/module/icons/Folder.js +1 -1
- package/lib/module/icons/GenericFile.js +1 -1
- package/lib/module/icons/GiphyIcon.js +1 -1
- package/lib/module/icons/Grid.js +1 -1
- package/lib/module/icons/Group.js +1 -1
- package/lib/module/icons/HTML.js +1 -1
- package/lib/module/icons/Imgur.js +1 -1
- package/lib/module/icons/LOLReaction.js +1 -1
- package/lib/module/icons/Lightning.js +1 -1
- package/lib/module/icons/Link.js +1 -1
- package/lib/module/icons/Loading.js +1 -1
- package/lib/module/icons/Logo.js +1 -1
- package/lib/module/icons/LoveReaction.js +1 -1
- package/lib/module/icons/MD.js +1 -1
- package/lib/module/icons/MailOpen.js +1 -1
- package/lib/module/icons/MenuPointHorizontal.js +1 -1
- package/lib/module/icons/MenuPointVertical.js +1 -1
- package/lib/module/icons/MessageFlag.js +1 -1
- package/lib/module/icons/MessageIcon.js +1 -1
- package/lib/module/icons/Mute.js +1 -1
- package/lib/module/icons/Notification.js +1 -1
- package/lib/module/icons/ODT.js +1 -1
- package/lib/module/icons/PDF.js +1 -1
- package/lib/module/icons/PPT.js +1 -1
- package/lib/module/icons/PPTX.js +1 -1
- package/lib/module/icons/Picture.js +1 -1
- package/lib/module/icons/Pin.js +42 -0
- package/lib/module/icons/Pin.js.map +1 -0
- package/lib/module/icons/PinHeader.js +38 -0
- package/lib/module/icons/PinHeader.js.map +1 -0
- package/lib/module/icons/RAR.js +1 -1
- package/lib/module/icons/RTF.js +1 -1
- package/lib/module/icons/Refresh.js +1 -1
- package/lib/module/icons/SEVEN_Z.js +1 -1
- package/lib/module/icons/Search.js +1 -1
- package/lib/module/icons/SendRight.js +1 -1
- package/lib/module/icons/SendUp.js +1 -1
- package/lib/module/icons/Share.js +1 -1
- package/lib/module/icons/ShareRightArrow.js +1 -1
- package/lib/module/icons/Smile.js +1 -1
- package/lib/module/icons/Sound.js +1 -1
- package/lib/module/icons/TAR.js +1 -1
- package/lib/module/icons/TXT.js +1 -1
- package/lib/module/icons/ThreadReply.js +1 -1
- package/lib/module/icons/ThumbsDownReaction.js +1 -1
- package/lib/module/icons/ThumbsUpReaction.js +1 -1
- package/lib/module/icons/Time.js +1 -1
- package/lib/module/icons/Unknown.js +1 -1
- package/lib/module/icons/Unpin.js +38 -0
- package/lib/module/icons/Unpin.js.map +1 -0
- package/lib/module/icons/User.js +1 -1
- package/lib/module/icons/UserAdd.js +1 -1
- package/lib/module/icons/UserAdmin.js +62 -0
- package/lib/module/icons/UserAdmin.js.map +1 -0
- package/lib/module/icons/UserDelete.js +1 -1
- package/lib/module/icons/UserMinus.js +1 -1
- package/lib/module/icons/WutReaction.js +1 -1
- package/lib/module/icons/XLS.js +1 -1
- package/lib/module/icons/XLSX.js +1 -1
- package/lib/module/icons/ZIP.js +1 -1
- package/lib/module/icons/index.js +39 -26
- package/lib/module/icons/index.js.map +1 -1
- package/lib/module/icons/utils/base.js +2 -2
- package/lib/module/index.js +6 -6
- package/lib/module/init.js +13 -0
- package/lib/module/init.js.map +1 -0
- package/lib/module/mock-builders/api/error.js +1 -1
- package/lib/module/mock-builders/api/queryChannels.js +1 -1
- package/lib/module/mock-builders/api/queryChannels.js.map +1 -1
- package/lib/module/mock-builders/api/sendMessage.js +4 -1
- package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
- package/lib/module/mock-builders/generator/attachment.js +1 -3
- package/lib/module/mock-builders/generator/attachment.js.map +1 -1
- package/lib/module/mock-builders/generator/channel.js +101 -50
- package/lib/module/mock-builders/generator/channel.js.map +1 -1
- package/lib/module/mock-builders/generator/user.js +32 -33
- package/lib/module/mock-builders/generator/user.js.map +1 -1
- package/lib/module/mock-builders/mock.js +3 -3
- package/lib/module/mock-builders/mock.js.map +1 -1
- package/lib/module/mock-builders/native/react-native-mock.js +1 -1
- package/lib/module/mock-builders/native/react-native-mock.js.map +1 -1
- package/lib/module/native.js +1 -7
- package/lib/module/native.js.map +1 -1
- package/lib/module/utils/Streami18n.js +10 -0
- package/lib/module/utils/Streami18n.js.map +1 -1
- package/lib/module/utils/date.js +13 -0
- package/lib/module/utils/date.js.map +1 -0
- package/lib/module/utils/getResizedImageUrl.js +37 -0
- package/lib/module/utils/getResizedImageUrl.js.map +1 -0
- package/lib/module/utils/getUrlOfImageAttachment.js +9 -0
- package/lib/module/utils/getUrlOfImageAttachment.js.map +1 -0
- package/lib/module/utils/utils.js +39 -19
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Attachment/Attachment.d.ts +6 -6
- package/lib/typescript/components/Attachment/AttachmentActions.d.ts +5 -5
- package/lib/typescript/components/Attachment/Card.d.ts +7 -5
- package/lib/typescript/components/Attachment/FileAttachment.d.ts +6 -6
- package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts +4 -4
- package/lib/typescript/components/Attachment/Gallery.d.ts +19 -6
- package/lib/typescript/components/Attachment/Giphy.d.ts +7 -7
- package/lib/typescript/components/Attachment/utils/buildGallery/buildGallery.d.ts +23 -0
- package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.d.ts +7 -0
- package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.d.ts +7 -0
- package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.d.ts +7 -0
- package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnail.d.ts +10 -0
- package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnailGrid.d.ts +137 -0
- package/lib/typescript/components/Attachment/utils/buildGallery/types.d.ts +23 -0
- package/lib/typescript/components/Attachment/utils/getAspectRatio.d.ts +9 -0
- package/lib/typescript/components/Attachment/utils/getGalleryImageBorderRadius.d.ts +22 -0
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteInput.d.ts +10 -4
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.d.ts +5 -0
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionHeader.d.ts +8 -0
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionItem.d.ts +10 -0
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts +21 -0
- package/lib/typescript/components/Avatar/Avatar.d.ts +1 -1
- package/lib/typescript/components/Channel/Channel.d.ts +13 -16
- package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +2 -2
- package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +3 -70
- package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +3 -126
- package/lib/typescript/components/Channel/hooks/useCreateOwnCapabilitiesContext.d.ts +7 -0
- package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts +3 -3
- package/lib/typescript/components/Channel/hooks/useCreateThreadContext.d.ts +2 -2
- package/lib/typescript/components/Channel/hooks/useCreateTypingContext.d.ts +2 -2
- package/lib/typescript/components/ChannelList/ChannelList.d.ts +15 -15
- package/lib/typescript/components/ChannelList/ChannelListMessenger.d.ts +4 -4
- package/lib/typescript/components/ChannelList/hooks/listeners/useAddedToChannelNotification.d.ts +5 -5
- package/lib/typescript/components/ChannelList/hooks/listeners/useChannelDeleted.d.ts +5 -5
- package/lib/typescript/components/ChannelList/hooks/listeners/useChannelHidden.d.ts +5 -5
- package/lib/typescript/components/ChannelList/hooks/listeners/useChannelTruncated.d.ts +5 -5
- package/lib/typescript/components/ChannelList/hooks/listeners/useChannelUpdated.d.ts +5 -5
- package/lib/typescript/components/ChannelList/hooks/listeners/useChannelVisible.d.ts +5 -5
- package/lib/typescript/components/ChannelList/hooks/listeners/useConnectionRecovered.d.ts +2 -2
- package/lib/typescript/components/ChannelList/hooks/listeners/useNewMessage.d.ts +4 -4
- package/lib/typescript/components/ChannelList/hooks/listeners/useNewMessageNotification.d.ts +5 -5
- package/lib/typescript/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.d.ts +5 -5
- package/lib/typescript/components/ChannelList/hooks/listeners/useUserPresence.d.ts +4 -4
- package/lib/typescript/components/ChannelList/hooks/useCreateChannelsContext.d.ts +2 -2
- package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +11 -9
- package/lib/typescript/components/ChannelList/utils.d.ts +7 -7
- package/lib/typescript/components/ChannelPreview/ChannelAvatar.d.ts +3 -3
- package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +7 -7
- package/lib/typescript/components/ChannelPreview/ChannelPreviewMessage.d.ts +4 -5
- package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts +6 -6
- package/lib/typescript/components/ChannelPreview/ChannelPreviewMutedStatus.d.ts +9 -0
- package/lib/typescript/components/ChannelPreview/ChannelPreviewStatus.d.ts +3 -3
- package/lib/typescript/components/ChannelPreview/ChannelPreviewTitle.d.ts +3 -3
- package/lib/typescript/components/ChannelPreview/ChannelPreviewUnreadCount.d.ts +3 -3
- package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.d.ts +15 -3
- package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayName.d.ts +4 -4
- package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.d.ts +2 -2
- package/lib/typescript/components/ChannelPreview/hooks/useLatestMessagePreview.d.ts +5 -5
- package/lib/typescript/components/Chat/Chat.d.ts +3 -3
- package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +2 -2
- package/lib/typescript/components/Chat/hooks/useIsOnline.d.ts +2 -2
- package/lib/typescript/components/Chat/hooks/useMutedUsers.d.ts +2 -2
- package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +13 -10
- package/lib/typescript/components/ImageGallery/components/AnimatedGalleryImage.d.ts +1 -1
- package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +10 -10
- package/lib/typescript/components/ImageGallery/components/ImageGalleryHeader.d.ts +10 -10
- package/lib/typescript/components/ImageGallery/components/ImageGrid.d.ts +10 -10
- package/lib/typescript/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.d.ts +1 -0
- package/lib/typescript/components/Indicators/LoadingErrorIndicator.d.ts +1 -1
- package/lib/typescript/components/KeyboardCompatibleView/KeyboardCompatibleView.d.ts +2 -1
- package/lib/typescript/components/Message/Message.d.ts +14 -13
- package/lib/typescript/components/Message/MessageSimple/MessageAvatar.d.ts +5 -5
- package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts +4 -4
- package/lib/typescript/components/Message/MessageSimple/MessageDeleted.d.ts +6 -6
- package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts +8 -8
- package/lib/typescript/components/Message/MessageSimple/MessagePinnedHeader.d.ts +8 -0
- package/lib/typescript/components/Message/MessageSimple/MessageReplies.d.ts +4 -4
- package/lib/typescript/components/Message/MessageSimple/MessageRepliesAvatars.d.ts +3 -3
- package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts +4 -4
- package/lib/typescript/components/Message/MessageSimple/MessageStatus.d.ts +4 -4
- package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts +7 -6
- package/lib/typescript/components/Message/MessageSimple/ReactionList.d.ts +5 -4
- package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.d.ts +7 -0
- package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.test.d.ts +1 -0
- package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +21 -6
- package/lib/typescript/components/Message/MessageSimple/utils/renderText.test.d.ts +1 -0
- package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +2 -2
- package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +15 -0
- package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +26 -0
- package/lib/typescript/components/Message/utils/messageActions.d.ts +22 -21
- package/lib/typescript/components/Message/utils/removeReservedFields.d.ts +2 -2
- package/lib/typescript/components/MessageInput/AttachButton.d.ts +5 -5
- package/lib/typescript/components/MessageInput/CommandsButton.d.ts +5 -5
- package/lib/typescript/components/MessageInput/CooldownTimer.d.ts +10 -0
- package/lib/typescript/components/MessageInput/FileUploadPreview.d.ts +4 -4
- package/lib/typescript/components/MessageInput/ImageUploadPreview.d.ts +4 -4
- package/lib/typescript/components/MessageInput/InputButtons.d.ts +5 -5
- package/lib/typescript/components/MessageInput/MessageInput.d.ts +4 -4
- package/lib/typescript/components/MessageInput/MoreOptionsButton.d.ts +5 -5
- package/lib/typescript/components/MessageInput/SendButton.d.ts +4 -4
- package/lib/typescript/components/MessageInput/SendMessageDisallowedIndicator.d.ts +1 -0
- package/lib/typescript/components/MessageInput/ShowThreadMessageInChannelButton.d.ts +2 -2
- package/lib/typescript/components/MessageInput/hooks/useCooldown.d.ts +9 -0
- package/lib/typescript/components/MessageInput/hooks/useCountdown.d.ts +8 -0
- package/lib/typescript/components/MessageList/InlineLoadingMoreIndicator.d.ts +2 -2
- package/lib/typescript/components/MessageList/InlineLoadingMoreRecentIndicator.d.ts +2 -2
- package/lib/typescript/components/MessageList/InlineLoadingMoreThreadIndicator.d.ts +2 -2
- package/lib/typescript/components/MessageList/MessageList.d.ts +8 -7
- package/lib/typescript/components/MessageList/MessageSystem.d.ts +5 -5
- package/lib/typescript/components/MessageList/TypingIndicator.d.ts +2 -2
- package/lib/typescript/components/MessageList/TypingIndicatorContainer.d.ts +4 -4
- package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +6 -5
- package/lib/typescript/components/MessageList/hooks/useTypingString.d.ts +2 -2
- package/lib/typescript/components/MessageList/utils/filterTypingUsers.d.ts +3 -3
- package/lib/typescript/components/MessageList/utils/getDateSeparators.d.ts +4 -4
- package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts +5 -5
- package/lib/typescript/components/MessageList/utils/getLastReceivedMessage.d.ts +2 -2
- package/lib/typescript/components/MessageList/utils/getReadStates.d.ts +8 -5
- package/lib/typescript/components/MessageOverlay/MessageActionList.d.ts +12 -0
- package/lib/typescript/components/MessageOverlay/MessageActionListItem.d.ts +21 -0
- package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts +6 -6
- package/lib/typescript/components/MessageOverlay/OverlayBackdrop.d.ts +6 -0
- package/lib/typescript/components/MessageOverlay/OverlayReactionList.d.ts +6 -7
- package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts +3 -1
- package/lib/typescript/components/MessageOverlay/OverlayReactionsAvatar.d.ts +7 -0
- package/lib/typescript/components/MessageOverlay/hooks/useMessageActionAnimation.d.ts +12 -0
- package/lib/typescript/components/Reply/Reply.d.ts +5 -5
- package/lib/typescript/components/Thread/Thread.d.ts +8 -8
- package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts +2 -2
- package/lib/typescript/components/index.d.ts +13 -7
- package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts +2 -2
- package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +39 -40
- package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +30 -22
- package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts +19 -19
- package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts +17 -17
- package/lib/typescript/contexts/chatContext/ChatContext.d.ts +11 -11
- package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts +8 -8
- package/lib/typescript/contexts/keyboardContext/KeyboardContext.d.ts +2 -2
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts +12 -16
- package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +53 -42
- package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +3 -3
- package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts +3 -3
- package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +31 -32
- package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.d.ts +12 -0
- package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.test.d.ts +1 -0
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +77 -166
- package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +15 -8
- package/lib/typescript/contexts/overlayContext/OverlayProvider.d.ts +2 -2
- package/lib/typescript/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.d.ts +25 -0
- package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +8 -8
- package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts +29 -28
- package/lib/typescript/contexts/themeContext/utils/theme.d.ts +46 -17
- package/lib/typescript/contexts/threadContext/ThreadContext.d.ts +10 -10
- package/lib/typescript/contexts/translationContext/TranslationContext.d.ts +2 -2
- package/lib/typescript/contexts/typingContext/TypingContext.d.ts +8 -8
- package/lib/typescript/contexts/utils/getDisplayName.d.ts +2 -2
- package/lib/typescript/hooks/useIsMountedRef.d.ts +20 -0
- package/lib/typescript/i18n/en.json +9 -3
- package/lib/typescript/i18n/fr.json +9 -3
- package/lib/typescript/i18n/hi.json +9 -3
- package/lib/typescript/i18n/it.json +9 -3
- package/lib/typescript/i18n/ja.json +67 -0
- package/lib/typescript/i18n/ko.json +67 -0
- package/lib/typescript/i18n/nl.json +9 -3
- package/lib/typescript/i18n/ru.json +9 -3
- package/lib/typescript/i18n/tr.json +10 -4
- package/lib/typescript/icons/{Left.d.ts → Pin.d.ts} +1 -1
- package/lib/typescript/icons/PinHeader.d.ts +3 -0
- package/lib/typescript/icons/{Right.d.ts → Unpin.d.ts} +1 -1
- package/lib/typescript/icons/UserAdmin.d.ts +3 -0
- package/lib/typescript/icons/index.d.ts +3 -2
- package/lib/typescript/init.d.ts +2 -0
- package/lib/typescript/native.d.ts +1 -9
- package/lib/typescript/types/types.d.ts +16 -13
- package/lib/typescript/utils/Streami18n.d.ts +17 -9
- package/lib/typescript/utils/date.d.ts +2 -0
- package/lib/typescript/utils/getResizedImageUrl.d.ts +20 -0
- package/lib/typescript/utils/getUrlOfImageAttachment.d.ts +7 -0
- package/lib/typescript/utils/utils.d.ts +36 -30
- package/package.json +15 -20
- package/src/components/Attachment/Attachment.tsx +20 -61
- package/src/components/Attachment/AttachmentActions.tsx +17 -57
- package/src/components/Attachment/Card.tsx +22 -52
- package/src/components/Attachment/FileAttachment.tsx +16 -51
- package/src/components/Attachment/FileAttachmentGroup.tsx +16 -57
- package/src/components/Attachment/FileIcon.tsx +2 -2
- package/src/components/Attachment/Gallery.tsx +209 -241
- package/src/components/Attachment/Giphy.tsx +84 -128
- package/src/components/Attachment/__tests__/Attachment.test.js +27 -19
- package/src/components/Attachment/__tests__/Gallery.test.js +233 -0
- package/src/components/Attachment/__tests__/buildGallery.test.js +131 -0
- package/src/components/Attachment/utils/buildGallery/buildGallery.ts +77 -0
- package/src/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.ts +91 -0
- package/src/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.ts +99 -0
- package/src/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.ts +66 -0
- package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +48 -0
- package/src/components/Attachment/utils/buildGallery/buildThumbnailGrid.ts +188 -0
- package/src/components/Attachment/utils/buildGallery/types.ts +27 -0
- package/src/components/Attachment/utils/getAspectRatio.ts +21 -0
- package/src/components/Attachment/utils/getGalleryImageBorderRadius.ts +71 -0
- package/src/components/AttachmentPicker/AttachmentPicker.tsx +4 -2
- package/src/components/AttachmentPicker/components/AttachmentSelectionBar.tsx +15 -3
- package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +66 -96
- package/src/components/AutoCompleteInput/{CommandsItem.tsx → AutoCompleteSuggestionCommandIcon.tsx} +7 -59
- package/src/components/AutoCompleteInput/AutoCompleteSuggestionHeader.tsx +102 -0
- package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx +149 -0
- package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +209 -0
- package/src/components/AutoCompleteInput/__tests__/AutoCompleteInput.test.js +10 -16
- package/src/components/Avatar/Avatar.tsx +8 -11
- package/src/components/Avatar/GroupAvatar.tsx +7 -21
- package/src/components/Avatar/__tests__/Avatar.test.js +2 -33
- package/src/components/Channel/Channel.tsx +495 -477
- package/src/components/Channel/__tests__/Channel.test.js +63 -100
- package/src/components/Channel/__tests__/ownCapabilities.test.js +376 -0
- package/src/components/Channel/hooks/useCreateChannelContext.ts +11 -25
- package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +54 -69
- package/src/components/Channel/hooks/useCreateMessagesContext.ts +17 -49
- package/src/components/Channel/hooks/useCreateOwnCapabilitiesContext.ts +39 -0
- package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +16 -32
- package/src/components/Channel/hooks/useCreateThreadContext.ts +4 -19
- package/src/components/Channel/hooks/useCreateTypingContext.ts +4 -19
- package/src/components/ChannelList/ChannelList.tsx +36 -58
- package/src/components/ChannelList/ChannelListFooterLoadingIndicator.tsx +2 -3
- package/src/components/ChannelList/ChannelListHeaderErrorIndicator.tsx +3 -7
- package/src/components/ChannelList/ChannelListHeaderNetworkDownIndicator.tsx +5 -2
- package/src/components/ChannelList/ChannelListLoadingIndicator.tsx +5 -1
- package/src/components/ChannelList/ChannelListMessenger.tsx +22 -74
- package/src/components/ChannelList/Skeleton.tsx +2 -1
- package/src/components/ChannelList/__tests__/ChannelList.test.js +75 -16
- package/src/components/ChannelList/__tests__/ChannelListMessenger.test.js +46 -14
- package/src/components/ChannelList/hooks/listeners/useAddedToChannelNotification.ts +17 -39
- package/src/components/ChannelList/hooks/listeners/useChannelDeleted.ts +15 -37
- package/src/components/ChannelList/hooks/listeners/useChannelHidden.ts +15 -37
- package/src/components/ChannelList/hooks/listeners/useChannelTruncated.ts +17 -39
- package/src/components/ChannelList/hooks/listeners/useChannelUpdated.ts +15 -37
- package/src/components/ChannelList/hooks/listeners/useChannelVisible.ts +17 -39
- package/src/components/ChannelList/hooks/listeners/useConnectionRecovered.ts +8 -20
- package/src/components/ChannelList/hooks/listeners/useNewMessage.ts +13 -36
- package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +17 -39
- package/src/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.ts +15 -37
- package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +11 -33
- package/src/components/ChannelList/hooks/useCreateChannelsContext.ts +5 -21
- package/src/components/ChannelList/hooks/usePaginatedChannels.ts +95 -70
- package/src/components/ChannelList/utils.ts +9 -42
- package/src/components/ChannelPreview/ChannelAvatar.tsx +6 -29
- package/src/components/ChannelPreview/ChannelPreview.tsx +21 -54
- package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +14 -24
- package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +39 -56
- package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx +50 -0
- package/src/components/ChannelPreview/ChannelPreviewStatus.tsx +10 -30
- package/src/components/ChannelPreview/ChannelPreviewTitle.tsx +7 -28
- package/src/components/ChannelPreview/ChannelPreviewUnreadCount.tsx +7 -27
- package/src/components/ChannelPreview/__tests__/ChannelPreview.test.js +16 -22
- package/src/components/ChannelPreview/__tests__/ChannelPreviewMessenger.test.js +23 -14
- package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.ts +15 -30
- package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +8 -30
- package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.ts +9 -30
- package/src/components/ChannelPreview/hooks/useLatestMessagePreview.ts +31 -81
- package/src/components/Chat/Chat.tsx +19 -44
- package/src/components/Chat/__tests__/Chat.test.js +12 -47
- package/src/components/Chat/hooks/useCreateChatContext.ts +4 -19
- package/src/components/Chat/hooks/useIsOnline.ts +45 -56
- package/src/components/Chat/hooks/useMutedUsers.ts +5 -20
- package/src/components/ImageGallery/ImageGallery.tsx +110 -86
- package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +1 -2
- package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +20 -15
- package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +45 -25
- package/src/components/ImageGallery/components/ImageGrid.tsx +47 -33
- package/src/components/ImageGallery/components/ImageGridHandle.tsx +1 -0
- package/src/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.tsx +31 -0
- package/src/components/Indicators/LoadingErrorIndicator.tsx +1 -1
- package/src/components/Indicators/LoadingIndicator.tsx +1 -2
- package/src/components/KeyboardCompatibleView/KeyboardCompatibleView.tsx +9 -2
- package/src/components/Message/Message.tsx +196 -688
- package/src/components/Message/MessageSimple/MessageAvatar.tsx +14 -56
- package/src/components/Message/MessageSimple/MessageContent.tsx +42 -87
- package/src/components/Message/MessageSimple/MessageDeleted.tsx +24 -63
- package/src/components/Message/MessageSimple/MessageFooter.tsx +60 -84
- package/src/components/Message/MessageSimple/MessagePinnedHeader.tsx +109 -0
- package/src/components/Message/MessageSimple/MessageReplies.tsx +19 -60
- package/src/components/Message/MessageSimple/MessageRepliesAvatars.tsx +7 -29
- package/src/components/Message/MessageSimple/MessageSimple.tsx +64 -78
- package/src/components/Message/MessageSimple/MessageStatus.tsx +35 -88
- package/src/components/Message/MessageSimple/MessageTextContainer.tsx +24 -66
- package/src/components/Message/MessageSimple/ReactionList.tsx +110 -163
- package/src/components/Message/MessageSimple/__tests__/Message.test.js +24 -258
- package/src/components/Message/MessageSimple/__tests__/MessageAvatar.test.js +9 -8
- package/src/components/Message/MessageSimple/__tests__/MessageContent.test.js +63 -46
- package/src/components/Message/MessageSimple/__tests__/MessagePinnedHeader.test.js +53 -0
- package/src/components/Message/MessageSimple/__tests__/MessageReplies.test.js +13 -9
- package/src/components/Message/MessageSimple/__tests__/MessageStatus.test.js +11 -47
- package/src/components/Message/MessageSimple/__tests__/MessageTextContainer.test.js +2 -2
- package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageAvatar.test.js.snap +35 -22
- package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessagePinnedHeader.test.js.snap +80 -0
- package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageReplies.test.js.snap +72 -46
- package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageStatus.test.js.snap +77 -48
- package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageTextContainer.test.js.snap +6 -18
- package/src/components/Message/MessageSimple/utils/parseLinks.test.ts +100 -0
- package/src/components/Message/MessageSimple/utils/parseLinks.ts +95 -0
- package/src/components/Message/MessageSimple/utils/renderText.test.tsx +70 -0
- package/src/components/Message/MessageSimple/utils/renderText.tsx +138 -63
- package/src/components/Message/hooks/useCreateMessageContext.ts +5 -26
- package/src/components/Message/hooks/useMessageActionHandlers.ts +157 -0
- package/src/components/Message/hooks/useMessageActions.tsx +371 -0
- package/src/components/Message/utils/messageActions.ts +53 -54
- package/src/components/Message/utils/removeReservedFields.ts +3 -18
- package/src/components/MessageInput/AttachButton.tsx +15 -57
- package/src/components/MessageInput/CommandsButton.tsx +16 -58
- package/src/components/MessageInput/CooldownTimer.tsx +67 -0
- package/src/components/MessageInput/FileUploadPreview.tsx +86 -118
- package/src/components/MessageInput/ImageUploadPreview.tsx +15 -58
- package/src/components/MessageInput/InputButtons.tsx +17 -64
- package/src/components/MessageInput/MessageInput.tsx +83 -97
- package/src/components/MessageInput/MoreOptionsButton.tsx +14 -56
- package/src/components/MessageInput/SendButton.tsx +14 -55
- package/src/components/MessageInput/SendMessageDisallowedIndicator.tsx +47 -0
- package/src/components/MessageInput/ShowThreadMessageInChannelButton.tsx +6 -21
- package/src/components/MessageInput/__tests__/AttachButton.test.js +2 -2
- package/src/components/MessageInput/__tests__/FileUploadPreview.test.js +193 -97
- package/src/components/MessageInput/__tests__/ImageUploadPreview.test.js +35 -35
- package/src/components/MessageInput/__tests__/MessageInput.test.js +29 -17
- package/src/components/MessageInput/__tests__/SendButton.test.js +2 -2
- package/src/components/MessageInput/__tests__/UploadProgressIndicator.test.js +2 -2
- package/src/components/MessageInput/__tests__/__snapshots__/AttachButton.test.js.snap +134 -52
- package/src/components/MessageInput/__tests__/__snapshots__/FileUploadPreview.test.js.snap +3955 -1647
- package/src/components/MessageInput/__tests__/__snapshots__/ImageUploadPreview.test.js.snap +1964 -1464
- package/src/components/MessageInput/__tests__/__snapshots__/MessageInput.test.js.snap +633 -326
- package/src/components/MessageInput/__tests__/__snapshots__/SendButton.test.js.snap +224 -124
- package/src/components/MessageInput/__tests__/__snapshots__/UploadProgressIndicator.test.js.snap +85 -17
- package/src/components/MessageInput/hooks/useCooldown.ts +48 -0
- package/src/components/MessageInput/hooks/useCountdown.ts +48 -0
- package/src/components/MessageList/DateHeader.tsx +2 -2
- package/src/components/MessageList/InlineDateSeparator.tsx +5 -2
- package/src/components/MessageList/InlineLoadingMoreIndicator.tsx +3 -18
- package/src/components/MessageList/InlineLoadingMoreRecentIndicator.tsx +3 -18
- package/src/components/MessageList/InlineLoadingMoreThreadIndicator.tsx +3 -18
- package/src/components/MessageList/MessageList.tsx +181 -159
- package/src/components/MessageList/MessageSystem.tsx +7 -28
- package/src/components/MessageList/ScrollToBottomButton.tsx +6 -1
- package/src/components/MessageList/TypingIndicator.tsx +4 -20
- package/src/components/MessageList/TypingIndicatorContainer.tsx +14 -47
- package/src/components/MessageList/__tests__/MessageList.test.js +231 -152
- package/src/components/MessageList/__tests__/MessageSystem.test.js +3 -3
- package/src/components/MessageList/__tests__/ScrollToBottomButton.test.js +13 -8
- package/src/components/MessageList/__tests__/TypingIndicator.test.js +14 -97
- package/src/components/MessageList/__tests__/__snapshots__/MessageSystem.test.js.snap +9 -4
- package/src/components/MessageList/__tests__/__snapshots__/ScrollToBottomButton.test.js.snap +78 -32
- package/src/components/MessageList/__tests__/__snapshots__/TypingIndicator.test.js.snap +60 -57
- package/src/components/MessageList/hooks/useMessageList.ts +39 -62
- package/src/components/MessageList/hooks/useTypingString.ts +6 -22
- package/src/components/MessageList/utils/filterTypingUsers.ts +7 -28
- package/src/components/MessageList/utils/getDateSeparators.ts +10 -30
- package/src/components/MessageList/utils/getGroupStyles.ts +23 -44
- package/src/components/MessageList/utils/getLastReceivedMessage.ts +9 -19
- package/src/components/MessageList/utils/getReadStates.ts +5 -20
- package/src/components/MessageOverlay/MessageActionList.tsx +170 -0
- package/src/components/MessageOverlay/MessageActionListItem.tsx +124 -0
- package/src/components/MessageOverlay/MessageOverlay.tsx +264 -268
- package/src/components/MessageOverlay/OverlayBackdrop.tsx +18 -0
- package/src/components/MessageOverlay/OverlayReactionList.tsx +24 -82
- package/src/components/MessageOverlay/OverlayReactions.tsx +12 -8
- package/src/components/MessageOverlay/OverlayReactionsAvatar.tsx +27 -0
- package/src/components/MessageOverlay/hooks/useMessageActionAnimation.tsx +44 -0
- package/src/components/Reply/Reply.tsx +44 -81
- package/src/components/Thread/Thread.tsx +31 -57
- package/src/components/Thread/__tests__/Thread.test.js +58 -77
- package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +874 -1011
- package/src/components/Thread/components/ThreadFooterComponent.tsx +13 -49
- package/src/components/docs/ListProps.md +1 -1
- package/src/components/docs/data.js +38 -37
- package/src/components/index.ts +13 -7
- package/src/contexts/activeChannelsRefContext/ActiveChannelsRefContext.tsx +1 -2
- package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +10 -9
- package/src/contexts/channelContext/ChannelContext.tsx +43 -79
- package/src/contexts/channelsContext/ChannelsContext.tsx +37 -63
- package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +39 -117
- package/src/contexts/channelsStateContext/useChannelState.ts +29 -61
- package/src/contexts/chatContext/ChatContext.tsx +15 -51
- package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +13 -56
- package/src/contexts/keyboardContext/KeyboardContext.tsx +13 -8
- package/src/contexts/messageContext/MessageContext.tsx +16 -57
- package/src/contexts/messageInputContext/MessageInputContext.tsx +146 -157
- package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +13 -26
- package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +15 -34
- package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +41 -97
- package/src/contexts/messageOverlayContext/hooks/useResettableState.test.tsx +46 -0
- package/src/contexts/messageOverlayContext/hooks/useResettableState.ts +22 -0
- package/src/contexts/messagesContext/MessagesContext.tsx +96 -234
- package/src/contexts/overlayContext/OverlayContext.tsx +35 -35
- package/src/contexts/overlayContext/OverlayProvider.tsx +52 -62
- package/src/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.tsx +38 -0
- package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +14 -55
- package/src/contexts/suggestionsContext/SuggestionsContext.tsx +59 -80
- package/src/contexts/suggestionsContext/__tests__/Suggestions.test.js +4 -2
- package/src/contexts/themeContext/ThemeContext.tsx +1 -0
- package/src/contexts/themeContext/utils/theme.ts +92 -36
- package/src/contexts/threadContext/ThreadContext.tsx +14 -48
- package/src/contexts/translationContext/TranslationContext.tsx +15 -10
- package/src/contexts/typingContext/TypingContext.tsx +12 -46
- package/src/contexts/utils/getDisplayName.ts +3 -1
- package/src/emoji-data/compiled.ts +1830 -9609
- package/src/emoji-data/emojiNames.ts +0 -140
- package/src/emoji-data/emojis.ts +0 -210
- package/src/emoji-data/index.js +1 -1
- package/src/hooks/useAppStateListener.ts +26 -12
- package/src/hooks/useIsMountedRef.ts +36 -0
- package/src/hooks/useStreami18n.ts +5 -3
- package/src/i18n/en.json +9 -3
- package/src/i18n/fr.json +9 -3
- package/src/i18n/hi.json +9 -3
- package/src/i18n/it.json +9 -3
- package/src/i18n/ja.json +67 -0
- package/src/i18n/ko.json +67 -0
- package/src/i18n/nl.json +9 -3
- package/src/i18n/ru.json +9 -3
- package/src/i18n/tr.json +10 -4
- package/src/icons/Pin.tsx +17 -0
- package/src/icons/PinHeader.tsx +12 -0
- package/src/icons/Unpin.tsx +12 -0
- package/src/icons/UserAdmin.tsx +23 -0
- package/src/icons/index.ts +3 -2
- package/src/init.ts +5 -0
- package/src/mock-builders/api/queryChannels.js +1 -1
- package/src/mock-builders/api/sendMessage.js +3 -1
- package/src/mock-builders/generator/attachment.js +0 -2
- package/src/mock-builders/generator/channel.js +101 -46
- package/src/mock-builders/generator/user.js +33 -26
- package/src/mock-builders/mock.js +2 -2
- package/src/mock-builders/native/react-native-mock.js +1 -1
- package/src/native.ts +2 -13
- package/src/types/types.ts +16 -18
- package/src/utils/Streami18n.ts +12 -6
- package/src/utils/__tests__/Streami18n.test.js +9 -45
- package/src/utils/__tests__/getResizedImageUrl.test.js +57 -0
- package/src/utils/__tests__/utils.test.js +19 -0
- package/src/utils/date.ts +4 -0
- package/src/utils/getResizedImageUrl.ts +59 -0
- package/src/utils/getUrlOfImageAttachment.ts +10 -0
- package/src/utils/utils.ts +97 -142
- package/src/version.json +1 -1
- package/lib/commonjs/components/AutoCompleteInput/CommandsHeader.js +0 -78
- package/lib/commonjs/components/AutoCompleteInput/CommandsHeader.js.map +0 -1
- package/lib/commonjs/components/AutoCompleteInput/CommandsItem.js.map +0 -1
- package/lib/commonjs/components/AutoCompleteInput/EmojisHeader.js +0 -81
- package/lib/commonjs/components/AutoCompleteInput/EmojisHeader.js.map +0 -1
- package/lib/commonjs/components/AutoCompleteInput/EmojisItem.js +0 -75
- package/lib/commonjs/components/AutoCompleteInput/EmojisItem.js.map +0 -1
- package/lib/commonjs/components/AutoCompleteInput/MentionsItem.js +0 -125
- package/lib/commonjs/components/AutoCompleteInput/MentionsItem.js.map +0 -1
- package/lib/commonjs/components/AutoCompleteInput/SuggestionsList.js +0 -199
- package/lib/commonjs/components/AutoCompleteInput/SuggestionsList.js.map +0 -1
- package/lib/commonjs/components/Channel/utils/debounce.js +0 -20
- package/lib/commonjs/components/Channel/utils/debounce.js.map +0 -1
- package/lib/commonjs/components/Channel/utils/throttle.js +0 -20
- package/lib/commonjs/components/Channel/utils/throttle.js.map +0 -1
- package/lib/commonjs/components/MessageOverlay/MessageActions.js.map +0 -1
- package/lib/commonjs/icons/Left.js +0 -38
- package/lib/commonjs/icons/Left.js.map +0 -1
- package/lib/commonjs/icons/Right.js +0 -38
- package/lib/commonjs/icons/Right.js.map +0 -1
- package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js +0 -100
- package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js.map +0 -1
- package/lib/commonjs/styleguideComponents/BottomSheet.js +0 -25
- package/lib/commonjs/styleguideComponents/BottomSheet.js.map +0 -1
- package/lib/commonjs/styleguideComponents/JsDoc.js +0 -87
- package/lib/commonjs/styleguideComponents/JsDoc.js.map +0 -1
- package/lib/commonjs/styleguideComponents/Markdown.js +0 -12
- package/lib/commonjs/styleguideComponents/Markdown.js.map +0 -1
- package/lib/commonjs/styleguideComponents/PathlineRenderer.js +0 -92
- package/lib/commonjs/styleguideComponents/PathlineRenderer.js.map +0 -1
- package/lib/commonjs/styleguideComponents/PropsRenderer.js +0 -267
- package/lib/commonjs/styleguideComponents/PropsRenderer.js.map +0 -1
- package/lib/commonjs/styleguideComponents/Reanimated.js +0 -2
- package/lib/commonjs/styleguideComponents/Wrapper.js +0 -29
- package/lib/commonjs/styleguideComponents/Wrapper.js.map +0 -1
- package/lib/commonjs/styleguideComponents/register-react-native-web.js +0 -44
- package/lib/commonjs/styleguideComponents/register-react-native-web.js.map +0 -1
- package/lib/commonjs/styleguideComponents/resolveAssetSource.js +0 -11
- package/lib/commonjs/styleguideComponents/resolveAssetSource.js.map +0 -1
- package/lib/module/components/AutoCompleteInput/CommandsHeader.js +0 -78
- package/lib/module/components/AutoCompleteInput/CommandsHeader.js.map +0 -1
- package/lib/module/components/AutoCompleteInput/CommandsItem.js.map +0 -1
- package/lib/module/components/AutoCompleteInput/EmojisHeader.js +0 -81
- package/lib/module/components/AutoCompleteInput/EmojisHeader.js.map +0 -1
- package/lib/module/components/AutoCompleteInput/EmojisItem.js +0 -75
- package/lib/module/components/AutoCompleteInput/EmojisItem.js.map +0 -1
- package/lib/module/components/AutoCompleteInput/MentionsItem.js +0 -125
- package/lib/module/components/AutoCompleteInput/MentionsItem.js.map +0 -1
- package/lib/module/components/AutoCompleteInput/SuggestionsList.js +0 -199
- package/lib/module/components/AutoCompleteInput/SuggestionsList.js.map +0 -1
- package/lib/module/components/Channel/utils/debounce.js +0 -20
- package/lib/module/components/Channel/utils/debounce.js.map +0 -1
- package/lib/module/components/Channel/utils/throttle.js +0 -20
- package/lib/module/components/Channel/utils/throttle.js.map +0 -1
- package/lib/module/components/MessageOverlay/MessageActions.js.map +0 -1
- package/lib/module/icons/Left.js +0 -38
- package/lib/module/icons/Left.js.map +0 -1
- package/lib/module/icons/Right.js +0 -38
- package/lib/module/icons/Right.js.map +0 -1
- package/lib/module/styleguideComponents/ArgumentsRenderer.js +0 -100
- package/lib/module/styleguideComponents/ArgumentsRenderer.js.map +0 -1
- package/lib/module/styleguideComponents/BottomSheet.js +0 -25
- package/lib/module/styleguideComponents/BottomSheet.js.map +0 -1
- package/lib/module/styleguideComponents/JsDoc.js +0 -87
- package/lib/module/styleguideComponents/JsDoc.js.map +0 -1
- package/lib/module/styleguideComponents/Markdown.js +0 -12
- package/lib/module/styleguideComponents/Markdown.js.map +0 -1
- package/lib/module/styleguideComponents/PathlineRenderer.js +0 -92
- package/lib/module/styleguideComponents/PathlineRenderer.js.map +0 -1
- package/lib/module/styleguideComponents/PropsRenderer.js +0 -267
- package/lib/module/styleguideComponents/PropsRenderer.js.map +0 -1
- package/lib/module/styleguideComponents/Reanimated.js +0 -2
- package/lib/module/styleguideComponents/Wrapper.js +0 -29
- package/lib/module/styleguideComponents/Wrapper.js.map +0 -1
- package/lib/module/styleguideComponents/register-react-native-web.js +0 -44
- package/lib/module/styleguideComponents/register-react-native-web.js.map +0 -1
- package/lib/module/styleguideComponents/resolveAssetSource.js +0 -11
- package/lib/module/styleguideComponents/resolveAssetSource.js.map +0 -1
- package/lib/typescript/components/AutoCompleteInput/CommandsHeader.d.ts +0 -2
- package/lib/typescript/components/AutoCompleteInput/CommandsItem.d.ts +0 -15
- package/lib/typescript/components/AutoCompleteInput/EmojisHeader.d.ts +0 -5
- package/lib/typescript/components/AutoCompleteInput/EmojisItem.d.ts +0 -12
- package/lib/typescript/components/AutoCompleteInput/MentionsItem.d.ts +0 -16
- package/lib/typescript/components/AutoCompleteInput/SuggestionsList.d.ts +0 -13
- package/lib/typescript/components/Channel/utils/debounce.d.ts +0 -2
- package/lib/typescript/components/Channel/utils/throttle.d.ts +0 -2
- package/lib/typescript/components/MessageOverlay/MessageActions.d.ts +0 -11
- package/src/components/AutoCompleteInput/CommandsHeader.tsx +0 -43
- package/src/components/AutoCompleteInput/EmojisHeader.tsx +0 -45
- package/src/components/AutoCompleteInput/EmojisItem.tsx +0 -52
- package/src/components/AutoCompleteInput/MentionsItem.tsx +0 -74
- package/src/components/AutoCompleteInput/SuggestionsList.tsx +0 -138
- package/src/components/AutoCompleteInput/__tests__/CommandsItem.test.js +0 -29
- package/src/components/AutoCompleteInput/__tests__/MentionsItem.test.js +0 -62
- package/src/components/Channel/utils/debounce.ts +0 -12
- package/src/components/Channel/utils/throttle.ts +0 -12
- package/src/components/MessageList/__tests__/__snapshots__/MessageList.test.js.snap +0 -983
- package/src/components/MessageOverlay/MessageActions.tsx +0 -243
- package/src/icons/Left.tsx +0 -12
- package/src/icons/Right.tsx +0 -12
- package/src/styleguideComponents/ArgumentsRenderer.tsx +0 -59
- package/src/styleguideComponents/BottomSheet.tsx +0 -3
- package/src/styleguideComponents/JsDoc.tsx +0 -43
- package/src/styleguideComponents/Markdown.tsx +0 -1
- package/src/styleguideComponents/PathlineRenderer.tsx +0 -44
- package/src/styleguideComponents/PropsRenderer.tsx +0 -138
- package/src/styleguideComponents/Reanimated.tsx +0 -0
- package/src/styleguideComponents/Wrapper.tsx +0 -6
- package/src/styleguideComponents/register-react-native-web.js +0 -13
- package/src/styleguideComponents/resolveAssetSource.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["MessageOverlay.tsx"],"names":["styles","StyleSheet","create","alignEnd","alignItems","alignStart","center","flexGrow","justifyContent","containerInner","borderTopLeftRadius","borderTopRightRadius","borderWidth","overflow","flex","overlayPadding","padding","replyContainer","flexDirection","paddingHorizontal","paddingTop","row","scrollView","Platform","OS","screenHeight","halfScreenHeight","MessageOverlayWithContext","props","alignment","clientId","files","groupStyles","handleReaction","images","message","messageActions","MessageActions","DefaultMessageActions","messageContext","messageReactionTitle","messagesContext","onlyEmojis","otherAttachments","overlay","overlayOpacity","OverlayReactionList","OverlayReactionListDefault","OverlayReactions","DefaultOverlayReactions","reset","setOverlay","threadList","visible","theme","myMessageTheme","wrapMessageInTheme","user","id","JSON","stringify","myMessageThemeString","setMyMessageThemeString","reactionListHeight","setReactionListHeight","modifiedTheme","style","colors","blue_alice","grey_gainsboro","grey_whisper","transparent","white_smoke","messageSimple","content","container","borderRadiusL","borderRadiusS","messageHeight","messageLayout","x","y","messageWidth","offsetY","translateY","scale","showScreen","fadeScreen","show","value","damping","mass","restDisplacementThreshold","restSpeedThreshold","stiffness","velocity","duration","easing","Easing","out","ease","Keyboard","dismiss","onPan","onActive","evt","translationY","Extrapolate","CLAMP","onFinish","finalYPosition","velocityY","onStart","panStyle","transform","showScreenStyle","translateX","groupStyle","toLowerCase","hasThreadReplies","reply_count","Attachment","FileAttachmentGroup","Gallery","MessageAvatar","Reply","absoluteFillObject","state","nativeEvent","State","END","own_reactions","map","reaction","type","layout","layoutHeight","height","layoutWidth","width","showAvatar","backgroundColor","quoted_message","length","borderBottomLeftRadius","borderBottomRightRadius","borderColor","messageContentOrder","messageContentType","messageContentOrderIndex","quotedRepliesEnabled","messageContainer","maxWidth","attachment","attachmentIndex","text","actions","latest_reactions","image","name","user_id","supportedReactions","areEqual","prevProps","nextProps","prevAlignment","prevMessage","prevMessageReactionTitle","prevVisible","nextAlignment","nextMessage","nextMessageReactionTitle","nextVisible","visibleEqual","alignmentEqual","messageReactionTitleEqual","latestReactionsEqual","Array","isArray","every","index","MemoizedMessageOverlay","React","memo","MessageOverlay","data","componentProps"],"mappings":"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","sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { Keyboard, Platform, SafeAreaView, StyleSheet, View, ViewStyle } from 'react-native';\nimport Animated, {\n cancelAnimation,\n Easing,\n Extrapolate,\n interpolate,\n runOnJS,\n useAnimatedGestureHandler,\n useAnimatedStyle,\n useSharedValue,\n withDecay,\n withSpring,\n withTiming,\n} from 'react-native-reanimated';\nimport {\n PanGestureHandler,\n PanGestureHandlerGestureEvent,\n ScrollView,\n State,\n TapGestureHandler,\n} from 'react-native-gesture-handler';\n\nimport { OverlayReactionList as OverlayReactionListDefault } from './OverlayReactionList';\n\nimport { MessageTextContainer } from '../Message/MessageSimple/MessageTextContainer';\nimport { MessageActions as DefaultMessageActions } from '../MessageOverlay/MessageActions';\nimport { OverlayReactions as DefaultOverlayReactions } from '../MessageOverlay/OverlayReactions';\n\nimport {\n MessageOverlayContextValue,\n MessageOverlayData,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\nimport { MessagesProvider } from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { mergeThemes, ThemeProvider, useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { vh, vw } from '../../utils/utils';\n\nimport type { ReplyProps } from '../Reply/Reply';\n\nimport { MessageProvider } from '../../contexts/messageContext/MessageContext';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nconst styles = StyleSheet.create({\n alignEnd: { alignItems: 'flex-end' },\n alignStart: { alignItems: 'flex-start' },\n center: {\n flexGrow: 1,\n justifyContent: 'center',\n },\n containerInner: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n borderWidth: 1,\n overflow: 'hidden',\n },\n flex: {\n flex: 1,\n },\n overlayPadding: {\n padding: 8,\n },\n replyContainer: {\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n row: { flexDirection: 'row' },\n scrollView: { overflow: Platform.OS === 'ios' ? 'visible' : 'scroll' },\n});\n\nconst screenHeight = vh(100);\nconst halfScreenHeight = vh(50);\n\nexport type MessageOverlayPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends DefaultUserType = DefaultUserType,\n> = Pick<\n MessageOverlayContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'MessageActions' | 'OverlayReactionList' | 'OverlayReactions' | 'reset'\n> &\n Omit<MessageOverlayData<At, Ch, Co, Ev, Me, Re, Us>, 'supportedReactions'> &\n Pick<OverlayContextValue, 'overlay' | 'setOverlay'> & {\n overlayOpacity: Animated.SharedValue<number>;\n visible?: boolean;\n };\n\nconst MessageOverlayWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends DefaultUserType = DefaultUserType,\n>(\n props: MessageOverlayPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n alignment,\n clientId,\n files,\n groupStyles,\n handleReaction,\n images,\n message,\n messageActions,\n MessageActions = DefaultMessageActions,\n messageContext,\n messageReactionTitle,\n messagesContext,\n onlyEmojis,\n otherAttachments,\n overlay,\n overlayOpacity,\n OverlayReactionList = OverlayReactionListDefault,\n OverlayReactions = DefaultOverlayReactions,\n reset,\n setOverlay,\n threadList,\n visible,\n } = props;\n\n const { theme } = useTheme();\n\n const myMessageTheme = messagesContext?.myMessageTheme;\n const wrapMessageInTheme = clientId === message?.user?.id && !!myMessageTheme;\n\n const [myMessageThemeString, setMyMessageThemeString] = useState(JSON.stringify(myMessageTheme));\n const [reactionListHeight, setReactionListHeight] = useState(0);\n\n useEffect(() => {\n if (myMessageTheme) {\n setMyMessageThemeString(JSON.stringify(myMessageTheme));\n }\n }, [myMessageTheme]);\n\n const modifiedTheme = useMemo(\n () => mergeThemes({ style: myMessageTheme, theme }),\n [myMessageThemeString, theme],\n );\n\n const {\n colors: { blue_alice, grey_gainsboro, grey_whisper, transparent, white_smoke },\n messageSimple: {\n content: {\n container: { borderRadiusL, borderRadiusS },\n containerInner,\n replyContainer,\n },\n },\n } = wrapMessageInTheme ? modifiedTheme : theme;\n\n const messageHeight = useSharedValue(0);\n const messageLayout = useSharedValue({ x: 0, y: 0 });\n const messageWidth = useSharedValue(0);\n\n const offsetY = useSharedValue(0);\n const translateY = useSharedValue(0);\n const scale = useSharedValue(1);\n\n const showScreen = useSharedValue(0);\n const fadeScreen = (show: boolean) => {\n 'worklet';\n if (show) {\n offsetY.value = 0;\n translateY.value = 0;\n scale.value = 1;\n }\n showScreen.value = show\n ? withSpring(1, {\n damping: 600,\n mass: 0.5,\n restDisplacementThreshold: 0.01,\n restSpeedThreshold: 0.01,\n stiffness: 200,\n velocity: 32,\n })\n : withTiming(\n 0,\n {\n duration: 150,\n easing: Easing.out(Easing.ease),\n },\n () => {\n if (!show) {\n runOnJS(reset)();\n }\n },\n );\n };\n\n useEffect(() => {\n if (visible) {\n Keyboard.dismiss();\n }\n fadeScreen(!!visible);\n }, [visible]);\n\n const onPan = useAnimatedGestureHandler<PanGestureHandlerGestureEvent>({\n onActive: (evt) => {\n translateY.value = offsetY.value + evt.translationY;\n overlayOpacity.value = interpolate(\n translateY.value,\n [0, halfScreenHeight],\n [1, 0.75],\n Extrapolate.CLAMP,\n );\n scale.value = interpolate(\n translateY.value,\n [0, halfScreenHeight],\n [1, 0.85],\n Extrapolate.CLAMP,\n );\n },\n onFinish: (evt) => {\n const finalYPosition = evt.translationY + evt.velocityY * 0.1;\n\n if (finalYPosition > halfScreenHeight && translateY.value > 0) {\n cancelAnimation(translateY);\n overlayOpacity.value = withTiming(\n 0,\n {\n duration: 200,\n easing: Easing.out(Easing.ease),\n },\n () => {\n runOnJS(setOverlay)('none');\n },\n );\n translateY.value =\n evt.velocityY > 1000\n ? withDecay({\n velocity: evt.velocityY,\n })\n : withTiming(screenHeight, {\n duration: 200,\n easing: Easing.out(Easing.ease),\n });\n } else {\n translateY.value = withTiming(0);\n scale.value = withTiming(1);\n overlayOpacity.value = withTiming(1);\n }\n },\n onStart: () => {\n cancelAnimation(translateY);\n offsetY.value = translateY.value;\n },\n });\n\n const panStyle = useAnimatedStyle<ViewStyle>(() => ({\n transform: [\n {\n translateY: translateY.value,\n },\n {\n scale: scale.value,\n },\n ],\n }));\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [messageHeight.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [alignment === 'left' ? -messageWidth.value / 2 : messageWidth.value / 2, 0],\n ),\n },\n {\n scale: showScreen.value,\n },\n ],\n }),\n [alignment],\n );\n\n const groupStyle = `${alignment}_${(groupStyles?.[0] || 'bottom').toLowerCase()}`;\n\n const hasThreadReplies = !!message?.reply_count;\n\n const { Attachment, FileAttachmentGroup, Gallery, MessageAvatar, Reply } = messagesContext || {};\n\n return (\n <MessagesProvider<At, Ch, Co, Ev, Me, Re, Us> value={messagesContext}>\n <MessageProvider value={messageContext}>\n <ThemeProvider mergedStyle={wrapMessageInTheme ? modifiedTheme : theme}>\n <Animated.View\n pointerEvents={visible ? 'auto' : 'none'}\n style={StyleSheet.absoluteFillObject}\n >\n <PanGestureHandler\n enabled={overlay === 'message'}\n maxPointers={1}\n minDist={10}\n onGestureEvent={onPan}\n >\n <Animated.View style={[StyleSheet.absoluteFillObject]}>\n <SafeAreaView style={styles.flex}>\n <ScrollView\n alwaysBounceVertical={false}\n contentContainerStyle={[\n styles.center,\n {\n paddingTop: reactionListHeight,\n },\n ]}\n showsVerticalScrollIndicator={false}\n style={[styles.flex, styles.scrollView]}\n >\n <TapGestureHandler\n maxDist={32}\n onHandlerStateChange={({ nativeEvent: { state } }) => {\n if (state === State.END) {\n setOverlay('none');\n }\n }}\n >\n <Animated.View style={[styles.flex, panStyle]}>\n {message && (\n <View\n style={[\n styles.center,\n styles.overlayPadding,\n alignment === 'left' ? styles.alignStart : styles.alignEnd,\n ]}\n >\n {handleReaction ? (\n <OverlayReactionList\n messageLayout={messageLayout}\n ownReactionTypes={\n message?.own_reactions?.map((reaction) => reaction.type) || []\n }\n setReactionListHeight={setReactionListHeight}\n showScreen={showScreen}\n />\n ) : null}\n <Animated.View\n onLayout={({\n nativeEvent: {\n layout: { height: layoutHeight, width: layoutWidth, x, y },\n },\n }) => {\n messageLayout.value = {\n x: alignment === 'left' ? x + layoutWidth : x,\n y,\n };\n messageWidth.value = layoutWidth;\n messageHeight.value = layoutHeight;\n }}\n style={[styles.alignEnd, styles.row, showScreenStyle]}\n >\n {alignment === 'left' && MessageAvatar && (\n <MessageAvatar {...{ alignment, message, showAvatar: true }} />\n )}\n <View\n style={[\n styles.containerInner,\n {\n backgroundColor:\n onlyEmojis && !message.quoted_message\n ? transparent\n : otherAttachments?.length\n ? otherAttachments[0].type === 'giphy'\n ? !message.quoted_message\n ? transparent\n : grey_gainsboro\n : blue_alice\n : alignment === 'left'\n ? white_smoke\n : grey_gainsboro,\n borderBottomLeftRadius:\n (groupStyle === 'left_bottom' ||\n groupStyle === 'left_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderBottomRightRadius:\n (groupStyle === 'right_bottom' ||\n groupStyle === 'right_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderColor: grey_whisper,\n },\n (onlyEmojis && !message.quoted_message) ||\n otherAttachments?.length\n ? { borderWidth: 0 }\n : {},\n containerInner,\n ]}\n >\n {messagesContext?.messageContentOrder?.map(\n (messageContentType, messageContentOrderIndex) => {\n switch (messageContentType) {\n case 'quoted_reply':\n return (\n messagesContext?.quotedRepliesEnabled &&\n message.quoted_message &&\n Reply && (\n <View\n key={`quoted_reply_${messageContentOrderIndex}`}\n style={[styles.replyContainer, replyContainer]}\n >\n <Reply\n quotedMessage={\n message.quoted_message as ReplyProps<\n At,\n Ch,\n Co,\n Ev,\n Me,\n Re,\n Us\n >['quotedMessage']\n }\n styles={{\n messageContainer: {\n maxWidth: vw(60),\n },\n }}\n />\n </View>\n )\n );\n case 'attachments':\n return otherAttachments?.map(\n (attachment, attachmentIndex) =>\n Attachment && (\n <Attachment\n attachment={attachment}\n key={`${message.id}-${attachmentIndex}`}\n />\n ),\n );\n case 'files':\n return (\n FileAttachmentGroup && (\n <FileAttachmentGroup\n files={files}\n key={`file_attachment_group_${messageContentOrderIndex}`}\n messageId={message.id}\n />\n )\n );\n case 'gallery':\n return (\n Gallery && (\n <Gallery\n alignment={alignment}\n groupStyles={groupStyles}\n hasThreadReplies={!!message?.reply_count}\n images={images}\n key={`gallery_${messageContentOrderIndex}`}\n messageId={message.id}\n messageText={message.text}\n threadList={threadList}\n />\n )\n );\n case 'text':\n default:\n return otherAttachments?.length &&\n otherAttachments[0].actions ? null : (\n <MessageTextContainer<At, Ch, Co, Ev, Me, Re, Us>\n key={`message_text_container_${messageContentOrderIndex}`}\n message={message}\n messageOverlay\n onlyEmojis={onlyEmojis}\n />\n );\n }\n },\n )}\n </View>\n </Animated.View>\n {messageActions && <MessageActions showScreen={showScreen} />}\n {!!messageReactionTitle &&\n message.latest_reactions &&\n message.latest_reactions.length > 0 ? (\n <OverlayReactions\n alignment={alignment}\n reactions={message.latest_reactions.map((reaction) => ({\n alignment:\n clientId && clientId === reaction.user?.id ? 'right' : 'left',\n image: reaction?.user?.image,\n name: reaction?.user?.name || reaction.user_id || '',\n type: reaction.type,\n }))}\n showScreen={showScreen}\n supportedReactions={messagesContext?.supportedReactions}\n title={messageReactionTitle}\n />\n ) : null}\n </View>\n )}\n </Animated.View>\n </TapGestureHandler>\n </ScrollView>\n </SafeAreaView>\n </Animated.View>\n </PanGestureHandler>\n </Animated.View>\n </ThemeProvider>\n </MessageProvider>\n </MessagesProvider>\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: MessageOverlayPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: MessageOverlayPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n alignment: prevAlignment,\n message: prevMessage,\n messageReactionTitle: prevMessageReactionTitle,\n visible: prevVisible,\n } = prevProps;\n const {\n alignment: nextAlignment,\n message: nextMessage,\n messageReactionTitle: nextMessageReactionTitle,\n visible: nextVisible,\n } = nextProps;\n\n const visibleEqual = prevVisible === nextVisible;\n if (!visibleEqual) return false;\n\n const alignmentEqual = prevAlignment === nextAlignment;\n if (!alignmentEqual) return false;\n\n const messageReactionTitleEqual = prevMessageReactionTitle === nextMessageReactionTitle;\n if (!messageReactionTitleEqual) return false;\n\n const latestReactionsEqual =\n Array.isArray(prevMessage?.latest_reactions) && Array.isArray(nextMessage?.latest_reactions)\n ? prevMessage?.latest_reactions.length === nextMessage?.latest_reactions.length &&\n prevMessage?.latest_reactions.every(\n ({ type }, index) => type === nextMessage?.latest_reactions?.[index].type,\n )\n : prevMessage?.latest_reactions === nextMessage?.latest_reactions;\n if (!latestReactionsEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageOverlay = React.memo(\n MessageOverlayWithContext,\n areEqual,\n) as typeof MessageOverlayWithContext;\n\nexport type MessageOverlayProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends DefaultUserType = DefaultUserType,\n> = Partial<Omit<MessageOverlayPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>, 'overlayOpacity'>> &\n Pick<MessageOverlayPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>, 'overlayOpacity'>;\n\n/**\n * MessageOverlay - A high level component which implements all the logic required for a message overlay\n */\nexport const MessageOverlay = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends DefaultUserType = DefaultUserType,\n>(\n props: MessageOverlayProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { data, MessageActions, OverlayReactionList, OverlayReactions, reset } =\n useMessageOverlayContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { overlay, setOverlay } = useOverlayContext();\n\n const componentProps = {\n MessageActions: props.MessageActions || MessageActions,\n OverlayReactionList:\n props.OverlayReactionList || OverlayReactionList || data?.OverlayReactionList,\n OverlayReactions: props.OverlayReactions || OverlayReactions,\n };\n\n return (\n <MemoizedMessageOverlay\n {...(data || {})}\n {...{\n overlay,\n reset,\n setOverlay,\n }}\n {...props}\n {...componentProps}\n />\n );\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["MessageOverlay.tsx"],"names":["styles","StyleSheet","create","alignEnd","alignItems","alignStart","center","flexGrow","justifyContent","containerInner","borderTopLeftRadius","borderTopRightRadius","borderWidth","overflow","flex","overlayPadding","padding","replyContainer","flexDirection","paddingHorizontal","paddingTop","row","scrollView","Platform","OS","screenHeight","halfScreenHeight","DefaultMessageTextNumberOfLines","MessageOverlayWithContext","props","alignment","ownCapabilities","clientId","files","groupStyles","handleReaction","images","message","messageActions","MessageActionList","DefaultMessageActionList","MessageActionListItem","messageContext","messageReactionTitle","messageTextNumberOfLines","messagesContext","onlyEmojis","otherAttachments","overlay","overlayOpacity","OverlayReactionList","OverlayReactionListDefault","OverlayReactions","DefaultOverlayReactions","OverlayReactionsAvatar","OverlayReactionsAvatarDefault","reset","setOverlay","threadList","visible","isMyMessage","messageReactions","error","isThreadMessage","messageActionProps","theme","myMessageTheme","wrapMessageInTheme","user","id","JSON","stringify","myMessageThemeString","setMyMessageThemeString","modifiedTheme","style","colors","blue_alice","grey_gainsboro","grey_whisper","transparent","white_smoke","messageSimple","content","container","borderRadiusL","borderRadiusS","containerStyle","messageHeight","messageLayout","x","y","messageWidth","offsetY","translateY","scale","showScreen","fadeScreen","show","value","damping","mass","restDisplacementThreshold","restSpeedThreshold","stiffness","velocity","duration","easing","Easing","out","ease","Keyboard","dismiss","onPan","onActive","evt","translationY","Extrapolate","CLAMP","onFinish","finalYPosition","velocityY","onStart","panStyle","transform","showScreenStyle","translateX","groupStyle","toLowerCase","hasThreadReplies","reply_count","Attachment","FileAttachmentGroup","Gallery","MessageAvatar","Reply","absoluteFillObject","state","nativeEvent","State","END","sendReaction","own_reactions","map","reaction","type","layout","layoutHeight","height","layoutWidth","width","showAvatar","backgroundColor","quoted_message","length","borderBottomLeftRadius","borderBottomRightRadius","borderColor","messageContentOrder","messageContentType","messageContentOrderIndex","messageContainer","maxWidth","attachment","attachmentIndex","actions","latest_reactions","image","name","user_id","supportedReactions","areEqual","prevProps","nextProps","prevAlignment","prevMessage","prevMessageReactionTitle","prevVisible","nextAlignment","nextMessage","nextMessageReactionTitle","nextVisible","visibleEqual","alignmentEqual","messageReactionTitleEqual","latestReactionsEqual","Array","isArray","every","index","MemoizedMessageOverlay","React","memo","MessageOverlay","data","componentProps"],"mappings":"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","sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { Keyboard, Platform, SafeAreaView, StyleSheet, View, ViewStyle } from 'react-native';\nimport {\n PanGestureHandler,\n PanGestureHandlerGestureEvent,\n State,\n TapGestureHandler,\n} from 'react-native-gesture-handler';\nimport Animated, {\n cancelAnimation,\n Easing,\n Extrapolate,\n interpolate,\n runOnJS,\n useAnimatedGestureHandler,\n useAnimatedStyle,\n useSharedValue,\n withDecay,\n withSpring,\n withTiming,\n} from 'react-native-reanimated';\n\nimport { MessageActionList as DefaultMessageActionList } from './MessageActionList';\nimport { OverlayReactionList as OverlayReactionListDefault } from './OverlayReactionList';\nimport { OverlayReactionsAvatar as OverlayReactionsAvatarDefault } from './OverlayReactionsAvatar';\n\nimport { MessageProvider } from '../../contexts/messageContext/MessageContext';\nimport {\n MessageOverlayContextValue,\n MessageOverlayData,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\n\nimport { MessagesProvider } from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n OverlayProviderProps,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { mergeThemes, ThemeProvider, useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { vh, vw } from '../../utils/utils';\nimport { MessageTextContainer } from '../Message/MessageSimple/MessageTextContainer';\nimport {\n OverlayReactions as DefaultOverlayReactions,\n Reaction,\n} from '../MessageOverlay/OverlayReactions';\nimport type { ReplyProps } from '../Reply/Reply';\n\nconst styles = StyleSheet.create({\n alignEnd: { alignItems: 'flex-end' },\n alignStart: { alignItems: 'flex-start' },\n center: {\n flexGrow: 1,\n justifyContent: 'center',\n },\n containerInner: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n borderWidth: 1,\n overflow: 'hidden',\n },\n flex: {\n flex: 1,\n },\n overlayPadding: {\n padding: 8,\n },\n replyContainer: {\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n row: { flexDirection: 'row' },\n scrollView: { overflow: Platform.OS === 'ios' ? 'visible' : 'scroll' },\n});\n\nconst screenHeight = vh(100);\nconst halfScreenHeight = vh(50);\nconst DefaultMessageTextNumberOfLines = 5;\n\nexport type MessageOverlayPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageOverlayContextValue<StreamChatGenerics>,\n | 'MessageActionList'\n | 'MessageActionListItem'\n | 'OverlayReactionList'\n | 'OverlayReactions'\n | 'OverlayReactionsAvatar'\n | 'reset'\n> &\n Omit<MessageOverlayData<StreamChatGenerics>, 'supportedReactions'> &\n Pick<OverlayContextValue, 'overlay' | 'setOverlay'> &\n Pick<\n OverlayProviderProps<StreamChatGenerics>,\n | 'error'\n | 'isMyMessage'\n | 'isThreadMessage'\n | 'message'\n | 'messageReactions'\n | 'messageTextNumberOfLines'\n | 'overlayOpacity'\n > & {\n showScreen?: Animated.SharedValue<number>;\n visible?: boolean;\n };\n\nconst MessageOverlayWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageOverlayPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n ownCapabilities,\n clientId,\n files,\n groupStyles,\n handleReaction,\n images,\n message,\n messageActions,\n MessageActionList = DefaultMessageActionList,\n MessageActionListItem,\n messageContext,\n messageReactionTitle,\n messageTextNumberOfLines = DefaultMessageTextNumberOfLines,\n messagesContext,\n onlyEmojis,\n otherAttachments,\n overlay,\n overlayOpacity,\n OverlayReactionList = OverlayReactionListDefault,\n OverlayReactions = DefaultOverlayReactions,\n OverlayReactionsAvatar = OverlayReactionsAvatarDefault,\n reset,\n setOverlay,\n threadList,\n visible,\n isMyMessage,\n messageReactions,\n error,\n isThreadMessage,\n } = props;\n\n const messageActionProps = {\n error,\n isMyMessage,\n isThreadMessage,\n message,\n messageReactions,\n };\n\n const { theme } = useTheme();\n\n const myMessageTheme = messagesContext?.myMessageTheme;\n const wrapMessageInTheme = clientId === message?.user?.id && !!myMessageTheme;\n\n const [myMessageThemeString, setMyMessageThemeString] = useState(JSON.stringify(myMessageTheme));\n\n useEffect(() => {\n if (myMessageTheme) {\n setMyMessageThemeString(JSON.stringify(myMessageTheme));\n }\n }, [myMessageTheme]);\n\n const modifiedTheme = useMemo(\n () => mergeThemes({ style: myMessageTheme, theme }),\n [myMessageThemeString, theme],\n );\n\n const {\n colors: { blue_alice, grey_gainsboro, grey_whisper, transparent, white_smoke },\n messageSimple: {\n content: {\n container: { borderRadiusL, borderRadiusS },\n containerInner,\n replyContainer,\n },\n },\n overlay: { container: containerStyle, padding: overlayPadding },\n } = wrapMessageInTheme ? modifiedTheme : theme;\n\n const messageHeight = useSharedValue(0);\n const messageLayout = useSharedValue({ x: 0, y: 0 });\n const messageWidth = useSharedValue(0);\n\n const offsetY = useSharedValue(0);\n const translateY = useSharedValue(0);\n const scale = useSharedValue(1);\n\n const showScreen = useSharedValue(0);\n const fadeScreen = (show: boolean) => {\n 'worklet';\n if (show) {\n offsetY.value = 0;\n translateY.value = 0;\n scale.value = 1;\n }\n showScreen.value = show\n ? withSpring(1, {\n damping: 600,\n mass: 0.5,\n restDisplacementThreshold: 0.01,\n restSpeedThreshold: 0.01,\n stiffness: 200,\n velocity: 32,\n })\n : withTiming(\n 0,\n {\n duration: 150,\n easing: Easing.out(Easing.ease),\n },\n () => {\n if (!show) {\n runOnJS(reset)();\n }\n },\n );\n };\n\n useEffect(() => {\n if (visible) {\n Keyboard.dismiss();\n }\n fadeScreen(!!visible);\n }, [visible]);\n\n const onPan = useAnimatedGestureHandler<PanGestureHandlerGestureEvent>({\n onActive: (evt) => {\n translateY.value = offsetY.value + evt.translationY;\n overlayOpacity.value = interpolate(\n translateY.value,\n [0, halfScreenHeight],\n [1, 0.75],\n Extrapolate.CLAMP,\n );\n scale.value = interpolate(\n translateY.value,\n [0, halfScreenHeight],\n [1, 0.85],\n Extrapolate.CLAMP,\n );\n },\n onFinish: (evt) => {\n const finalYPosition = evt.translationY + evt.velocityY * 0.1;\n\n if (finalYPosition > halfScreenHeight && translateY.value > 0) {\n cancelAnimation(translateY);\n overlayOpacity.value = withTiming(\n 0,\n {\n duration: 200,\n easing: Easing.out(Easing.ease),\n },\n () => {\n runOnJS(setOverlay)('none');\n },\n );\n translateY.value =\n evt.velocityY > 1000\n ? withDecay({\n velocity: evt.velocityY,\n })\n : withTiming(screenHeight, {\n duration: 200,\n easing: Easing.out(Easing.ease),\n });\n } else {\n translateY.value = withTiming(0);\n scale.value = withTiming(1);\n overlayOpacity.value = withTiming(1);\n }\n },\n onStart: () => {\n cancelAnimation(translateY);\n offsetY.value = translateY.value;\n },\n });\n\n const panStyle = useAnimatedStyle<ViewStyle>(() => ({\n transform: [\n {\n translateY: translateY.value,\n },\n {\n scale: scale.value,\n },\n ],\n }));\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [messageHeight.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [alignment === 'left' ? -messageWidth.value / 2 : messageWidth.value / 2, 0],\n ),\n },\n {\n scale: showScreen.value,\n },\n ],\n }),\n [alignment],\n );\n\n const groupStyle = `${alignment}_${(groupStyles?.[0] || 'bottom').toLowerCase()}`;\n\n const hasThreadReplies = !!message?.reply_count;\n\n const { Attachment, FileAttachmentGroup, Gallery, MessageAvatar, Reply } = messagesContext || {};\n\n return (\n <MessagesProvider value={messagesContext}>\n <MessageProvider value={messageContext}>\n <ThemeProvider mergedStyle={wrapMessageInTheme ? modifiedTheme : theme}>\n <Animated.View\n pointerEvents={visible ? 'auto' : 'none'}\n style={[StyleSheet.absoluteFillObject, containerStyle]}\n >\n <PanGestureHandler\n enabled={overlay === 'message'}\n maxPointers={1}\n minDist={10}\n onGestureEvent={onPan}\n >\n <Animated.View style={[StyleSheet.absoluteFillObject]}>\n <SafeAreaView style={styles.flex}>\n <TapGestureHandler\n maxDist={32}\n onHandlerStateChange={({ nativeEvent: { state } }) => {\n if (state === State.END) {\n setOverlay('none');\n }\n }}\n >\n <Animated.View style={[styles.flex, panStyle]}>\n {message && (\n <View\n style={[\n styles.center,\n styles.overlayPadding,\n { padding: overlayPadding },\n alignment === 'left' ? styles.alignStart : styles.alignEnd,\n ]}\n >\n {handleReaction && ownCapabilities?.sendReaction ? (\n <OverlayReactionList\n messageLayout={messageLayout}\n ownReactionTypes={\n message?.own_reactions?.map((reaction) => reaction.type) || []\n }\n showScreen={showScreen}\n />\n ) : null}\n <Animated.View\n onLayout={({\n nativeEvent: {\n layout: { height: layoutHeight, width: layoutWidth, x, y },\n },\n }) => {\n messageLayout.value = {\n x: alignment === 'left' ? x + layoutWidth : x,\n y,\n };\n messageWidth.value = layoutWidth;\n messageHeight.value = layoutHeight;\n }}\n style={[styles.alignEnd, styles.row, showScreenStyle]}\n >\n {alignment === 'left' && MessageAvatar && (\n <MessageAvatar {...{ alignment, message, showAvatar: true }} />\n )}\n <View\n style={[\n styles.containerInner,\n {\n backgroundColor:\n onlyEmojis && !message.quoted_message\n ? transparent\n : otherAttachments?.length\n ? otherAttachments[0].type === 'giphy'\n ? !message.quoted_message\n ? transparent\n : grey_gainsboro\n : blue_alice\n : alignment === 'left'\n ? white_smoke\n : grey_gainsboro,\n borderBottomLeftRadius:\n (groupStyle === 'left_bottom' ||\n groupStyle === 'left_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderBottomRightRadius:\n (groupStyle === 'right_bottom' ||\n groupStyle === 'right_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderColor: grey_whisper,\n },\n (onlyEmojis && !message.quoted_message) || otherAttachments?.length\n ? { borderWidth: 0 }\n : {},\n containerInner,\n ]}\n >\n {messagesContext?.messageContentOrder?.map(\n (messageContentType, messageContentOrderIndex) => {\n switch (messageContentType) {\n case 'quoted_reply':\n return (\n message.quoted_message &&\n Reply && (\n <View\n key={`quoted_reply_${messageContentOrderIndex}`}\n style={[styles.replyContainer, replyContainer]}\n >\n <Reply\n quotedMessage={\n message.quoted_message as ReplyProps<StreamChatGenerics>['quotedMessage']\n }\n styles={{\n messageContainer: {\n maxWidth: vw(60),\n },\n }}\n />\n </View>\n )\n );\n case 'attachments':\n return otherAttachments?.map(\n (attachment, attachmentIndex) =>\n Attachment && (\n <Attachment\n attachment={attachment}\n key={`${message.id}-${attachmentIndex}`}\n />\n ),\n );\n case 'files':\n return (\n FileAttachmentGroup && (\n <FileAttachmentGroup\n files={files}\n key={`file_attachment_group_${messageContentOrderIndex}`}\n messageId={message.id}\n />\n )\n );\n case 'gallery':\n return (\n Gallery && (\n <Gallery\n alignment={alignment}\n groupStyles={groupStyles}\n hasThreadReplies={!!message?.reply_count}\n images={images}\n key={`gallery_${messageContentOrderIndex}`}\n message={message}\n threadList={threadList}\n />\n )\n );\n case 'text':\n default:\n return otherAttachments?.length &&\n otherAttachments[0].actions ? null : (\n <MessageTextContainer<StreamChatGenerics>\n key={`message_text_container_${messageContentOrderIndex}`}\n message={message}\n messageOverlay\n messageTextNumberOfLines={messageTextNumberOfLines}\n onlyEmojis={onlyEmojis}\n />\n );\n }\n },\n )}\n </View>\n </Animated.View>\n {messageActions && (\n <MessageActionList\n MessageActionListItem={MessageActionListItem}\n showScreen={showScreen}\n {...messageActionProps}\n message={message}\n />\n )}\n {!!messageReactionTitle &&\n message.latest_reactions &&\n message.latest_reactions.length > 0 ? (\n <OverlayReactions\n alignment={alignment}\n OverlayReactionsAvatar={OverlayReactionsAvatar}\n reactions={\n message.latest_reactions.map((reaction) => ({\n alignment:\n clientId && clientId === reaction.user?.id ? 'right' : 'left',\n id: reaction?.user?.id || '',\n image: reaction?.user?.image,\n name: reaction?.user?.name || reaction.user_id || '',\n type: reaction.type,\n })) as Reaction[]\n }\n showScreen={showScreen}\n supportedReactions={messagesContext?.supportedReactions}\n title={messageReactionTitle}\n />\n ) : null}\n </View>\n )}\n </Animated.View>\n </TapGestureHandler>\n </SafeAreaView>\n </Animated.View>\n </PanGestureHandler>\n </Animated.View>\n </ThemeProvider>\n </MessageProvider>\n </MessagesProvider>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageOverlayPropsWithContext<StreamChatGenerics>,\n nextProps: MessageOverlayPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment: prevAlignment,\n message: prevMessage,\n messageReactionTitle: prevMessageReactionTitle,\n visible: prevVisible,\n } = prevProps;\n const {\n alignment: nextAlignment,\n message: nextMessage,\n messageReactionTitle: nextMessageReactionTitle,\n visible: nextVisible,\n } = nextProps;\n\n const visibleEqual = prevVisible === nextVisible;\n if (!visibleEqual) return false;\n\n const alignmentEqual = prevAlignment === nextAlignment;\n if (!alignmentEqual) return false;\n\n const messageReactionTitleEqual = prevMessageReactionTitle === nextMessageReactionTitle;\n if (!messageReactionTitleEqual) return false;\n\n const latestReactionsEqual =\n Array.isArray(prevMessage?.latest_reactions) && Array.isArray(nextMessage?.latest_reactions)\n ? prevMessage?.latest_reactions.length === nextMessage?.latest_reactions.length &&\n prevMessage?.latest_reactions.every(\n ({ type }, index) => type === nextMessage?.latest_reactions?.[index].type,\n )\n : prevMessage?.latest_reactions === nextMessage?.latest_reactions;\n if (!latestReactionsEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageOverlay = React.memo(\n MessageOverlayWithContext,\n areEqual,\n) as typeof MessageOverlayWithContext;\n\nexport type MessageOverlayProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessageOverlayPropsWithContext<StreamChatGenerics>, 'overlayOpacity'>> &\n Pick<MessageOverlayPropsWithContext<StreamChatGenerics>, 'overlayOpacity'> &\n Pick<\n MessageOverlayPropsWithContext<StreamChatGenerics>,\n 'isMyMessage' | 'error' | 'isThreadMessage' | 'message' | 'messageReactions'\n >;\n\n/**\n * MessageOverlay - A high level component which implements all the logic required for a message overlay\n */\nexport const MessageOverlay = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageOverlayProps<StreamChatGenerics>,\n) => {\n const {\n data,\n MessageActionList,\n MessageActionListItem,\n OverlayReactionList,\n OverlayReactions,\n OverlayReactionsAvatar,\n reset,\n } = useMessageOverlayContext<StreamChatGenerics>();\n const { overlay, setOverlay } = useOverlayContext();\n\n const componentProps = {\n MessageActionList: props.MessageActionList || MessageActionList,\n MessageActionListItem: props.MessageActionListItem || MessageActionListItem,\n OverlayReactionList:\n props.OverlayReactionList || OverlayReactionList || data?.OverlayReactionList,\n OverlayReactions: props.OverlayReactions || OverlayReactions,\n OverlayReactionsAvatar: props.OverlayReactionsAvatar || OverlayReactionsAvatar,\n };\n\n return (\n <MemoizedMessageOverlay\n {...{\n overlay,\n reset,\n setOverlay,\n }}\n {...componentProps}\n {...(data || {})}\n {...props}\n />\n );\n};\n"]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.OverlayBackdrop = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _reactNative = require("react-native");
|
|
11
|
+
|
|
12
|
+
var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
|
|
13
|
+
|
|
14
|
+
var _this = this,
|
|
15
|
+
_jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/MessageOverlay/OverlayBackdrop.tsx";
|
|
16
|
+
|
|
17
|
+
var OverlayBackdrop = function OverlayBackdrop(props) {
|
|
18
|
+
var _props$style = props.style,
|
|
19
|
+
style = _props$style === void 0 ? {} : _props$style;
|
|
20
|
+
|
|
21
|
+
var _useTheme = (0, _ThemeContext.useTheme)(),
|
|
22
|
+
overlay = _useTheme.theme.colors.overlay;
|
|
23
|
+
|
|
24
|
+
return _react["default"].createElement(_reactNative.View, {
|
|
25
|
+
style: [{
|
|
26
|
+
backgroundColor: overlay
|
|
27
|
+
}, style],
|
|
28
|
+
__self: _this,
|
|
29
|
+
__source: {
|
|
30
|
+
fileName: _jsxFileName,
|
|
31
|
+
lineNumber: 17,
|
|
32
|
+
columnNumber: 10
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
exports.OverlayBackdrop = OverlayBackdrop;
|
|
38
|
+
//# sourceMappingURL=OverlayBackdrop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["OverlayBackdrop.tsx"],"names":["OverlayBackdrop","props","style","overlay","theme","colors","backgroundColor"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;;;;AAMO,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,KAAD,EAA8C;AAC3E,qBAAuBA,KAAvB,CAAQC,KAAR;AAAA,MAAQA,KAAR,6BAAgB,EAAhB;;AACA,kBAII,6BAJJ;AAAA,MAEcC,OAFd,aACEC,KADF,CAEIC,MAFJ,CAEcF,OAFd;;AAKA,SAAO,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAAC;AAAEG,MAAAA,eAAe,EAAEH;AAAnB,KAAD,EAA+BD,KAA/B,CAAb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAP;AACD,CARM","sourcesContent":["import React from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\ntype OverlayBackdropProps = {\n style?: StyleProp<ViewStyle>;\n};\n\nexport const OverlayBackdrop = (props: OverlayBackdropProps): JSX.Element => {\n const { style = {} } = props;\n const {\n theme: {\n colors: { overlay },\n },\n } = useTheme();\n return <View style={[{ backgroundColor: overlay }, style]} />;\n};\n"]}
|
|
@@ -5,7 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
8
|
+
exports.ReactionButton = exports.OverlayReactionList = void 0;
|
|
9
9
|
|
|
10
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
11
|
|
|
@@ -32,7 +32,7 @@ var _icons = require("../../icons");
|
|
|
32
32
|
var _native = require("../../native");
|
|
33
33
|
|
|
34
34
|
var _this = this,
|
|
35
|
-
_jsxFileName = "/
|
|
35
|
+
_jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/MessageOverlay/OverlayReactionList.tsx";
|
|
36
36
|
|
|
37
37
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
38
38
|
|
|
@@ -169,7 +169,7 @@ var ReactionButton = function ReactionButton(props) {
|
|
|
169
169
|
__self: _this,
|
|
170
170
|
__source: {
|
|
171
171
|
fileName: _jsxFileName,
|
|
172
|
-
lineNumber:
|
|
172
|
+
lineNumber: 195,
|
|
173
173
|
columnNumber: 5
|
|
174
174
|
}
|
|
175
175
|
}, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
@@ -177,7 +177,7 @@ var ReactionButton = function ReactionButton(props) {
|
|
|
177
177
|
__self: _this,
|
|
178
178
|
__source: {
|
|
179
179
|
fileName: _jsxFileName,
|
|
180
|
-
lineNumber:
|
|
180
|
+
lineNumber: 217,
|
|
181
181
|
columnNumber: 7
|
|
182
182
|
}
|
|
183
183
|
}, _react["default"].createElement(Icon, {
|
|
@@ -187,7 +187,7 @@ var ReactionButton = function ReactionButton(props) {
|
|
|
187
187
|
__self: _this,
|
|
188
188
|
__source: {
|
|
189
189
|
fileName: _jsxFileName,
|
|
190
|
-
lineNumber:
|
|
190
|
+
lineNumber: 220,
|
|
191
191
|
columnNumber: 9
|
|
192
192
|
}
|
|
193
193
|
}), _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
@@ -195,7 +195,7 @@ var ReactionButton = function ReactionButton(props) {
|
|
|
195
195
|
__self: _this,
|
|
196
196
|
__source: {
|
|
197
197
|
fileName: _jsxFileName,
|
|
198
|
-
lineNumber:
|
|
198
|
+
lineNumber: 221,
|
|
199
199
|
columnNumber: 9
|
|
200
200
|
}
|
|
201
201
|
}, _react["default"].createElement(Icon, {
|
|
@@ -205,7 +205,7 @@ var ReactionButton = function ReactionButton(props) {
|
|
|
205
205
|
__self: _this,
|
|
206
206
|
__source: {
|
|
207
207
|
fileName: _jsxFileName,
|
|
208
|
-
lineNumber:
|
|
208
|
+
lineNumber: 222,
|
|
209
209
|
columnNumber: 11
|
|
210
210
|
}
|
|
211
211
|
}))));
|
|
@@ -219,7 +219,6 @@ var OverlayReactionListWithContext = function OverlayReactionListWithContext(pro
|
|
|
219
219
|
handleReaction = props.handleReaction,
|
|
220
220
|
messageLayout = props.messageLayout,
|
|
221
221
|
ownReactionTypes = props.ownReactionTypes,
|
|
222
|
-
setReactionListHeight = props.setReactionListHeight,
|
|
223
222
|
showScreen = props.showScreen,
|
|
224
223
|
setOverlay = props.setOverlay,
|
|
225
224
|
_props$supportedReact = props.supportedReactions,
|
|
@@ -259,7 +258,6 @@ var OverlayReactionListWithContext = function OverlayReactionListWithContext(pro
|
|
|
259
258
|
return {
|
|
260
259
|
cx: messageLayout.value.x - radius * 3,
|
|
261
260
|
cy: messageLayout.value.y - radius * 3,
|
|
262
|
-
fill: fill || white_snow,
|
|
263
261
|
r: radius * 2
|
|
264
262
|
};
|
|
265
263
|
});
|
|
@@ -267,7 +265,6 @@ var OverlayReactionListWithContext = function OverlayReactionListWithContext(pro
|
|
|
267
265
|
return {
|
|
268
266
|
cx: messageLayout.value.x - radius,
|
|
269
267
|
cy: messageLayout.value.y,
|
|
270
|
-
fill: fill || white_snow,
|
|
271
268
|
r: radius
|
|
272
269
|
};
|
|
273
270
|
});
|
|
@@ -285,10 +282,11 @@ var OverlayReactionListWithContext = function OverlayReactionListWithContext(pro
|
|
|
285
282
|
var numberOfReactions = supportedReactions.length;
|
|
286
283
|
return _react["default"].createElement(_reactNative.View, {
|
|
287
284
|
style: _reactNative.StyleSheet.absoluteFill,
|
|
285
|
+
testID: "overlay-reaction-list",
|
|
288
286
|
__self: _this,
|
|
289
287
|
__source: {
|
|
290
288
|
fileName: _jsxFileName,
|
|
291
|
-
lineNumber:
|
|
289
|
+
lineNumber: 338,
|
|
292
290
|
columnNumber: 5
|
|
293
291
|
}
|
|
294
292
|
}, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
@@ -300,30 +298,32 @@ var OverlayReactionListWithContext = function OverlayReactionListWithContext(pro
|
|
|
300
298
|
__self: _this,
|
|
301
299
|
__source: {
|
|
302
300
|
fileName: _jsxFileName,
|
|
303
|
-
lineNumber:
|
|
301
|
+
lineNumber: 339,
|
|
304
302
|
columnNumber: 7
|
|
305
303
|
}
|
|
306
304
|
}, _react["default"].createElement(_reactNativeSvg["default"], {
|
|
307
305
|
__self: _this,
|
|
308
306
|
__source: {
|
|
309
307
|
fileName: _jsxFileName,
|
|
310
|
-
lineNumber:
|
|
308
|
+
lineNumber: 345,
|
|
311
309
|
columnNumber: 9
|
|
312
310
|
}
|
|
313
311
|
}, _react["default"].createElement(AnimatedCircle, {
|
|
314
312
|
animatedProps: animatedBigCircleProps,
|
|
313
|
+
fill: fill || white_snow,
|
|
315
314
|
__self: _this,
|
|
316
315
|
__source: {
|
|
317
316
|
fileName: _jsxFileName,
|
|
318
|
-
lineNumber:
|
|
317
|
+
lineNumber: 346,
|
|
319
318
|
columnNumber: 11
|
|
320
319
|
}
|
|
321
320
|
}), _react["default"].createElement(AnimatedCircle, {
|
|
322
321
|
animatedProps: animateSmallCircleProps,
|
|
322
|
+
fill: fill || white_snow,
|
|
323
323
|
__self: _this,
|
|
324
324
|
__source: {
|
|
325
325
|
fileName: _jsxFileName,
|
|
326
|
-
lineNumber:
|
|
326
|
+
lineNumber: 347,
|
|
327
327
|
columnNumber: 11
|
|
328
328
|
}
|
|
329
329
|
})), _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
@@ -336,7 +336,6 @@ var OverlayReactionListWithContext = function OverlayReactionListWithContext(pro
|
|
|
336
336
|
width: layoutWidth
|
|
337
337
|
};
|
|
338
338
|
reactionListHeight.value = height;
|
|
339
|
-
setReactionListHeight(height);
|
|
340
339
|
},
|
|
341
340
|
style: [styles.reactionList, {
|
|
342
341
|
backgroundColor: white_snow
|
|
@@ -344,7 +343,7 @@ var OverlayReactionListWithContext = function OverlayReactionListWithContext(pro
|
|
|
344
343
|
__self: _this,
|
|
345
344
|
__source: {
|
|
346
345
|
fileName: _jsxFileName,
|
|
347
|
-
lineNumber:
|
|
346
|
+
lineNumber: 349,
|
|
348
347
|
columnNumber: 9
|
|
349
348
|
}
|
|
350
349
|
}, supportedReactions == null ? void 0 : supportedReactions.map(function (_ref3, index) {
|
|
@@ -363,7 +362,7 @@ var OverlayReactionListWithContext = function OverlayReactionListWithContext(pro
|
|
|
363
362
|
__self: _this,
|
|
364
363
|
__source: {
|
|
365
364
|
fileName: _jsxFileName,
|
|
366
|
-
lineNumber:
|
|
365
|
+
lineNumber: 366,
|
|
367
366
|
columnNumber: 13
|
|
368
367
|
}
|
|
369
368
|
});
|
|
@@ -401,7 +400,7 @@ var OverlayReactionList = function OverlayReactionList(props) {
|
|
|
401
400
|
__self: _this,
|
|
402
401
|
__source: {
|
|
403
402
|
fileName: _jsxFileName,
|
|
404
|
-
lineNumber:
|
|
403
|
+
lineNumber: 431,
|
|
405
404
|
columnNumber: 5
|
|
406
405
|
}
|
|
407
406
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["OverlayReactionList.tsx"],"names":["AnimatedCircle","Animated","createAnimatedComponent","Circle","styles","StyleSheet","create","notLastReaction","marginRight","reactionList","alignItems","borderRadius","flexDirection","justifyContent","paddingHorizontal","paddingVertical","position","selectedIcon","reactionData","Icon","LoveReaction","type","ThumbsUpReaction","ThumbsDownReaction","LOLReaction","WutReaction","ReactionButton","props","handleReaction","index","numberOfReactions","ownReactionTypes","setOverlay","showScreen","theme","colors","accent_blue","grey","overlay","reactionsList","reaction","reactionSize","selected","includes","animationScale","hasShown","scale","selectedOpacity","onTap","onEnd","triggerHaptic","value","duration","onFinish","onStart","result","iconStyle","transform","selectedStyle","opacity","bottom","Number","paddingBottom","left","paddingLeft","right","paddingRight","top","paddingTop","OverlayReactionListWithContext","alignment","fill","messageLayout","setReactionListHeight","supportedReactions","white_snow","screenPadding","padding","radius","reactionListHeight","reactionBubbleWidth","reactionListLayout","height","width","animatedStyle","insideLeftBound","x","insideRightBound","y","animatedBigCircleProps","cx","cy","r","animateSmallCircleProps","showScreenStyle","translateY","translateX","length","absoluteFill","layout","nativeEvent","layoutWidth","backgroundColor","map","areEqual","prevProps","nextProps","prevAlignment","prevOwnReactionTypes","nextAlignment","nextOwnReactionTypes","alignmentEqual","ownReactionTypesEqual","MemoizedOverlayReactionList","React","memo","OverlayReactionList","data","displayName"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAaA;;AAEA;;AAIA;;AAIA;;AAIA;;AACA;;AASA;;;;;;;;;AAcA,IAAMA,cAAc,GAAGC,kCAASC,uBAAT,GACnBD,kCAASC,uBAAT,CAAiCC,sBAAjC,CADmB,GAEnBA,sBAFJ;;AAIA,IAAMC,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,eAAe,EAAE;AACfC,IAAAA,WAAW,EAAE;AADE,GADc;AAI/BC,EAAAA,YAAY,EAAE;AACZC,IAAAA,UAAU,EAAE,QADA;AAEZC,IAAAA,YAAY,EAAE,EAFF;AAGZC,IAAAA,aAAa,EAAE,KAHH;AAIZC,IAAAA,cAAc,EAAE,QAJJ;AAKZC,IAAAA,iBAAiB,EAAE,EALP;AAMZC,IAAAA,eAAe,EAAE,EANL;AAOZC,IAAAA,QAAQ,EAAE;AAPE,GAJiB;AAa/BC,EAAAA,YAAY,EAAE;AACZD,IAAAA,QAAQ,EAAE;AADE;AAbiB,CAAlB,CAAf;;AAkBA,IAAME,YAA4B,GAAG,CACnC;AACEC,EAAAA,IAAI,EAAEC,mBADR;AAEEC,EAAAA,IAAI,EAAE;AAFR,CADmC,EAKnC;AACEF,EAAAA,IAAI,EAAEG,uBADR;AAEED,EAAAA,IAAI,EAAE;AAFR,CALmC,EASnC;AACEF,EAAAA,IAAI,EAAEI,yBADR;AAEEF,EAAAA,IAAI,EAAE;AAFR,CATmC,EAanC;AACEF,EAAAA,IAAI,EAAEK,kBADR;AAEEH,EAAAA,IAAI,EAAE;AAFR,CAbmC,EAiBnC;AACEF,EAAAA,IAAI,EAAEM,kBADR;AAEEJ,EAAAA,IAAI,EAAE;AAFR,CAjBmC,CAArC;;AA0CO,IAAMK,cAAc,GAAG,SAAjBA,cAAiB,CAS5BC,KAT4B,EAUzB;AACH,MACEC,cADF,GASID,KATJ,CACEC,cADF;AAAA,MAEET,IAFF,GASIQ,KATJ,CAEER,IAFF;AAAA,MAGEU,KAHF,GASIF,KATJ,CAGEE,KAHF;AAAA,MAIEC,iBAJF,GASIH,KATJ,CAIEG,iBAJF;AAAA,MAKEC,gBALF,GASIJ,KATJ,CAKEI,gBALF;AAAA,MAMEC,UANF,GASIL,KATJ,CAMEK,UANF;AAAA,MAOEC,UAPF,GASIN,KATJ,CAOEM,UAPF;AAAA,MAQEZ,IARF,GASIM,KATJ,CAQEN,IARF;;AAUA,kBAOI,6BAPJ;AAAA,kCACEa,KADF;AAAA,8CAEIC,MAFJ;AAAA,MAEcC,WAFd,yBAEcA,WAFd;AAAA,MAE2BC,IAF3B,yBAE2BA,IAF3B;AAAA,8CAGIC,OAHJ,CAIMC,aAJN;AAAA,MAIuBC,QAJvB,yBAIuBA,QAJvB;AAAA,MAIiCC,YAJjC,yBAIiCA,YAJjC;;AAQA,MAAMC,QAAQ,GAAGX,gBAAgB,CAACY,QAAjB,CAA0BtB,IAA1B,CAAjB;AACA,MAAMuB,cAAc,GAAG,2CAAe,CAAf,CAAvB;AACA,MAAMC,QAAQ,GAAG,2CAAe,CAAf,CAAjB;AACA,MAAMC,KAAK,GAAG,2CAAe,CAAf,CAAd;AACA,MAAMC,eAAe,GAAG,2CAAeL,QAAQ,GAAG,CAAH,GAAO,CAA9B,CAAxB;AAEA,MAAMM,KAAK,GAAG,sDACZ;AACEC,IAAAA,KAAK,EAAE,iBAAM;AACX,0CAAQC,qBAAR,EAAuB,aAAvB;AACAH,MAAAA,eAAe,CAACI,KAAhB,GAAwB,uCAAWT,QAAQ,GAAG,CAAH,GAAO,CAA1B,EAA6B;AAAEU,QAAAA,QAAQ,EAAE;AAAZ,OAA7B,EAAgD,YAAM;AAC5E,YAAIxB,cAAJ,EAAoB;AAClB,8CAAQA,cAAR,EAAwBP,IAAxB;AACD;;AACD,4CAAQW,UAAR,EAAoB,MAApB;AACD,OALuB,CAAxB;AAMD,KATH;AAUEqB,IAAAA,QAAQ,EAAE,oBAAM;AACd,kDAAgBP,KAAhB;AACAA,MAAAA,KAAK,CAACK,KAAN,GAAc,uCAAW,CAAX,EAAc;AAAEC,QAAAA,QAAQ,EAAE;AAAZ,OAAd,CAAd;AACD,KAbH;AAcEE,IAAAA,OAAO,EAAE,mBAAM;AACb,kDAAgBR,KAAhB;AACAA,MAAAA,KAAK,CAACK,KAAN,GAAc,uCAAW,GAAX,EAAgB;AAAEC,QAAAA,QAAQ,EAAE;AAAZ,OAAhB,CAAd;AACD;AAjBH,GADY,EAoBZ,CAACxB,cAAD,EAAiBc,QAAjB,EAA2BV,UAA3B,EAAuCX,IAAvC,CApBY,CAAd;AAuBA,kDACE,YAAM;AACJ,QAAIY,UAAU,CAACkB,KAAX,GAAmB,GAAnB,IAA0BN,QAAQ,CAACM,KAAT,KAAmB,CAAjD,EAAoD;AAClD,aAAO,CAAP;AACD;;AACD,WAAO,CAAP;AACD,GANH,EAOE,UAACI,MAAD,EAAY;AACV,QAAIV,QAAQ,CAACM,KAAT,KAAmB,CAAnB,IAAwBI,MAAM,KAAK,CAAvC,EAA0C;AACxCV,MAAAA,QAAQ,CAACM,KAAT,GAAiB,CAAjB;AACAP,MAAAA,cAAc,CAACO,KAAf,GAAuB,yCACrB,sCAAU,MAAMrB,iBAAiB,IAAID,KAAK,GAAG,CAAZ,CAAvB,CAAV,EAAkD,uCAAW,GAAX,EAAgB;AAAEuB,QAAAA,QAAQ,EAAE;AAAZ,OAAhB,CAAlD,CADqB,EAErB,uCAAW,GAAX,EAAgB;AAAEA,QAAAA,QAAQ,EAAE;AAAZ,OAAhB,CAFqB,EAGrB,uCAAW,CAAX,EAAc;AAAEA,QAAAA,QAAQ,EAAE;AAAZ,OAAd,CAHqB,CAAvB;AAKD;AACF,GAhBH,EAiBE,CAACvB,KAAD,EAAQC,iBAAR,CAjBF;AAoBA,MAAM0B,SAAS,GAAG,6CAChB;AAAA,WAAO;AACLC,MAAAA,SAAS,EAAE,CACT;AACEX,QAAAA,KAAK,EAAEF,cAAc,CAACO;AADxB,OADS,EAIT;AACEL,QAAAA,KAAK,EAAEA,KAAK,CAACK;AADf,OAJS;AADN,KAAP;AAAA,GADgB,EAWhB,EAXgB,CAAlB;AAcA,MAAMO,aAAa,GAAG,6CAA4B;AAAA,WAAO;AACvDC,MAAAA,OAAO,EAAEZ,eAAe,CAACI;AAD8B,KAAP;AAAA,GAA5B,CAAtB;AAIA,SACE,gCAAC,4CAAD;AACE,IAAA,OAAO,EAAE;AACPS,MAAAA,MAAM,EACJC,MAAM,CAACrB,QAAQ,CAACzB,eAAT,IAA4B,CAA7B,CAAN,IACA8C,MAAM,CAACrB,QAAQ,CAACsB,aAAT,IAA0B,CAA3B,CADN,IAEA1D,MAAM,CAACK,YAAP,CAAoBM,eAJf;AAKPgD,MAAAA,IAAI,EACF,CAACF,MAAM,CAACrB,QAAQ,CAAC1B,iBAAT,IAA8B,CAA/B,CAAN,IACC+C,MAAM,CAACrB,QAAQ,CAACwB,WAAT,IAAwB,CAAzB,CADP,IAEC5D,MAAM,CAACG,eAAP,CAAuBC,WAFzB,IAEwC,CARnC;AASPyD,MAAAA,KAAK,EACH,CAACJ,MAAM,CAACrB,QAAQ,CAAC1B,iBAAT,IAA8B,CAA/B,CAAN,IACC+C,MAAM,CAACrB,QAAQ,CAAC0B,YAAT,IAAyB,CAA1B,CADP,IAEC9D,MAAM,CAACG,eAAP,CAAuBC,WAFzB,IAEwC,CAZnC;AAaP2D,MAAAA,GAAG,EACDN,MAAM,CAACrB,QAAQ,CAACzB,eAAT,IAA4B,CAA7B,CAAN,IACA8C,MAAM,CAACrB,QAAQ,CAAC4B,UAAT,IAAuB,CAAxB,CADN,IAEAhE,MAAM,CAACK,YAAP,CAAoBM;AAhBf,KADX;AAmBE,IAAA,aAAa,EAAE,IAnBjB;AAoBE,IAAA,oBAAoB,EAAEiC,KApBxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAsBE,gCAAC,iCAAD,CAAU,IAAV;AACE,IAAA,KAAK,EAAE,CAACnB,KAAK,KAAKC,iBAAiB,GAAG,CAA9B,GAAkC1B,MAAM,CAACG,eAAzC,GAA2D,EAA5D,EAAgEiC,QAAhE,EAA0EgB,SAA1E,CADT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAGE,gCAAC,IAAD;AAAM,IAAA,MAAM,EAAEf,YAAd;AAA4B,IAAA,QAAQ,EAAEJ,IAAtC;AAA4C,IAAA,KAAK,EAAEI,YAAnD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAHF,EAIE,gCAAC,iCAAD,CAAU,IAAV;AAAe,IAAA,KAAK,EAAE,CAACrC,MAAM,CAACa,YAAR,EAAsByC,aAAtB,CAAtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,IAAD;AAAM,IAAA,MAAM,EAAEjB,YAAd;AAA4B,IAAA,QAAQ,EAAEL,WAAtC;AAAmD,IAAA,KAAK,EAAEK,YAA1D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IADF,CAJF,CAtBF,CADF;AAiCD,CAjIM;;;;AA2JP,IAAM4B,8BAA8B,GAAG,SAAjCA,8BAAiC,CASrC1C,KATqC,EAUlC;AACH,MACE2C,SADF,GAUI3C,KAVJ,CACE2C,SADF;AAAA,MAEEC,IAFF,GAUI5C,KAVJ,CAEE4C,IAFF;AAAA,MAGE3C,cAHF,GAUID,KAVJ,CAGEC,cAHF;AAAA,MAIE4C,aAJF,GAUI7C,KAVJ,CAIE6C,aAJF;AAAA,MAKEzC,gBALF,GAUIJ,KAVJ,CAKEI,gBALF;AAAA,MAME0C,qBANF,GAUI9C,KAVJ,CAME8C,qBANF;AAAA,MAOExC,UAPF,GAUIN,KAVJ,CAOEM,UAPF;AAAA,MAQED,UARF,GAUIL,KAVJ,CAQEK,UARF;AAAA,8BAUIL,KAVJ,CASE+C,kBATF;AAAA,MASEA,kBATF,sCASuBxD,YATvB;;AAYA,mBAQI,6BARJ;AAAA,oCACEgB,KADF;AAAA,MAEcyC,UAFd,oBAEIxC,MAFJ,CAEcwC,UAFd;AAAA,+CAGIrC,OAHJ;AAAA,MAIesC,aAJf,yBAIMC,OAJN;AAAA,qDAKMtC,aALN;AAAA,MAKuBuC,MALvB,0BAKuBA,MALvB;AAAA,MAK+BrE,YAL/B,0BAK+BA,YAL/B;;AAUA,MAAMsE,kBAAkB,GAAG,2CAAe,CAAf,CAA3B;AACA,MAAMC,mBAAmB,GAAG,2CAAe,CAAf,CAA5B;AACA,MAAMC,kBAAkB,GAAG,2CAAe;AACxCC,IAAAA,MAAM,EAAE,CADgC;AAExCC,IAAAA,KAAK,EAAE;AAFiC,GAAf,CAA3B;;AAKA,6BAAkB,uCAAlB;AAAA,MAAQA,KAAR,wBAAQA,KAAR;;AAEA,MAAMC,aAAa,GAAG,6CAA4B,YAAM;AACtD,QAAMzE,YAAY,GAAGF,YAAY,CAACE,YAAb,IAA6BP,MAAM,CAACK,YAAP,CAAoBE,YAAtE;AACA,QAAM0E,eAAe,GACnBb,aAAa,CAACrB,KAAd,CAAoBmC,CAApB,GAAwBL,kBAAkB,CAAC9B,KAAnB,CAAyBgC,KAAjD,GAAyDxE,YAAzD,GAAwEiE,aAD1E;AAEA,QAAMW,gBAAgB,GAAGf,aAAa,CAACrB,KAAd,CAAoBmC,CAApB,GAAwB3E,YAAxB,GAAuCwE,KAAK,GAAGP,aAAxE;AACA,QAAMb,IAAI,GAAG,CAACsB,eAAD,GACTT,aADS,GAET,CAACW,gBAAD,GACAJ,KAAK,GAAGP,aAAR,GAAwBK,kBAAkB,CAAC9B,KAAnB,CAAyBgC,KADjD,GAEAX,aAAa,CAACrB,KAAd,CAAoBmC,CAApB,GAAwBL,kBAAkB,CAAC9B,KAAnB,CAAyBgC,KAAjD,GAAyDxE,YAJ7D;AAKA,QAAMwD,GAAG,GAAGK,aAAa,CAACrB,KAAd,CAAoBqC,CAApB,GAAwBP,kBAAkB,CAAC9B,KAAnB,CAAyB+B,MAAjD,GAA0DJ,MAAM,GAAG,CAA/E;AAEA,WAAO;AACLf,MAAAA,IAAI,EAAJA,IADK;AAELI,MAAAA,GAAG,EAAHA;AAFK,KAAP;AAID,GAhBqB,CAAtB;AAkBA,MAAMsB,sBAAsB,GAAG,6CAA8B;AAAA,WAAO;AAClEC,MAAAA,EAAE,EAAElB,aAAa,CAACrB,KAAd,CAAoBmC,CAApB,GAAwBR,MAAM,GAAG,CAD6B;AAElEa,MAAAA,EAAE,EAAEnB,aAAa,CAACrB,KAAd,CAAoBqC,CAApB,GAAwBV,MAAM,GAAG,CAF6B;AAGlEP,MAAAA,IAAI,EAAEA,IAAI,IAAII,UAHoD;AAIlEiB,MAAAA,CAAC,EAAEd,MAAM,GAAG;AAJsD,KAAP;AAAA,GAA9B,CAA/B;AAOA,MAAMe,uBAAuB,GAAG,6CAA8B;AAAA,WAAO;AACnEH,MAAAA,EAAE,EAAElB,aAAa,CAACrB,KAAd,CAAoBmC,CAApB,GAAwBR,MADuC;AAEnEa,MAAAA,EAAE,EAAEnB,aAAa,CAACrB,KAAd,CAAoBqC,CAF2C;AAGnEjB,MAAAA,IAAI,EAAEA,IAAI,IAAII,UAHqD;AAInEiB,MAAAA,CAAC,EAAEd;AAJgE,KAAP;AAAA,GAA9B,CAAhC;AAOA,MAAMgB,eAAe,GAAG,6CACtB;AAAA,WAAO;AACLrC,MAAAA,SAAS,EAAE,CACT;AACEsC,QAAAA,UAAU,EAAE,wCAAY9D,UAAU,CAACkB,KAAvB,EAA8B,CAAC,CAAD,EAAI,CAAJ,CAA9B,EAAsC,CAAC,CAAC4B,kBAAkB,CAAC5B,KAApB,GAA4B,CAA7B,EAAgC,CAAhC,CAAtC;AADd,OADS,EAIT;AACE6C,QAAAA,UAAU,EAAE,wCACV/D,UAAU,CAACkB,KADD,EAEV,CAAC,CAAD,EAAI,CAAJ,CAFU,EAGV,CACEmB,SAAS,KAAK,MAAd,GAAuB,CAACU,mBAAmB,CAAC7B,KAArB,GAA6B,CAApD,GAAwD6B,mBAAmB,CAAC7B,KAApB,GAA4B,CADtF,EAEE,CAFF,CAHU;AADd,OAJS,EAcT;AACEL,QAAAA,KAAK,EAAE,wCAAYb,UAAU,CAACkB,KAAvB,EAA8B,CAAC,CAAD,EAAI,GAAJ,EAAS,CAAT,CAA9B,EAA2C,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,CAA3C;AADT,OAdS;AADN,KAAP;AAAA,GADsB,EAqBtB,CAACmB,SAAD,CArBsB,CAAxB;AAwBA,MAAMxC,iBAAiB,GAAG4C,kBAAkB,CAACuB,MAA7C;AAEA,SACE,gCAAC,iBAAD;AAAM,IAAA,KAAK,EAAE5F,wBAAW6F,YAAxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,iCAAD,CAAU,IAAV;AACE,IAAA,QAAQ,EAAE,wBAAiC;AAAA,UAAfC,MAAe,QAA9BC,WAA8B,CAAfD,MAAe;AACzCnB,MAAAA,mBAAmB,CAAC7B,KAApB,GAA4BgD,MAAM,CAAChB,KAAnC;AACD,KAHH;AAIE,IAAA,KAAK,EAAEW,eAJT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAME,gCAAC,0BAAD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACE,gCAAC,cAAD;AAAgB,IAAA,aAAa,EAAEL,sBAA/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IADF,EAEE,gCAAC,cAAD;AAAgB,IAAA,aAAa,EAAEI,uBAA/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAFF,CANF,EAUE,gCAAC,iCAAD,CAAU,IAAV;AACE,IAAA,QAAQ,EAAE,yBAIJ;AAAA,wCAHJO,WAGI,CAFFD,MAEE;AAAA,UAFQjB,MAER,yBAFQA,MAER;AAAA,UAFuBmB,WAEvB,yBAFgBlB,KAEhB;AACJF,MAAAA,kBAAkB,CAAC9B,KAAnB,GAA2B;AAAE+B,QAAAA,MAAM,EAANA,MAAF;AAAUC,QAAAA,KAAK,EAAEkB;AAAjB,OAA3B;AACAtB,MAAAA,kBAAkB,CAAC5B,KAAnB,GAA2B+B,MAA3B;AACAT,MAAAA,qBAAqB,CAACS,MAAD,CAArB;AACD,KATH;AAUE,IAAA,KAAK,EAAE,CACL9E,MAAM,CAACK,YADF,EAEL;AAAE6F,MAAAA,eAAe,EAAE3B;AAAnB,KAFK,EAGLS,aAHK,EAIL3E,YAJK,CAVT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAiBGiE,kBAjBH,oBAiBGA,kBAAkB,CAAE6B,GAApB,CAAwB,iBAAiB1E,KAAjB;AAAA,QAAGV,IAAH,SAAGA,IAAH;AAAA,QAASE,IAAT,SAASA,IAAT;AAAA,WACvB,gCAAC,cAAD;AACE,MAAA,cAAc,EAAEO,cADlB;AAEE,MAAA,IAAI,EAAET,IAFR;AAGE,MAAA,KAAK,EAAEU,KAHT;AAIE,MAAA,GAAG,EAAKR,IAAL,SAAaQ,KAJlB;AAKE,MAAA,iBAAiB,EAAEC,iBALrB;AAME,MAAA,gBAAgB,EAAEC,gBANpB;AAOE,MAAA,UAAU,EAAEC,UAPd;AAQE,MAAA,UAAU,EAAEC,UARd;AASE,MAAA,IAAI,EAAEZ,IATR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MADuB;AAAA,GAAxB,CAjBH,CAVF,CADF,CADF;AA8CD,CAlJD;;AAoJA,IAAMmF,QAAQ,GAAG,SAAXA,QAAW,CASfC,SATe,EAUfC,SAVe,EAWZ;AACH,MAAmBC,aAAnB,GAA6EF,SAA7E,CAAQnC,SAAR;AAAA,MAAoDsC,oBAApD,GAA6EH,SAA7E,CAAkC1E,gBAAlC;AACA,MAAmB8E,aAAnB,GAA6EH,SAA7E,CAAQpC,SAAR;AAAA,MAAoDwC,oBAApD,GAA6EJ,SAA7E,CAAkC3E,gBAAlC;AAEA,MAAMgF,cAAc,GAAGJ,aAAa,KAAKE,aAAzC;AACA,MAAI,CAACE,cAAL,EAAqB,OAAO,KAAP;AAErB,MAAMC,qBAAqB,GAAGJ,oBAAoB,CAACX,MAArB,KAAgCa,oBAAoB,CAACb,MAAnF;AACA,MAAI,CAACe,qBAAL,EAA4B,OAAO,KAAP;AAE5B,SAAO,IAAP;AACD,CAtBD;;AAwBA,IAAMC,2BAA2B,GAAGC,kBAAMC,IAAN,CAClC9C,8BADkC,EAElCmC,QAFkC,CAApC;;AA2BO,IAAMY,mBAAmB,GAAG,SAAtBA,mBAAsB,CASjCzF,KATiC,EAU9B;AACH,8BAAiB,sDAAjB;AAAA,MAAQ0F,IAAR,yBAAQA,IAAR;;AACA,4BAA+B,0CAA/B;AAAA,MAAQ3C,kBAAR,uBAAQA,kBAAR;;AACA,2BAAuB,wCAAvB;AAAA,MAAQ1C,UAAR,sBAAQA,UAAR;;AAEA,SACE,gCAAC,2BAAD,gCACOqF,IAAI,IAAI,EADf;AAEQrF,IAAAA,UAAU,EAAVA,UAFR;AAEoB0C,IAAAA,kBAAkB,EAAlBA;AAFpB,KAGM/C,KAHN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KADF;AAOD,CAtBM;;;AAwBPyF,mBAAmB,CAACE,WAApB,GAAkC,4CAAlC","sourcesContent":["import React from 'react';\nimport { StyleSheet, useWindowDimensions, View, ViewStyle } from 'react-native';\nimport { TapGestureHandler, TapGestureHandlerStateChangeEvent } from 'react-native-gesture-handler';\nimport Animated, {\n cancelAnimation,\n interpolate,\n runOnJS,\n useAnimatedGestureHandler,\n useAnimatedProps,\n useAnimatedReaction,\n useAnimatedStyle,\n useSharedValue,\n withDelay,\n withSequence,\n withTiming,\n} from 'react-native-reanimated';\nimport Svg, { Circle, CircleProps, FillProps } from 'react-native-svg';\n\nimport {\n MessageOverlayData,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport {\n IconProps,\n LOLReaction,\n LoveReaction,\n ThumbsDownReaction,\n ThumbsUpReaction,\n WutReaction,\n} from '../../icons';\n\nimport { triggerHaptic } from '../../native';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\nimport type { ReactionData } from '../../utils/utils';\n\nconst AnimatedCircle = Animated.createAnimatedComponent\n ? Animated.createAnimatedComponent(Circle)\n : Circle;\n\nconst styles = StyleSheet.create({\n notLastReaction: {\n marginRight: 16,\n },\n reactionList: {\n alignItems: 'center',\n borderRadius: 24,\n flexDirection: 'row',\n justifyContent: 'center',\n paddingHorizontal: 16,\n paddingVertical: 12,\n position: 'absolute',\n },\n selectedIcon: {\n position: 'absolute',\n },\n});\n\nconst reactionData: ReactionData[] = [\n {\n Icon: LoveReaction,\n type: 'love',\n },\n {\n Icon: ThumbsUpReaction,\n type: 'like',\n },\n {\n Icon: ThumbsDownReaction,\n type: 'sad',\n },\n {\n Icon: LOLReaction,\n type: 'haha',\n },\n {\n Icon: WutReaction,\n type: 'wow',\n },\n];\n\ntype ReactionButtonProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends DefaultUserType = DefaultUserType,\n> = Pick<\n OverlayReactionListPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n 'ownReactionTypes' | 'handleReaction' | 'setOverlay'\n> & {\n Icon: React.FC<IconProps>;\n index: number;\n numberOfReactions: number;\n showScreen: Animated.SharedValue<number>;\n type: string;\n};\n\nexport const ReactionButton = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends DefaultUserType = DefaultUserType,\n>(\n props: ReactionButtonProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n handleReaction,\n Icon,\n index,\n numberOfReactions,\n ownReactionTypes,\n setOverlay,\n showScreen,\n type,\n } = props;\n const {\n theme: {\n colors: { accent_blue, grey },\n overlay: {\n reactionsList: { reaction, reactionSize },\n },\n },\n } = useTheme();\n const selected = ownReactionTypes.includes(type);\n const animationScale = useSharedValue(0);\n const hasShown = useSharedValue(0);\n const scale = useSharedValue(1);\n const selectedOpacity = useSharedValue(selected ? 1 : 0);\n\n const onTap = useAnimatedGestureHandler<TapGestureHandlerStateChangeEvent>(\n {\n onEnd: () => {\n runOnJS(triggerHaptic)('impactLight');\n selectedOpacity.value = withTiming(selected ? 0 : 1, { duration: 250 }, () => {\n if (handleReaction) {\n runOnJS(handleReaction)(type);\n }\n runOnJS(setOverlay)('none');\n });\n },\n onFinish: () => {\n cancelAnimation(scale);\n scale.value = withTiming(1, { duration: 100 });\n },\n onStart: () => {\n cancelAnimation(scale);\n scale.value = withTiming(1.5, { duration: 100 });\n },\n },\n [handleReaction, selected, setOverlay, type],\n );\n\n useAnimatedReaction(\n () => {\n if (showScreen.value > 0.8 && hasShown.value === 0) {\n return 1;\n }\n return 0;\n },\n (result) => {\n if (hasShown.value === 0 && result !== 0) {\n hasShown.value = 1;\n animationScale.value = withSequence(\n withDelay(60 * (numberOfReactions - (index + 1)), withTiming(0.1, { duration: 50 })),\n withTiming(1.5, { duration: 250 }),\n withTiming(1, { duration: 250 }),\n );\n }\n },\n [index, numberOfReactions],\n );\n\n const iconStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n scale: animationScale.value,\n },\n {\n scale: scale.value,\n },\n ],\n }),\n [],\n );\n\n const selectedStyle = useAnimatedStyle<ViewStyle>(() => ({\n opacity: selectedOpacity.value,\n }));\n\n return (\n <TapGestureHandler\n hitSlop={{\n bottom:\n Number(reaction.paddingVertical || 0) ||\n Number(reaction.paddingBottom || 0) ||\n styles.reactionList.paddingVertical,\n left:\n (Number(reaction.paddingHorizontal || 0) ||\n Number(reaction.paddingLeft || 0) ||\n styles.notLastReaction.marginRight) / 2,\n right:\n (Number(reaction.paddingHorizontal || 0) ||\n Number(reaction.paddingRight || 0) ||\n styles.notLastReaction.marginRight) / 2,\n top:\n Number(reaction.paddingVertical || 0) ||\n Number(reaction.paddingTop || 0) ||\n styles.reactionList.paddingVertical,\n }}\n maxDurationMs={3000}\n onHandlerStateChange={onTap}\n >\n <Animated.View\n style={[index !== numberOfReactions - 1 ? styles.notLastReaction : {}, reaction, iconStyle]}\n >\n <Icon height={reactionSize} pathFill={grey} width={reactionSize} />\n <Animated.View style={[styles.selectedIcon, selectedStyle]}>\n <Icon height={reactionSize} pathFill={accent_blue} width={reactionSize} />\n </Animated.View>\n </Animated.View>\n </TapGestureHandler>\n );\n};\n\nexport type OverlayReactionListPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends DefaultUserType = DefaultUserType,\n> = Pick<\n MessageOverlayData<At, Ch, Co, Ev, Me, Re, Us>,\n 'alignment' | 'handleReaction' | 'messagesContext'\n> &\n Pick<MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'supportedReactions'> &\n Pick<OverlayContextValue, 'setOverlay'> & {\n messageLayout: Animated.SharedValue<{\n x: number;\n y: number;\n }>;\n ownReactionTypes: string[];\n setReactionListHeight: React.Dispatch<React.SetStateAction<number>>;\n showScreen: Animated.SharedValue<number>;\n fill?: FillProps['fill'];\n };\n\nconst OverlayReactionListWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends DefaultUserType = DefaultUserType,\n>(\n props: OverlayReactionListPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n alignment,\n fill,\n handleReaction,\n messageLayout,\n ownReactionTypes,\n setReactionListHeight,\n showScreen,\n setOverlay,\n supportedReactions = reactionData,\n } = props;\n\n const {\n theme: {\n colors: { white_snow },\n overlay: {\n padding: screenPadding,\n reactionsList: { radius, reactionList },\n },\n },\n } = useTheme();\n\n const reactionListHeight = useSharedValue(0);\n const reactionBubbleWidth = useSharedValue(0);\n const reactionListLayout = useSharedValue({\n height: 0,\n width: 0,\n });\n\n const { width } = useWindowDimensions();\n\n const animatedStyle = useAnimatedStyle<ViewStyle>(() => {\n const borderRadius = reactionList.borderRadius || styles.reactionList.borderRadius;\n const insideLeftBound =\n messageLayout.value.x - reactionListLayout.value.width + borderRadius > screenPadding;\n const insideRightBound = messageLayout.value.x + borderRadius < width - screenPadding;\n const left = !insideLeftBound\n ? screenPadding\n : !insideRightBound\n ? width - screenPadding - reactionListLayout.value.width\n : messageLayout.value.x - reactionListLayout.value.width + borderRadius;\n const top = messageLayout.value.y - reactionListLayout.value.height - radius * 2;\n\n return {\n left,\n top,\n };\n });\n\n const animatedBigCircleProps = useAnimatedProps<CircleProps>(() => ({\n cx: messageLayout.value.x - radius * 3,\n cy: messageLayout.value.y - radius * 3,\n fill: fill || white_snow,\n r: radius * 2,\n }));\n\n const animateSmallCircleProps = useAnimatedProps<CircleProps>(() => ({\n cx: messageLayout.value.x - radius,\n cy: messageLayout.value.y,\n fill: fill || white_snow,\n r: radius,\n }));\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [-reactionListHeight.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [\n alignment === 'left' ? -reactionBubbleWidth.value / 2 : reactionBubbleWidth.value / 2,\n 0,\n ],\n ),\n },\n {\n scale: interpolate(showScreen.value, [0, 0.8, 1], [0, 0, 1]),\n },\n ],\n }),\n [alignment],\n );\n\n const numberOfReactions = supportedReactions.length;\n\n return (\n <View style={StyleSheet.absoluteFill}>\n <Animated.View\n onLayout={({ nativeEvent: { layout } }) => {\n reactionBubbleWidth.value = layout.width;\n }}\n style={showScreenStyle}\n >\n <Svg>\n <AnimatedCircle animatedProps={animatedBigCircleProps} />\n <AnimatedCircle animatedProps={animateSmallCircleProps} />\n </Svg>\n <Animated.View\n onLayout={({\n nativeEvent: {\n layout: { height, width: layoutWidth },\n },\n }) => {\n reactionListLayout.value = { height, width: layoutWidth };\n reactionListHeight.value = height;\n setReactionListHeight(height);\n }}\n style={[\n styles.reactionList,\n { backgroundColor: white_snow },\n animatedStyle,\n reactionList,\n ]}\n >\n {supportedReactions?.map(({ Icon, type }, index) => (\n <ReactionButton<At, Ch, Co, Ev, Me, Re, Us>\n handleReaction={handleReaction}\n Icon={Icon}\n index={index}\n key={`${type}_${index}`}\n numberOfReactions={numberOfReactions}\n ownReactionTypes={ownReactionTypes}\n setOverlay={setOverlay}\n showScreen={showScreen}\n type={type}\n />\n ))}\n </Animated.View>\n </Animated.View>\n </View>\n );\n};\n\nconst areEqual = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n prevProps: OverlayReactionListPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: OverlayReactionListPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { alignment: prevAlignment, ownReactionTypes: prevOwnReactionTypes } = prevProps;\n const { alignment: nextAlignment, ownReactionTypes: nextOwnReactionTypes } = nextProps;\n\n const alignmentEqual = prevAlignment === nextAlignment;\n if (!alignmentEqual) return false;\n\n const ownReactionTypesEqual = prevOwnReactionTypes.length === nextOwnReactionTypes.length;\n if (!ownReactionTypesEqual) return false;\n\n return true;\n};\n\nconst MemoizedOverlayReactionList = React.memo(\n OverlayReactionListWithContext,\n areEqual,\n) as typeof OverlayReactionListWithContext;\n\nexport type OverlayReactionListProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends DefaultUserType = DefaultUserType,\n> = Omit<\n OverlayReactionListPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n 'setOverlay' | 'supportedReactions'\n> &\n Partial<\n Pick<\n OverlayReactionListPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n 'setOverlay' | 'supportedReactions'\n >\n >;\n\n/**\n * OverlayReactionList - A high level component which implements all the logic required for a message overlay reaction list\n */\nexport const OverlayReactionList = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends DefaultUserType = DefaultUserType,\n>(\n props: OverlayReactionListProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { data } = useMessageOverlayContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { supportedReactions } = useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { setOverlay } = useOverlayContext();\n\n return (\n <MemoizedOverlayReactionList\n {...(data || {})}\n {...{ setOverlay, supportedReactions }}\n {...props}\n />\n );\n};\n\nOverlayReactionList.displayName = 'OverlayReactionList{overlay{reactionList}}';\n"]}
|
|
1
|
+
{"version":3,"sources":["OverlayReactionList.tsx"],"names":["AnimatedCircle","Animated","createAnimatedComponent","Circle","styles","StyleSheet","create","notLastReaction","marginRight","reactionList","alignItems","borderRadius","flexDirection","justifyContent","paddingHorizontal","paddingVertical","position","selectedIcon","reactionData","Icon","LoveReaction","type","ThumbsUpReaction","ThumbsDownReaction","LOLReaction","WutReaction","ReactionButton","props","handleReaction","index","numberOfReactions","ownReactionTypes","setOverlay","showScreen","theme","colors","accent_blue","grey","overlay","reactionsList","reaction","reactionSize","selected","includes","animationScale","hasShown","scale","selectedOpacity","onTap","onEnd","triggerHaptic","value","duration","onFinish","onStart","result","iconStyle","transform","selectedStyle","opacity","bottom","Number","paddingBottom","left","paddingLeft","right","paddingRight","top","paddingTop","OverlayReactionListWithContext","alignment","fill","messageLayout","supportedReactions","white_snow","screenPadding","padding","radius","reactionListHeight","reactionBubbleWidth","reactionListLayout","height","width","animatedStyle","insideLeftBound","x","insideRightBound","y","animatedBigCircleProps","cx","cy","r","animateSmallCircleProps","showScreenStyle","translateY","translateX","length","absoluteFill","layout","nativeEvent","layoutWidth","backgroundColor","map","areEqual","prevProps","nextProps","prevAlignment","prevOwnReactionTypes","nextAlignment","nextOwnReactionTypes","alignmentEqual","ownReactionTypesEqual","MemoizedOverlayReactionList","React","memo","OverlayReactionList","data","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { StyleSheet, useWindowDimensions, View, ViewStyle } from 'react-native';\nimport { TapGestureHandler, TapGestureHandlerStateChangeEvent } from 'react-native-gesture-handler';\nimport Animated, {\n cancelAnimation,\n interpolate,\n runOnJS,\n useAnimatedGestureHandler,\n useAnimatedProps,\n useAnimatedReaction,\n useAnimatedStyle,\n useSharedValue,\n withDelay,\n withSequence,\n withTiming,\n} from 'react-native-reanimated';\nimport Svg, { Circle, CircleProps, FillProps } from 'react-native-svg';\n\nimport {\n MessageOverlayData,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport {\n IconProps,\n LOLReaction,\n LoveReaction,\n ThumbsDownReaction,\n ThumbsUpReaction,\n WutReaction,\n} from '../../icons';\n\nimport { triggerHaptic } from '../../native';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport type { ReactionData } from '../../utils/utils';\n\nconst AnimatedCircle = Animated.createAnimatedComponent\n ? Animated.createAnimatedComponent(Circle)\n : Circle;\n\nconst styles = StyleSheet.create({\n notLastReaction: {\n marginRight: 16,\n },\n reactionList: {\n alignItems: 'center',\n borderRadius: 24,\n flexDirection: 'row',\n justifyContent: 'center',\n paddingHorizontal: 16,\n paddingVertical: 12,\n position: 'absolute',\n },\n selectedIcon: {\n position: 'absolute',\n },\n});\n\nconst reactionData: ReactionData[] = [\n {\n Icon: LoveReaction,\n type: 'love',\n },\n {\n Icon: ThumbsUpReaction,\n type: 'like',\n },\n {\n Icon: ThumbsDownReaction,\n type: 'sad',\n },\n {\n Icon: LOLReaction,\n type: 'haha',\n },\n {\n Icon: WutReaction,\n type: 'wow',\n },\n];\n\ntype ReactionButtonProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n OverlayReactionListPropsWithContext<StreamChatGenerics>,\n 'ownReactionTypes' | 'handleReaction' | 'setOverlay'\n> & {\n Icon: React.FC<IconProps>;\n index: number;\n numberOfReactions: number;\n showScreen: Animated.SharedValue<number>;\n type: string;\n};\n\nexport const ReactionButton = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ReactionButtonProps<StreamChatGenerics>,\n) => {\n const {\n handleReaction,\n Icon,\n index,\n numberOfReactions,\n ownReactionTypes,\n setOverlay,\n showScreen,\n type,\n } = props;\n const {\n theme: {\n colors: { accent_blue, grey },\n overlay: {\n reactionsList: { reaction, reactionSize },\n },\n },\n } = useTheme();\n const selected = ownReactionTypes.includes(type);\n const animationScale = useSharedValue(0);\n const hasShown = useSharedValue(0);\n const scale = useSharedValue(1);\n const selectedOpacity = useSharedValue(selected ? 1 : 0);\n\n const onTap = useAnimatedGestureHandler<TapGestureHandlerStateChangeEvent>(\n {\n onEnd: () => {\n runOnJS(triggerHaptic)('impactLight');\n selectedOpacity.value = withTiming(selected ? 0 : 1, { duration: 250 }, () => {\n if (handleReaction) {\n runOnJS(handleReaction)(type);\n }\n runOnJS(setOverlay)('none');\n });\n },\n onFinish: () => {\n cancelAnimation(scale);\n scale.value = withTiming(1, { duration: 100 });\n },\n onStart: () => {\n cancelAnimation(scale);\n scale.value = withTiming(1.5, { duration: 100 });\n },\n },\n [handleReaction, selected, setOverlay, type],\n );\n\n useAnimatedReaction(\n () => {\n if (showScreen.value > 0.8 && hasShown.value === 0) {\n return 1;\n }\n return 0;\n },\n (result) => {\n if (hasShown.value === 0 && result !== 0) {\n hasShown.value = 1;\n animationScale.value = withSequence(\n withDelay(60 * (numberOfReactions - (index + 1)), withTiming(0.1, { duration: 50 })),\n withTiming(1.5, { duration: 250 }),\n withTiming(1, { duration: 250 }),\n );\n }\n },\n [index, numberOfReactions],\n );\n\n const iconStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n scale: animationScale.value,\n },\n {\n scale: scale.value,\n },\n ],\n }),\n [],\n );\n\n const selectedStyle = useAnimatedStyle<ViewStyle>(() => ({\n opacity: selectedOpacity.value,\n }));\n\n return (\n <TapGestureHandler\n hitSlop={{\n bottom:\n Number(reaction.paddingVertical || 0) ||\n Number(reaction.paddingBottom || 0) ||\n styles.reactionList.paddingVertical,\n left:\n (Number(reaction.paddingHorizontal || 0) ||\n Number(reaction.paddingLeft || 0) ||\n styles.notLastReaction.marginRight) / 2,\n right:\n (Number(reaction.paddingHorizontal || 0) ||\n Number(reaction.paddingRight || 0) ||\n styles.notLastReaction.marginRight) / 2,\n top:\n Number(reaction.paddingVertical || 0) ||\n Number(reaction.paddingTop || 0) ||\n styles.reactionList.paddingVertical,\n }}\n maxDurationMs={3000}\n onHandlerStateChange={onTap}\n >\n <Animated.View\n style={[index !== numberOfReactions - 1 ? styles.notLastReaction : {}, reaction, iconStyle]}\n >\n <Icon height={reactionSize} pathFill={grey} width={reactionSize} />\n <Animated.View style={[styles.selectedIcon, selectedStyle]}>\n <Icon height={reactionSize} pathFill={accent_blue} width={reactionSize} />\n </Animated.View>\n </Animated.View>\n </TapGestureHandler>\n );\n};\n\nexport type OverlayReactionListPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageOverlayData<StreamChatGenerics>,\n 'alignment' | 'handleReaction' | 'messagesContext'\n> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'supportedReactions'> &\n Pick<OverlayContextValue, 'setOverlay'> & {\n messageLayout: Animated.SharedValue<{\n x: number;\n y: number;\n }>;\n ownReactionTypes: string[];\n showScreen: Animated.SharedValue<number>;\n fill?: FillProps['fill'];\n };\n\nconst OverlayReactionListWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: OverlayReactionListPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n fill,\n handleReaction,\n messageLayout,\n ownReactionTypes,\n showScreen,\n setOverlay,\n supportedReactions = reactionData,\n } = props;\n\n const {\n theme: {\n colors: { white_snow },\n overlay: {\n padding: screenPadding,\n reactionsList: { radius, reactionList },\n },\n },\n } = useTheme();\n\n const reactionListHeight = useSharedValue(0);\n const reactionBubbleWidth = useSharedValue(0);\n const reactionListLayout = useSharedValue({\n height: 0,\n width: 0,\n });\n\n const { width } = useWindowDimensions();\n\n const animatedStyle = useAnimatedStyle<ViewStyle>(() => {\n const borderRadius = reactionList.borderRadius || styles.reactionList.borderRadius;\n const insideLeftBound =\n messageLayout.value.x - reactionListLayout.value.width + borderRadius > screenPadding;\n const insideRightBound = messageLayout.value.x + borderRadius < width - screenPadding;\n const left = !insideLeftBound\n ? screenPadding\n : !insideRightBound\n ? width - screenPadding - reactionListLayout.value.width\n : messageLayout.value.x - reactionListLayout.value.width + borderRadius;\n const top = messageLayout.value.y - reactionListLayout.value.height - radius * 2;\n\n return {\n left,\n top,\n };\n });\n\n const animatedBigCircleProps = useAnimatedProps<CircleProps>(() => ({\n cx: messageLayout.value.x - radius * 3,\n cy: messageLayout.value.y - radius * 3,\n r: radius * 2,\n }));\n\n const animateSmallCircleProps = useAnimatedProps<CircleProps>(() => ({\n cx: messageLayout.value.x - radius,\n cy: messageLayout.value.y,\n r: radius,\n }));\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [-reactionListHeight.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [\n alignment === 'left' ? -reactionBubbleWidth.value / 2 : reactionBubbleWidth.value / 2,\n 0,\n ],\n ),\n },\n {\n scale: interpolate(showScreen.value, [0, 0.8, 1], [0, 0, 1]),\n },\n ],\n }),\n [alignment],\n );\n\n const numberOfReactions = supportedReactions.length;\n\n return (\n <View style={StyleSheet.absoluteFill} testID='overlay-reaction-list'>\n <Animated.View\n onLayout={({ nativeEvent: { layout } }) => {\n reactionBubbleWidth.value = layout.width;\n }}\n style={showScreenStyle}\n >\n <Svg>\n <AnimatedCircle animatedProps={animatedBigCircleProps} fill={fill || white_snow} />\n <AnimatedCircle animatedProps={animateSmallCircleProps} fill={fill || white_snow} />\n </Svg>\n <Animated.View\n onLayout={({\n nativeEvent: {\n layout: { height, width: layoutWidth },\n },\n }) => {\n reactionListLayout.value = { height, width: layoutWidth };\n reactionListHeight.value = height;\n }}\n style={[\n styles.reactionList,\n { backgroundColor: white_snow },\n animatedStyle,\n reactionList,\n ]}\n >\n {supportedReactions?.map(({ Icon, type }, index) => (\n <ReactionButton<StreamChatGenerics>\n handleReaction={handleReaction}\n Icon={Icon}\n index={index}\n key={`${type}_${index}`}\n numberOfReactions={numberOfReactions}\n ownReactionTypes={ownReactionTypes}\n setOverlay={setOverlay}\n showScreen={showScreen}\n type={type}\n />\n ))}\n </Animated.View>\n </Animated.View>\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: OverlayReactionListPropsWithContext<StreamChatGenerics>,\n nextProps: OverlayReactionListPropsWithContext<StreamChatGenerics>,\n) => {\n const { alignment: prevAlignment, ownReactionTypes: prevOwnReactionTypes } = prevProps;\n const { alignment: nextAlignment, ownReactionTypes: nextOwnReactionTypes } = nextProps;\n\n const alignmentEqual = prevAlignment === nextAlignment;\n if (!alignmentEqual) return false;\n\n const ownReactionTypesEqual = prevOwnReactionTypes.length === nextOwnReactionTypes.length;\n if (!ownReactionTypesEqual) return false;\n\n return true;\n};\n\nconst MemoizedOverlayReactionList = React.memo(\n OverlayReactionListWithContext,\n areEqual,\n) as typeof OverlayReactionListWithContext;\n\nexport type OverlayReactionListProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Omit<\n OverlayReactionListPropsWithContext<StreamChatGenerics>,\n 'setOverlay' | 'supportedReactions'\n> &\n Partial<\n Pick<\n OverlayReactionListPropsWithContext<StreamChatGenerics>,\n 'setOverlay' | 'supportedReactions'\n >\n >;\n\n/**\n * OverlayReactionList - A high level component which implements all the logic required for a message overlay reaction list\n */\nexport const OverlayReactionList = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: OverlayReactionListProps<StreamChatGenerics>,\n) => {\n const { data } = useMessageOverlayContext<StreamChatGenerics>();\n const { supportedReactions } = useMessagesContext<StreamChatGenerics>();\n const { setOverlay } = useOverlayContext();\n\n return (\n <MemoizedOverlayReactionList\n {...(data || {})}\n {...{ setOverlay, supportedReactions }}\n {...props}\n />\n );\n};\n\nOverlayReactionList.displayName = 'OverlayReactionList{overlay{reactionList}}';\n"]}
|