stream-chat-react-native-core 3.10.2 → 4.0.0-beta.1
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 -857
- 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 +30 -11
- 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 -857
- 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 +30 -11
- 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 +11 -0
- 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
|
@@ -1,34 +1,22 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import { cleanup, render, waitFor } from '@testing-library/react-native';
|
|
2
|
+
import { act, cleanup, render, waitFor } from '@testing-library/react-native';
|
|
4
3
|
|
|
5
4
|
import { MessageList } from '../MessageList';
|
|
6
5
|
|
|
7
6
|
import { Channel } from '../../Channel/Channel';
|
|
8
7
|
import { Chat } from '../../Chat/Chat';
|
|
9
8
|
|
|
10
|
-
import { ChatContext, ChatProvider } from '../../../contexts/chatContext/ChatContext';
|
|
11
|
-
|
|
12
9
|
import { getOrCreateChannelApi } from '../../../mock-builders/api/getOrCreateChannel';
|
|
13
10
|
import { useMockedApis } from '../../../mock-builders/api/useMockedApis';
|
|
14
11
|
import dispatchMessageNewEvent from '../../../mock-builders/event/messageNew';
|
|
15
12
|
import dispatchTypingEvent from '../../../mock-builders/event/typing';
|
|
16
13
|
import { generateChannel } from '../../../mock-builders/generator/channel';
|
|
17
14
|
import { generateMember } from '../../../mock-builders/generator/member';
|
|
18
|
-
import { generateMessage
|
|
19
|
-
import {
|
|
15
|
+
import { generateMessage } from '../../../mock-builders/generator/message';
|
|
16
|
+
import { generateUser } from '../../../mock-builders/generator/user';
|
|
20
17
|
import { getTestClientWithUser } from '../../../mock-builders/mock';
|
|
21
|
-
import {
|
|
22
|
-
|
|
23
|
-
function MockedFlatList(props) {
|
|
24
|
-
if (!props.data.length && props.ListEmptyComponent) return props.ListEmptyComponent();
|
|
25
|
-
|
|
26
|
-
const items = props.data.map((item, index) => {
|
|
27
|
-
const key = props.keyExtractor(item, index);
|
|
28
|
-
return <View key={key}>{props.renderItem({ index, item })}</View>;
|
|
29
|
-
});
|
|
30
|
-
return <View testID={props.testID}>{items}</View>;
|
|
31
|
-
}
|
|
18
|
+
import { OverlayProvider } from '../../../contexts/overlayContext/OverlayProvider';
|
|
19
|
+
import { registerNativeHandlers } from '../../../native';
|
|
32
20
|
|
|
33
21
|
describe('MessageList', () => {
|
|
34
22
|
afterEach(cleanup);
|
|
@@ -44,21 +32,20 @@ describe('MessageList', () => {
|
|
|
44
32
|
const chatClient = await getTestClientWithUser({ id: 'testID' });
|
|
45
33
|
useMockedApis(chatClient, [getOrCreateChannelApi(mockedChannel)]);
|
|
46
34
|
const channel = chatClient.channel('messaging', mockedChannel.id);
|
|
47
|
-
await channel.
|
|
48
|
-
channel.initialized = true;
|
|
35
|
+
await channel.watch();
|
|
49
36
|
|
|
50
37
|
const { getByText, queryAllByTestId } = render(
|
|
51
|
-
<
|
|
52
|
-
<
|
|
53
|
-
<Channel channel={channel}
|
|
38
|
+
<OverlayProvider>
|
|
39
|
+
<Chat client={chatClient}>
|
|
40
|
+
<Channel channel={channel}>
|
|
54
41
|
<MessageList />
|
|
55
42
|
</Channel>
|
|
56
|
-
</
|
|
57
|
-
</
|
|
43
|
+
</Chat>
|
|
44
|
+
</OverlayProvider>,
|
|
58
45
|
);
|
|
59
46
|
|
|
60
47
|
const newMessage = generateMessage({ user: user2 });
|
|
61
|
-
dispatchMessageNewEvent(chatClient, newMessage, mockedChannel.channel);
|
|
48
|
+
act(() => dispatchMessageNewEvent(chatClient, newMessage, mockedChannel.channel));
|
|
62
49
|
|
|
63
50
|
await waitFor(() => {
|
|
64
51
|
expect(queryAllByTestId('message-notification')).toHaveLength(0);
|
|
@@ -80,31 +67,192 @@ describe('MessageList', () => {
|
|
|
80
67
|
const chatClient = await getTestClientWithUser({ id: 'testID' });
|
|
81
68
|
useMockedApis(chatClient, [getOrCreateChannelApi(mockedChannel)]);
|
|
82
69
|
const channel = chatClient.channel('messaging', mockedChannel.id);
|
|
83
|
-
await channel.
|
|
70
|
+
await channel.watch();
|
|
84
71
|
|
|
85
72
|
const { getByTestId, queryAllByTestId } = render(
|
|
86
|
-
<
|
|
87
|
-
<
|
|
88
|
-
{
|
|
89
|
-
<
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
</Channel>
|
|
94
|
-
</ImageGalleryProvider>
|
|
95
|
-
</ChatProvider>
|
|
96
|
-
)}
|
|
97
|
-
</ChatContext.Consumer>
|
|
98
|
-
</Chat>,
|
|
73
|
+
<OverlayProvider>
|
|
74
|
+
<Chat client={chatClient}>
|
|
75
|
+
<Channel channel={channel}>
|
|
76
|
+
<MessageList />
|
|
77
|
+
</Channel>
|
|
78
|
+
</Chat>
|
|
79
|
+
</OverlayProvider>,
|
|
99
80
|
);
|
|
100
81
|
|
|
82
|
+
// debug()
|
|
101
83
|
await waitFor(() => {
|
|
102
84
|
expect(queryAllByTestId('error-notification')).toHaveLength(0);
|
|
103
|
-
expect(queryAllByTestId('typing-indicator')).toHaveLength(0);
|
|
104
85
|
expect(getByTestId('message-system')).toBeTruthy();
|
|
105
86
|
});
|
|
106
87
|
});
|
|
107
88
|
|
|
89
|
+
it('should render deleted message in the list when `deleteMessagesVisibilityType` is set to default(always)', async () => {
|
|
90
|
+
const user1 = generateUser();
|
|
91
|
+
const mockedChannel = generateChannel({
|
|
92
|
+
members: [generateMember({ user: user1 })],
|
|
93
|
+
messages: [
|
|
94
|
+
generateMessage({ type: 'deleted', user: user1 }),
|
|
95
|
+
generateMessage({ type: 'system', user: undefined }),
|
|
96
|
+
generateMessage({ user: user1 }),
|
|
97
|
+
],
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
const chatClient = await getTestClientWithUser({ id: 'testID' });
|
|
101
|
+
useMockedApis(chatClient, [getOrCreateChannelApi(mockedChannel)]);
|
|
102
|
+
const channel = chatClient.channel('messaging', mockedChannel.id);
|
|
103
|
+
await channel.watch();
|
|
104
|
+
|
|
105
|
+
const { getByTestId, queryAllByTestId, queryByTestId } = render(
|
|
106
|
+
<OverlayProvider>
|
|
107
|
+
<Chat client={chatClient}>
|
|
108
|
+
<Channel channel={channel}>
|
|
109
|
+
<MessageList />
|
|
110
|
+
</Channel>
|
|
111
|
+
</Chat>
|
|
112
|
+
</OverlayProvider>,
|
|
113
|
+
);
|
|
114
|
+
|
|
115
|
+
await waitFor(() => {
|
|
116
|
+
expect(queryAllByTestId('error-notification')).toHaveLength(0);
|
|
117
|
+
expect(getByTestId('message-deleted')).toBeTruthy();
|
|
118
|
+
expect(queryByTestId('only-visible-to-you')).toBeNull();
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
it('should render deleted message in the list when `deleteMessagesVisibilityType` is set to sender', async () => {
|
|
123
|
+
const user1 = generateUser();
|
|
124
|
+
const user2 = generateUser({ id: 'testID' });
|
|
125
|
+
const mockedChannel = generateChannel({
|
|
126
|
+
members: [generateMember({ user: user1 })],
|
|
127
|
+
messages: [
|
|
128
|
+
generateMessage({ type: 'deleted', user: user2 }),
|
|
129
|
+
generateMessage({ type: 'system', user: undefined }),
|
|
130
|
+
generateMessage({ user: user1 }),
|
|
131
|
+
],
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
const chatClient = await getTestClientWithUser({ id: 'testID' });
|
|
135
|
+
useMockedApis(chatClient, [getOrCreateChannelApi(mockedChannel)]);
|
|
136
|
+
const channel = chatClient.channel('messaging', mockedChannel.id);
|
|
137
|
+
await channel.watch();
|
|
138
|
+
|
|
139
|
+
const { getByTestId, queryAllByTestId, queryByTestId } = render(
|
|
140
|
+
<OverlayProvider>
|
|
141
|
+
<Chat client={chatClient}>
|
|
142
|
+
<Channel channel={channel} deletedMessagesVisibilityType='sender'>
|
|
143
|
+
<MessageList />
|
|
144
|
+
</Channel>
|
|
145
|
+
</Chat>
|
|
146
|
+
</OverlayProvider>,
|
|
147
|
+
);
|
|
148
|
+
|
|
149
|
+
await waitFor(() => {
|
|
150
|
+
expect(queryAllByTestId('error-notification')).toHaveLength(0);
|
|
151
|
+
expect(queryByTestId('message-deleted')).toBeTruthy();
|
|
152
|
+
expect(getByTestId('only-visible-to-you')).toBeTruthy();
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
it('should render deleted message in the list when `deleteMessagesVisibilityType` is set to receiver', async () => {
|
|
157
|
+
const user1 = generateUser();
|
|
158
|
+
const user2 = generateUser({ id: 'testID' });
|
|
159
|
+
const mockedChannel = generateChannel({
|
|
160
|
+
members: [generateMember({ user: user1 })],
|
|
161
|
+
messages: [
|
|
162
|
+
generateMessage({ user: user2 }),
|
|
163
|
+
generateMessage({ type: 'system', user: undefined }),
|
|
164
|
+
generateMessage({ type: 'deleted', user: user1 }),
|
|
165
|
+
],
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
const chatClient = await getTestClientWithUser({ id: 'testID' });
|
|
169
|
+
useMockedApis(chatClient, [getOrCreateChannelApi(mockedChannel)]);
|
|
170
|
+
const channel = chatClient.channel('messaging', mockedChannel.id);
|
|
171
|
+
await channel.watch();
|
|
172
|
+
|
|
173
|
+
const { getByTestId, queryAllByTestId, queryByTestId } = render(
|
|
174
|
+
<OverlayProvider>
|
|
175
|
+
<Chat client={chatClient}>
|
|
176
|
+
<Channel channel={channel} deletedMessagesVisibilityType='receiver'>
|
|
177
|
+
<MessageList />
|
|
178
|
+
</Channel>
|
|
179
|
+
</Chat>
|
|
180
|
+
</OverlayProvider>,
|
|
181
|
+
);
|
|
182
|
+
|
|
183
|
+
await waitFor(() => {
|
|
184
|
+
expect(queryAllByTestId('error-notification')).toHaveLength(0);
|
|
185
|
+
expect(getByTestId('message-deleted')).toBeTruthy();
|
|
186
|
+
expect(queryByTestId('only-visible-to-you')).toBeNull();
|
|
187
|
+
});
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
it('should render deleted message in the list when `deleteMessagesVisibilityType` is set to never', async () => {
|
|
191
|
+
const user1 = generateUser();
|
|
192
|
+
const user2 = generateUser({ id: 'testID' });
|
|
193
|
+
const mockedChannel = generateChannel({
|
|
194
|
+
members: [generateMember({ user: user1 })],
|
|
195
|
+
messages: [
|
|
196
|
+
generateMessage({ user: user2 }),
|
|
197
|
+
generateMessage({ type: 'system', user: undefined }),
|
|
198
|
+
generateMessage({ type: 'deleted', user: user1 }),
|
|
199
|
+
],
|
|
200
|
+
});
|
|
201
|
+
|
|
202
|
+
const chatClient = await getTestClientWithUser({ id: 'testID' });
|
|
203
|
+
useMockedApis(chatClient, [getOrCreateChannelApi(mockedChannel)]);
|
|
204
|
+
const channel = chatClient.channel('messaging', mockedChannel.id);
|
|
205
|
+
await channel.watch();
|
|
206
|
+
|
|
207
|
+
const { queryAllByTestId, queryByTestId } = render(
|
|
208
|
+
<OverlayProvider>
|
|
209
|
+
<Chat client={chatClient}>
|
|
210
|
+
<Channel channel={channel} deletedMessagesVisibilityType='never'>
|
|
211
|
+
<MessageList />
|
|
212
|
+
</Channel>
|
|
213
|
+
</Chat>
|
|
214
|
+
</OverlayProvider>,
|
|
215
|
+
);
|
|
216
|
+
|
|
217
|
+
await waitFor(() => {
|
|
218
|
+
expect(queryAllByTestId('error-notification')).toHaveLength(0);
|
|
219
|
+
expect(queryByTestId('message-deleted')).toBeNull();
|
|
220
|
+
expect(queryByTestId('only-visible-to-you')).toBeNull();
|
|
221
|
+
});
|
|
222
|
+
});
|
|
223
|
+
|
|
224
|
+
it('should render deleted message in the list', async () => {
|
|
225
|
+
const user1 = generateUser();
|
|
226
|
+
const mockedChannel = generateChannel({
|
|
227
|
+
members: [generateMember({ user: user1 })],
|
|
228
|
+
messages: [
|
|
229
|
+
generateMessage({ type: 'deleted', user: user1 }),
|
|
230
|
+
generateMessage({ type: 'system', user: undefined }),
|
|
231
|
+
generateMessage({ user: user1 }),
|
|
232
|
+
],
|
|
233
|
+
});
|
|
234
|
+
|
|
235
|
+
const chatClient = await getTestClientWithUser({ id: 'testID' });
|
|
236
|
+
useMockedApis(chatClient, [getOrCreateChannelApi(mockedChannel)]);
|
|
237
|
+
const channel = chatClient.channel('messaging', mockedChannel.id);
|
|
238
|
+
await channel.watch();
|
|
239
|
+
|
|
240
|
+
const { getByTestId, queryAllByTestId } = render(
|
|
241
|
+
<OverlayProvider>
|
|
242
|
+
<Chat client={chatClient}>
|
|
243
|
+
<Channel channel={channel}>
|
|
244
|
+
<MessageList />
|
|
245
|
+
</Channel>
|
|
246
|
+
</Chat>
|
|
247
|
+
</OverlayProvider>,
|
|
248
|
+
);
|
|
249
|
+
|
|
250
|
+
await waitFor(() => {
|
|
251
|
+
expect(queryAllByTestId('error-notification')).toHaveLength(0);
|
|
252
|
+
expect(getByTestId('message-deleted')).toBeTruthy();
|
|
253
|
+
});
|
|
254
|
+
});
|
|
255
|
+
|
|
108
256
|
it('should render the typing indicator when typing object is non empty', async () => {
|
|
109
257
|
const user1 = generateUser();
|
|
110
258
|
const mockedChannel = generateChannel({
|
|
@@ -115,25 +263,21 @@ describe('MessageList', () => {
|
|
|
115
263
|
const chatClient = await getTestClientWithUser({ id: 'testID' });
|
|
116
264
|
useMockedApis(chatClient, [getOrCreateChannelApi(mockedChannel)]);
|
|
117
265
|
const channel = chatClient.channel('messaging', mockedChannel.id);
|
|
118
|
-
await channel.
|
|
266
|
+
await channel.watch();
|
|
119
267
|
|
|
120
268
|
const { getByTestId, queryAllByTestId } = render(
|
|
121
|
-
<
|
|
122
|
-
<
|
|
123
|
-
{
|
|
124
|
-
<
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
</Channel>
|
|
129
|
-
</ImageGalleryProvider>
|
|
130
|
-
</ChatProvider>
|
|
131
|
-
)}
|
|
132
|
-
</ChatContext.Consumer>
|
|
133
|
-
</Chat>,
|
|
269
|
+
<OverlayProvider>
|
|
270
|
+
<Chat client={chatClient}>
|
|
271
|
+
<Channel channel={channel}>
|
|
272
|
+
<MessageList />
|
|
273
|
+
</Channel>
|
|
274
|
+
</Chat>
|
|
275
|
+
</OverlayProvider>,
|
|
134
276
|
);
|
|
135
277
|
|
|
136
|
-
|
|
278
|
+
act(() => {
|
|
279
|
+
dispatchTypingEvent(chatClient, user1, mockedChannel.channel);
|
|
280
|
+
});
|
|
137
281
|
|
|
138
282
|
await waitFor(() => {
|
|
139
283
|
expect(queryAllByTestId('message-system')).toHaveLength(0);
|
|
@@ -152,16 +296,16 @@ describe('MessageList', () => {
|
|
|
152
296
|
const chatClient = await getTestClientWithUser({ id: 'testID' });
|
|
153
297
|
useMockedApis(chatClient, [getOrCreateChannelApi(mockedChannel)]);
|
|
154
298
|
const channel = chatClient.channel('messaging', mockedChannel.id);
|
|
155
|
-
await channel.
|
|
299
|
+
await channel.watch();
|
|
156
300
|
|
|
157
301
|
const { getByTestId } = render(
|
|
158
|
-
<
|
|
159
|
-
<
|
|
160
|
-
<Channel channel={channel}
|
|
302
|
+
<OverlayProvider>
|
|
303
|
+
<Chat client={chatClient}>
|
|
304
|
+
<Channel channel={channel}>
|
|
161
305
|
<MessageList />
|
|
162
306
|
</Channel>
|
|
163
|
-
</
|
|
164
|
-
</
|
|
307
|
+
</Chat>
|
|
308
|
+
</OverlayProvider>,
|
|
165
309
|
);
|
|
166
310
|
|
|
167
311
|
await waitFor(() => {
|
|
@@ -170,6 +314,16 @@ describe('MessageList', () => {
|
|
|
170
314
|
});
|
|
171
315
|
|
|
172
316
|
it('should render the is offline error', async () => {
|
|
317
|
+
registerNativeHandlers({
|
|
318
|
+
NetInfo: {
|
|
319
|
+
addEventListener: () => () => null,
|
|
320
|
+
fetch: () =>
|
|
321
|
+
new Promise((resolve) => {
|
|
322
|
+
resolve(false);
|
|
323
|
+
}),
|
|
324
|
+
},
|
|
325
|
+
});
|
|
326
|
+
|
|
173
327
|
const user1 = generateUser();
|
|
174
328
|
const mockedChannel = generateChannel({
|
|
175
329
|
members: [generateMember({ user: user1 })],
|
|
@@ -179,22 +333,16 @@ describe('MessageList', () => {
|
|
|
179
333
|
const chatClient = await getTestClientWithUser({ id: 'testID' });
|
|
180
334
|
useMockedApis(chatClient, [getOrCreateChannelApi(mockedChannel)]);
|
|
181
335
|
const channel = chatClient.channel('messaging', mockedChannel.id);
|
|
182
|
-
await channel.
|
|
336
|
+
await channel.watch();
|
|
183
337
|
|
|
184
338
|
const { getByTestId, getByText, queryAllByTestId } = render(
|
|
185
|
-
<
|
|
186
|
-
<
|
|
187
|
-
{
|
|
188
|
-
<
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
</Channel>
|
|
193
|
-
</ImageGalleryProvider>
|
|
194
|
-
</ChatProvider>
|
|
195
|
-
)}
|
|
196
|
-
</ChatContext.Consumer>
|
|
197
|
-
</Chat>,
|
|
339
|
+
<OverlayProvider>
|
|
340
|
+
<Chat client={chatClient}>
|
|
341
|
+
<Channel channel={channel}>
|
|
342
|
+
<MessageList />
|
|
343
|
+
</Channel>
|
|
344
|
+
</Chat>
|
|
345
|
+
</OverlayProvider>,
|
|
198
346
|
);
|
|
199
347
|
|
|
200
348
|
await waitFor(() => {
|
|
@@ -203,38 +351,15 @@ describe('MessageList', () => {
|
|
|
203
351
|
expect(getByTestId('error-notification')).toBeTruthy();
|
|
204
352
|
expect(getByText('Reconnecting...')).toBeTruthy();
|
|
205
353
|
});
|
|
206
|
-
});
|
|
207
354
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
generateStaticMessage('Message3', { user: user2 }, '2020-05-06T14:50:00.000Z'),
|
|
217
|
-
],
|
|
218
|
-
});
|
|
219
|
-
|
|
220
|
-
const chatClient = await getTestClientWithUser({ id: 'testID' });
|
|
221
|
-
useMockedApis(chatClient, [getOrCreateChannelApi(mockedChannel)]);
|
|
222
|
-
const channel = chatClient.channel('messaging', mockedChannel.id);
|
|
223
|
-
await channel.query();
|
|
224
|
-
|
|
225
|
-
const { queryAllByTestId, toJSON } = render(
|
|
226
|
-
<Chat client={chatClient}>
|
|
227
|
-
<ImageGalleryProvider>
|
|
228
|
-
<Channel channel={channel} FlatList={MockedFlatList}>
|
|
229
|
-
<MessageList />
|
|
230
|
-
</Channel>
|
|
231
|
-
</ImageGalleryProvider>
|
|
232
|
-
</Chat>,
|
|
233
|
-
);
|
|
234
|
-
|
|
235
|
-
await waitFor(() => {
|
|
236
|
-
expect(queryAllByTestId('date-separator')).toHaveLength(2);
|
|
237
|
-
expect(toJSON()).toMatchSnapshot();
|
|
355
|
+
registerNativeHandlers({
|
|
356
|
+
NetInfo: {
|
|
357
|
+
addEventListener: () => () => null,
|
|
358
|
+
fetch: () =>
|
|
359
|
+
new Promise((resolve) => {
|
|
360
|
+
resolve(true);
|
|
361
|
+
}),
|
|
362
|
+
},
|
|
238
363
|
});
|
|
239
364
|
});
|
|
240
365
|
});
|
|
@@ -24,6 +24,7 @@ import type {
|
|
|
24
24
|
} from '../../../types/types';
|
|
25
25
|
|
|
26
26
|
export type UseMessageListParams = {
|
|
27
|
+
deletedMessagesVisibilityType?: 'always' | 'never' | 'receiver' | 'sender';
|
|
27
28
|
inverted?: boolean;
|
|
28
29
|
noGroupByUser?: boolean;
|
|
29
30
|
threadList?: boolean;
|
|
@@ -82,7 +83,7 @@ export const useMessageList = <
|
|
|
82
83
|
>(
|
|
83
84
|
params: UseMessageListParams,
|
|
84
85
|
) => {
|
|
85
|
-
const { inverted, noGroupByUser, threadList } = params;
|
|
86
|
+
const { deletedMessagesVisibilityType, inverted, noGroupByUser, threadList } = params;
|
|
86
87
|
const { client } = useChatContext<At, Ch, Co, Ev, Me, Re, Us>();
|
|
87
88
|
const { hideDateSeparators, maxTimeBetweenGroupedMessages, read } =
|
|
88
89
|
useChannelContext<At, Ch, Co, Ev, Me, Re, Us>();
|
|
@@ -112,7 +113,18 @@ export const useMessageList = <
|
|
|
112
113
|
const readData = getReadStates(client.userID, messageList, readList);
|
|
113
114
|
|
|
114
115
|
const messagesWithStylesReadByAndDateSeparator = messageList
|
|
115
|
-
.filter((msg) =>
|
|
116
|
+
.filter((msg) => {
|
|
117
|
+
const isMessageTypeDeleted = msg.type === 'deleted';
|
|
118
|
+
if (deletedMessagesVisibilityType === 'sender') {
|
|
119
|
+
return !isMessageTypeDeleted || msg.user?.id === client.userID;
|
|
120
|
+
} else if (deletedMessagesVisibilityType === 'receiver') {
|
|
121
|
+
return !isMessageTypeDeleted || msg.user?.id !== client.userID;
|
|
122
|
+
} else if (deletedMessagesVisibilityType === 'never') {
|
|
123
|
+
return !isMessageTypeDeleted;
|
|
124
|
+
} else {
|
|
125
|
+
return msg;
|
|
126
|
+
}
|
|
127
|
+
})
|
|
116
128
|
.map((msg) => ({
|
|
117
129
|
...msg,
|
|
118
130
|
dateSeparator: dateSeparators[msg.id] || undefined,
|
|
@@ -49,9 +49,10 @@ export const getDateSeparators = <
|
|
|
49
49
|
return dateSeparators;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
const messagesWithoutDeleted = messages.filter(
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
const messagesWithoutDeleted = messages.filter((message) => {
|
|
53
|
+
const isMessageTypeDeleted = message.type === 'deleted';
|
|
54
|
+
return !isMessageTypeDeleted || userId === message.user?.id;
|
|
55
|
+
});
|
|
55
56
|
|
|
56
57
|
for (let i = 0; i < messagesWithoutDeleted.length; i++) {
|
|
57
58
|
const previousMessage = messagesWithoutDeleted[i - 1];
|
|
@@ -58,9 +58,10 @@ export const getGroupStyles = <
|
|
|
58
58
|
|
|
59
59
|
const messageGroupStyles: { [key: string]: GroupType[] } = {};
|
|
60
60
|
|
|
61
|
-
const messagesFilteredForNonUser = messages.filter(
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
const messagesFilteredForNonUser = messages.filter((message) => {
|
|
62
|
+
const isMessageTypeDeleted = message.type === 'deleted';
|
|
63
|
+
return !isMessageTypeDeleted || userId === message.user?.id;
|
|
64
|
+
});
|
|
64
65
|
|
|
65
66
|
for (let i = 0; i < messagesFilteredForNonUser.length; i++) {
|
|
66
67
|
const previousMessage = messagesFilteredForNonUser[i - 1] as
|
|
@@ -72,6 +73,9 @@ export const getGroupStyles = <
|
|
|
72
73
|
| undefined;
|
|
73
74
|
const groupStyles: GroupType[] = [];
|
|
74
75
|
|
|
76
|
+
const isPrevMessageTypeDeleted = previousMessage?.type === 'deleted';
|
|
77
|
+
const isNextMessageTypeDeleted = nextMessage?.type === 'deleted';
|
|
78
|
+
|
|
75
79
|
const userId = message?.user?.id || null;
|
|
76
80
|
|
|
77
81
|
const isTopMessage =
|
|
@@ -79,7 +83,7 @@ export const getGroupStyles = <
|
|
|
79
83
|
previousMessage.type === 'system' ||
|
|
80
84
|
userId !== previousMessage?.user?.id ||
|
|
81
85
|
previousMessage.type === 'error' ||
|
|
82
|
-
!!
|
|
86
|
+
!!isPrevMessageTypeDeleted ||
|
|
83
87
|
(!hideDateSeparators && dateSeparators[message.id]) ||
|
|
84
88
|
messageGroupStyles[previousMessage.id]?.includes('bottom');
|
|
85
89
|
|
|
@@ -88,7 +92,7 @@ export const getGroupStyles = <
|
|
|
88
92
|
nextMessage.type === 'system' ||
|
|
89
93
|
userId !== nextMessage?.user?.id ||
|
|
90
94
|
nextMessage.type === 'error' ||
|
|
91
|
-
!!
|
|
95
|
+
!!isNextMessageTypeDeleted ||
|
|
92
96
|
(!hideDateSeparators && dateSeparators[nextMessage.id]) ||
|
|
93
97
|
(maxTimeBetweenGroupedMessages !== undefined &&
|
|
94
98
|
nextMessage.created_at.getTime() - message.created_at.getTime() >
|
|
@@ -104,12 +108,14 @@ export const getGroupStyles = <
|
|
|
104
108
|
/**
|
|
105
109
|
* Add group styles key for bottom message
|
|
106
110
|
*/
|
|
111
|
+
|
|
112
|
+
const isMessageTypeDeleted = message.type === 'deleted';
|
|
107
113
|
if (isBottomMessage) {
|
|
108
114
|
/**
|
|
109
115
|
* If the bottom message is also the top, or deleted, or an error,
|
|
110
116
|
* add the key for single message instead of bottom
|
|
111
117
|
*/
|
|
112
|
-
if (isTopMessage ||
|
|
118
|
+
if (isTopMessage || isMessageTypeDeleted || message.type === 'error') {
|
|
113
119
|
groupStyles.splice(0, groupStyles.length);
|
|
114
120
|
groupStyles.push('single');
|
|
115
121
|
} else {
|
|
@@ -122,7 +128,7 @@ export const getGroupStyles = <
|
|
|
122
128
|
* deleted or an error add the key for single otherwise middle
|
|
123
129
|
*/
|
|
124
130
|
if (!isTopMessage && !isBottomMessage) {
|
|
125
|
-
if (
|
|
131
|
+
if (isMessageTypeDeleted || message.type === 'error') {
|
|
126
132
|
groupStyles.splice(0, groupStyles.length);
|
|
127
133
|
groupStyles.push('single');
|
|
128
134
|
} else {
|