stream-chat-react-native-core 4.0.0-beta.3 → 4.0.0-beta.7
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 -1
- package/lib/commonjs/components/Attachment/Attachment.js +10 -10
- package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
- package/lib/commonjs/components/Attachment/AttachmentActions.js +4 -4
- package/lib/commonjs/components/Attachment/AttachmentActions.js.map +1 -1
- package/lib/commonjs/components/Attachment/Card.js +15 -15
- package/lib/commonjs/components/Attachment/Card.js.map +1 -1
- package/lib/commonjs/components/Attachment/FileAttachment.js +8 -8
- package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
- package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +4 -4
- package/lib/commonjs/components/Attachment/FileAttachmentGroup.js.map +1 -1
- package/lib/commonjs/components/Attachment/Gallery.js +8 -8
- package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
- package/lib/commonjs/components/Attachment/Giphy.js +112 -148
- package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +2 -2
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +16 -16
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +7 -7
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +13 -13
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +10 -10
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
- package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
- package/lib/commonjs/components/Channel/Channel.js +13 -13
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
- 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 +2 -2
- package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +14 -14
- package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
- 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.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
- 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.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/commonjs/components/ChannelList/utils.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +2 -2
- package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +2 -2
- package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +4 -4
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +12 -12
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
- 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.map +1 -1
- package/lib/commonjs/components/Chat/Chat.js +8 -4
- 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.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useMutedUsers.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/ImageGallery.js +19 -19
- package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +11 -11
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +28 -11
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +5 -5
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/commonjs/components/Message/Message.js +6 -6
- package/lib/commonjs/components/Message/Message.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +4 -4
- package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +18 -18
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +5 -5
- package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +20 -16
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +4 -4
- package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +10 -10
- package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +3 -3
- package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +6 -6
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +9 -9
- package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +3 -3
- package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +51 -51
- package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +145 -64
- 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.map +1 -1
- package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useMessageActions.js +11 -11
- package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
- 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 +3 -3
- package/lib/commonjs/components/MessageInput/AttachButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/CommandsButton.js +3 -3
- package/lib/commonjs/components/MessageInput/CommandsButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js +11 -11
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
- package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +7 -7
- package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
- package/lib/commonjs/components/MessageInput/InputButtons.js +6 -6
- package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
- package/lib/commonjs/components/MessageInput/MessageInput.js +34 -34
- package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +3 -3
- package/lib/commonjs/components/MessageInput/MoreOptionsButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/SendButton.js +5 -5
- package/lib/commonjs/components/MessageInput/SendButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +7 -7
- package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +3 -3
- package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +3 -3
- package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +3 -3
- package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageList.js +26 -26
- package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageSystem.js +6 -6
- package/lib/commonjs/components/MessageList/MessageSystem.js.map +1 -1
- package/lib/commonjs/components/MessageList/TypingIndicator.js +3 -3
- package/lib/commonjs/components/MessageList/TypingIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js +2 -2
- package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
- 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.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -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/commonjs/components/MessageOverlay/MessageActionList.js +3 -3
- package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +6 -6
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +26 -25
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +13 -13
- package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +19 -19
- package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
- package/lib/commonjs/components/Reply/Reply.js +8 -8
- package/lib/commonjs/components/Reply/Reply.js.map +1 -1
- package/lib/commonjs/components/Thread/Thread.js +4 -4
- package/lib/commonjs/components/Thread/Thread.js.map +1 -1
- package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +12 -12
- package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
- package/lib/commonjs/components/docs/data.js +44 -44
- package/lib/commonjs/components/docs/data.js.map +1 -1
- package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
- package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
- package/lib/commonjs/contexts/channelContext/ChannelContext.js +2 -2
- package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
- package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +2 -2
- package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
- package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +3 -3
- package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
- package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
- package/lib/commonjs/contexts/chatContext/ChatContext.js +2 -2
- package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
- package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
- package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +1 -1
- package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
- package/lib/commonjs/contexts/messageContext/MessageContext.js +2 -2
- package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +2 -2
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
- package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +2 -2
- package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js +2 -2
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -1
- package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
- package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +12 -12
- package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
- package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
- package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +2 -2
- package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
- package/lib/commonjs/contexts/themeContext/utils/theme.js +7 -6
- package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/commonjs/contexts/threadContext/ThreadContext.js +2 -2
- package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
- package/lib/commonjs/contexts/translationContext/TranslationContext.js +2 -2
- package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
- package/lib/commonjs/contexts/typingContext/TypingContext.js +2 -2
- package/lib/commonjs/contexts/typingContext/TypingContext.js.map +1 -1
- package/lib/commonjs/icons/UserAdmin.js +62 -0
- package/lib/commonjs/icons/UserAdmin.js.map +1 -0
- package/lib/commonjs/icons/index.js +0 -26
- package/lib/commonjs/icons/index.js.map +1 -1
- package/lib/commonjs/init.js +13 -0
- package/lib/commonjs/init.js.map +1 -0
- package/lib/commonjs/utils/Streami18n.js.map +1 -1
- package/lib/commonjs/utils/getResizedImageUrl.js +8 -5
- package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -1
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Attachment/Attachment.js +10 -10
- package/lib/module/components/Attachment/Attachment.js.map +1 -1
- package/lib/module/components/Attachment/AttachmentActions.js +4 -4
- package/lib/module/components/Attachment/AttachmentActions.js.map +1 -1
- package/lib/module/components/Attachment/Card.js +15 -15
- package/lib/module/components/Attachment/Card.js.map +1 -1
- package/lib/module/components/Attachment/FileAttachment.js +8 -8
- package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
- package/lib/module/components/Attachment/FileAttachmentGroup.js +4 -4
- package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
- package/lib/module/components/Attachment/Gallery.js +8 -8
- package/lib/module/components/Attachment/Gallery.js.map +1 -1
- package/lib/module/components/Attachment/Giphy.js +112 -148
- package/lib/module/components/Attachment/Giphy.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -1
- package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +2 -2
- package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +16 -16
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +7 -7
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +13 -13
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +10 -10
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
- package/lib/module/components/Avatar/Avatar.js.map +1 -1
- package/lib/module/components/Channel/Channel.js +13 -13
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
- 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 +2 -2
- package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListMessenger.js +14 -14
- package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
- 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.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
- 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.map +1 -1
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/module/components/ChannelList/utils.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelAvatar.js +2 -2
- package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreview.js +2 -2
- package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +4 -4
- package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +12 -12
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
- package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
- package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
- 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.map +1 -1
- package/lib/module/components/Chat/Chat.js +8 -4
- 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.map +1 -1
- package/lib/module/components/Chat/hooks/useMutedUsers.js.map +1 -1
- package/lib/module/components/ImageGallery/ImageGallery.js +19 -19
- package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +11 -11
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +28 -11
- package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGrid.js +5 -5
- package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/module/components/Message/Message.js +6 -6
- package/lib/module/components/Message/Message.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageAvatar.js +4 -4
- package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageContent.js +18 -18
- package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageDeleted.js +5 -5
- package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageFooter.js +20 -16
- package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +4 -4
- package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageReplies.js +10 -10
- package/lib/module/components/Message/MessageSimple/MessageReplies.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +3 -3
- package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageSimple.js +6 -6
- package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageStatus.js +9 -9
- package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +3 -3
- package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/ReactionList.js +51 -51
- package/lib/module/components/Message/MessageSimple/ReactionList.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/renderText.js +145 -64
- 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.map +1 -1
- package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
- package/lib/module/components/Message/hooks/useMessageActions.js +11 -11
- package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
- 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 +3 -3
- package/lib/module/components/MessageInput/AttachButton.js.map +1 -1
- package/lib/module/components/MessageInput/CommandsButton.js +3 -3
- package/lib/module/components/MessageInput/CommandsButton.js.map +1 -1
- package/lib/module/components/MessageInput/FileUploadPreview.js +11 -11
- package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
- package/lib/module/components/MessageInput/ImageUploadPreview.js +7 -7
- package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
- package/lib/module/components/MessageInput/InputButtons.js +6 -6
- package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
- package/lib/module/components/MessageInput/MessageInput.js +34 -34
- package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/module/components/MessageInput/MoreOptionsButton.js +3 -3
- package/lib/module/components/MessageInput/MoreOptionsButton.js.map +1 -1
- package/lib/module/components/MessageInput/SendButton.js +5 -5
- package/lib/module/components/MessageInput/SendButton.js.map +1 -1
- package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +7 -7
- package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
- package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -1
- package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +3 -3
- package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
- package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +3 -3
- package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
- package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +3 -3
- package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
- package/lib/module/components/MessageList/MessageList.js +26 -26
- package/lib/module/components/MessageList/MessageList.js.map +1 -1
- package/lib/module/components/MessageList/MessageSystem.js +6 -6
- package/lib/module/components/MessageList/MessageSystem.js.map +1 -1
- package/lib/module/components/MessageList/TypingIndicator.js +3 -3
- package/lib/module/components/MessageList/TypingIndicator.js.map +1 -1
- package/lib/module/components/MessageList/TypingIndicatorContainer.js +2 -2
- package/lib/module/components/MessageList/TypingIndicatorContainer.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
- 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.map +1 -1
- package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -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/module/components/MessageOverlay/MessageActionList.js +3 -3
- package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageActionListItem.js +6 -6
- package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageOverlay.js +26 -25
- package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/module/components/MessageOverlay/OverlayReactionList.js +13 -13
- package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
- package/lib/module/components/MessageOverlay/OverlayReactions.js +19 -19
- package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
- package/lib/module/components/Reply/Reply.js +8 -8
- package/lib/module/components/Reply/Reply.js.map +1 -1
- package/lib/module/components/Thread/Thread.js +4 -4
- package/lib/module/components/Thread/Thread.js.map +1 -1
- package/lib/module/components/Thread/components/ThreadFooterComponent.js +12 -12
- package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
- package/lib/module/components/docs/data.js +44 -44
- package/lib/module/components/docs/data.js.map +1 -1
- package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
- package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
- package/lib/module/contexts/channelContext/ChannelContext.js +2 -2
- package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
- package/lib/module/contexts/channelsContext/ChannelsContext.js +2 -2
- package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
- package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +3 -3
- package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
- package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
- package/lib/module/contexts/chatContext/ChatContext.js +2 -2
- package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
- package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
- package/lib/module/contexts/keyboardContext/KeyboardContext.js +1 -1
- package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
- package/lib/module/contexts/messageContext/MessageContext.js +2 -2
- package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/MessageInputContext.js +2 -2
- package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
- package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +2 -2
- package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
- package/lib/module/contexts/messagesContext/MessagesContext.js +2 -2
- package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/module/contexts/overlayContext/OverlayContext.js +1 -1
- package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
- package/lib/module/contexts/overlayContext/OverlayProvider.js +12 -12
- package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
- package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
- package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +2 -2
- package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
- package/lib/module/contexts/themeContext/utils/theme.js +7 -6
- package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/module/contexts/threadContext/ThreadContext.js +2 -2
- package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
- package/lib/module/contexts/translationContext/TranslationContext.js +2 -2
- package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
- package/lib/module/contexts/typingContext/TypingContext.js +2 -2
- package/lib/module/contexts/typingContext/TypingContext.js.map +1 -1
- package/lib/module/icons/UserAdmin.js +62 -0
- package/lib/module/icons/UserAdmin.js.map +1 -0
- package/lib/module/icons/index.js +0 -26
- package/lib/module/icons/index.js.map +1 -1
- package/lib/module/init.js +13 -0
- package/lib/module/init.js.map +1 -0
- package/lib/module/utils/Streami18n.js.map +1 -1
- package/lib/module/utils/getResizedImageUrl.js +8 -5
- package/lib/module/utils/getResizedImageUrl.js.map +1 -1
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Attachment/Attachment.d.ts +5 -5
- package/lib/typescript/components/Attachment/AttachmentActions.d.ts +4 -4
- package/lib/typescript/components/Attachment/Card.d.ts +4 -4
- package/lib/typescript/components/Attachment/FileAttachment.d.ts +5 -5
- package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts +4 -4
- package/lib/typescript/components/Attachment/Gallery.d.ts +5 -5
- package/lib/typescript/components/Attachment/Giphy.d.ts +6 -6
- package/lib/typescript/components/Attachment/utils/buildGallery/buildGallery.d.ts +3 -3
- package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.d.ts +3 -3
- package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.d.ts +3 -3
- package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.d.ts +3 -3
- package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnail.d.ts +3 -3
- package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnailGrid.d.ts +3 -3
- package/lib/typescript/components/Attachment/utils/getAspectRatio.d.ts +2 -2
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteInput.d.ts +4 -4
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.d.ts +3 -2
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionHeader.d.ts +4 -4
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionItem.d.ts +5 -5
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts +9 -9
- package/lib/typescript/components/Avatar/Avatar.d.ts +1 -1
- package/lib/typescript/components/Channel/Channel.d.ts +7 -7
- package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +2 -2
- package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +3 -3
- package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +3 -3
- package/lib/typescript/components/Channel/hooks/useCreateOwnCapabilitiesContext.d.ts +3 -3
- 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 +14 -14
- 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 +7 -7
- 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 +5 -5
- package/lib/typescript/components/ChannelPreview/ChannelPreviewMessage.d.ts +4 -5
- package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts +5 -5
- package/lib/typescript/components/ChannelPreview/ChannelPreviewMutedStatus.d.ts +3 -3
- 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 +3 -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 +9 -9
- 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/Message/Message.d.ts +11 -11
- package/lib/typescript/components/Message/MessageSimple/MessageAvatar.d.ts +4 -4
- package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts +4 -4
- package/lib/typescript/components/Message/MessageSimple/MessageDeleted.d.ts +5 -5
- package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts +6 -6
- package/lib/typescript/components/Message/MessageSimple/MessagePinnedHeader.d.ts +4 -4
- 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 +6 -6
- package/lib/typescript/components/Message/MessageSimple/ReactionList.d.ts +4 -4
- package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +19 -5
- 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 +2 -2
- package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +3 -3
- package/lib/typescript/components/Message/utils/messageActions.d.ts +5 -5
- package/lib/typescript/components/Message/utils/removeReservedFields.d.ts +2 -2
- package/lib/typescript/components/MessageInput/AttachButton.d.ts +4 -4
- package/lib/typescript/components/MessageInput/CommandsButton.d.ts +4 -4
- 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 +4 -4
- package/lib/typescript/components/MessageInput/SendButton.d.ts +4 -4
- package/lib/typescript/components/MessageInput/ShowThreadMessageInChannelButton.d.ts +2 -2
- package/lib/typescript/components/MessageInput/hooks/useCooldown.d.ts +2 -2
- 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 +7 -7
- package/lib/typescript/components/MessageList/MessageSystem.d.ts +4 -4
- 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 +5 -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 +4 -4
- 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 +4 -4
- package/lib/typescript/components/MessageOverlay/MessageActionListItem.d.ts +4 -3
- package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts +4 -4
- package/lib/typescript/components/MessageOverlay/OverlayReactionList.d.ts +6 -6
- package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts +2 -2
- package/lib/typescript/components/MessageOverlay/hooks/useMessageActionAnimation.d.ts +1 -1
- package/lib/typescript/components/Reply/Reply.d.ts +4 -4
- package/lib/typescript/components/Thread/Thread.d.ts +7 -7
- package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts +2 -2
- package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts +2 -2
- package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +12 -12
- package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +18 -18
- 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 -12
- package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +33 -33
- package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +2 -2
- package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts +3 -3
- package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +21 -21
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +57 -57
- package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +4 -4
- package/lib/typescript/contexts/overlayContext/OverlayProvider.d.ts +2 -2
- package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +8 -8
- package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts +20 -20
- package/lib/typescript/contexts/themeContext/utils/theme.d.ts +6 -5
- 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/icons/{Left.d.ts → UserAdmin.d.ts} +1 -1
- package/lib/typescript/icons/index.d.ts +0 -2
- package/lib/typescript/init.d.ts +2 -0
- package/lib/typescript/types/types.d.ts +16 -13
- package/lib/typescript/utils/Streami18n.d.ts +4 -4
- package/lib/typescript/utils/getResizedImageUrl.d.ts +2 -1
- package/lib/typescript/utils/utils.d.ts +21 -21
- package/package.json +3 -5
- package/src/components/Attachment/Attachment.tsx +15 -56
- package/src/components/Attachment/AttachmentActions.tsx +15 -55
- package/src/components/Attachment/Card.tsx +15 -48
- package/src/components/Attachment/FileAttachment.tsx +14 -48
- package/src/components/Attachment/FileAttachmentGroup.tsx +16 -57
- package/src/components/Attachment/Gallery.tsx +18 -59
- package/src/components/Attachment/Giphy.tsx +82 -125
- package/src/components/Attachment/__tests__/buildGallery.test.js +4 -4
- package/src/components/Attachment/utils/buildGallery/buildGallery.ts +5 -3
- package/src/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.ts +6 -10
- package/src/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.ts +5 -5
- package/src/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.ts +5 -3
- package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +5 -3
- package/src/components/Attachment/utils/buildGallery/buildThumbnailGrid.ts +5 -3
- package/src/components/Attachment/utils/getAspectRatio.ts +4 -4
- package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +21 -61
- package/src/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.tsx +5 -3
- package/src/components/AutoCompleteInput/AutoCompleteSuggestionHeader.tsx +12 -19
- package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx +14 -21
- package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +21 -24
- package/src/components/Avatar/Avatar.tsx +1 -1
- package/src/components/Channel/Channel.tsx +174 -257
- package/src/components/Channel/hooks/useCreateChannelContext.ts +4 -19
- package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +52 -68
- package/src/components/Channel/hooks/useCreateMessagesContext.ts +4 -19
- package/src/components/Channel/hooks/useCreateOwnCapabilitiesContext.ts +3 -18
- 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 +28 -49
- package/src/components/ChannelList/ChannelListMessenger.tsx +19 -70
- package/src/components/ChannelList/hooks/listeners/useAddedToChannelNotification.ts +14 -36
- package/src/components/ChannelList/hooks/listeners/useChannelDeleted.ts +13 -35
- package/src/components/ChannelList/hooks/listeners/useChannelHidden.ts +13 -35
- package/src/components/ChannelList/hooks/listeners/useChannelTruncated.ts +15 -37
- package/src/components/ChannelList/hooks/listeners/useChannelUpdated.ts +13 -35
- package/src/components/ChannelList/hooks/listeners/useChannelVisible.ts +14 -36
- package/src/components/ChannelList/hooks/listeners/useConnectionRecovered.ts +3 -18
- package/src/components/ChannelList/hooks/listeners/useNewMessage.ts +11 -33
- package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +13 -35
- package/src/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.ts +13 -35
- package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +9 -31
- package/src/components/ChannelList/hooks/useCreateChannelsContext.ts +4 -19
- package/src/components/ChannelList/hooks/usePaginatedChannels.ts +11 -29
- package/src/components/ChannelList/utils.ts +9 -42
- package/src/components/ChannelPreview/ChannelAvatar.tsx +5 -26
- package/src/components/ChannelPreview/ChannelPreview.tsx +18 -51
- package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +11 -21
- package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +13 -46
- package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx +5 -26
- package/src/components/ChannelPreview/ChannelPreviewStatus.tsx +6 -27
- package/src/components/ChannelPreview/ChannelPreviewTitle.tsx +5 -26
- package/src/components/ChannelPreview/ChannelPreviewUnreadCount.tsx +5 -26
- package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.ts +7 -28
- package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +6 -27
- package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.ts +7 -28
- package/src/components/ChannelPreview/hooks/useLatestMessagePreview.ts +27 -78
- package/src/components/Chat/Chat.tsx +15 -40
- package/src/components/Chat/hooks/useCreateChatContext.ts +4 -19
- package/src/components/Chat/hooks/useIsOnline.ts +4 -19
- package/src/components/Chat/hooks/useMutedUsers.ts +5 -20
- package/src/components/ImageGallery/ImageGallery.tsx +30 -40
- package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +19 -11
- package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +42 -20
- package/src/components/ImageGallery/components/ImageGrid.tsx +45 -30
- package/src/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.tsx +31 -0
- package/src/components/Message/Message.tsx +40 -93
- package/src/components/Message/MessageSimple/MessageAvatar.tsx +13 -54
- package/src/components/Message/MessageSimple/MessageContent.tsx +18 -61
- package/src/components/Message/MessageSimple/MessageDeleted.tsx +17 -58
- package/src/components/Message/MessageSimple/MessageFooter.tsx +23 -65
- package/src/components/Message/MessageSimple/MessagePinnedHeader.tsx +13 -54
- package/src/components/Message/MessageSimple/MessageReplies.tsx +15 -56
- package/src/components/Message/MessageSimple/MessageRepliesAvatars.tsx +5 -26
- package/src/components/Message/MessageSimple/MessageSimple.tsx +16 -57
- package/src/components/Message/MessageSimple/MessageStatus.tsx +13 -54
- package/src/components/Message/MessageSimple/MessageTextContainer.tsx +19 -66
- package/src/components/Message/MessageSimple/ReactionList.tsx +47 -88
- package/src/components/Message/MessageSimple/utils/renderText.test.tsx +70 -0
- package/src/components/Message/MessageSimple/utils/renderText.tsx +89 -74
- package/src/components/Message/hooks/useCreateMessageContext.ts +4 -19
- package/src/components/Message/hooks/useMessageActionHandlers.ts +8 -23
- package/src/components/Message/hooks/useMessageActions.tsx +8 -23
- package/src/components/Message/utils/messageActions.ts +7 -34
- package/src/components/Message/utils/removeReservedFields.ts +3 -18
- package/src/components/MessageInput/AttachButton.tsx +13 -54
- package/src/components/MessageInput/CommandsButton.tsx +15 -56
- package/src/components/MessageInput/FileUploadPreview.tsx +15 -57
- package/src/components/MessageInput/ImageUploadPreview.tsx +13 -55
- package/src/components/MessageInput/InputButtons.tsx +13 -54
- package/src/components/MessageInput/MessageInput.tsx +25 -66
- package/src/components/MessageInput/MoreOptionsButton.tsx +13 -54
- package/src/components/MessageInput/SendButton.tsx +13 -54
- package/src/components/MessageInput/ShowThreadMessageInChannelButton.tsx +4 -19
- package/src/components/MessageInput/hooks/useCooldown.ts +5 -19
- 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 +34 -76
- package/src/components/MessageList/MessageSystem.tsx +5 -26
- package/src/components/MessageList/TypingIndicator.tsx +3 -18
- package/src/components/MessageList/TypingIndicatorContainer.tsx +14 -47
- package/src/components/MessageList/hooks/useMessageList.ts +19 -52
- package/src/components/MessageList/hooks/useTypingString.ts +5 -20
- package/src/components/MessageList/utils/filterTypingUsers.ts +7 -28
- package/src/components/MessageList/utils/getDateSeparators.ts +6 -27
- package/src/components/MessageList/utils/getGroupStyles.ts +6 -27
- package/src/components/MessageList/utils/getLastReceivedMessage.ts +3 -18
- package/src/components/MessageList/utils/getReadStates.ts +5 -20
- package/src/components/MessageOverlay/MessageActionList.tsx +15 -56
- package/src/components/MessageOverlay/MessageActionListItem.tsx +20 -9
- package/src/components/MessageOverlay/MessageOverlay.tsx +38 -81
- package/src/components/MessageOverlay/OverlayReactionList.tsx +21 -74
- package/src/components/MessageOverlay/OverlayReactions.tsx +3 -18
- package/src/components/Reply/Reply.tsx +22 -69
- package/src/components/Thread/Thread.tsx +20 -53
- package/src/components/Thread/components/ThreadFooterComponent.tsx +12 -47
- package/src/components/docs/data.js +38 -37
- package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +9 -7
- package/src/contexts/channelContext/ChannelContext.tsx +15 -48
- package/src/contexts/channelsContext/ChannelsContext.tsx +22 -59
- package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +38 -115
- package/src/contexts/channelsStateContext/useChannelState.ts +27 -60
- package/src/contexts/chatContext/ChatContext.tsx +14 -49
- package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +12 -54
- package/src/contexts/keyboardContext/KeyboardContext.tsx +13 -7
- package/src/contexts/messageContext/MessageContext.tsx +15 -48
- package/src/contexts/messageInputContext/MessageInputContext.tsx +61 -110
- package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +5 -20
- package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +7 -31
- package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +24 -71
- package/src/contexts/messagesContext/MessagesContext.tsx +60 -99
- package/src/contexts/overlayContext/OverlayContext.tsx +18 -26
- package/src/contexts/overlayContext/OverlayProvider.tsx +7 -22
- package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +13 -53
- package/src/contexts/suggestionsContext/SuggestionsContext.tsx +39 -40
- package/src/contexts/themeContext/utils/theme.ts +13 -11
- package/src/contexts/threadContext/ThreadContext.tsx +13 -46
- package/src/contexts/translationContext/TranslationContext.tsx +12 -7
- package/src/contexts/typingContext/TypingContext.tsx +11 -44
- package/src/icons/UserAdmin.tsx +23 -0
- package/src/icons/index.ts +0 -2
- package/src/init.ts +5 -0
- package/src/types/types.ts +16 -18
- package/src/utils/Streami18n.ts +3 -3
- package/src/utils/__tests__/getResizedImageUrl.test.js +56 -0
- package/src/utils/getResizedImageUrl.ts +15 -13
- package/src/utils/utils.ts +63 -128
- package/src/version.json +1 -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/Reanimated.js.map +0 -1
- 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/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/Reanimated.js.map +0 -1
- 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/icons/Right.d.ts +0 -3
- package/src/icons/Left.tsx +0 -12
- package/src/icons/Right.tsx +0 -12
- package/src/styleguideComponents/ArgumentsRenderer.tsx +0 -60
- package/src/styleguideComponents/BottomSheet.tsx +0 -3
- package/src/styleguideComponents/JsDoc.tsx +0 -45
- package/src/styleguideComponents/Markdown.tsx +0 -1
- package/src/styleguideComponents/PathlineRenderer.tsx +0 -45
- package/src/styleguideComponents/PropsRenderer.tsx +0 -141
- package/src/styleguideComponents/Reanimated.tsx +0 -0
- package/src/styleguideComponents/Wrapper.tsx +0 -7
- package/src/styleguideComponents/register-react-native-web.js +0 -13
- package/src/styleguideComponents/resolveAssetSource.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useMessageActions.tsx"],"names":["useMessageActions","channel","client","enforceUniqueReaction","handleBlock","handleCopy","handleDelete","handleEdit","handleFlag","handleMute","handlePinMessage","handleQuotedReply","handleReactionProp","handleReaction","handleRetry","handleThreadReply","message","onThreadSelect","openThread","removeMessage","retrySendMessage","selectReaction","setEditingState","setOverlay","setQuotedMessageState","supportedReactions","t","updateMessage","theme","colors","accent_blue","accent_red","grey","handleDeleteMessage","handleEditMessage","handleQuotedReplyMessage","handleResendMessage","handleToggleBanUser","handleToggleMuteUser","handleTogglePinMessage","handleToggleReaction","error","type","status","MessageStatusTypes","FAILED","onOpenThread","isMuted","mutedUsers","some","mute","user","id","userID","target","blockUser","action","actionType","icon","title","banned","copyMessage","Clipboard","setString","text","deleteMessage","Alert","alert","onPress","style","cancelable","titleStyle","color","editMessage","pinMessage","unpinMessage","flagMessage","reactionType","undefined","muteUser","quotedReply","retry","messageWithoutReservedFields","threadReply"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Alert, Clipboard } from 'react-native';\n\nimport { useMessageActionHandlers } from './useMessageActionHandlers';\n\nimport type { ChannelContextValue } from '../../../contexts/channelContext/ChannelContext';\nimport type { ChatContextValue } from '../../../contexts/chatContext/ChatContext';\nimport type { MessageContextValue } from '../../../contexts/messageContext/MessageContext';\nimport type { MessagesContextValue } from '../../../contexts/messagesContext/MessagesContext';\nimport type { OverlayContextValue } from '../../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport type { ThreadContextValue } from '../../../contexts/threadContext/ThreadContext';\nimport type { TranslationContextValue } from '../../../contexts/translationContext/TranslationContext';\nimport {\n Copy,\n CurveLineLeftUp,\n Delete,\n Edit,\n MessageFlag,\n Mute,\n Pin,\n SendUp,\n ThreadReply,\n Unpin,\n UserDelete,\n} from '../../../icons';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../types/types';\nimport { MessageStatusTypes } from '../../../utils/utils';\n\nimport type { MessageType } from '../../MessageList/hooks/useMessageList';\nimport type { MessageActionType } from '../../MessageOverlay/MessageActionListItem';\nimport { removeReservedFields } from '../utils/removeReservedFields';\n\nexport const useMessageActions = <\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 channel,\n client,\n enforceUniqueReaction,\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction: handleReactionProp,\n handleRetry,\n handleThreadReply,\n message,\n onThreadSelect,\n openThread,\n removeMessage,\n retrySendMessage,\n selectReaction,\n setEditingState,\n setOverlay,\n setQuotedMessageState,\n supportedReactions,\n t,\n updateMessage,\n}: Pick<\n MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n | 'handleBlock'\n | 'handleCopy'\n | 'handleDelete'\n | 'handleEdit'\n | 'handleFlag'\n | 'handleQuotedReply'\n | 'handleMute'\n | 'handlePinMessage'\n | 'handleRetry'\n | 'handleReaction'\n | 'handleThreadReply'\n | 'removeMessage'\n | 'retrySendMessage'\n | 'setEditingState'\n | 'setQuotedMessageState'\n | 'selectReaction'\n | 'supportedReactions'\n | 'updateMessage'\n> &\n Pick<ChannelContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'channel' | 'enforceUniqueReaction'> &\n Pick<ChatContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'client'> &\n Pick<OverlayContextValue, 'setOverlay'> &\n Pick<ThreadContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'openThread'> &\n Pick<MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'message'> &\n Pick<TranslationContextValue, 't'> & {\n onThreadSelect?: (message: MessageType<At, Ch, Co, Ev, Me, Re, Us>) => void;\n }) => {\n const {\n theme: {\n colors: { accent_blue, accent_red, grey },\n },\n } = useTheme();\n const {\n handleDeleteMessage,\n handleEditMessage,\n handleQuotedReplyMessage,\n handleResendMessage,\n handleToggleBanUser,\n handleToggleMuteUser,\n handleTogglePinMessage,\n handleToggleReaction,\n } = useMessageActionHandlers({\n channel,\n client,\n enforceUniqueReaction,\n message,\n removeMessage,\n retrySendMessage,\n setEditingState,\n setQuotedMessageState,\n supportedReactions,\n updateMessage,\n });\n\n const error = message.type === 'error' || message.status === MessageStatusTypes.FAILED;\n\n const onOpenThread = () => {\n if (onThreadSelect) {\n onThreadSelect(message);\n }\n if (openThread) {\n openThread(message);\n }\n };\n\n const isMuted = (client.mutedUsers || []).some(\n (mute) => mute.user.id === client.userID && mute.target.id === message.user?.id,\n );\n\n const blockUser: MessageActionType = {\n action: async () => {\n setOverlay('none');\n if (message.user?.id) {\n if (handleBlock) {\n handleBlock(message);\n }\n\n await handleToggleBanUser();\n }\n },\n actionType: 'blockUser',\n icon: <UserDelete pathFill={grey} />,\n title: message.user?.banned ? t('Unblock User') : t('Block User'),\n };\n\n const copyMessage: MessageActionType = {\n // using depreciated Clipboard from react-native until expo supports the community version or their own\n action: () => {\n setOverlay('none');\n if (handleCopy) {\n handleCopy(message);\n }\n Clipboard.setString(message.text || '');\n },\n actionType: 'copyMessage',\n icon: <Copy pathFill={grey} />,\n title: t('Copy Message'),\n };\n\n const deleteMessage: MessageActionType = {\n action: () => {\n setOverlay('alert');\n if (message.id) {\n Alert.alert(\n t('Delete Message'),\n t('Are you sure you want to permanently delete this message?'),\n [\n { onPress: () => setOverlay('none'), text: t('Cancel') },\n {\n onPress: async () => {\n setOverlay('none');\n if (handleDelete) {\n handleDelete(message);\n }\n\n await handleDeleteMessage();\n },\n style: 'destructive',\n text: t('Delete'),\n },\n ],\n { cancelable: false },\n );\n }\n },\n actionType: 'deleteMessage',\n icon: <Delete pathFill={accent_red} />,\n title: t('Delete Message'),\n titleStyle: { color: accent_red },\n };\n\n const editMessage: MessageActionType = {\n action: () => {\n setOverlay('none');\n if (handleEdit) {\n handleEdit(message);\n }\n handleEditMessage();\n },\n actionType: 'editMessage',\n icon: <Edit pathFill={grey} />,\n title: t('Edit Message'),\n };\n\n const pinMessage: MessageActionType = {\n action: () => {\n setOverlay('none');\n if (handlePinMessage) {\n handlePinMessage(message);\n }\n handleTogglePinMessage();\n },\n actionType: 'pinMessage',\n icon: <Pin height={23} pathFill={grey} width={24} />,\n title: t('Pin to Conversation'),\n };\n\n const unpinMessage: MessageActionType = {\n action: () => {\n setOverlay('none');\n if (handlePinMessage) {\n handlePinMessage(message);\n }\n handleTogglePinMessage();\n },\n actionType: 'unpinMessage',\n icon: <Unpin pathFill={grey} />,\n title: t('Unpin from Conversation'),\n };\n\n const flagMessage: MessageActionType = {\n action: () => {\n setOverlay('alert');\n if (message.id) {\n Alert.alert(\n t('Flag Message'),\n t('Do you want to send a copy of this message to a moderator for further investigation?'),\n [\n { onPress: () => setOverlay('none'), text: t('Cancel') },\n {\n onPress: async () => {\n try {\n if (handleFlag) {\n handleFlag(message);\n }\n await client.flagMessage(message.id);\n Alert.alert(\n t('Message flagged'),\n t('The message has been reported to a moderator.'),\n [\n {\n onPress: () => setOverlay('none'),\n text: t('Ok'),\n },\n ],\n );\n } catch (_) {\n Alert.alert(\n t('Cannot Flag Message'),\n t(\n 'Flag action failed either due to a network issue or the message is already flagged',\n ),\n [\n {\n onPress: () => setOverlay('none'),\n text: t('Ok'),\n },\n ],\n );\n }\n },\n text: t('Flag'),\n },\n ],\n { cancelable: false },\n );\n }\n },\n actionType: 'flagMessage',\n icon: <MessageFlag pathFill={grey} />,\n title: t('Flag Message'),\n };\n\n const handleReaction = !error\n ? selectReaction\n ? selectReaction(message)\n : async (reactionType: string) => {\n if (handleReactionProp) {\n handleReactionProp(message, reactionType);\n }\n\n await handleToggleReaction(reactionType);\n }\n : undefined;\n\n const muteUser: MessageActionType = {\n action: async () => {\n setOverlay('none');\n if (message.user?.id) {\n if (handleMute) {\n handleMute(message);\n }\n\n await handleToggleMuteUser();\n }\n },\n actionType: 'muteUser',\n icon: <Mute pathFill={grey} />,\n title: isMuted ? t('Unmute User') : t('Mute User'),\n };\n\n const quotedReply: MessageActionType = {\n action: () => {\n setOverlay('none');\n if (handleQuotedReply) {\n handleQuotedReply(message);\n }\n handleQuotedReplyMessage();\n },\n actionType: 'quotedReply',\n icon: <CurveLineLeftUp pathFill={grey} />,\n title: t('Reply'),\n };\n\n const retry: MessageActionType = {\n action: async () => {\n setOverlay('none');\n const messageWithoutReservedFields = removeReservedFields(message);\n if (handleRetry) {\n handleRetry(messageWithoutReservedFields);\n }\n\n await handleResendMessage();\n },\n actionType: 'retry',\n icon: <SendUp pathFill={accent_blue} />,\n title: t('Resend'),\n };\n\n const threadReply: MessageActionType = {\n action: () => {\n setOverlay('none');\n if (handleThreadReply) {\n handleThreadReply(message);\n }\n onOpenThread();\n },\n actionType: 'threadReply',\n icon: <ThreadReply pathFill={grey} />,\n title: t('Thread Reply'),\n };\n\n return {\n blockUser,\n copyMessage,\n deleteMessage,\n editMessage,\n flagMessage,\n handleReaction,\n muteUser,\n pinMessage,\n quotedReply,\n retry,\n threadReply,\n unpinMessage,\n };\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["useMessageActions.tsx"],"names":["useMessageActions","channel","client","enforceUniqueReaction","handleBlock","handleCopy","handleDelete","handleEdit","handleFlag","handleMute","handlePinMessage","handleQuotedReply","handleReactionProp","handleReaction","handleRetry","handleThreadReply","message","onThreadSelect","openThread","removeMessage","retrySendMessage","selectReaction","setEditingState","setOverlay","setQuotedMessageState","supportedReactions","t","updateMessage","theme","colors","accent_blue","accent_red","grey","handleDeleteMessage","handleEditMessage","handleQuotedReplyMessage","handleResendMessage","handleToggleBanUser","handleToggleMuteUser","handleTogglePinMessage","handleToggleReaction","error","type","status","MessageStatusTypes","FAILED","onOpenThread","isMuted","mutedUsers","some","mute","user","id","userID","target","blockUser","action","actionType","icon","title","banned","copyMessage","Clipboard","setString","text","deleteMessage","Alert","alert","onPress","style","cancelable","titleStyle","color","editMessage","pinMessage","unpinMessage","flagMessage","reactionType","undefined","muteUser","quotedReply","retry","messageWithoutReservedFields","threadReply"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Alert, Clipboard } from 'react-native';\n\nimport { useMessageActionHandlers } from './useMessageActionHandlers';\n\nimport type { ChannelContextValue } from '../../../contexts/channelContext/ChannelContext';\nimport type { ChatContextValue } from '../../../contexts/chatContext/ChatContext';\nimport type { MessageContextValue } from '../../../contexts/messageContext/MessageContext';\nimport type { MessagesContextValue } from '../../../contexts/messagesContext/MessagesContext';\nimport type { OverlayContextValue } from '../../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport type { ThreadContextValue } from '../../../contexts/threadContext/ThreadContext';\nimport type { TranslationContextValue } from '../../../contexts/translationContext/TranslationContext';\nimport {\n Copy,\n CurveLineLeftUp,\n Delete,\n Edit,\n MessageFlag,\n Mute,\n Pin,\n SendUp,\n ThreadReply,\n Unpin,\n UserDelete,\n} from '../../../icons';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { MessageStatusTypes } from '../../../utils/utils';\n\nimport type { MessageType } from '../../MessageList/hooks/useMessageList';\nimport type { MessageActionType } from '../../MessageOverlay/MessageActionListItem';\nimport { removeReservedFields } from '../utils/removeReservedFields';\n\nexport const useMessageActions = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n channel,\n client,\n enforceUniqueReaction,\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction: handleReactionProp,\n handleRetry,\n handleThreadReply,\n message,\n onThreadSelect,\n openThread,\n removeMessage,\n retrySendMessage,\n selectReaction,\n setEditingState,\n setOverlay,\n setQuotedMessageState,\n supportedReactions,\n t,\n updateMessage,\n}: Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'handleBlock'\n | 'handleCopy'\n | 'handleDelete'\n | 'handleEdit'\n | 'handleFlag'\n | 'handleQuotedReply'\n | 'handleMute'\n | 'handlePinMessage'\n | 'handleRetry'\n | 'handleReaction'\n | 'handleThreadReply'\n | 'removeMessage'\n | 'retrySendMessage'\n | 'setEditingState'\n | 'setQuotedMessageState'\n | 'selectReaction'\n | 'supportedReactions'\n | 'updateMessage'\n> &\n Pick<ChannelContextValue<StreamChatGenerics>, 'channel' | 'enforceUniqueReaction'> &\n Pick<ChatContextValue<StreamChatGenerics>, 'client'> &\n Pick<OverlayContextValue, 'setOverlay'> &\n Pick<ThreadContextValue<StreamChatGenerics>, 'openThread'> &\n Pick<MessageContextValue<StreamChatGenerics>, 'message'> &\n Pick<TranslationContextValue, 't'> & {\n onThreadSelect?: (message: MessageType<StreamChatGenerics>) => void;\n }) => {\n const {\n theme: {\n colors: { accent_blue, accent_red, grey },\n },\n } = useTheme();\n const {\n handleDeleteMessage,\n handleEditMessage,\n handleQuotedReplyMessage,\n handleResendMessage,\n handleToggleBanUser,\n handleToggleMuteUser,\n handleTogglePinMessage,\n handleToggleReaction,\n } = useMessageActionHandlers({\n channel,\n client,\n enforceUniqueReaction,\n message,\n removeMessage,\n retrySendMessage,\n setEditingState,\n setQuotedMessageState,\n supportedReactions,\n updateMessage,\n });\n\n const error = message.type === 'error' || message.status === MessageStatusTypes.FAILED;\n\n const onOpenThread = () => {\n if (onThreadSelect) {\n onThreadSelect(message);\n }\n if (openThread) {\n openThread(message);\n }\n };\n\n const isMuted = (client.mutedUsers || []).some(\n (mute) => mute.user.id === client.userID && mute.target.id === message.user?.id,\n );\n\n const blockUser: MessageActionType = {\n action: async () => {\n setOverlay('none');\n if (message.user?.id) {\n if (handleBlock) {\n handleBlock(message);\n }\n\n await handleToggleBanUser();\n }\n },\n actionType: 'blockUser',\n icon: <UserDelete pathFill={grey} />,\n title: message.user?.banned ? t('Unblock User') : t('Block User'),\n };\n\n const copyMessage: MessageActionType = {\n // using depreciated Clipboard from react-native until expo supports the community version or their own\n action: () => {\n setOverlay('none');\n if (handleCopy) {\n handleCopy(message);\n }\n Clipboard.setString(message.text || '');\n },\n actionType: 'copyMessage',\n icon: <Copy pathFill={grey} />,\n title: t('Copy Message'),\n };\n\n const deleteMessage: MessageActionType = {\n action: () => {\n setOverlay('alert');\n if (message.id) {\n Alert.alert(\n t('Delete Message'),\n t('Are you sure you want to permanently delete this message?'),\n [\n { onPress: () => setOverlay('none'), text: t('Cancel') },\n {\n onPress: async () => {\n setOverlay('none');\n if (handleDelete) {\n handleDelete(message);\n }\n\n await handleDeleteMessage();\n },\n style: 'destructive',\n text: t('Delete'),\n },\n ],\n { cancelable: false },\n );\n }\n },\n actionType: 'deleteMessage',\n icon: <Delete pathFill={accent_red} />,\n title: t('Delete Message'),\n titleStyle: { color: accent_red },\n };\n\n const editMessage: MessageActionType = {\n action: () => {\n setOverlay('none');\n if (handleEdit) {\n handleEdit(message);\n }\n handleEditMessage();\n },\n actionType: 'editMessage',\n icon: <Edit pathFill={grey} />,\n title: t('Edit Message'),\n };\n\n const pinMessage: MessageActionType = {\n action: () => {\n setOverlay('none');\n if (handlePinMessage) {\n handlePinMessage(message);\n }\n handleTogglePinMessage();\n },\n actionType: 'pinMessage',\n icon: <Pin height={23} pathFill={grey} width={24} />,\n title: t('Pin to Conversation'),\n };\n\n const unpinMessage: MessageActionType = {\n action: () => {\n setOverlay('none');\n if (handlePinMessage) {\n handlePinMessage(message);\n }\n handleTogglePinMessage();\n },\n actionType: 'unpinMessage',\n icon: <Unpin pathFill={grey} />,\n title: t('Unpin from Conversation'),\n };\n\n const flagMessage: MessageActionType = {\n action: () => {\n setOverlay('alert');\n if (message.id) {\n Alert.alert(\n t('Flag Message'),\n t('Do you want to send a copy of this message to a moderator for further investigation?'),\n [\n { onPress: () => setOverlay('none'), text: t('Cancel') },\n {\n onPress: async () => {\n try {\n if (handleFlag) {\n handleFlag(message);\n }\n await client.flagMessage(message.id);\n Alert.alert(\n t('Message flagged'),\n t('The message has been reported to a moderator.'),\n [\n {\n onPress: () => setOverlay('none'),\n text: t('Ok'),\n },\n ],\n );\n } catch (_) {\n Alert.alert(\n t('Cannot Flag Message'),\n t(\n 'Flag action failed either due to a network issue or the message is already flagged',\n ),\n [\n {\n onPress: () => setOverlay('none'),\n text: t('Ok'),\n },\n ],\n );\n }\n },\n text: t('Flag'),\n },\n ],\n { cancelable: false },\n );\n }\n },\n actionType: 'flagMessage',\n icon: <MessageFlag pathFill={grey} />,\n title: t('Flag Message'),\n };\n\n const handleReaction = !error\n ? selectReaction\n ? selectReaction(message)\n : async (reactionType: string) => {\n if (handleReactionProp) {\n handleReactionProp(message, reactionType);\n }\n\n await handleToggleReaction(reactionType);\n }\n : undefined;\n\n const muteUser: MessageActionType = {\n action: async () => {\n setOverlay('none');\n if (message.user?.id) {\n if (handleMute) {\n handleMute(message);\n }\n\n await handleToggleMuteUser();\n }\n },\n actionType: 'muteUser',\n icon: <Mute pathFill={grey} />,\n title: isMuted ? t('Unmute User') : t('Mute User'),\n };\n\n const quotedReply: MessageActionType = {\n action: () => {\n setOverlay('none');\n if (handleQuotedReply) {\n handleQuotedReply(message);\n }\n handleQuotedReplyMessage();\n },\n actionType: 'quotedReply',\n icon: <CurveLineLeftUp pathFill={grey} />,\n title: t('Reply'),\n };\n\n const retry: MessageActionType = {\n action: async () => {\n setOverlay('none');\n const messageWithoutReservedFields = removeReservedFields(message);\n if (handleRetry) {\n handleRetry(messageWithoutReservedFields);\n }\n\n await handleResendMessage();\n },\n actionType: 'retry',\n icon: <SendUp pathFill={accent_blue} />,\n title: t('Resend'),\n };\n\n const threadReply: MessageActionType = {\n action: () => {\n setOverlay('none');\n if (handleThreadReply) {\n handleThreadReply(message);\n }\n onOpenThread();\n },\n actionType: 'threadReply',\n icon: <ThreadReply pathFill={grey} />,\n title: t('Thread Reply'),\n };\n\n return {\n blockUser,\n copyMessage,\n deleteMessage,\n editMessage,\n flagMessage,\n handleReaction,\n muteUser,\n pinMessage,\n quotedReply,\n retry,\n threadReply,\n unpinMessage,\n };\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["messageActions.ts"],"names":["messageActions","blockUser","copyMessage","deleteMessage","editMessage","error","flagMessage","isMyMessage","isThreadMessage","message","messageReactions","ownCapabilities","pinMessage","quotedReply","retry","threadReply","unpinMessage","undefined","actions","push","quoteMessage","sendReply","updateOwnMessage","updateAnyMessage","text","pinned","banChannelMembers","deleteOwnMessage","deleteAnyMessage"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"sources":["messageActions.ts"],"names":["messageActions","blockUser","copyMessage","deleteMessage","editMessage","error","flagMessage","isMyMessage","isThreadMessage","message","messageReactions","ownCapabilities","pinMessage","quotedReply","retry","threadReply","unpinMessage","undefined","actions","push","quoteMessage","sendReply","updateOwnMessage","updateAnyMessage","text","pinned","banChannelMembers","deleteOwnMessage","deleteAnyMessage"],"mappings":";;;;;AA8BO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,OAmBkB;AAAA,MAhB9CC,SAgB8C,QAhB9CA,SAgB8C;AAAA,MAf9CC,WAe8C,QAf9CA,WAe8C;AAAA,MAd9CC,aAc8C,QAd9CA,aAc8C;AAAA,MAb9CC,WAa8C,QAb9CA,WAa8C;AAAA,MAZ9CC,KAY8C,QAZ9CA,KAY8C;AAAA,MAX9CC,WAW8C,QAX9CA,WAW8C;AAAA,MAV9CC,WAU8C,QAV9CA,WAU8C;AAAA,MAT9CC,eAS8C,QAT9CA,eAS8C;AAAA,MAR9CC,OAQ8C,QAR9CA,OAQ8C;AAAA,MAP9CC,gBAO8C,QAP9CA,gBAO8C;AAAA,MAN9CC,eAM8C,QAN9CA,eAM8C;AAAA,MAL9CC,UAK8C,QAL9CA,UAK8C;AAAA,MAJ9CC,WAI8C,QAJ9CA,WAI8C;AAAA,MAH9CC,KAG8C,QAH9CA,KAG8C;AAAA,MAF9CC,WAE8C,QAF9CA,WAE8C;AAAA,MAD9CC,YAC8C,QAD9CA,YAC8C;;AAC9C,MAAIN,gBAAJ,EAAsB;AACpB,WAAOO,SAAP;AACD;;AAED,MAAMC,OAAwC,GAAG,EAAjD;;AAEA,MAAIb,KAAK,IAAIE,WAAb,EAA0B;AACxBW,IAAAA,OAAO,CAACC,IAAR,CAAaL,KAAb;AACD;;AAED,MAAIH,eAAe,CAACS,YAAhB,IAAgC,CAACZ,eAAjC,IAAoD,CAACH,KAAzD,EAAgE;AAC9Da,IAAAA,OAAO,CAACC,IAAR,CAAaN,WAAb;AACD;;AAED,MAAIF,eAAe,CAACU,SAAhB,IAA6B,CAACb,eAA9B,IAAiD,CAACH,KAAtD,EAA6D;AAC3Da,IAAAA,OAAO,CAACC,IAAR,CAAaJ,WAAb;AACD;;AAED,MACGR,WAAW,IAAII,eAAe,CAACW,gBAAhC,IACC,CAACf,WAAD,IAAgBI,eAAe,CAACY,gBAFnC,EAGE;AACAL,IAAAA,OAAO,CAACC,IAAR,CAAaf,WAAb;AACD;;AAED,MAAIK,OAAO,CAACe,IAAR,IAAgB,CAACnB,KAArB,EAA4B;AAC1Ba,IAAAA,OAAO,CAACC,IAAR,CAAajB,WAAb;AACD;;AAED,MAAI,CAACK,WAAD,IAAgBI,eAAe,CAACL,WAApC,EAAiD;AAC/CY,IAAAA,OAAO,CAACC,IAAR,CAAab,WAAb;AACD;;AAED,MAAIK,eAAe,CAACC,UAAhB,IAA8B,CAACH,OAAO,CAACgB,MAA3C,EAAmD;AACjDP,IAAAA,OAAO,CAACC,IAAR,CAAaP,UAAb;AACD;;AAED,MAAID,eAAe,CAACC,UAAhB,IAA8BH,OAAO,CAACgB,MAA1C,EAAkD;AAChDP,IAAAA,OAAO,CAACC,IAAR,CAAaH,YAAb;AACD;;AAED,MAAI,CAACT,WAAD,IAAgBI,eAAe,CAACe,iBAApC,EAAuD;AACrDR,IAAAA,OAAO,CAACC,IAAR,CAAalB,SAAb;AACD;;AAED,MACGM,WAAW,IAAII,eAAe,CAACgB,gBAAhC,IACC,CAACpB,WAAD,IAAgBI,eAAe,CAACiB,gBAFnC,EAGE;AACAV,IAAAA,OAAO,CAACC,IAAR,CAAahB,aAAb;AACD;;AAED,SAAOe,OAAP;AACD,CAzEM","sourcesContent":["import type { MessageContextValue } from '../../../contexts/messageContext/MessageContext';\nimport type { OwnCapabilitiesContextValue } from '../../../contexts/ownCapabilitiesContext/OwnCapabilitiesContext';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport type { MessageActionType } from '../../MessageOverlay/MessageActionListItem';\n\nexport type MessageActionsParams<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n blockUser: MessageActionType;\n copyMessage: MessageActionType;\n deleteMessage: MessageActionType;\n dismissOverlay: () => void;\n editMessage: MessageActionType;\n error: boolean | Error;\n flagMessage: MessageActionType;\n isThreadMessage: boolean;\n messageReactions: boolean;\n muteUser: MessageActionType;\n ownCapabilities: OwnCapabilitiesContextValue;\n pinMessage: MessageActionType;\n quotedReply: MessageActionType;\n retry: MessageActionType;\n threadReply: MessageActionType;\n unpinMessage: MessageActionType;\n} & Pick<MessageContextValue<StreamChatGenerics>, 'message' | 'isMyMessage'>;\n\nexport type MessageActionsProp<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = (param: MessageActionsParams<StreamChatGenerics>) => MessageActionType[];\n\nexport const messageActions = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n blockUser,\n copyMessage,\n deleteMessage,\n editMessage,\n error,\n flagMessage,\n isMyMessage,\n isThreadMessage,\n message,\n messageReactions,\n ownCapabilities,\n pinMessage,\n quotedReply,\n retry,\n threadReply,\n unpinMessage,\n}: MessageActionsParams<StreamChatGenerics>) => {\n if (messageReactions) {\n return undefined;\n }\n\n const actions: Array<MessageActionType | null> = [];\n\n if (error && isMyMessage) {\n actions.push(retry);\n }\n\n if (ownCapabilities.quoteMessage && !isThreadMessage && !error) {\n actions.push(quotedReply);\n }\n\n if (ownCapabilities.sendReply && !isThreadMessage && !error) {\n actions.push(threadReply);\n }\n\n if (\n (isMyMessage && ownCapabilities.updateOwnMessage) ||\n (!isMyMessage && ownCapabilities.updateAnyMessage)\n ) {\n actions.push(editMessage);\n }\n\n if (message.text && !error) {\n actions.push(copyMessage);\n }\n\n if (!isMyMessage && ownCapabilities.flagMessage) {\n actions.push(flagMessage);\n }\n\n if (ownCapabilities.pinMessage && !message.pinned) {\n actions.push(pinMessage);\n }\n\n if (ownCapabilities.pinMessage && message.pinned) {\n actions.push(unpinMessage);\n }\n\n if (!isMyMessage && ownCapabilities.banChannelMembers) {\n actions.push(blockUser);\n }\n\n if (\n (isMyMessage && ownCapabilities.deleteOwnMessage) ||\n (!isMyMessage && ownCapabilities.deleteAnyMessage)\n ) {\n actions.push(deleteMessage);\n }\n\n return actions;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["removeReservedFields.ts"],"names":["removeReservedFields","message","retryMessage","reserved","forEach","key"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["removeReservedFields.ts"],"names":["removeReservedFields","message","retryMessage","reserved","forEach","key"],"mappings":";;;;;;;;;AAGO,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAGlCC,OAHkC,EAI/B;AACH,MAAMC,YAAY,iCAAQD,OAAR,CAAlB;AACA,MAAME,QAAQ,GAAG,CACf,KADe,EAEf,QAFe,EAGf,YAHe,EAIf,YAJe,EAKf,IALe,EAMf,iBANe,EAOf,cAPe,EAQf,MARe,EASf,YATe,CAAjB;AAWAA,EAAAA,QAAQ,CAACC,OAAT,CAAiB,UAACC,GAAD,EAAS;AACxB,WAAOH,YAAY,CAACG,GAAD,CAAnB;AACD,GAFD;AAIA,SAAOH,YAAP;AACD,CAtBM","sourcesContent":["import type { DefaultStreamChatGenerics } from '../../../types/types';\nimport type { MessageType } from '../../MessageList/hooks/useMessageList';\n\nexport const removeReservedFields = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n message: MessageType<StreamChatGenerics>,\n) => {\n const retryMessage = { ...message };\n const reserved = [\n 'cid',\n 'config',\n 'created_at',\n 'created_by',\n 'id',\n 'last_message_at',\n 'member_count',\n 'type',\n 'updated_at',\n ];\n reserved.forEach((key) => {\n delete retryMessage[key];\n });\n\n return retryMessage;\n};\n"]}
|
|
@@ -50,7 +50,7 @@ var AttachButtonWithContext = function AttachButtonWithContext(props) {
|
|
|
50
50
|
__self: _this,
|
|
51
51
|
__source: {
|
|
52
52
|
fileName: _jsxFileName,
|
|
53
|
-
lineNumber:
|
|
53
|
+
lineNumber: 37,
|
|
54
54
|
columnNumber: 5
|
|
55
55
|
}
|
|
56
56
|
}, _react["default"].createElement(_Attach.Attach, {
|
|
@@ -58,7 +58,7 @@ var AttachButtonWithContext = function AttachButtonWithContext(props) {
|
|
|
58
58
|
__self: _this,
|
|
59
59
|
__source: {
|
|
60
60
|
fileName: _jsxFileName,
|
|
61
|
-
lineNumber:
|
|
61
|
+
lineNumber: 44,
|
|
62
62
|
columnNumber: 7
|
|
63
63
|
}
|
|
64
64
|
}));
|
|
@@ -97,7 +97,7 @@ var AttachButton = function AttachButton(props) {
|
|
|
97
97
|
__self: _this,
|
|
98
98
|
__source: {
|
|
99
99
|
fileName: _jsxFileName,
|
|
100
|
-
lineNumber:
|
|
100
|
+
lineNumber: 96,
|
|
101
101
|
columnNumber: 10
|
|
102
102
|
}
|
|
103
103
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["AttachButton.tsx"],"names":["AttachButtonWithContext","props","disabled","handleOnPress","selectedPicker","theme","colors","accent_blue","grey","attachButton","messageInput","bottom","left","right","top","areEqual","prevProps","nextProps","prevDisabled","prevHandleOnPress","prevSelectedPicker","nextDisabled","nextHandleOnPress","nextSelectedPicker","disabledEqual","handleOnPressEqual","selectedPickerEqual","MemoizedAttachButton","React","memo","AttachButton","displayName"],"mappings":";;;;;;;;;AAAA;;AAEA;;AAEA;;AACA;;AAIA;;AACA;;;;;
|
|
1
|
+
{"version":3,"sources":["AttachButton.tsx"],"names":["AttachButtonWithContext","props","disabled","handleOnPress","selectedPicker","theme","colors","accent_blue","grey","attachButton","messageInput","bottom","left","right","top","areEqual","prevProps","nextProps","prevDisabled","prevHandleOnPress","prevSelectedPicker","nextDisabled","nextHandleOnPress","nextSelectedPicker","disabledEqual","handleOnPressEqual","selectedPickerEqual","MemoizedAttachButton","React","memo","AttachButton","displayName"],"mappings":";;;;;;;;;AAAA;;AAEA;;AAEA;;AACA;;AAIA;;AACA;;;;;AAYA,IAAMA,uBAAuB,GAAG,SAA1BA,uBAA0B,CAG9BC,KAH8B,EAI3B;AACH,MAAQC,QAAR,GAAoDD,KAApD,CAAQC,QAAR;AAAA,MAAkBC,aAAlB,GAAoDF,KAApD,CAAkBE,aAAlB;AAAA,MAAiCC,cAAjC,GAAoDH,KAApD,CAAiCG,cAAjC;;AACA,kBAKI,6BALJ;AAAA,kCACEC,KADF;AAAA,8CAEIC,MAFJ;AAAA,MAEcC,WAFd,yBAEcA,WAFd;AAAA,MAE2BC,IAF3B,yBAE2BA,IAF3B;AAAA,MAGoBC,YAHpB,mBAGIC,YAHJ,CAGoBD,YAHpB;;AAOA,SACE,gCAAC,2CAAD;AACE,IAAA,QAAQ,EAAEP,QADZ;AAEE,IAAA,OAAO,EAAE;AAAES,MAAAA,MAAM,EAAE,EAAV;AAAcC,MAAAA,IAAI,EAAE,EAApB;AAAwBC,MAAAA,KAAK,EAAE,CAA/B;AAAkCC,MAAAA,GAAG,EAAE;AAAvC,KAFX;AAGE,IAAA,OAAO,EAAEZ,QAAQ,GAAG;AAAA,aAAM,IAAN;AAAA,KAAH,GAAgBC,aAHnC;AAIE,IAAA,KAAK,EAAE,CAACM,YAAD,CAJT;AAKE,IAAA,MAAM,EAAC,eALT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAOE,gCAAC,cAAD;AAAQ,IAAA,QAAQ,EAAEL,cAAc,KAAK,QAAnB,GAA8BG,WAA9B,GAA4CC,IAA9D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAPF,CADF;AAWD,CAxBD;;AA0BA,IAAMO,QAAQ,GAAG,SAAXA,QAAW,CACfC,SADe,EAEfC,SAFe,EAGZ;AACH,MACYC,YADZ,GAIIF,SAJJ,CACEd,QADF;AAAA,MAEiBiB,iBAFjB,GAIIH,SAJJ,CAEEb,aAFF;AAAA,MAGkBiB,kBAHlB,GAIIJ,SAJJ,CAGEZ,cAHF;AAKA,MACYiB,YADZ,GAIIJ,SAJJ,CACEf,QADF;AAAA,MAEiBoB,iBAFjB,GAIIL,SAJJ,CAEEd,aAFF;AAAA,MAGkBoB,kBAHlB,GAIIN,SAJJ,CAGEb,cAHF;AAMA,MAAMoB,aAAa,GAAGN,YAAY,KAAKG,YAAvC;AACA,MAAI,CAACG,aAAL,EAAoB,OAAO,KAAP;AAEpB,MAAMC,kBAAkB,GAAGN,iBAAiB,KAAKG,iBAAjD;AACA,MAAI,CAACG,kBAAL,EAAyB,OAAO,KAAP;AAEzB,MAAMC,mBAAmB,GAAGN,kBAAkB,KAAKG,kBAAnD;AACA,MAAI,CAACG,mBAAL,EAA0B,OAAO,KAAP;AAE1B,SAAO,IAAP;AACD,CAzBD;;AA2BA,IAAMC,oBAAoB,GAAGC,kBAAMC,IAAN,CAC3B7B,uBAD2B,EAE3Be,QAF2B,CAA7B;;AAYO,IAAMe,YAAY,GAAG,SAAfA,YAAe,CAG1B7B,KAH0B,EAIvB;AACH,2BAA6B,wCAA7B;AAAA,iDAAQC,QAAR;AAAA,MAAQA,QAAR,sCAAmB,KAAnB;;AACA,8BAA2B,0DAA3B;AAAA,MAAQE,cAAR,yBAAQA,cAAR;;AAEA,SAAO,gCAAC,oBAAD;AAA4BF,IAAAA,QAAQ,EAARA,QAA5B;AAAsCE,IAAAA,cAAc,EAAdA;AAAtC,KAA4DH,KAA5D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAP;AACD,CATM;;;AAWP6B,YAAY,CAACC,WAAb,GAA2B,4BAA3B","sourcesContent":["import React from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { TouchableOpacity } from 'react-native-gesture-handler';\n\nimport { useAttachmentPickerContext } from '../../contexts/attachmentPickerContext/AttachmentPickerContext';\nimport {\n ChannelContextValue,\n useChannelContext,\n} from '../../contexts/channelContext/ChannelContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Attach } from '../../icons/Attach';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\ntype AttachButtonPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChannelContextValue<StreamChatGenerics>, 'disabled'> & {\n /** Function that opens attachment options bottom sheet */\n handleOnPress?: ((event: GestureResponderEvent) => void) & (() => void);\n selectedPicker?: 'images';\n};\n\nconst AttachButtonWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AttachButtonPropsWithContext<StreamChatGenerics>,\n) => {\n const { disabled, handleOnPress, selectedPicker } = props;\n const {\n theme: {\n colors: { accent_blue, grey },\n messageInput: { attachButton },\n },\n } = useTheme();\n\n return (\n <TouchableOpacity\n disabled={disabled}\n hitSlop={{ bottom: 15, left: 15, right: 5, top: 15 }}\n onPress={disabled ? () => null : handleOnPress}\n style={[attachButton]}\n testID='attach-button'\n >\n <Attach pathFill={selectedPicker === 'images' ? accent_blue : grey} />\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: AttachButtonPropsWithContext<StreamChatGenerics>,\n nextProps: AttachButtonPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n disabled: prevDisabled,\n handleOnPress: prevHandleOnPress,\n selectedPicker: prevSelectedPicker,\n } = prevProps;\n const {\n disabled: nextDisabled,\n handleOnPress: nextHandleOnPress,\n selectedPicker: nextSelectedPicker,\n } = nextProps;\n\n const disabledEqual = prevDisabled === nextDisabled;\n if (!disabledEqual) return false;\n\n const handleOnPressEqual = prevHandleOnPress === nextHandleOnPress;\n if (!handleOnPressEqual) return false;\n\n const selectedPickerEqual = prevSelectedPicker === nextSelectedPicker;\n if (!selectedPickerEqual) return false;\n\n return true;\n};\n\nconst MemoizedAttachButton = React.memo(\n AttachButtonWithContext,\n areEqual,\n) as typeof AttachButtonWithContext;\n\nexport type AttachButtonProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<AttachButtonPropsWithContext<StreamChatGenerics>>;\n\n/**\n * UI Component for attach button in MessageInput component.\n */\nexport const AttachButton = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AttachButtonProps<StreamChatGenerics>,\n) => {\n const { disabled = false } = useChannelContext<StreamChatGenerics>();\n const { selectedPicker } = useAttachmentPickerContext();\n\n return <MemoizedAttachButton {...{ disabled, selectedPicker }} {...props} />;\n};\n\nAttachButton.displayName = 'AttachButton{messageInput}';\n"]}
|
|
@@ -48,7 +48,7 @@ var CommandsButtonWithContext = function CommandsButtonWithContext(props) {
|
|
|
48
48
|
__self: _this,
|
|
49
49
|
__source: {
|
|
50
50
|
fileName: _jsxFileName,
|
|
51
|
-
lineNumber:
|
|
51
|
+
lineNumber: 42,
|
|
52
52
|
columnNumber: 5
|
|
53
53
|
}
|
|
54
54
|
}, _react["default"].createElement(_Lightning.Lightning, {
|
|
@@ -58,7 +58,7 @@ var CommandsButtonWithContext = function CommandsButtonWithContext(props) {
|
|
|
58
58
|
__self: _this,
|
|
59
59
|
__source: {
|
|
60
60
|
fileName: _jsxFileName,
|
|
61
|
-
lineNumber:
|
|
61
|
+
lineNumber: 49,
|
|
62
62
|
columnNumber: 7
|
|
63
63
|
}
|
|
64
64
|
}));
|
|
@@ -93,7 +93,7 @@ var CommandsButton = function CommandsButton(props) {
|
|
|
93
93
|
__self: _this,
|
|
94
94
|
__source: {
|
|
95
95
|
fileName: _jsxFileName,
|
|
96
|
-
lineNumber:
|
|
96
|
+
lineNumber: 96,
|
|
97
97
|
columnNumber: 10
|
|
98
98
|
}
|
|
99
99
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["CommandsButton.tsx"],"names":["CommandsButtonWithContext","props","disabled","handleOnPress","suggestions","theme","colors","accent_blue","grey","commandsButton","messageInput","bottom","left","right","top","data","some","suggestion","areEqual","prevProps","nextProps","prevDisabled","prevSuggestions","nextDisabled","nextSuggestions","disabledEqual","suggestionsEqual","MemoizedCommandsButton","React","memo","CommandsButton","displayName"],"mappings":";;;;;;;;;AAAA;;AAEA;;AAEA;;AAIA;;AAKA;;AACA;;;;;
|
|
1
|
+
{"version":3,"sources":["CommandsButton.tsx"],"names":["CommandsButtonWithContext","props","disabled","handleOnPress","suggestions","theme","colors","accent_blue","grey","commandsButton","messageInput","bottom","left","right","top","data","some","suggestion","areEqual","prevProps","nextProps","prevDisabled","prevSuggestions","nextDisabled","nextSuggestions","disabledEqual","suggestionsEqual","MemoizedCommandsButton","React","memo","CommandsButton","displayName"],"mappings":";;;;;;;;;AAAA;;AAEA;;AAEA;;AAIA;;AAKA;;AACA;;;;;AAYA,IAAMA,yBAAyB,GAAG,SAA5BA,yBAA4B,CAGhCC,KAHgC,EAI7B;AACH,MAAQC,QAAR,GAAiDD,KAAjD,CAAQC,QAAR;AAAA,MAAkBC,aAAlB,GAAiDF,KAAjD,CAAkBE,aAAlB;AAAA,MAAiCC,WAAjC,GAAiDH,KAAjD,CAAiCG,WAAjC;;AAEA,kBAKI,6BALJ;AAAA,kCACEC,KADF;AAAA,8CAEIC,MAFJ;AAAA,MAEcC,WAFd,yBAEcA,WAFd;AAAA,MAE2BC,IAF3B,yBAE2BA,IAF3B;AAAA,MAGoBC,cAHpB,mBAGIC,YAHJ,CAGoBD,cAHpB;;AAOA,SACE,gCAAC,2CAAD;AACE,IAAA,QAAQ,EAAEP,QADZ;AAEE,IAAA,OAAO,EAAE;AAAES,MAAAA,MAAM,EAAE,EAAV;AAAcC,MAAAA,IAAI,EAAE,CAApB;AAAuBC,MAAAA,KAAK,EAAE,EAA9B;AAAkCC,MAAAA,GAAG,EAAE;AAAvC,KAFX;AAGE,IAAA,OAAO,EAAEX,aAHX;AAIE,IAAA,KAAK,EAAE,CAACM,cAAD,CAJT;AAKE,IAAA,MAAM,EAAC,iBALT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAOE,gCAAC,oBAAD;AACE,IAAA,QAAQ,EACNL,WAAW,IAAIA,WAAW,CAACW,IAAZ,CAAiBC,IAAjB,CAAsB,UAACC,UAAD;AAAA,aAAgB,6CAAoBA,UAApB,CAAhB;AAAA,KAAtB,CAAf,GACIV,WADJ,GAEIC,IAJR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAPF,CADF;AAiBD,CA/BD;;AAiCA,IAAMU,QAAQ,GAAG,SAAXA,QAAW,CACfC,SADe,EAEfC,SAFe,EAGZ;AACH,MAAkBC,YAAlB,GAAiEF,SAAjE,CAAQjB,QAAR;AAAA,MAA6CoB,eAA7C,GAAiEH,SAAjE,CAAgCf,WAAhC;AACA,MAAkBmB,YAAlB,GAAiEH,SAAjE,CAAQlB,QAAR;AAAA,MAA6CsB,eAA7C,GAAiEJ,SAAjE,CAAgChB,WAAhC;AAEA,MAAMqB,aAAa,GAAGJ,YAAY,KAAKE,YAAvC;AACA,MAAI,CAACE,aAAL,EAAoB,OAAO,KAAP;AAEpB,MAAMC,gBAAgB,GAAG,CAAC,CAACJ,eAAF,KAAsB,CAAC,CAACE,eAAjD;AACA,MAAI,CAACE,gBAAL,EAAuB,OAAO,KAAP;AAEvB,SAAO,IAAP;AACD,CAdD;;AAgBA,IAAMC,sBAAsB,GAAGC,kBAAMC,IAAN,CAC7B7B,yBAD6B,EAE7BkB,QAF6B,CAA/B;;AAYO,IAAMY,cAAc,GAAG,SAAjBA,cAAiB,CAG5B7B,KAH4B,EAIzB;AACH,2BAA6B,wCAA7B;AAAA,iDAAQC,QAAR;AAAA,MAAQA,QAAR,sCAAmB,KAAnB;;AACA,8BAAwB,gDAAxB;AAAA,MAAQE,WAAR,yBAAQA,WAAR;;AAEA,SAAO,gCAAC,sBAAD;AAA8BF,IAAAA,QAAQ,EAARA,QAA9B;AAAwCE,IAAAA,WAAW,EAAXA;AAAxC,KAA2DH,KAA3D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAP;AACD,CATM;;;AAWP6B,cAAc,CAACC,WAAf,GAA6B,8BAA7B","sourcesContent":["import React from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { TouchableOpacity } from 'react-native-gesture-handler';\n\nimport {\n ChannelContextValue,\n useChannelContext,\n} from '../../contexts/channelContext/ChannelContext';\nimport {\n isSuggestionCommand,\n SuggestionsContextValue,\n useSuggestionsContext,\n} from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Lightning } from '../../icons/Lightning';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\ntype CommandsButtonPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChannelContextValue<StreamChatGenerics>, 'disabled'> &\n Pick<SuggestionsContextValue<StreamChatGenerics>, 'suggestions'> & {\n /** Function that opens commands selector */\n handleOnPress?: ((event: GestureResponderEvent) => void) & (() => void);\n };\n\nconst CommandsButtonWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: CommandsButtonPropsWithContext<StreamChatGenerics>,\n) => {\n const { disabled, handleOnPress, suggestions } = props;\n\n const {\n theme: {\n colors: { accent_blue, grey },\n messageInput: { commandsButton },\n },\n } = useTheme();\n\n return (\n <TouchableOpacity\n disabled={disabled}\n hitSlop={{ bottom: 15, left: 5, right: 15, top: 15 }}\n onPress={handleOnPress}\n style={[commandsButton]}\n testID='commands-button'\n >\n <Lightning\n pathFill={\n suggestions && suggestions.data.some((suggestion) => isSuggestionCommand(suggestion))\n ? accent_blue\n : grey\n }\n />\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: CommandsButtonPropsWithContext<StreamChatGenerics>,\n nextProps: CommandsButtonPropsWithContext<StreamChatGenerics>,\n) => {\n const { disabled: prevDisabled, suggestions: prevSuggestions } = prevProps;\n const { disabled: nextDisabled, suggestions: nextSuggestions } = nextProps;\n\n const disabledEqual = prevDisabled === nextDisabled;\n if (!disabledEqual) return false;\n\n const suggestionsEqual = !!prevSuggestions === !!nextSuggestions;\n if (!suggestionsEqual) return false;\n\n return true;\n};\n\nconst MemoizedCommandsButton = React.memo(\n CommandsButtonWithContext,\n areEqual,\n) as typeof CommandsButtonWithContext;\n\nexport type CommandsButtonProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<CommandsButtonPropsWithContext<StreamChatGenerics>>;\n\n/**\n * UI Component for attach button in MessageInput component.\n */\nexport const CommandsButton = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: CommandsButtonProps<StreamChatGenerics>,\n) => {\n const { disabled = false } = useChannelContext<StreamChatGenerics>();\n const { suggestions } = useSuggestionsContext<StreamChatGenerics>();\n\n return <MemoizedCommandsButton {...{ disabled, suggestions }} {...props} />;\n};\n\nCommandsButton.displayName = 'CommandsButton{messageInput}';\n"]}
|
|
@@ -127,7 +127,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
127
127
|
__self: _this,
|
|
128
128
|
__source: {
|
|
129
129
|
fileName: _jsxFileName,
|
|
130
|
-
lineNumber:
|
|
130
|
+
lineNumber: 109,
|
|
131
131
|
columnNumber: 9
|
|
132
132
|
}
|
|
133
133
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -140,7 +140,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
140
140
|
__self: _this,
|
|
141
141
|
__source: {
|
|
142
142
|
fileName: _jsxFileName,
|
|
143
|
-
lineNumber:
|
|
143
|
+
lineNumber: 117,
|
|
144
144
|
columnNumber: 11
|
|
145
145
|
}
|
|
146
146
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -148,7 +148,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
148
148
|
__self: _this,
|
|
149
149
|
__source: {
|
|
150
150
|
fileName: _jsxFileName,
|
|
151
|
-
lineNumber:
|
|
151
|
+
lineNumber: 132,
|
|
152
152
|
columnNumber: 13
|
|
153
153
|
}
|
|
154
154
|
}, _react["default"].createElement(FileAttachmentIcon, {
|
|
@@ -156,7 +156,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
156
156
|
__self: _this,
|
|
157
157
|
__source: {
|
|
158
158
|
fileName: _jsxFileName,
|
|
159
|
-
lineNumber:
|
|
159
|
+
lineNumber: 133,
|
|
160
160
|
columnNumber: 15
|
|
161
161
|
}
|
|
162
162
|
}), _react["default"].createElement(_reactNative.View, {
|
|
@@ -164,7 +164,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
164
164
|
__self: _this,
|
|
165
165
|
__source: {
|
|
166
166
|
fileName: _jsxFileName,
|
|
167
|
-
lineNumber:
|
|
167
|
+
lineNumber: 134,
|
|
168
168
|
columnNumber: 15
|
|
169
169
|
}
|
|
170
170
|
}, _react["default"].createElement(_reactNative.Text, {
|
|
@@ -176,7 +176,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
176
176
|
__self: _this,
|
|
177
177
|
__source: {
|
|
178
178
|
fileName: _jsxFileName,
|
|
179
|
-
lineNumber:
|
|
179
|
+
lineNumber: 135,
|
|
180
180
|
columnNumber: 17
|
|
181
181
|
}
|
|
182
182
|
}, item.file.name || ''), _react["default"].createElement(_reactNative.Text, {
|
|
@@ -186,7 +186,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
186
186
|
__self: _this,
|
|
187
187
|
__source: {
|
|
188
188
|
fileName: _jsxFileName,
|
|
189
|
-
lineNumber:
|
|
189
|
+
lineNumber: 153,
|
|
190
190
|
columnNumber: 17
|
|
191
191
|
}
|
|
192
192
|
}, (0, _FileAttachment.getFileSizeDisplayText)(item.file.size)))))), _react["default"].createElement(_reactNative.TouchableOpacity, {
|
|
@@ -200,14 +200,14 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
200
200
|
__self: _this,
|
|
201
201
|
__source: {
|
|
202
202
|
fileName: _jsxFileName,
|
|
203
|
-
lineNumber:
|
|
203
|
+
lineNumber: 160,
|
|
204
204
|
columnNumber: 9
|
|
205
205
|
}
|
|
206
206
|
}, _react["default"].createElement(_Close.Close, {
|
|
207
207
|
__self: _this,
|
|
208
208
|
__source: {
|
|
209
209
|
fileName: _jsxFileName,
|
|
210
|
-
lineNumber:
|
|
210
|
+
lineNumber: 167,
|
|
211
211
|
columnNumber: 11
|
|
212
212
|
}
|
|
213
213
|
})));
|
|
@@ -245,7 +245,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
245
245
|
__self: _this,
|
|
246
246
|
__source: {
|
|
247
247
|
fileName: _jsxFileName,
|
|
248
|
-
lineNumber:
|
|
248
|
+
lineNumber: 182,
|
|
249
249
|
columnNumber: 5
|
|
250
250
|
}
|
|
251
251
|
}) : null;
|
|
@@ -279,7 +279,7 @@ var FileUploadPreview = function FileUploadPreview(props) {
|
|
|
279
279
|
__self: _this,
|
|
280
280
|
__source: {
|
|
281
281
|
fileName: _jsxFileName,
|
|
282
|
-
lineNumber:
|
|
282
|
+
lineNumber: 241,
|
|
283
283
|
columnNumber: 5
|
|
284
284
|
}
|
|
285
285
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["FileUploadPreview.tsx"],"names":["FILE_PREVIEW_HEIGHT","styles","StyleSheet","create","dismiss","borderRadius","height","position","right","top","width","fileContainer","borderWidth","flexDirection","justifyContent","marginBottom","padding","fileContentContainer","filenameText","fontSize","fontWeight","paddingLeft","fileSizeText","fileTextContainer","flatList","maxHeight","overlay","marginLeft","marginRight","FileUploadPreviewWithContext","props","FileAttachmentIcon","fileUploads","removeFile","uploadFile","flatListRef","flatListWidth","setFlatListWidth","theme","colors","black","grey","grey_whisper","messageInput","fileUploadPreview","renderItem","index","item","indicatorType","state","FileState","UPLOADING","ProgressIndicatorTypes","IN_PROGRESS","UPLOAD_FAILED","RETRY","undefined","newFile","UPLOADED","FINISHED","length","borderColor","file","type","color","name","size","id","backgroundColor","fileUploadsLength","current","setTimeout","scrollToEnd","_","offset","nativeEvent","layout","areEqual","prevProps","nextProps","prevFileUploads","nextFileUploads","every","prevFileUpload","MemoizedFileUploadPreview","React","memo","FileUploadPreview","displayName"],"mappings":"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","sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { FlatList, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport {\n FileUpload,\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Close } from '../../icons/Close';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\nimport { FileState, ProgressIndicatorTypes } from '../../utils/utils';\n\nimport { getFileSizeDisplayText } from '../Attachment/FileAttachment';\n\nconst FILE_PREVIEW_HEIGHT = 60;\n\nconst styles = StyleSheet.create({\n dismiss: {\n borderRadius: 24,\n height: 24,\n position: 'absolute',\n right: 14,\n top: 4,\n width: 24,\n },\n fileContainer: {\n borderRadius: 12,\n borderWidth: 1,\n flexDirection: 'row',\n height: FILE_PREVIEW_HEIGHT,\n justifyContent: 'space-between',\n marginBottom: 8,\n padding: 8,\n },\n fileContentContainer: { flexDirection: 'row' },\n filenameText: {\n fontSize: 14,\n fontWeight: 'bold',\n paddingLeft: 10,\n },\n fileSizeText: {\n fontSize: 12,\n paddingLeft: 10,\n },\n fileTextContainer: {\n height: '100%',\n justifyContent: 'space-around',\n },\n flatList: { marginBottom: 12, maxHeight: FILE_PREVIEW_HEIGHT * 2.5 + 16 },\n overlay: {\n borderRadius: 12,\n marginLeft: 8,\n marginRight: 8,\n },\n});\n\ntype FileUploadPreviewPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<\n MessageInputContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'fileUploads' | 'removeFile' | 'uploadFile'\n> &\n Pick<MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'FileAttachmentIcon'>;\n\nconst FileUploadPreviewWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { FileAttachmentIcon, fileUploads, removeFile, uploadFile } = props;\n\n const flatListRef = useRef<FlatList<FileUpload> | null>(null);\n const [flatListWidth, setFlatListWidth] = useState(0);\n\n const {\n theme: {\n colors: { black, grey, grey_whisper, overlay },\n messageInput: {\n fileUploadPreview: {\n dismiss,\n fileContainer,\n fileContentContainer,\n filenameText,\n fileSizeText,\n fileTextContainer,\n flatList,\n },\n },\n },\n } = useTheme();\n\n const renderItem = ({ index, item }: { index: number; item: FileUpload }) => {\n const indicatorType =\n item.state === FileState.UPLOADING\n ? ProgressIndicatorTypes.IN_PROGRESS\n : item.state === FileState.UPLOAD_FAILED\n ? ProgressIndicatorTypes.RETRY\n : undefined;\n\n return (\n <>\n <UploadProgressIndicator\n action={() => {\n uploadFile({ newFile: item });\n }}\n active={item.state !== FileState.UPLOADED && item.state !== FileState.FINISHED}\n style={styles.overlay}\n type={indicatorType}\n >\n <View\n style={[\n styles.fileContainer,\n index === fileUploads.length - 1\n ? {\n marginBottom: 0,\n }\n : {},\n {\n borderColor: grey_whisper,\n width: flatListWidth - 16,\n },\n fileContainer,\n ]}\n >\n <View style={[styles.fileContentContainer, fileContentContainer]}>\n <FileAttachmentIcon mimeType={item.file.type} />\n <View style={[styles.fileTextContainer, fileTextContainer]}>\n <Text\n numberOfLines={1}\n style={[\n styles.filenameText,\n {\n color: black,\n width:\n flatListWidth -\n 16 - // 16 = horizontal padding\n 40 - // 40 = file icon size\n 24 - // 24 = close icon size\n 24, // 24 = internal padding\n },\n filenameText,\n ]}\n >\n {item.file.name || ''}\n </Text>\n <Text style={[styles.fileSizeText, { color: grey }, fileSizeText]}>\n {getFileSizeDisplayText(item.file.size)}\n </Text>\n </View>\n </View>\n </View>\n </UploadProgressIndicator>\n <TouchableOpacity\n onPress={() => {\n removeFile(item.id);\n }}\n style={[styles.dismiss, { backgroundColor: overlay }, dismiss]}\n testID='remove-file-upload-preview'\n >\n <Close />\n </TouchableOpacity>\n </>\n );\n };\n\n const fileUploadsLength = fileUploads.length;\n\n useEffect(() => {\n if (fileUploadsLength && flatListRef.current) {\n setTimeout(() => flatListRef.current?.scrollToEnd(), 1);\n }\n }, [fileUploadsLength]);\n\n return fileUploadsLength ? (\n <FlatList\n data={fileUploads}\n getItemLayout={(_, index) => ({\n index,\n length: FILE_PREVIEW_HEIGHT + 8,\n offset: (FILE_PREVIEW_HEIGHT + 8) * index,\n })}\n keyExtractor={(item) => item.id}\n onLayout={({\n nativeEvent: {\n layout: { width },\n },\n }) => {\n setFlatListWidth(width);\n }}\n ref={flatListRef}\n renderItem={renderItem}\n style={[styles.flatList, flatList]}\n />\n ) : null;\n};\n\nconst areEqual = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n prevProps: FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { fileUploads: prevFileUploads } = prevProps;\n const { fileUploads: nextFileUploads } = nextProps;\n\n return (\n prevFileUploads.length === nextFileUploads.length &&\n prevFileUploads.every(\n (prevFileUpload, index) => prevFileUpload.state === nextFileUploads[index].state,\n )\n );\n};\n\nconst MemoizedFileUploadPreview = React.memo(\n FileUploadPreviewWithContext,\n areEqual,\n) as typeof FileUploadPreviewWithContext;\n\nexport type FileUploadPreviewProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>>;\n\n/**\n * FileUploadPreview\n * UI Component to preview the files set for upload\n */\nexport const FileUploadPreview = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: FileUploadPreviewProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { fileUploads, removeFile, uploadFile } =\n useMessageInputContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { FileAttachmentIcon } = useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return (\n <MemoizedFileUploadPreview\n {...{ FileAttachmentIcon, fileUploads, removeFile, uploadFile }}\n {...props}\n />\n );\n};\n\nFileUploadPreview.displayName = 'FileUploadPreview{messageInput{fileUploadPreview}}';\n"]}
|
|
1
|
+
{"version":3,"sources":["FileUploadPreview.tsx"],"names":["FILE_PREVIEW_HEIGHT","styles","StyleSheet","create","dismiss","borderRadius","height","position","right","top","width","fileContainer","borderWidth","flexDirection","justifyContent","marginBottom","padding","fileContentContainer","filenameText","fontSize","fontWeight","paddingLeft","fileSizeText","fileTextContainer","flatList","maxHeight","overlay","marginLeft","marginRight","FileUploadPreviewWithContext","props","FileAttachmentIcon","fileUploads","removeFile","uploadFile","flatListRef","flatListWidth","setFlatListWidth","theme","colors","black","grey","grey_whisper","messageInput","fileUploadPreview","renderItem","index","item","indicatorType","state","FileState","UPLOADING","ProgressIndicatorTypes","IN_PROGRESS","UPLOAD_FAILED","RETRY","undefined","newFile","UPLOADED","FINISHED","length","borderColor","file","type","color","name","size","id","backgroundColor","fileUploadsLength","current","setTimeout","scrollToEnd","_","offset","nativeEvent","layout","areEqual","prevProps","nextProps","prevFileUploads","nextFileUploads","every","prevFileUpload","MemoizedFileUploadPreview","React","memo","FileUploadPreview","displayName"],"mappings":"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","sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { FlatList, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport {\n FileUpload,\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Close } from '../../icons/Close';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { FileState, ProgressIndicatorTypes } from '../../utils/utils';\n\nimport { getFileSizeDisplayText } from '../Attachment/FileAttachment';\n\nconst FILE_PREVIEW_HEIGHT = 60;\n\nconst styles = StyleSheet.create({\n dismiss: {\n borderRadius: 24,\n height: 24,\n position: 'absolute',\n right: 14,\n top: 4,\n width: 24,\n },\n fileContainer: {\n borderRadius: 12,\n borderWidth: 1,\n flexDirection: 'row',\n height: FILE_PREVIEW_HEIGHT,\n justifyContent: 'space-between',\n marginBottom: 8,\n padding: 8,\n },\n fileContentContainer: { flexDirection: 'row' },\n filenameText: {\n fontSize: 14,\n fontWeight: 'bold',\n paddingLeft: 10,\n },\n fileSizeText: {\n fontSize: 12,\n paddingLeft: 10,\n },\n fileTextContainer: {\n height: '100%',\n justifyContent: 'space-around',\n },\n flatList: { marginBottom: 12, maxHeight: FILE_PREVIEW_HEIGHT * 2.5 + 16 },\n overlay: {\n borderRadius: 12,\n marginLeft: 8,\n marginRight: 8,\n },\n});\n\ntype FileUploadPreviewPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageInputContextValue<StreamChatGenerics>,\n 'fileUploads' | 'removeFile' | 'uploadFile'\n> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'FileAttachmentIcon'>;\n\nconst FileUploadPreviewWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { FileAttachmentIcon, fileUploads, removeFile, uploadFile } = props;\n\n const flatListRef = useRef<FlatList<FileUpload> | null>(null);\n const [flatListWidth, setFlatListWidth] = useState(0);\n\n const {\n theme: {\n colors: { black, grey, grey_whisper, overlay },\n messageInput: {\n fileUploadPreview: {\n dismiss,\n fileContainer,\n fileContentContainer,\n filenameText,\n fileSizeText,\n fileTextContainer,\n flatList,\n },\n },\n },\n } = useTheme();\n\n const renderItem = ({ index, item }: { index: number; item: FileUpload }) => {\n const indicatorType =\n item.state === FileState.UPLOADING\n ? ProgressIndicatorTypes.IN_PROGRESS\n : item.state === FileState.UPLOAD_FAILED\n ? ProgressIndicatorTypes.RETRY\n : undefined;\n\n return (\n <>\n <UploadProgressIndicator\n action={() => {\n uploadFile({ newFile: item });\n }}\n active={item.state !== FileState.UPLOADED && item.state !== FileState.FINISHED}\n style={styles.overlay}\n type={indicatorType}\n >\n <View\n style={[\n styles.fileContainer,\n index === fileUploads.length - 1\n ? {\n marginBottom: 0,\n }\n : {},\n {\n borderColor: grey_whisper,\n width: flatListWidth - 16,\n },\n fileContainer,\n ]}\n >\n <View style={[styles.fileContentContainer, fileContentContainer]}>\n <FileAttachmentIcon mimeType={item.file.type} />\n <View style={[styles.fileTextContainer, fileTextContainer]}>\n <Text\n numberOfLines={1}\n style={[\n styles.filenameText,\n {\n color: black,\n width:\n flatListWidth -\n 16 - // 16 = horizontal padding\n 40 - // 40 = file icon size\n 24 - // 24 = close icon size\n 24, // 24 = internal padding\n },\n filenameText,\n ]}\n >\n {item.file.name || ''}\n </Text>\n <Text style={[styles.fileSizeText, { color: grey }, fileSizeText]}>\n {getFileSizeDisplayText(item.file.size)}\n </Text>\n </View>\n </View>\n </View>\n </UploadProgressIndicator>\n <TouchableOpacity\n onPress={() => {\n removeFile(item.id);\n }}\n style={[styles.dismiss, { backgroundColor: overlay }, dismiss]}\n testID='remove-file-upload-preview'\n >\n <Close />\n </TouchableOpacity>\n </>\n );\n };\n\n const fileUploadsLength = fileUploads.length;\n\n useEffect(() => {\n if (fileUploadsLength && flatListRef.current) {\n setTimeout(() => flatListRef.current?.scrollToEnd(), 1);\n }\n }, [fileUploadsLength]);\n\n return fileUploadsLength ? (\n <FlatList\n data={fileUploads}\n getItemLayout={(_, index) => ({\n index,\n length: FILE_PREVIEW_HEIGHT + 8,\n offset: (FILE_PREVIEW_HEIGHT + 8) * index,\n })}\n keyExtractor={(item) => item.id}\n onLayout={({\n nativeEvent: {\n layout: { width },\n },\n }) => {\n setFlatListWidth(width);\n }}\n ref={flatListRef}\n renderItem={renderItem}\n style={[styles.flatList, flatList]}\n />\n ) : null;\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n nextProps: FileUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { fileUploads: prevFileUploads } = prevProps;\n const { fileUploads: nextFileUploads } = nextProps;\n\n return (\n prevFileUploads.length === nextFileUploads.length &&\n prevFileUploads.every(\n (prevFileUpload, index) => prevFileUpload.state === nextFileUploads[index].state,\n )\n );\n};\n\nconst MemoizedFileUploadPreview = React.memo(\n FileUploadPreviewWithContext,\n areEqual,\n) as typeof FileUploadPreviewWithContext;\n\nexport type FileUploadPreviewProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<FileUploadPreviewPropsWithContext<StreamChatGenerics>>;\n\n/**\n * FileUploadPreview\n * UI Component to preview the files set for upload\n */\nexport const FileUploadPreview = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileUploadPreviewProps<StreamChatGenerics>,\n) => {\n const { fileUploads, removeFile, uploadFile } = useMessageInputContext<StreamChatGenerics>();\n const { FileAttachmentIcon } = useMessagesContext<StreamChatGenerics>();\n\n return (\n <MemoizedFileUploadPreview\n {...{ FileAttachmentIcon, fileUploads, removeFile, uploadFile }}\n {...props}\n />\n );\n};\n\nFileUploadPreview.displayName = 'FileUploadPreview{messageInput{fileUploadPreview}}';\n"]}
|
|
@@ -74,7 +74,7 @@ var ImageUploadPreviewWithContext = function ImageUploadPreviewWithContext(props
|
|
|
74
74
|
__self: _this,
|
|
75
75
|
__source: {
|
|
76
76
|
fileName: _jsxFileName,
|
|
77
|
-
lineNumber:
|
|
77
|
+
lineNumber: 66,
|
|
78
78
|
columnNumber: 5
|
|
79
79
|
}
|
|
80
80
|
}, _react["default"].createElement(_UploadProgressIndicator.UploadProgressIndicator, {
|
|
@@ -89,7 +89,7 @@ var ImageUploadPreviewWithContext = function ImageUploadPreviewWithContext(props
|
|
|
89
89
|
__self: _this,
|
|
90
90
|
__source: {
|
|
91
91
|
fileName: _jsxFileName,
|
|
92
|
-
lineNumber:
|
|
92
|
+
lineNumber: 73,
|
|
93
93
|
columnNumber: 7
|
|
94
94
|
}
|
|
95
95
|
}, _react["default"].createElement(_reactNative.Image, {
|
|
@@ -101,7 +101,7 @@ var ImageUploadPreviewWithContext = function ImageUploadPreviewWithContext(props
|
|
|
101
101
|
__self: _this,
|
|
102
102
|
__source: {
|
|
103
103
|
fileName: _jsxFileName,
|
|
104
|
-
lineNumber:
|
|
104
|
+
lineNumber: 87,
|
|
105
105
|
columnNumber: 9
|
|
106
106
|
}
|
|
107
107
|
})), _react["default"].createElement(_reactNative.TouchableOpacity, {
|
|
@@ -115,7 +115,7 @@ var ImageUploadPreviewWithContext = function ImageUploadPreviewWithContext(props
|
|
|
115
115
|
__self: _this,
|
|
116
116
|
__source: {
|
|
117
117
|
fileName: _jsxFileName,
|
|
118
|
-
lineNumber:
|
|
118
|
+
lineNumber: 93,
|
|
119
119
|
columnNumber: 7
|
|
120
120
|
}
|
|
121
121
|
}, _react["default"].createElement(_Close.Close, {
|
|
@@ -123,7 +123,7 @@ var ImageUploadPreviewWithContext = function ImageUploadPreviewWithContext(props
|
|
|
123
123
|
__self: _this,
|
|
124
124
|
__source: {
|
|
125
125
|
fileName: _jsxFileName,
|
|
126
|
-
lineNumber:
|
|
126
|
+
lineNumber: 100,
|
|
127
127
|
columnNumber: 9
|
|
128
128
|
}
|
|
129
129
|
})));
|
|
@@ -147,7 +147,7 @@ var ImageUploadPreviewWithContext = function ImageUploadPreviewWithContext(props
|
|
|
147
147
|
__self: _this,
|
|
148
148
|
__source: {
|
|
149
149
|
fileName: _jsxFileName,
|
|
150
|
-
lineNumber:
|
|
150
|
+
lineNumber: 106,
|
|
151
151
|
columnNumber: 5
|
|
152
152
|
}
|
|
153
153
|
}) : null;
|
|
@@ -177,7 +177,7 @@ var ImageUploadPreview = function ImageUploadPreview(props) {
|
|
|
177
177
|
__self: _this,
|
|
178
178
|
__source: {
|
|
179
179
|
fileName: _jsxFileName,
|
|
180
|
-
lineNumber:
|
|
180
|
+
lineNumber: 152,
|
|
181
181
|
columnNumber: 5
|
|
182
182
|
}
|
|
183
183
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ImageUploadPreview.tsx"],"names":["IMAGE_PREVIEW_SIZE","styles","StyleSheet","create","dismiss","borderRadius","position","right","top","flatList","paddingBottom","itemContainer","flexDirection","height","marginLeft","upload","width","ImageUploadPreviewWithContext","props","imageUploads","removeImage","uploadImage","theme","colors","overlay","white","messageInput","imageUploadPreview","renderItem","index","item","length","marginRight","newImage","state","FileState","UPLOADED","FINISHED","UPLOADING","ProgressIndicatorTypes","IN_PROGRESS","UPLOAD_FAILED","RETRY","undefined","uri","file","url","id","backgroundColor","_","offset","areEqual","prevProps","nextProps","prevImageUploads","nextImageUploads","every","prevImageUpload","MemoizedImageUploadPreviewWithContext","React","memo","ImageUploadPreview","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { FlatList, Image, StyleSheet, TouchableOpacity, View } from 'react-native';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport {\n ImageUpload,\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Close } from '../../icons/Close';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\nimport { FileState, ProgressIndicatorTypes } from '../../utils/utils';\n\nconst IMAGE_PREVIEW_SIZE = 100;\n\nconst styles = StyleSheet.create({\n dismiss: {\n borderRadius: 24,\n position: 'absolute',\n right: 8,\n top: 8,\n },\n flatList: { paddingBottom: 12 },\n itemContainer: {\n flexDirection: 'row',\n height: IMAGE_PREVIEW_SIZE,\n marginLeft: 8,\n },\n upload: {\n borderRadius: 10,\n height: IMAGE_PREVIEW_SIZE,\n width: IMAGE_PREVIEW_SIZE,\n },\n});\n\ntype ImageUploadPreviewPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<\n MessageInputContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'imageUploads' | 'removeImage' | 'uploadImage'\n>;\n\nexport type ImageUploadPreviewProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<ImageUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>>;\n\nconst ImageUploadPreviewWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: ImageUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { imageUploads, removeImage, uploadImage } = props;\n\n const {\n theme: {\n colors: { overlay, white },\n messageInput: {\n imageUploadPreview: { dismiss, flatList, itemContainer, upload },\n },\n },\n } = useTheme();\n\n const renderItem = ({ index, item }: { index: number; item: ImageUpload }) => (\n <View\n style={[\n styles.itemContainer,\n index === imageUploads.length - 1 ? { marginRight: 8 } : {},\n itemContainer,\n ]}\n >\n <UploadProgressIndicator\n action={() => {\n uploadImage({ newImage: item });\n }}\n active={item.state !== FileState.UPLOADED && item.state !== FileState.FINISHED}\n style={styles.upload}\n type={\n item.state === FileState.UPLOADING\n ? ProgressIndicatorTypes.IN_PROGRESS\n : item.state === FileState.UPLOAD_FAILED\n ? ProgressIndicatorTypes.RETRY\n : undefined\n }\n >\n <Image\n resizeMode='cover'\n source={{ uri: item.file.uri || item.url }}\n style={[styles.upload, upload]}\n />\n </UploadProgressIndicator>\n <TouchableOpacity\n onPress={() => {\n removeImage(item.id);\n }}\n style={[styles.dismiss, { backgroundColor: overlay }, dismiss]}\n testID='remove-image-upload-preview'\n >\n <Close pathFill={white} />\n </TouchableOpacity>\n </View>\n );\n\n return imageUploads.length > 0 ? (\n <FlatList\n data={imageUploads}\n getItemLayout={(_, index) => ({\n index,\n length: IMAGE_PREVIEW_SIZE + 8,\n offset: (IMAGE_PREVIEW_SIZE + 8) * index,\n })}\n horizontal\n keyExtractor={(item) => item.id}\n renderItem={renderItem}\n style={[styles.flatList, flatList]}\n />\n ) : null;\n};\n\nconst areEqual = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n prevProps: ImageUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: ImageUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { imageUploads: prevImageUploads } = prevProps;\n const { imageUploads: nextImageUploads } = nextProps;\n\n return (\n prevImageUploads.length === nextImageUploads.length &&\n prevImageUploads.every(\n (prevImageUpload, index) => prevImageUpload.state === nextImageUploads[index].state,\n )\n );\n};\n\nconst MemoizedImageUploadPreviewWithContext = React.memo(\n ImageUploadPreviewWithContext,\n areEqual,\n) as typeof ImageUploadPreviewWithContext;\n\n/**\n * UI Component to preview the images set for upload\n */\nexport const ImageUploadPreview = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: ImageUploadPreviewProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { imageUploads, removeImage, uploadImage } =\n useMessageInputContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return (\n <MemoizedImageUploadPreviewWithContext\n {...{ imageUploads, removeImage, uploadImage }}\n {...props}\n />\n );\n};\n\nImageUploadPreview.displayName = 'ImageUploadPreview{messageInput{imageUploadPreview}}';\n"]}
|
|
1
|
+
{"version":3,"sources":["ImageUploadPreview.tsx"],"names":["IMAGE_PREVIEW_SIZE","styles","StyleSheet","create","dismiss","borderRadius","position","right","top","flatList","paddingBottom","itemContainer","flexDirection","height","marginLeft","upload","width","ImageUploadPreviewWithContext","props","imageUploads","removeImage","uploadImage","theme","colors","overlay","white","messageInput","imageUploadPreview","renderItem","index","item","length","marginRight","newImage","state","FileState","UPLOADED","FINISHED","UPLOADING","ProgressIndicatorTypes","IN_PROGRESS","UPLOAD_FAILED","RETRY","undefined","uri","file","url","id","backgroundColor","_","offset","areEqual","prevProps","nextProps","prevImageUploads","nextImageUploads","every","prevImageUpload","MemoizedImageUploadPreviewWithContext","React","memo","ImageUploadPreview","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { FlatList, Image, StyleSheet, TouchableOpacity, View } from 'react-native';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport {\n ImageUpload,\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Close } from '../../icons/Close';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { FileState, ProgressIndicatorTypes } from '../../utils/utils';\n\nconst IMAGE_PREVIEW_SIZE = 100;\n\nconst styles = StyleSheet.create({\n dismiss: {\n borderRadius: 24,\n position: 'absolute',\n right: 8,\n top: 8,\n },\n flatList: { paddingBottom: 12 },\n itemContainer: {\n flexDirection: 'row',\n height: IMAGE_PREVIEW_SIZE,\n marginLeft: 8,\n },\n upload: {\n borderRadius: 10,\n height: IMAGE_PREVIEW_SIZE,\n width: IMAGE_PREVIEW_SIZE,\n },\n});\n\ntype ImageUploadPreviewPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageInputContextValue<StreamChatGenerics>,\n 'imageUploads' | 'removeImage' | 'uploadImage'\n>;\n\nexport type ImageUploadPreviewProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<ImageUploadPreviewPropsWithContext<StreamChatGenerics>>;\n\nconst ImageUploadPreviewWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { imageUploads, removeImage, uploadImage } = props;\n\n const {\n theme: {\n colors: { overlay, white },\n messageInput: {\n imageUploadPreview: { dismiss, flatList, itemContainer, upload },\n },\n },\n } = useTheme();\n\n const renderItem = ({ index, item }: { index: number; item: ImageUpload }) => (\n <View\n style={[\n styles.itemContainer,\n index === imageUploads.length - 1 ? { marginRight: 8 } : {},\n itemContainer,\n ]}\n >\n <UploadProgressIndicator\n action={() => {\n uploadImage({ newImage: item });\n }}\n active={item.state !== FileState.UPLOADED && item.state !== FileState.FINISHED}\n style={styles.upload}\n type={\n item.state === FileState.UPLOADING\n ? ProgressIndicatorTypes.IN_PROGRESS\n : item.state === FileState.UPLOAD_FAILED\n ? ProgressIndicatorTypes.RETRY\n : undefined\n }\n >\n <Image\n resizeMode='cover'\n source={{ uri: item.file.uri || item.url }}\n style={[styles.upload, upload]}\n />\n </UploadProgressIndicator>\n <TouchableOpacity\n onPress={() => {\n removeImage(item.id);\n }}\n style={[styles.dismiss, { backgroundColor: overlay }, dismiss]}\n testID='remove-image-upload-preview'\n >\n <Close pathFill={white} />\n </TouchableOpacity>\n </View>\n );\n\n return imageUploads.length > 0 ? (\n <FlatList\n data={imageUploads}\n getItemLayout={(_, index) => ({\n index,\n length: IMAGE_PREVIEW_SIZE + 8,\n offset: (IMAGE_PREVIEW_SIZE + 8) * index,\n })}\n horizontal\n keyExtractor={(item) => item.id}\n renderItem={renderItem}\n style={[styles.flatList, flatList]}\n />\n ) : null;\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: ImageUploadPreviewPropsWithContext<StreamChatGenerics>,\n nextProps: ImageUploadPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { imageUploads: prevImageUploads } = prevProps;\n const { imageUploads: nextImageUploads } = nextProps;\n\n return (\n prevImageUploads.length === nextImageUploads.length &&\n prevImageUploads.every(\n (prevImageUpload, index) => prevImageUpload.state === nextImageUploads[index].state,\n )\n );\n};\n\nconst MemoizedImageUploadPreviewWithContext = React.memo(\n ImageUploadPreviewWithContext,\n areEqual,\n) as typeof ImageUploadPreviewWithContext;\n\n/**\n * UI Component to preview the images set for upload\n */\nexport const ImageUploadPreview = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ImageUploadPreviewProps<StreamChatGenerics>,\n) => {\n const { imageUploads, removeImage, uploadImage } = useMessageInputContext<StreamChatGenerics>();\n\n return (\n <MemoizedImageUploadPreviewWithContext\n {...{ imageUploads, removeImage, uploadImage }}\n {...props}\n />\n );\n};\n\nImageUploadPreview.displayName = 'ImageUploadPreview{messageInput{imageUploadPreview}}';\n"]}
|