stream-chat-react-native-core 3.10.1 → 4.0.0-beta.2
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/lib/commonjs/components/Attachment/Card.js +18 -15
- package/lib/commonjs/components/Attachment/Card.js.map +1 -1
- package/lib/commonjs/components/Attachment/Gallery.js +8 -15
- package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
- package/lib/commonjs/components/Attachment/Giphy.js +3 -3
- package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +21 -45
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/{CommandsItem.js → AutoCompleteSuggestionCommandIcon.js} +21 -94
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -0
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +145 -0
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -0
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +248 -0
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -0
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +223 -0
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -0
- package/lib/commonjs/components/Avatar/GroupAvatar.js +3 -9
- package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
- package/lib/commonjs/components/Channel/Channel.js +293 -208
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +5 -5
- package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js +7 -5
- package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +9 -31
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +35 -0
- package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -0
- package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -0
- package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +2 -1
- package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +32 -20
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +8 -7
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js +16 -7
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js +2 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useIsOnline.js +12 -5
- package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/ImageGallery.js +1 -2
- package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +14 -16
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
- package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js.map +1 -1
- package/lib/commonjs/components/Message/Message.js +144 -851
- package/lib/commonjs/components/Message/Message.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +39 -38
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +4 -2
- package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +24 -16
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +122 -0
- package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -0
- package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +5 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +27 -13
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +19 -20
- package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +7 -3
- package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +52 -80
- package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +42 -14
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +1 -5
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js +294 -0
- package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -0
- package/lib/commonjs/components/Message/hooks/useMessageActions.js +559 -0
- package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -0
- package/lib/commonjs/components/Message/utils/messageActions.js +17 -15
- package/lib/commonjs/components/Message/utils/messageActions.js.map +1 -1
- package/lib/commonjs/components/MessageInput/CooldownTimer.js +78 -0
- package/lib/commonjs/components/MessageInput/CooldownTimer.js.map +1 -0
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js +2 -2
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
- package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +2 -2
- package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
- package/lib/commonjs/components/MessageInput/InputButtons.js +16 -21
- package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
- package/lib/commonjs/components/MessageInput/MessageInput.js +90 -62
- package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +71 -0
- package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -0
- package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +1 -0
- package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/hooks/useCooldown.js +63 -0
- package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -0
- package/lib/commonjs/components/MessageInput/hooks/useCountdown.js +57 -0
- package/lib/commonjs/components/MessageInput/hooks/useCountdown.js.map +1 -0
- package/lib/commonjs/components/MessageList/DateHeader.js +2 -2
- package/lib/commonjs/components/MessageList/DateHeader.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineDateSeparator.js +2 -2
- package/lib/commonjs/components/MessageList/InlineDateSeparator.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageList.js +75 -42
- package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js +16 -3
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getDateSeparators.js +2 -1
- package/lib/commonjs/components/MessageList/utils/getDateSeparators.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getGroupStyles.js +10 -5
- package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
- package/lib/{module/components/MessageOverlay/MessageActions.js → commonjs/components/MessageOverlay/MessageActionList.js} +33 -85
- package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -0
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +131 -0
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -0
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +83 -70
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +38 -0
- package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js.map +1 -0
- package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +1 -0
- package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js +37 -0
- package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -0
- package/lib/commonjs/components/Thread/Thread.js +13 -4
- package/lib/commonjs/components/Thread/Thread.js.map +1 -1
- package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +9 -1
- package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
- package/lib/commonjs/components/docs/ListProps.md +1 -1
- package/lib/commonjs/components/index.js +107 -55
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +68 -0
- package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -0
- 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.map +1 -1
- package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +155 -0
- package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -0
- package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +144 -0
- package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -0
- 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 +112 -78
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +9 -5
- package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/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 +31 -24
- package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +61 -0
- package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -0
- package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +19 -32
- package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
- package/lib/commonjs/contexts/themeContext/utils/theme.js +25 -9
- package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
- package/lib/commonjs/contexts/utils/getDisplayName.js.map +1 -1
- package/lib/commonjs/emoji-data/compiled.js +0 -315
- package/lib/commonjs/emoji-data/compiled.js.map +1 -1
- package/lib/commonjs/emoji-data/emojiNames.js +0 -105
- package/lib/commonjs/emoji-data/emojiNames.js.map +1 -1
- package/lib/commonjs/emoji-data/emojis.js +0 -175
- package/lib/commonjs/emoji-data/emojis.js.map +1 -1
- package/lib/commonjs/i18n/en.json +9 -3
- package/lib/commonjs/i18n/fr.json +9 -3
- package/lib/commonjs/i18n/hi.json +9 -3
- package/lib/commonjs/i18n/it.json +9 -3
- package/lib/commonjs/i18n/ja.json +9 -0
- package/lib/commonjs/i18n/ko.json +9 -0
- package/lib/commonjs/i18n/nl.json +9 -3
- package/lib/commonjs/i18n/ru.json +9 -3
- package/lib/commonjs/i18n/tr.json +10 -4
- package/lib/commonjs/icons/Pin.js +42 -0
- package/lib/commonjs/icons/Pin.js.map +1 -0
- package/lib/commonjs/icons/PinHeader.js +38 -0
- package/lib/commonjs/icons/PinHeader.js.map +1 -0
- package/lib/commonjs/icons/Unpin.js +38 -0
- package/lib/commonjs/icons/Unpin.js.map +1 -0
- package/lib/commonjs/icons/index.js +39 -0
- package/lib/commonjs/icons/index.js.map +1 -1
- package/lib/commonjs/mock-builders/api/sendMessage.js +4 -1
- package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/channel.js +1 -0
- package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
- package/lib/commonjs/mock-builders/mock.js +2 -2
- package/lib/commonjs/mock-builders/mock.js.map +1 -1
- package/lib/commonjs/native.js +1 -7
- package/lib/commonjs/native.js.map +1 -1
- package/lib/commonjs/utils/date.js +13 -0
- package/lib/commonjs/utils/date.js.map +1 -0
- package/lib/commonjs/utils/utils.js +9 -7
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Attachment/Card.js +18 -15
- package/lib/module/components/Attachment/Card.js.map +1 -1
- package/lib/module/components/Attachment/Gallery.js +8 -15
- package/lib/module/components/Attachment/Gallery.js.map +1 -1
- package/lib/module/components/Attachment/Giphy.js +3 -3
- package/lib/module/components/Attachment/Giphy.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +21 -45
- package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/{CommandsItem.js → AutoCompleteSuggestionCommandIcon.js} +21 -94
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -0
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +145 -0
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -0
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +248 -0
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -0
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +223 -0
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -0
- package/lib/module/components/Avatar/GroupAvatar.js +3 -9
- package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
- package/lib/module/components/Channel/Channel.js +293 -208
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateChannelContext.js +5 -5
- package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +7 -5
- package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +9 -31
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +35 -0
- package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -0
- package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -0
- package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +2 -1
- package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +32 -20
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +8 -7
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js +16 -7
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js +2 -1
- package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
- package/lib/module/components/Chat/hooks/useIsOnline.js +12 -5
- package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
- package/lib/module/components/ImageGallery/ImageGallery.js +1 -2
- package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +14 -16
- package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
- package/lib/module/components/Indicators/LoadingErrorIndicator.js.map +1 -1
- package/lib/module/components/Message/Message.js +144 -851
- package/lib/module/components/Message/Message.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageContent.js +39 -38
- package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageDeleted.js +4 -2
- package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageFooter.js +24 -16
- package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +122 -0
- package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -0
- package/lib/module/components/Message/MessageSimple/MessageReplies.js +5 -1
- package/lib/module/components/Message/MessageSimple/MessageReplies.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageSimple.js +27 -13
- package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageStatus.js +19 -20
- package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +7 -3
- package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/ReactionList.js +52 -80
- package/lib/module/components/Message/MessageSimple/ReactionList.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/renderText.js +42 -14
- package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
- package/lib/module/components/Message/hooks/useCreateMessageContext.js +1 -5
- package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/module/components/Message/hooks/useMessageActionHandlers.js +294 -0
- package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -0
- package/lib/module/components/Message/hooks/useMessageActions.js +559 -0
- package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -0
- package/lib/module/components/Message/utils/messageActions.js +17 -15
- package/lib/module/components/Message/utils/messageActions.js.map +1 -1
- package/lib/module/components/MessageInput/CooldownTimer.js +78 -0
- package/lib/module/components/MessageInput/CooldownTimer.js.map +1 -0
- package/lib/module/components/MessageInput/FileUploadPreview.js +2 -2
- package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
- package/lib/module/components/MessageInput/ImageUploadPreview.js +2 -2
- package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
- package/lib/module/components/MessageInput/InputButtons.js +16 -21
- package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
- package/lib/module/components/MessageInput/MessageInput.js +90 -62
- package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +71 -0
- package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -0
- package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +1 -0
- package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
- package/lib/module/components/MessageInput/hooks/useCooldown.js +63 -0
- package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -0
- package/lib/module/components/MessageInput/hooks/useCountdown.js +57 -0
- package/lib/module/components/MessageInput/hooks/useCountdown.js.map +1 -0
- package/lib/module/components/MessageList/DateHeader.js +2 -2
- package/lib/module/components/MessageList/DateHeader.js.map +1 -1
- package/lib/module/components/MessageList/InlineDateSeparator.js +2 -2
- package/lib/module/components/MessageList/InlineDateSeparator.js.map +1 -1
- package/lib/module/components/MessageList/MessageList.js +75 -42
- package/lib/module/components/MessageList/MessageList.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useMessageList.js +16 -3
- package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/module/components/MessageList/utils/getDateSeparators.js +2 -1
- package/lib/module/components/MessageList/utils/getDateSeparators.js.map +1 -1
- package/lib/module/components/MessageList/utils/getGroupStyles.js +10 -5
- package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
- package/lib/{commonjs/components/MessageOverlay/MessageActions.js → module/components/MessageOverlay/MessageActionList.js} +33 -85
- package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -0
- package/lib/module/components/MessageOverlay/MessageActionListItem.js +131 -0
- package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -0
- package/lib/module/components/MessageOverlay/MessageOverlay.js +83 -70
- package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/module/components/MessageOverlay/OverlayBackdrop.js +38 -0
- package/lib/module/components/MessageOverlay/OverlayBackdrop.js.map +1 -0
- package/lib/module/components/MessageOverlay/OverlayReactionList.js +1 -0
- package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
- package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js +37 -0
- package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -0
- package/lib/module/components/Thread/Thread.js +13 -4
- package/lib/module/components/Thread/Thread.js.map +1 -1
- package/lib/module/components/Thread/components/ThreadFooterComponent.js +9 -1
- package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
- package/lib/module/components/docs/ListProps.md +1 -1
- package/lib/module/components/index.js +107 -55
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +68 -0
- package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -0
- 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.map +1 -1
- package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +155 -0
- package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -0
- package/lib/module/contexts/channelsStateContext/useChannelState.js +144 -0
- package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -0
- 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 +112 -78
- package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +9 -5
- package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
- package/lib/module/contexts/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 +31 -24
- package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +61 -0
- package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -0
- package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +19 -32
- package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
- package/lib/module/contexts/themeContext/utils/theme.js +25 -9
- package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
- package/lib/module/contexts/utils/getDisplayName.js.map +1 -1
- package/lib/module/emoji-data/compiled.js +0 -315
- package/lib/module/emoji-data/compiled.js.map +1 -1
- package/lib/module/emoji-data/emojiNames.js +0 -105
- package/lib/module/emoji-data/emojiNames.js.map +1 -1
- package/lib/module/emoji-data/emojis.js +0 -175
- package/lib/module/emoji-data/emojis.js.map +1 -1
- package/lib/module/i18n/en.json +9 -3
- package/lib/module/i18n/fr.json +9 -3
- package/lib/module/i18n/hi.json +9 -3
- package/lib/module/i18n/it.json +9 -3
- package/lib/module/i18n/ja.json +9 -0
- package/lib/module/i18n/ko.json +9 -0
- package/lib/module/i18n/nl.json +9 -3
- package/lib/module/i18n/ru.json +9 -3
- package/lib/module/i18n/tr.json +10 -4
- package/lib/module/icons/Pin.js +42 -0
- package/lib/module/icons/Pin.js.map +1 -0
- package/lib/module/icons/PinHeader.js +38 -0
- package/lib/module/icons/PinHeader.js.map +1 -0
- package/lib/module/icons/Unpin.js +38 -0
- package/lib/module/icons/Unpin.js.map +1 -0
- package/lib/module/icons/index.js +39 -0
- package/lib/module/icons/index.js.map +1 -1
- package/lib/module/mock-builders/api/sendMessage.js +4 -1
- package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
- package/lib/module/mock-builders/generator/channel.js +1 -0
- package/lib/module/mock-builders/generator/channel.js.map +1 -1
- package/lib/module/mock-builders/mock.js +2 -2
- package/lib/module/mock-builders/mock.js.map +1 -1
- package/lib/module/native.js +1 -7
- package/lib/module/native.js.map +1 -1
- package/lib/module/utils/date.js +13 -0
- package/lib/module/utils/date.js.map +1 -0
- package/lib/module/utils/utils.js +9 -7
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Attachment/Card.d.ts +2 -0
- package/lib/typescript/components/Attachment/Gallery.d.ts +3 -2
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteInput.d.ts +7 -1
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.d.ts +4 -0
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionHeader.d.ts +8 -0
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionItem.d.ts +10 -0
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts +22 -0
- package/lib/typescript/components/Channel/Channel.d.ts +11 -10
- package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +1 -68
- package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -126
- package/lib/typescript/components/Channel/hooks/useCreateOwnCapabilitiesContext.d.ts +7 -0
- package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +1 -1
- package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.d.ts +12 -0
- package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +1 -0
- package/lib/typescript/components/Indicators/LoadingErrorIndicator.d.ts +1 -1
- package/lib/typescript/components/Message/Message.d.ts +3 -2
- package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessagePinnedHeader.d.ts +8 -0
- package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageStatus.d.ts +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts +1 -0
- package/lib/typescript/components/Message/MessageSimple/ReactionList.d.ts +2 -1
- package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +1 -0
- package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +1 -1
- package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +15 -0
- package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +26 -0
- package/lib/typescript/components/Message/utils/messageActions.d.ts +22 -21
- package/lib/typescript/components/MessageInput/CooldownTimer.d.ts +10 -0
- package/lib/typescript/components/MessageInput/InputButtons.d.ts +1 -1
- package/lib/typescript/components/MessageInput/MessageInput.d.ts +1 -1
- package/lib/typescript/components/MessageInput/SendMessageDisallowedIndicator.d.ts +1 -0
- package/lib/typescript/components/MessageInput/hooks/useCooldown.d.ts +9 -0
- package/lib/typescript/components/MessageInput/hooks/useCountdown.d.ts +8 -0
- package/lib/typescript/components/MessageList/MessageList.d.ts +2 -1
- package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +1 -0
- package/lib/typescript/components/MessageOverlay/MessageActionList.d.ts +12 -0
- package/lib/typescript/components/MessageOverlay/MessageActionListItem.d.ts +20 -0
- package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts +4 -4
- package/lib/typescript/components/MessageOverlay/OverlayBackdrop.d.ts +6 -0
- package/lib/typescript/components/MessageOverlay/hooks/useMessageActionAnimation.d.ts +12 -0
- package/lib/typescript/components/index.d.ts +11 -7
- package/lib/typescript/contexts/activeChannelsRefContext/ActiveChannelsRefContext.d.ts +9 -0
- package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +28 -30
- package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +1 -1
- package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts +41 -0
- package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts +20 -0
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts +2 -6
- package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +15 -6
- package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +1 -1
- package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +8 -11
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +15 -106
- package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +10 -3
- package/lib/typescript/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.d.ts +25 -0
- package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts +15 -14
- package/lib/typescript/contexts/themeContext/utils/theme.d.ts +24 -8
- package/lib/typescript/contexts/utils/getDisplayName.d.ts +2 -2
- package/lib/typescript/i18n/en.json +9 -3
- package/lib/typescript/i18n/fr.json +9 -3
- package/lib/typescript/i18n/hi.json +9 -3
- package/lib/typescript/i18n/it.json +9 -3
- package/lib/typescript/i18n/ja.json +9 -0
- package/lib/typescript/i18n/ko.json +9 -0
- package/lib/typescript/i18n/nl.json +9 -3
- package/lib/typescript/i18n/ru.json +9 -3
- package/lib/typescript/i18n/tr.json +10 -4
- package/lib/typescript/icons/Pin.d.ts +3 -0
- package/lib/typescript/icons/PinHeader.d.ts +3 -0
- package/lib/typescript/icons/Unpin.d.ts +3 -0
- package/lib/typescript/icons/index.d.ts +3 -0
- package/lib/typescript/native.d.ts +1 -9
- package/lib/typescript/utils/Streami18n.d.ts +9 -6
- package/lib/typescript/utils/date.d.ts +2 -0
- package/lib/typescript/utils/utils.d.ts +8 -10
- package/package.json +5 -3
- package/src/components/Attachment/Card.tsx +5 -1
- package/src/components/Attachment/Gallery.tsx +5 -10
- package/src/components/Attachment/Giphy.tsx +3 -3
- package/src/components/Attachment/__tests__/Attachment.test.js +13 -6
- package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +41 -27
- package/src/components/AutoCompleteInput/{CommandsItem.tsx → AutoCompleteSuggestionCommandIcon.tsx} +2 -56
- package/src/components/AutoCompleteInput/AutoCompleteSuggestionHeader.tsx +109 -0
- package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx +154 -0
- package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +213 -0
- package/src/components/AutoCompleteInput/__tests__/AutoCompleteInput.test.js +0 -4
- package/src/components/Avatar/GroupAvatar.tsx +0 -19
- package/src/components/Avatar/__tests__/Avatar.test.js +0 -28
- package/src/components/Channel/Channel.tsx +225 -176
- package/src/components/Channel/__tests__/Channel.test.js +25 -20
- package/src/components/Channel/__tests__/ownCapabilities.test.js +376 -0
- package/src/components/Channel/hooks/useCreateChannelContext.ts +6 -6
- package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +4 -3
- package/src/components/Channel/hooks/useCreateMessagesContext.ts +9 -30
- package/src/components/Channel/hooks/useCreateOwnCapabilitiesContext.ts +53 -0
- package/src/components/ChannelList/ChannelListFooterLoadingIndicator.tsx +1 -1
- package/src/components/ChannelList/ChannelListHeaderNetworkDownIndicator.tsx +4 -1
- package/src/components/ChannelList/hooks/usePaginatedChannels.ts +16 -4
- package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +4 -1
- package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.ts +6 -0
- package/src/components/ChannelPreview/hooks/useLatestMessagePreview.ts +2 -1
- package/src/components/Chat/__tests__/Chat.test.js +6 -2
- package/src/components/Chat/hooks/useIsOnline.ts +8 -5
- package/src/components/ImageGallery/ImageGallery.tsx +3 -2
- package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +4 -5
- package/src/components/Indicators/LoadingErrorIndicator.tsx +1 -1
- package/src/components/Message/Message.tsx +140 -579
- package/src/components/Message/MessageSimple/MessageContent.tsx +21 -22
- package/src/components/Message/MessageSimple/MessageDeleted.tsx +5 -2
- package/src/components/Message/MessageSimple/MessageFooter.tsx +36 -17
- package/src/components/Message/MessageSimple/MessagePinnedHeader.tsx +150 -0
- package/src/components/Message/MessageSimple/MessageReplies.tsx +5 -0
- package/src/components/Message/MessageSimple/MessageSimple.tsx +47 -26
- package/src/components/Message/MessageSimple/MessageStatus.tsx +10 -29
- package/src/components/Message/MessageSimple/MessageTextContainer.tsx +5 -0
- package/src/components/Message/MessageSimple/ReactionList.tsx +64 -77
- package/src/components/Message/MessageSimple/__tests__/Message.test.js +0 -1
- package/src/components/Message/MessageSimple/__tests__/MessageContent.test.js +32 -22
- package/src/components/Message/MessageSimple/__tests__/MessagePinnedHeader.test.js +53 -0
- package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessagePinnedHeader.test.js.snap +80 -0
- package/src/components/Message/MessageSimple/utils/renderText.tsx +25 -3
- package/src/components/Message/hooks/useCreateMessageContext.ts +0 -5
- package/src/components/Message/hooks/useMessageActionHandlers.ts +163 -0
- package/src/components/Message/hooks/useMessageActions.tsx +381 -0
- package/src/components/Message/utils/messageActions.ts +64 -38
- package/src/components/MessageInput/CooldownTimer.tsx +66 -0
- package/src/components/MessageInput/FileUploadPreview.tsx +2 -2
- package/src/components/MessageInput/ImageUploadPreview.tsx +2 -2
- package/src/components/MessageInput/InputButtons.tsx +4 -10
- package/src/components/MessageInput/MessageInput.tsx +59 -31
- package/src/components/MessageInput/SendMessageDisallowedIndicator.tsx +47 -0
- package/src/components/MessageInput/ShowThreadMessageInChannelButton.tsx +1 -1
- package/src/components/MessageInput/__tests__/FileUploadPreview.test.js +29 -29
- package/src/components/MessageInput/__tests__/ImageUploadPreview.test.js +12 -12
- package/src/components/MessageInput/__tests__/MessageInput.test.js +8 -16
- package/src/components/MessageInput/__tests__/__snapshots__/FileUploadPreview.test.js.snap +6061 -2789
- package/src/components/MessageInput/__tests__/__snapshots__/ImageUploadPreview.test.js.snap +1912 -1572
- package/src/components/MessageInput/__tests__/__snapshots__/MessageInput.test.js.snap +1167 -282
- package/src/components/MessageInput/__tests__/__snapshots__/UploadProgressIndicator.test.js.snap +4 -4
- package/src/components/MessageInput/hooks/useCooldown.ts +60 -0
- package/src/components/MessageInput/hooks/useCountdown.ts +47 -0
- package/src/components/MessageList/DateHeader.tsx +2 -2
- package/src/components/MessageList/InlineDateSeparator.tsx +2 -2
- package/src/components/MessageList/MessageList.tsx +60 -36
- package/src/components/MessageList/__tests__/MessageList.test.js +231 -106
- package/src/components/MessageList/hooks/useMessageList.ts +14 -2
- package/src/components/MessageList/utils/getDateSeparators.ts +4 -3
- package/src/components/MessageList/utils/getGroupStyles.ts +13 -7
- package/src/components/MessageOverlay/{MessageActions.tsx → MessageActionList.tsx} +57 -89
- package/src/components/MessageOverlay/MessageActionListItem.tsx +111 -0
- package/src/components/MessageOverlay/MessageOverlay.tsx +242 -205
- package/src/components/MessageOverlay/OverlayBackdrop.tsx +17 -0
- package/src/components/MessageOverlay/OverlayReactionList.tsx +1 -1
- package/src/components/MessageOverlay/hooks/useMessageActionAnimation.tsx +43 -0
- package/src/components/Thread/Thread.tsx +8 -0
- package/src/components/Thread/__tests__/Thread.test.js +28 -101
- package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +1085 -1018
- package/src/components/Thread/components/ThreadFooterComponent.tsx +13 -1
- package/src/components/docs/ListProps.md +1 -1
- package/src/components/index.ts +11 -7
- package/src/contexts/activeChannelsRefContext/ActiveChannelsRefContext.tsx +33 -0
- package/src/contexts/channelContext/ChannelContext.tsx +27 -30
- package/src/contexts/channelsContext/ChannelsContext.tsx +1 -1
- package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +287 -0
- package/src/contexts/channelsStateContext/useChannelState.ts +206 -0
- package/src/contexts/messageContext/MessageContext.tsx +1 -8
- package/src/contexts/messageInputContext/MessageInputContext.tsx +56 -18
- package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +7 -3
- package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +12 -12
- package/src/contexts/messagesContext/MessagesContext.tsx +28 -129
- package/src/contexts/overlayContext/OverlayContext.tsx +10 -4
- package/src/contexts/overlayContext/OverlayProvider.tsx +21 -20
- package/src/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.tsx +38 -0
- package/src/contexts/suggestionsContext/SuggestionsContext.tsx +27 -48
- package/src/contexts/suggestionsContext/__tests__/Suggestions.test.js +0 -1
- package/src/contexts/themeContext/utils/theme.ts +48 -16
- package/src/contexts/translationContext/TranslationContext.tsx +1 -1
- package/src/contexts/utils/getDisplayName.ts +2 -1
- package/src/emoji-data/compiled.ts +1830 -9609
- package/src/emoji-data/emojiNames.ts +0 -140
- package/src/emoji-data/emojis.ts +0 -210
- package/src/i18n/en.json +9 -3
- package/src/i18n/fr.json +9 -3
- package/src/i18n/hi.json +9 -3
- package/src/i18n/it.json +9 -3
- package/src/i18n/ja.json +9 -0
- package/src/i18n/ko.json +9 -0
- package/src/i18n/nl.json +9 -3
- package/src/i18n/ru.json +9 -3
- package/src/i18n/tr.json +10 -4
- package/src/icons/Pin.tsx +17 -0
- package/src/icons/PinHeader.tsx +12 -0
- package/src/icons/Unpin.tsx +12 -0
- package/src/icons/index.ts +3 -0
- package/src/mock-builders/api/sendMessage.js +3 -2
- package/src/mock-builders/generator/channel.js +18 -0
- package/src/mock-builders/mock.js +2 -2
- package/src/native.ts +1 -13
- package/src/utils/date.ts +4 -0
- package/src/utils/utils.ts +14 -12
- package/src/version.json +1 -1
- package/lib/commonjs/components/AutoCompleteInput/CommandsHeader.js +0 -78
- package/lib/commonjs/components/AutoCompleteInput/CommandsHeader.js.map +0 -1
- package/lib/commonjs/components/AutoCompleteInput/CommandsItem.js.map +0 -1
- package/lib/commonjs/components/AutoCompleteInput/EmojisHeader.js +0 -81
- package/lib/commonjs/components/AutoCompleteInput/EmojisHeader.js.map +0 -1
- package/lib/commonjs/components/AutoCompleteInput/EmojisItem.js +0 -75
- package/lib/commonjs/components/AutoCompleteInput/EmojisItem.js.map +0 -1
- package/lib/commonjs/components/AutoCompleteInput/MentionsItem.js +0 -125
- package/lib/commonjs/components/AutoCompleteInput/MentionsItem.js.map +0 -1
- package/lib/commonjs/components/AutoCompleteInput/SuggestionsList.js +0 -199
- package/lib/commonjs/components/AutoCompleteInput/SuggestionsList.js.map +0 -1
- package/lib/commonjs/components/MessageOverlay/MessageActions.js.map +0 -1
- package/lib/module/components/AutoCompleteInput/CommandsHeader.js +0 -78
- package/lib/module/components/AutoCompleteInput/CommandsHeader.js.map +0 -1
- package/lib/module/components/AutoCompleteInput/CommandsItem.js.map +0 -1
- package/lib/module/components/AutoCompleteInput/EmojisHeader.js +0 -81
- package/lib/module/components/AutoCompleteInput/EmojisHeader.js.map +0 -1
- package/lib/module/components/AutoCompleteInput/EmojisItem.js +0 -75
- package/lib/module/components/AutoCompleteInput/EmojisItem.js.map +0 -1
- package/lib/module/components/AutoCompleteInput/MentionsItem.js +0 -125
- package/lib/module/components/AutoCompleteInput/MentionsItem.js.map +0 -1
- package/lib/module/components/AutoCompleteInput/SuggestionsList.js +0 -199
- package/lib/module/components/AutoCompleteInput/SuggestionsList.js.map +0 -1
- package/lib/module/components/MessageOverlay/MessageActions.js.map +0 -1
- package/lib/typescript/components/AutoCompleteInput/CommandsHeader.d.ts +0 -2
- package/lib/typescript/components/AutoCompleteInput/CommandsItem.d.ts +0 -15
- package/lib/typescript/components/AutoCompleteInput/EmojisHeader.d.ts +0 -5
- package/lib/typescript/components/AutoCompleteInput/EmojisItem.d.ts +0 -12
- package/lib/typescript/components/AutoCompleteInput/MentionsItem.d.ts +0 -16
- package/lib/typescript/components/AutoCompleteInput/SuggestionsList.d.ts +0 -13
- package/lib/typescript/components/MessageOverlay/MessageActions.d.ts +0 -11
- package/src/components/AutoCompleteInput/CommandsHeader.tsx +0 -43
- package/src/components/AutoCompleteInput/EmojisHeader.tsx +0 -45
- package/src/components/AutoCompleteInput/EmojisItem.tsx +0 -52
- package/src/components/AutoCompleteInput/MentionsItem.tsx +0 -74
- package/src/components/AutoCompleteInput/SuggestionsList.tsx +0 -138
- package/src/components/AutoCompleteInput/__tests__/CommandsItem.test.js +0 -26
- package/src/components/AutoCompleteInput/__tests__/MentionsItem.test.js +0 -62
- package/src/components/MessageList/__tests__/__snapshots__/MessageList.test.js.snap +0 -936
|
@@ -106,9 +106,7 @@ export type MessageContentPropsWithContext<
|
|
|
106
106
|
| 'MessageReplies'
|
|
107
107
|
| 'MessageStatus'
|
|
108
108
|
| 'onPressInMessage'
|
|
109
|
-
| 'quotedRepliesEnabled'
|
|
110
109
|
| 'Reply'
|
|
111
|
-
| 'threadRepliesEnabled'
|
|
112
110
|
> &
|
|
113
111
|
Pick<TranslationContextValue, 't' | 'tDateTimeParser'> & {
|
|
114
112
|
setMessageContentWidth: React.Dispatch<React.SetStateAction<number>>;
|
|
@@ -154,18 +152,16 @@ const MessageContentWithContext = <
|
|
|
154
152
|
onPressIn,
|
|
155
153
|
otherAttachments,
|
|
156
154
|
preventPress,
|
|
157
|
-
quotedRepliesEnabled,
|
|
158
155
|
Reply,
|
|
159
156
|
setMessageContentWidth,
|
|
160
157
|
showMessageStatus,
|
|
161
158
|
tDateTimeParser,
|
|
162
159
|
threadList,
|
|
163
|
-
threadRepliesEnabled,
|
|
164
160
|
} = props;
|
|
165
161
|
|
|
166
162
|
const {
|
|
167
163
|
theme: {
|
|
168
|
-
colors: { accent_red, blue_alice, grey_gainsboro, grey_whisper, transparent },
|
|
164
|
+
colors: { accent_red, blue_alice, grey_gainsboro, grey_whisper, transparent, white },
|
|
169
165
|
messageSimple: {
|
|
170
166
|
content: {
|
|
171
167
|
container: { borderRadiusL, borderRadiusS, ...container },
|
|
@@ -213,7 +209,9 @@ const MessageContentWithContext = <
|
|
|
213
209
|
|
|
214
210
|
const noBorder = (onlyEmojis && !message.quoted_message) || !!otherAttachments.length;
|
|
215
211
|
|
|
216
|
-
|
|
212
|
+
const isMessageTypeDeleted = message.type === 'deleted';
|
|
213
|
+
|
|
214
|
+
if (isMessageTypeDeleted) {
|
|
217
215
|
return (
|
|
218
216
|
<MessageDeleted
|
|
219
217
|
formattedDate={getDateText(formatDate)}
|
|
@@ -234,7 +232,7 @@ const MessageContentWithContext = <
|
|
|
234
232
|
: grey_gainsboro
|
|
235
233
|
: blue_alice
|
|
236
234
|
: alignment === 'left' || error
|
|
237
|
-
?
|
|
235
|
+
? white
|
|
238
236
|
: grey_gainsboro;
|
|
239
237
|
|
|
240
238
|
const repliesCurveColor = isMyMessage && !error ? backgroundColor : grey_whisper;
|
|
@@ -267,6 +265,7 @@ const MessageContentWithContext = <
|
|
|
267
265
|
});
|
|
268
266
|
}
|
|
269
267
|
}}
|
|
268
|
+
testID='message-content'
|
|
270
269
|
{...additionalTouchableProps}
|
|
271
270
|
/**
|
|
272
271
|
* Border radii are useful for the case of error message types only.
|
|
@@ -283,7 +282,7 @@ const MessageContentWithContext = <
|
|
|
283
282
|
<MessageHeader
|
|
284
283
|
alignment={alignment}
|
|
285
284
|
formattedDate={getDateText(formatDate)}
|
|
286
|
-
isDeleted={!!
|
|
285
|
+
isDeleted={!!isMessageTypeDeleted}
|
|
287
286
|
lastGroupMessage={lastGroupMessage}
|
|
288
287
|
members={members}
|
|
289
288
|
message={message}
|
|
@@ -293,7 +292,7 @@ const MessageContentWithContext = <
|
|
|
293
292
|
/>
|
|
294
293
|
)}
|
|
295
294
|
<View onLayout={onLayout} style={wrapper}>
|
|
296
|
-
{hasThreadReplies && !threadList &&
|
|
295
|
+
{hasThreadReplies && !threadList && !noBorder && (
|
|
297
296
|
<View
|
|
298
297
|
style={[
|
|
299
298
|
styles.replyBorder,
|
|
@@ -333,8 +332,7 @@ const MessageContentWithContext = <
|
|
|
333
332
|
switch (messageContentType) {
|
|
334
333
|
case 'quoted_reply':
|
|
335
334
|
return (
|
|
336
|
-
message.quoted_message &&
|
|
337
|
-
quotedRepliesEnabled && (
|
|
335
|
+
message.quoted_message && (
|
|
338
336
|
<View
|
|
339
337
|
key={`quoted_reply_${messageContentOrderIndex}`}
|
|
340
338
|
style={[styles.replyContainer, replyContainer]}
|
|
@@ -374,10 +372,8 @@ const MessageContentWithContext = <
|
|
|
374
372
|
</View>
|
|
375
373
|
)}
|
|
376
374
|
</View>
|
|
377
|
-
{
|
|
378
|
-
|
|
379
|
-
)}
|
|
380
|
-
<MessageFooter formattedDate={getDateText(formatDate)} isDeleted={!!message.deleted_at} />
|
|
375
|
+
<MessageReplies noBorder={noBorder} repliesCurveColor={repliesCurveColor} />
|
|
376
|
+
<MessageFooter formattedDate={getDateText(formatDate)} isDeleted={!!isMessageTypeDeleted} />
|
|
381
377
|
</TouchableOpacity>
|
|
382
378
|
);
|
|
383
379
|
};
|
|
@@ -448,18 +444,25 @@ const areEqual = <
|
|
|
448
444
|
prevGroupStyles?.[0] === nextGroupStyles?.[0];
|
|
449
445
|
if (!groupStylesEqual) return false;
|
|
450
446
|
|
|
447
|
+
const isPrevMessageTypeDeleted = prevMessage.type === 'deleted';
|
|
448
|
+
const isNextMessageTypeDeleted = nextMessage.type === 'deleted';
|
|
449
|
+
|
|
451
450
|
const messageEqual =
|
|
452
|
-
|
|
451
|
+
isPrevMessageTypeDeleted === isNextMessageTypeDeleted &&
|
|
453
452
|
prevMessage.reply_count === nextMessage.reply_count &&
|
|
454
453
|
prevMessage.status === nextMessage.status &&
|
|
455
454
|
prevMessage.type === nextMessage.type &&
|
|
456
|
-
prevMessage.text === nextMessage.text
|
|
455
|
+
prevMessage.text === nextMessage.text &&
|
|
456
|
+
prevMessage.pinned === nextMessage.pinned;
|
|
457
457
|
|
|
458
458
|
if (!messageEqual) return false;
|
|
459
459
|
|
|
460
|
+
const isPrevQuotedMessageTypeDeleted = prevMessage.quoted_message?.type === 'deleted';
|
|
461
|
+
const isNextQuotedMessageTypeDeleted = nextMessage.quoted_message?.type === 'deleted';
|
|
462
|
+
|
|
460
463
|
const quotedMessageEqual =
|
|
461
464
|
prevMessage.quoted_message?.id === nextMessage.quoted_message?.id &&
|
|
462
|
-
|
|
465
|
+
isPrevQuotedMessageTypeDeleted === isNextQuotedMessageTypeDeleted;
|
|
463
466
|
|
|
464
467
|
if (!quotedMessageEqual) return false;
|
|
465
468
|
|
|
@@ -566,9 +569,7 @@ export const MessageContent = <
|
|
|
566
569
|
MessageHeader,
|
|
567
570
|
MessageReplies,
|
|
568
571
|
MessageStatus,
|
|
569
|
-
quotedRepliesEnabled,
|
|
570
572
|
Reply,
|
|
571
|
-
threadRepliesEnabled,
|
|
572
573
|
} = useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();
|
|
573
574
|
const { t, tDateTimeParser } = useTranslationContext();
|
|
574
575
|
|
|
@@ -602,13 +603,11 @@ export const MessageContent = <
|
|
|
602
603
|
onPressIn,
|
|
603
604
|
otherAttachments,
|
|
604
605
|
preventPress,
|
|
605
|
-
quotedRepliesEnabled,
|
|
606
606
|
Reply,
|
|
607
607
|
showMessageStatus,
|
|
608
608
|
t,
|
|
609
609
|
tDateTimeParser,
|
|
610
610
|
threadList,
|
|
611
|
-
threadRepliesEnabled,
|
|
612
611
|
}}
|
|
613
612
|
{...props}
|
|
614
613
|
/>
|
|
@@ -160,13 +160,16 @@ const areEqual = <
|
|
|
160
160
|
|
|
161
161
|
const alignmentEqual = prevAlignment === nextAlignment;
|
|
162
162
|
if (!alignmentEqual) return false;
|
|
163
|
+
const isPrevMessageTypeDeleted = prevMessage.type === 'deleted';
|
|
164
|
+
const isNextMessageTypeDeleted = nextMessage.type === 'deleted';
|
|
163
165
|
|
|
164
166
|
const messageEqual =
|
|
165
|
-
|
|
167
|
+
isPrevMessageTypeDeleted === isNextMessageTypeDeleted &&
|
|
166
168
|
prevMessage.reply_count === nextMessage.reply_count &&
|
|
167
169
|
prevMessage.status === nextMessage.status &&
|
|
168
170
|
prevMessage.type === nextMessage.type &&
|
|
169
|
-
prevMessage.text === nextMessage.text
|
|
171
|
+
prevMessage.text === nextMessage.text &&
|
|
172
|
+
prevMessage.pinned === nextMessage.pinned;
|
|
170
173
|
if (!messageEqual) return false;
|
|
171
174
|
|
|
172
175
|
const formattedDateEqual = prevFormattedDate === nextFormattedDate;
|
|
@@ -55,7 +55,10 @@ type MessageFooterPropsWithContext<
|
|
|
55
55
|
| 'showMessageStatus'
|
|
56
56
|
| 'lastGroupMessage'
|
|
57
57
|
> &
|
|
58
|
-
Pick<
|
|
58
|
+
Pick<
|
|
59
|
+
MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>,
|
|
60
|
+
'deletedMessagesVisibilityType' | 'MessageStatus'
|
|
61
|
+
> &
|
|
59
62
|
MessageFooterComponentProps;
|
|
60
63
|
|
|
61
64
|
const MessageFooterWithContext = <
|
|
@@ -71,6 +74,7 @@ const MessageFooterWithContext = <
|
|
|
71
74
|
) => {
|
|
72
75
|
const {
|
|
73
76
|
alignment,
|
|
77
|
+
deletedMessagesVisibilityType,
|
|
74
78
|
formattedDate,
|
|
75
79
|
isDeleted,
|
|
76
80
|
lastGroupMessage,
|
|
@@ -94,19 +98,24 @@ const MessageFooterWithContext = <
|
|
|
94
98
|
if (isDeleted) {
|
|
95
99
|
return (
|
|
96
100
|
<View style={metaContainer} testID='message-deleted'>
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
101
|
+
{deletedMessagesVisibilityType === 'sender' && (
|
|
102
|
+
<>
|
|
103
|
+
<Eye pathFill={isDeleted ? undefined : grey} {...eyeIcon} />
|
|
104
|
+
<Text
|
|
105
|
+
style={[
|
|
106
|
+
{
|
|
107
|
+
color: grey,
|
|
108
|
+
textAlign: alignment,
|
|
109
|
+
},
|
|
110
|
+
metaText,
|
|
111
|
+
deletedMetaText,
|
|
112
|
+
]}
|
|
113
|
+
testID='only-visible-to-you'
|
|
114
|
+
>
|
|
115
|
+
{t('Only visible to you')}
|
|
116
|
+
</Text>
|
|
117
|
+
</>
|
|
118
|
+
)}
|
|
110
119
|
<Text
|
|
111
120
|
style={[
|
|
112
121
|
{
|
|
@@ -194,12 +203,20 @@ const areEqual = <
|
|
|
194
203
|
const lastGroupMessageEqual = prevLastGroupMessage === nextLastGroupMessage;
|
|
195
204
|
if (!lastGroupMessageEqual) return false;
|
|
196
205
|
|
|
206
|
+
const deletedMessagesVisibilityTypeEqual =
|
|
207
|
+
prevProps.deletedMessagesVisibilityType === nextProps.deletedMessagesVisibilityType;
|
|
208
|
+
if (!deletedMessagesVisibilityTypeEqual) return false;
|
|
209
|
+
|
|
210
|
+
const isPrevMessageTypeDeleted = prevMessage.type === 'deleted';
|
|
211
|
+
const isNextMessageTypeDeleted = nextMessage.type === 'deleted';
|
|
212
|
+
|
|
197
213
|
const messageEqual =
|
|
198
|
-
|
|
214
|
+
isPrevMessageTypeDeleted === isNextMessageTypeDeleted &&
|
|
199
215
|
prevMessage.reply_count === nextMessage.reply_count &&
|
|
200
216
|
prevMessage.status === nextMessage.status &&
|
|
201
217
|
prevMessage.type === nextMessage.type &&
|
|
202
|
-
prevMessage.text === nextMessage.text
|
|
218
|
+
prevMessage.text === nextMessage.text &&
|
|
219
|
+
prevMessage.pinned === nextMessage.pinned;
|
|
203
220
|
if (!messageEqual) return false;
|
|
204
221
|
|
|
205
222
|
const otherAttachmentsEqual =
|
|
@@ -253,12 +270,14 @@ export const MessageFooter = <
|
|
|
253
270
|
const { alignment, lastGroupMessage, members, message, otherAttachments, showMessageStatus } =
|
|
254
271
|
useMessageContext<At, Ch, Co, Ev, Me, Re, Us>();
|
|
255
272
|
|
|
256
|
-
const { MessageStatus } =
|
|
273
|
+
const { deletedMessagesVisibilityType, MessageStatus } =
|
|
274
|
+
useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();
|
|
257
275
|
|
|
258
276
|
return (
|
|
259
277
|
<MemoizedMessageFooter
|
|
260
278
|
{...{
|
|
261
279
|
alignment,
|
|
280
|
+
deletedMessagesVisibilityType,
|
|
262
281
|
lastGroupMessage,
|
|
263
282
|
members,
|
|
264
283
|
message,
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { StyleSheet, Text, View } from 'react-native';
|
|
3
|
+
import { PinHeader } from '../../../icons';
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
MessageContextValue,
|
|
7
|
+
useMessageContext,
|
|
8
|
+
} from '../../../contexts/messageContext/MessageContext';
|
|
9
|
+
import { useTheme } from '../../../contexts/themeContext/ThemeContext';
|
|
10
|
+
import { useTranslationContext } from '../../../contexts/translationContext/TranslationContext';
|
|
11
|
+
|
|
12
|
+
const styles = StyleSheet.create({
|
|
13
|
+
container: {
|
|
14
|
+
display: 'flex',
|
|
15
|
+
flexDirection: 'row',
|
|
16
|
+
marginBottom: 8,
|
|
17
|
+
marginLeft: 30,
|
|
18
|
+
marginTop: 5,
|
|
19
|
+
},
|
|
20
|
+
label: {},
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
import type {
|
|
24
|
+
DefaultAttachmentType,
|
|
25
|
+
DefaultChannelType,
|
|
26
|
+
DefaultCommandType,
|
|
27
|
+
DefaultEventType,
|
|
28
|
+
DefaultMessageType,
|
|
29
|
+
DefaultReactionType,
|
|
30
|
+
DefaultUserType,
|
|
31
|
+
UnknownType,
|
|
32
|
+
} from '../../../types/types';
|
|
33
|
+
import { useChatContext } from '../../../contexts/chatContext/ChatContext';
|
|
34
|
+
|
|
35
|
+
export type MessagePinnedHeaderPropsWithContext<
|
|
36
|
+
At extends UnknownType = DefaultAttachmentType,
|
|
37
|
+
Ch extends UnknownType = DefaultChannelType,
|
|
38
|
+
Co extends string = DefaultCommandType,
|
|
39
|
+
Ev extends UnknownType = DefaultEventType,
|
|
40
|
+
Me extends UnknownType = DefaultMessageType,
|
|
41
|
+
Re extends UnknownType = DefaultReactionType,
|
|
42
|
+
Us extends DefaultUserType = DefaultUserType,
|
|
43
|
+
> = Pick<MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'alignment' | 'message'>;
|
|
44
|
+
|
|
45
|
+
const MessagePinnedHeaderWithContext = <
|
|
46
|
+
At extends UnknownType = DefaultAttachmentType,
|
|
47
|
+
Ch extends UnknownType = DefaultChannelType,
|
|
48
|
+
Co extends string = DefaultCommandType,
|
|
49
|
+
Ev extends UnknownType = DefaultEventType,
|
|
50
|
+
Me extends UnknownType = DefaultMessageType,
|
|
51
|
+
Re extends UnknownType = DefaultReactionType,
|
|
52
|
+
Us extends DefaultUserType = DefaultUserType,
|
|
53
|
+
>(
|
|
54
|
+
props: MessagePinnedHeaderPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,
|
|
55
|
+
) => {
|
|
56
|
+
const { alignment, message } = props;
|
|
57
|
+
const {
|
|
58
|
+
theme: {
|
|
59
|
+
colors: { grey },
|
|
60
|
+
messageSimple: { pinnedHeader },
|
|
61
|
+
},
|
|
62
|
+
} = useTheme();
|
|
63
|
+
const { container, label } = pinnedHeader;
|
|
64
|
+
const { t } = useTranslationContext();
|
|
65
|
+
const { client } = useChatContext();
|
|
66
|
+
return (
|
|
67
|
+
<View
|
|
68
|
+
style={[
|
|
69
|
+
styles.container,
|
|
70
|
+
{
|
|
71
|
+
justifyContent: alignment === 'left' ? 'flex-start' : 'flex-end',
|
|
72
|
+
},
|
|
73
|
+
container,
|
|
74
|
+
]}
|
|
75
|
+
testID='message-pinned'
|
|
76
|
+
>
|
|
77
|
+
<PinHeader pathFill={grey} />
|
|
78
|
+
<Text style={[{ color: grey }, styles.label, label]}>
|
|
79
|
+
Pinned by{' '}
|
|
80
|
+
{message?.pinned_by?.id === client?.user?.id ? t('You') : message?.pinned_by?.name}
|
|
81
|
+
</Text>
|
|
82
|
+
</View>
|
|
83
|
+
);
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
const areEqual = <
|
|
87
|
+
At extends UnknownType = DefaultAttachmentType,
|
|
88
|
+
Ch extends UnknownType = DefaultChannelType,
|
|
89
|
+
Co extends string = DefaultCommandType,
|
|
90
|
+
Ev extends UnknownType = DefaultEventType,
|
|
91
|
+
Me extends UnknownType = DefaultMessageType,
|
|
92
|
+
Re extends UnknownType = DefaultReactionType,
|
|
93
|
+
Us extends UnknownType = DefaultUserType,
|
|
94
|
+
>(
|
|
95
|
+
prevProps: MessagePinnedHeaderPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,
|
|
96
|
+
nextProps: MessagePinnedHeaderPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,
|
|
97
|
+
) => {
|
|
98
|
+
const { message: prevMessage } = prevProps;
|
|
99
|
+
const { message: nextMessage } = nextProps;
|
|
100
|
+
const messageEqual =
|
|
101
|
+
prevMessage.deleted_at === nextMessage.deleted_at &&
|
|
102
|
+
prevMessage.status === nextMessage.status &&
|
|
103
|
+
prevMessage.type === nextMessage.type &&
|
|
104
|
+
prevMessage.text === nextMessage.text &&
|
|
105
|
+
prevMessage.pinned === nextMessage.pinned;
|
|
106
|
+
if (!messageEqual) return false;
|
|
107
|
+
return true;
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
const MemoizedMessagePinnedHeader = React.memo(
|
|
111
|
+
MessagePinnedHeaderWithContext,
|
|
112
|
+
areEqual,
|
|
113
|
+
) as typeof MessagePinnedHeaderWithContext;
|
|
114
|
+
|
|
115
|
+
export type MessagePinnedHeaderProps<
|
|
116
|
+
At extends UnknownType = DefaultAttachmentType,
|
|
117
|
+
Ch extends UnknownType = DefaultChannelType,
|
|
118
|
+
Co extends string = DefaultCommandType,
|
|
119
|
+
Ev extends UnknownType = DefaultEventType,
|
|
120
|
+
Me extends UnknownType = DefaultMessageType,
|
|
121
|
+
Re extends UnknownType = DefaultReactionType,
|
|
122
|
+
Us extends DefaultUserType = DefaultUserType,
|
|
123
|
+
> = Partial<MessagePinnedHeaderPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>>;
|
|
124
|
+
|
|
125
|
+
export const MessagePinnedHeader = <
|
|
126
|
+
At extends UnknownType = DefaultAttachmentType,
|
|
127
|
+
Ch extends UnknownType = DefaultChannelType,
|
|
128
|
+
Co extends string = DefaultCommandType,
|
|
129
|
+
Ev extends UnknownType = DefaultEventType,
|
|
130
|
+
Me extends UnknownType = DefaultMessageType,
|
|
131
|
+
Re extends UnknownType = DefaultReactionType,
|
|
132
|
+
Us extends DefaultUserType = DefaultUserType,
|
|
133
|
+
>(
|
|
134
|
+
props: MessagePinnedHeaderProps<At, Ch, Co, Ev, Me, Re, Us>,
|
|
135
|
+
) => {
|
|
136
|
+
const { alignment, lastGroupMessage, message } = useMessageContext<At, Ch, Co, Ev, Me, Re, Us>();
|
|
137
|
+
|
|
138
|
+
return (
|
|
139
|
+
<MemoizedMessagePinnedHeader
|
|
140
|
+
{...{
|
|
141
|
+
alignment,
|
|
142
|
+
lastGroupMessage,
|
|
143
|
+
message,
|
|
144
|
+
}}
|
|
145
|
+
{...props}
|
|
146
|
+
/>
|
|
147
|
+
);
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
MessagePinnedHeader.displayName = 'MessagePinnedHeader{messageSimple{pinned}}';
|
|
@@ -220,12 +220,14 @@ const areEqual = <
|
|
|
220
220
|
const {
|
|
221
221
|
message: prevMessage,
|
|
222
222
|
noBorder: prevNoBorder,
|
|
223
|
+
onOpenThread: prevOnOpenThread,
|
|
223
224
|
t: prevT,
|
|
224
225
|
threadList: prevThreadList,
|
|
225
226
|
} = prevProps;
|
|
226
227
|
const {
|
|
227
228
|
message: nextMessage,
|
|
228
229
|
noBorder: nextNoBorder,
|
|
230
|
+
onOpenThread: nextOnOpenThread,
|
|
229
231
|
t: nextT,
|
|
230
232
|
threadList: nextThreadList,
|
|
231
233
|
} = nextProps;
|
|
@@ -242,6 +244,9 @@ const areEqual = <
|
|
|
242
244
|
const tEqual = prevT === nextT;
|
|
243
245
|
if (!tEqual) return false;
|
|
244
246
|
|
|
247
|
+
const onOpenThreadEqual = prevOnOpenThread === nextOnOpenThread;
|
|
248
|
+
if (!onOpenThreadEqual) return false;
|
|
249
|
+
|
|
245
250
|
return true;
|
|
246
251
|
};
|
|
247
252
|
|
|
@@ -43,7 +43,11 @@ export type MessageSimplePropsWithContext<
|
|
|
43
43
|
> &
|
|
44
44
|
Pick<
|
|
45
45
|
MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>,
|
|
46
|
-
|
|
46
|
+
| 'enableMessageGroupingByUser'
|
|
47
|
+
| 'MessageAvatar'
|
|
48
|
+
| 'MessageContent'
|
|
49
|
+
| 'MessagePinnedHeader'
|
|
50
|
+
| 'ReactionList'
|
|
47
51
|
>;
|
|
48
52
|
|
|
49
53
|
const MessageSimpleWithContext = <
|
|
@@ -66,6 +70,7 @@ const MessageSimpleWithContext = <
|
|
|
66
70
|
message,
|
|
67
71
|
MessageAvatar,
|
|
68
72
|
MessageContent,
|
|
73
|
+
MessagePinnedHeader,
|
|
69
74
|
ReactionList,
|
|
70
75
|
} = props;
|
|
71
76
|
|
|
@@ -85,26 +90,29 @@ const MessageSimpleWithContext = <
|
|
|
85
90
|
const showReactions = hasReactions && ReactionList;
|
|
86
91
|
|
|
87
92
|
return (
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
{
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
?
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
93
|
+
<>
|
|
94
|
+
{message.pinned && <MessagePinnedHeader />}
|
|
95
|
+
<View
|
|
96
|
+
style={[
|
|
97
|
+
styles.container,
|
|
98
|
+
{
|
|
99
|
+
justifyContent: alignment === 'left' ? 'flex-start' : 'flex-end',
|
|
100
|
+
marginBottom: hasMarginBottom
|
|
101
|
+
? isVeryLastMessage && enableMessageGroupingByUser
|
|
102
|
+
? 30
|
|
103
|
+
: 8
|
|
104
|
+
: 0,
|
|
105
|
+
marginTop: showReactions ? 2 : 0,
|
|
106
|
+
},
|
|
107
|
+
container,
|
|
108
|
+
]}
|
|
109
|
+
testID='message-simple-wrapper'
|
|
110
|
+
>
|
|
111
|
+
{alignment === 'left' && <MessageAvatar />}
|
|
112
|
+
<MessageContent setMessageContentWidth={setMessageContentWidth} />
|
|
113
|
+
{showReactions && <ReactionList messageContentWidth={messageContentWidth} />}
|
|
114
|
+
</View>
|
|
115
|
+
</>
|
|
108
116
|
);
|
|
109
117
|
};
|
|
110
118
|
|
|
@@ -142,16 +150,23 @@ const areEqual = <
|
|
|
142
150
|
const groupStylesEqual = JSON.stringify(prevGroupStyles) === JSON.stringify(nextGroupStyles);
|
|
143
151
|
if (!groupStylesEqual) return false;
|
|
144
152
|
|
|
153
|
+
const isPrevMessageTypeDeleted = prevMessage.type === 'deleted';
|
|
154
|
+
const isNextMessageTypeDeleted = nextMessage.type === 'deleted';
|
|
155
|
+
|
|
145
156
|
const messageEqual =
|
|
146
|
-
|
|
157
|
+
isPrevMessageTypeDeleted === isNextMessageTypeDeleted &&
|
|
147
158
|
prevMessage.status === nextMessage.status &&
|
|
148
159
|
prevMessage.type === nextMessage.type &&
|
|
149
|
-
prevMessage.text === nextMessage.text
|
|
160
|
+
prevMessage.text === nextMessage.text &&
|
|
161
|
+
prevMessage.pinned === nextMessage.pinned;
|
|
150
162
|
if (!messageEqual) return false;
|
|
151
163
|
|
|
164
|
+
const isPrevQuotedMessageTypeDeleted = prevMessage.quoted_message?.type === 'deleted';
|
|
165
|
+
const isNextQuotedMessageTypeDeleted = nextMessage.quoted_message?.type === 'deleted';
|
|
166
|
+
|
|
152
167
|
const quotedMessageEqual =
|
|
153
168
|
prevMessage.quoted_message?.id === nextMessage.quoted_message?.id &&
|
|
154
|
-
|
|
169
|
+
isPrevQuotedMessageTypeDeleted === isNextQuotedMessageTypeDeleted;
|
|
155
170
|
|
|
156
171
|
if (!quotedMessageEqual) return false;
|
|
157
172
|
|
|
@@ -216,8 +231,13 @@ export const MessageSimple = <
|
|
|
216
231
|
) => {
|
|
217
232
|
const { alignment, channel, groupStyles, hasReactions, message } =
|
|
218
233
|
useMessageContext<At, Ch, Co, Ev, Me, Re, Us>();
|
|
219
|
-
const {
|
|
220
|
-
|
|
234
|
+
const {
|
|
235
|
+
enableMessageGroupingByUser,
|
|
236
|
+
MessageAvatar,
|
|
237
|
+
MessageContent,
|
|
238
|
+
MessagePinnedHeader,
|
|
239
|
+
ReactionList,
|
|
240
|
+
} = useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();
|
|
221
241
|
|
|
222
242
|
return (
|
|
223
243
|
<MemoizedMessageSimple<At, Ch, Co, Ev, Me, Re, Us>
|
|
@@ -230,6 +250,7 @@ export const MessageSimple = <
|
|
|
230
250
|
message,
|
|
231
251
|
MessageAvatar,
|
|
232
252
|
MessageContent,
|
|
253
|
+
MessagePinnedHeader,
|
|
233
254
|
ReactionList,
|
|
234
255
|
}}
|
|
235
256
|
{...props}
|
|
@@ -45,10 +45,7 @@ export type MessageStatusPropsWithContext<
|
|
|
45
45
|
Me extends UnknownType = DefaultMessageType,
|
|
46
46
|
Re extends UnknownType = DefaultReactionType,
|
|
47
47
|
Us extends DefaultUserType = DefaultUserType,
|
|
48
|
-
> = Pick<
|
|
49
|
-
MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>,
|
|
50
|
-
'message' | 'readEventsEnabled' | 'threadList'
|
|
51
|
-
>;
|
|
48
|
+
> = Pick<MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'message' | 'threadList'>;
|
|
52
49
|
|
|
53
50
|
const MessageStatusWithContext = <
|
|
54
51
|
At extends UnknownType = DefaultAttachmentType,
|
|
@@ -61,11 +58,11 @@ const MessageStatusWithContext = <
|
|
|
61
58
|
>(
|
|
62
59
|
props: MessageStatusPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,
|
|
63
60
|
) => {
|
|
64
|
-
const { message,
|
|
61
|
+
const { message, threadList } = props;
|
|
65
62
|
|
|
66
63
|
const {
|
|
67
64
|
theme: {
|
|
68
|
-
colors: { accent_blue },
|
|
65
|
+
colors: { accent_blue, grey_dark },
|
|
69
66
|
messageSimple: {
|
|
70
67
|
status: { checkAllIcon, checkIcon, readByCount, statusContainer, timeIcon },
|
|
71
68
|
},
|
|
@@ -80,11 +77,7 @@ const MessageStatusWithContext = <
|
|
|
80
77
|
);
|
|
81
78
|
}
|
|
82
79
|
|
|
83
|
-
if (
|
|
84
|
-
isMessageWithStylesReadByAndDateSeparator(message) &&
|
|
85
|
-
!threadList &&
|
|
86
|
-
readEventsEnabled !== false
|
|
87
|
-
) {
|
|
80
|
+
if (isMessageWithStylesReadByAndDateSeparator(message) && !threadList) {
|
|
88
81
|
return (
|
|
89
82
|
<View style={[styles.statusContainer, statusContainer]}>
|
|
90
83
|
{typeof message.readBy === 'number' ? (
|
|
@@ -98,7 +91,7 @@ const MessageStatusWithContext = <
|
|
|
98
91
|
{typeof message.readBy === 'number' || message.readBy === true ? (
|
|
99
92
|
<CheckAll pathFill={accent_blue} {...checkAllIcon} />
|
|
100
93
|
) : (
|
|
101
|
-
<Check {...checkIcon} />
|
|
94
|
+
<Check pathFill={grey_dark} {...checkIcon} />
|
|
102
95
|
)}
|
|
103
96
|
</View>
|
|
104
97
|
);
|
|
@@ -107,7 +100,7 @@ const MessageStatusWithContext = <
|
|
|
107
100
|
if (message.status === 'received' && message.type !== 'ephemeral' && !threadList) {
|
|
108
101
|
return (
|
|
109
102
|
<View style={[styles.statusContainer, statusContainer]} testID='delivered-container'>
|
|
110
|
-
<Check {...checkIcon} />
|
|
103
|
+
<Check pathFill={grey_dark} {...checkIcon} />
|
|
111
104
|
</View>
|
|
112
105
|
);
|
|
113
106
|
}
|
|
@@ -127,23 +120,12 @@ const areEqual = <
|
|
|
127
120
|
prevProps: MessageStatusPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,
|
|
128
121
|
nextProps: MessageStatusPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,
|
|
129
122
|
) => {
|
|
130
|
-
const {
|
|
131
|
-
|
|
132
|
-
readEventsEnabled: prevReadEventsEnabled,
|
|
133
|
-
threadList: prevThreadList,
|
|
134
|
-
} = prevProps;
|
|
135
|
-
const {
|
|
136
|
-
message: nextMessage,
|
|
137
|
-
readEventsEnabled: nextReadEventsEnabled,
|
|
138
|
-
threadList: nextThreadList,
|
|
139
|
-
} = nextProps;
|
|
123
|
+
const { message: prevMessage, threadList: prevThreadList } = prevProps;
|
|
124
|
+
const { message: nextMessage, threadList: nextThreadList } = nextProps;
|
|
140
125
|
|
|
141
126
|
const threadListEqual = prevThreadList === nextThreadList;
|
|
142
127
|
if (!threadListEqual) return false;
|
|
143
128
|
|
|
144
|
-
const readEventsEnabledEqual = prevReadEventsEnabled === nextReadEventsEnabled;
|
|
145
|
-
if (!readEventsEnabledEqual) return false;
|
|
146
|
-
|
|
147
129
|
const messageEqual =
|
|
148
130
|
prevMessage.status === nextMessage.status &&
|
|
149
131
|
prevMessage.type === nextMessage.type &&
|
|
@@ -180,10 +162,9 @@ export const MessageStatus = <
|
|
|
180
162
|
>(
|
|
181
163
|
props: MessageStatusProps<At, Ch, Co, Ev, Me, Re, Us>,
|
|
182
164
|
) => {
|
|
183
|
-
const { message,
|
|
184
|
-
useMessageContext<At, Ch, Co, Ev, Me, Re, Us>();
|
|
165
|
+
const { message, threadList } = useMessageContext<At, Ch, Co, Ev, Me, Re, Us>();
|
|
185
166
|
|
|
186
|
-
return <MemoizedMessageStatus {...{ message,
|
|
167
|
+
return <MemoizedMessageStatus {...{ message, threadList }} {...props} />;
|
|
187
168
|
};
|
|
188
169
|
|
|
189
170
|
MessageStatus.displayName = 'MessageStatus{messageSimple{status}}';
|