stream-chat-react 12.13.1 → 13.0.0-rc.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/README.md +27 -30
- package/dist/components/AIStateIndicator/AIStateIndicator.d.ts +4 -5
- package/dist/components/AIStateIndicator/hooks/useAIState.d.ts +2 -3
- package/dist/components/Attachment/Attachment.d.ts +8 -9
- package/dist/components/Attachment/Attachment.js +6 -5
- package/dist/components/Attachment/AttachmentActions.d.ts +2 -3
- package/dist/components/Attachment/AttachmentContainer.d.ts +15 -15
- package/dist/components/Attachment/AttachmentContainer.js +2 -2
- package/dist/components/Attachment/Audio.d.ts +3 -4
- package/dist/components/Attachment/Card.d.ts +1 -1
- package/dist/components/Attachment/FileAttachment.d.ts +3 -4
- package/dist/components/Attachment/FileAttachment.js +1 -1
- package/dist/components/Attachment/UnsupportedAttachment.d.ts +3 -4
- package/dist/components/Attachment/UnsupportedAttachment.js +1 -1
- package/dist/components/Attachment/VoiceRecording.d.ts +4 -5
- package/dist/components/Attachment/components/FileSizeIndicator.d.ts +1 -1
- package/dist/components/Attachment/components/FileSizeIndicator.js +4 -2
- package/dist/components/Attachment/utils.d.ts +8 -22
- package/dist/components/Attachment/utils.js +3 -18
- package/dist/components/Avatar/Avatar.d.ts +3 -4
- package/dist/components/Avatar/ChannelAvatar.d.ts +3 -4
- package/dist/components/Avatar/ChannelAvatar.js +1 -1
- package/dist/components/Avatar/GroupAvatar.d.ts +2 -2
- package/dist/components/Channel/Channel.d.ts +18 -37
- package/dist/components/Channel/Channel.js +31 -92
- package/dist/components/Channel/channelState.d.ts +17 -18
- package/dist/components/Channel/hooks/useChannelContainerClasses.d.ts +2 -3
- package/dist/components/Channel/hooks/useCreateChannelStateContext.d.ts +2 -3
- package/dist/components/Channel/hooks/useCreateChannelStateContext.js +1 -15
- package/dist/components/Channel/hooks/useCreateTypingContext.d.ts +1 -2
- package/dist/components/Channel/hooks/useEditMessageHandler.d.ts +3 -4
- package/dist/components/Channel/hooks/useMentionsHandlers.d.ts +3 -4
- package/dist/components/Channel/utils.d.ts +8 -6
- package/dist/components/Channel/utils.js +1 -0
- package/dist/components/ChannelHeader/ChannelHeader.d.ts +2 -3
- package/dist/components/ChannelList/ChannelList.d.ts +31 -30
- package/dist/components/ChannelList/ChannelList.js +8 -10
- package/dist/components/ChannelList/ChannelListMessenger.d.ts +6 -6
- package/dist/components/ChannelList/hooks/useChannelDeletedListener.d.ts +1 -2
- package/dist/components/ChannelList/hooks/useChannelHiddenListener.d.ts +1 -2
- package/dist/components/ChannelList/hooks/useChannelListShape.d.ts +44 -44
- package/dist/components/ChannelList/hooks/useChannelListShape.js +0 -2
- package/dist/components/ChannelList/hooks/useChannelMembershipState.d.ts +3 -3
- package/dist/components/ChannelList/hooks/useChannelTruncatedListener.d.ts +1 -2
- package/dist/components/ChannelList/hooks/useChannelUpdatedListener.d.ts +1 -2
- package/dist/components/ChannelList/hooks/useChannelVisibleListener.d.ts +1 -2
- package/dist/components/ChannelList/hooks/useConnectionRecoveredListener.d.ts +1 -2
- package/dist/components/ChannelList/hooks/useMessageNewListener.d.ts +1 -2
- package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.d.ts +1 -2
- package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.d.ts +1 -2
- package/dist/components/ChannelList/hooks/useNotificationRemovedFromChannelListener.d.ts +1 -2
- package/dist/components/ChannelList/hooks/usePaginatedChannels.d.ts +7 -8
- package/dist/components/ChannelList/hooks/usePaginatedChannels.js +3 -3
- package/dist/components/ChannelList/hooks/useSelectedChannelState.d.ts +7 -7
- package/dist/components/ChannelList/hooks/useUserPresenceChangedListener.d.ts +1 -2
- package/dist/components/ChannelList/utils.d.ts +20 -21
- package/dist/components/ChannelList/utils.js +2 -2
- package/dist/components/ChannelPreview/ChannelPreview.d.ts +15 -16
- package/dist/components/ChannelPreview/ChannelPreview.js +1 -1
- package/dist/components/ChannelPreview/ChannelPreviewActionButtons.d.ts +4 -4
- package/dist/components/ChannelPreview/ChannelPreviewMessenger.d.ts +1 -2
- package/dist/components/ChannelPreview/hooks/useChannelPreviewInfo.d.ts +3 -4
- package/dist/components/ChannelPreview/hooks/useIsChannelMuted.d.ts +1 -2
- package/dist/components/ChannelPreview/hooks/useMessageDeliveryStatus.d.ts +5 -7
- package/dist/components/ChannelPreview/icons.d.ts +1 -1
- package/dist/components/ChannelPreview/utils.d.ts +7 -7
- package/dist/components/ChannelSearch/ChannelSearch.d.ts +5 -6
- package/dist/components/ChannelSearch/ChannelSearch.js +2 -2
- package/dist/components/ChannelSearch/SearchBar.d.ts +1 -1
- package/dist/components/ChannelSearch/SearchBar.js +1 -1
- package/dist/components/ChannelSearch/SearchResults.d.ts +13 -14
- package/dist/components/ChannelSearch/SearchResults.js +1 -1
- package/dist/components/ChannelSearch/hooks/useChannelSearch.d.ts +17 -18
- package/dist/components/ChannelSearch/hooks/useChannelSearch.js +2 -6
- package/dist/components/ChannelSearch/utils.d.ts +2 -3
- package/dist/components/Chat/Chat.d.ts +9 -9
- package/dist/components/Chat/hooks/useChannelsQueryState.d.ts +1 -1
- package/dist/components/Chat/hooks/useChat.d.ts +10 -10
- package/dist/components/Chat/hooks/useChat.js +4 -3
- package/dist/components/Chat/hooks/useCreateChatClient.d.ts +4 -4
- package/dist/components/Chat/hooks/useCreateChatContext.d.ts +1 -2
- package/dist/components/Dialog/DialogAnchor.d.ts +4 -3
- package/dist/components/Dialog/DialogAnchor.js +2 -2
- package/dist/components/Dialog/DialogMenu.d.ts +2 -1
- package/dist/components/Dialog/DialogPortal.d.ts +2 -1
- package/dist/components/Dialog/FormDialog.d.ts +2 -1
- package/dist/components/Dialog/FormDialog.js +1 -1
- package/dist/components/Dialog/PromptDialog.d.ts +2 -1
- package/dist/components/DragAndDrop/DragAndDropContainer.d.ts +2 -1
- package/dist/components/EventComponent/EventComponent.d.ts +7 -6
- package/dist/components/Form/FieldError.d.ts +2 -1
- package/dist/components/Form/SwitchField.d.ts +2 -1
- package/dist/components/Form/SwitchField.js +1 -1
- package/dist/components/Gallery/Gallery.d.ts +5 -5
- package/dist/components/Gallery/Image.d.ts +6 -5
- package/dist/components/Gallery/ModalGallery.d.ts +3 -4
- package/dist/components/InfiniteScrollPaginator/InfiniteScroll.d.ts +2 -1
- package/dist/components/InfiniteScrollPaginator/InfiniteScrollPaginator.d.ts +2 -1
- package/dist/components/LoadMore/LoadMoreButton.d.ts +2 -1
- package/dist/components/LoadMore/LoadMorePaginator.d.ts +3 -2
- package/dist/components/LoadMore/LoadMorePaginator.js +1 -1
- package/dist/components/MediaRecorder/AudioRecorder/AudioRecorder.js +3 -2
- package/dist/components/MediaRecorder/AudioRecorder/AudioRecordingInProgress.js +1 -1
- package/dist/components/MediaRecorder/RecordingPermissionDeniedNotification.d.ts +1 -1
- package/dist/components/MediaRecorder/classes/MediaRecorderController.d.ts +11 -23
- package/dist/components/MediaRecorder/hooks/useMediaRecorder.d.ts +8 -8
- package/dist/components/MediaRecorder/hooks/useMediaRecorder.js +6 -4
- package/dist/components/MediaRecorder/observable/BehaviorSubject.d.ts +2 -2
- package/dist/components/MediaRecorder/observable/Observable.d.ts +1 -1
- package/dist/components/MediaRecorder/observable/Subject.d.ts +3 -2
- package/dist/components/Message/FixedHeightMessage.d.ts +4 -5
- package/dist/components/Message/Message.d.ts +1 -2
- package/dist/components/Message/MessageBlocked.d.ts +2 -0
- package/dist/components/Message/MessageBlocked.js +16 -0
- package/dist/components/Message/MessageDeleted.d.ts +4 -5
- package/dist/components/Message/MessageEditedTimestamp.d.ts +2 -3
- package/dist/components/Message/MessageErrorText.d.ts +4 -5
- package/dist/components/Message/MessageErrorText.js +2 -2
- package/dist/components/Message/MessageOptions.d.ts +3 -3
- package/dist/components/Message/MessageRepliesCountButton.d.ts +2 -1
- package/dist/components/Message/MessageSimple.d.ts +1 -2
- package/dist/components/Message/MessageSimple.js +14 -12
- package/dist/components/Message/MessageStatus.d.ts +3 -4
- package/dist/components/Message/MessageText.d.ts +6 -6
- package/dist/components/Message/MessageTimestamp.d.ts +4 -5
- package/dist/components/Message/QuotedMessage.d.ts +2 -3
- package/dist/components/Message/QuotedMessage.js +1 -1
- package/dist/components/Message/StreamedMessageText.d.ts +3 -4
- package/dist/components/Message/hooks/useActionHandler.d.ts +2 -3
- package/dist/components/Message/hooks/useActionHandler.js +1 -1
- package/dist/components/Message/hooks/useDeleteHandler.d.ts +4 -5
- package/dist/components/Message/hooks/useFlagHandler.d.ts +5 -6
- package/dist/components/Message/hooks/useMarkUnreadHandler.d.ts +5 -6
- package/dist/components/Message/hooks/useMentionsHandler.d.ts +6 -8
- package/dist/components/Message/hooks/useMessageTextStreaming.d.ts +2 -3
- package/dist/components/Message/hooks/useMuteHandler.d.ts +5 -7
- package/dist/components/Message/hooks/useMuteHandler.js +1 -1
- package/dist/components/Message/hooks/useOpenThreadHandler.d.ts +2 -3
- package/dist/components/Message/hooks/usePinHandler.d.ts +4 -5
- package/dist/components/Message/hooks/usePinHandler.js +1 -1
- package/dist/components/Message/hooks/useReactionHandler.d.ts +3 -4
- package/dist/components/Message/hooks/useReactionHandler.js +2 -4
- package/dist/components/Message/hooks/useReactionsFetcher.d.ts +5 -7
- package/dist/components/Message/hooks/useRetryHandler.d.ts +2 -3
- package/dist/components/Message/hooks/useRetryHandler.js +1 -1
- package/dist/components/Message/hooks/useUserHandler.d.ts +5 -6
- package/dist/components/Message/hooks/useUserRole.d.ts +2 -3
- package/dist/components/Message/hooks/useUserRole.js +1 -1
- package/dist/components/Message/icons.d.ts +2 -2
- package/dist/components/Message/icons.js +1 -1
- package/dist/components/Message/renderText/componentRenderers/Anchor.d.ts +2 -1
- package/dist/components/Message/renderText/componentRenderers/Emoji.d.ts +1 -1
- package/dist/components/Message/renderText/componentRenderers/Mention.d.ts +5 -5
- package/dist/components/Message/renderText/componentRenderers/Mention.js +1 -1
- package/dist/components/Message/renderText/rehypePlugins/mentionsMarkdownPlugin.d.ts +1 -2
- package/dist/components/Message/renderText/renderText.d.ts +6 -6
- package/dist/components/Message/renderText/types.d.ts +1 -1
- package/dist/components/Message/types.d.ts +27 -28
- package/dist/components/Message/utils.d.ts +21 -21
- package/dist/components/Message/utils.js +8 -4
- package/dist/components/MessageActions/CustomMessageActionsList.d.ts +6 -7
- package/dist/components/MessageActions/MessageActions.d.ts +6 -5
- package/dist/components/MessageActions/MessageActions.js +1 -1
- package/dist/components/MessageActions/MessageActionsBox.d.ts +5 -5
- package/dist/components/MessageActions/MessageActionsBox.js +4 -3
- package/dist/components/MessageActions/hooks/useMessageActionsBoxPopper.d.ts +1 -1
- package/dist/components/MessageBounce/MessageBounceModal.d.ts +4 -3
- package/dist/components/MessageBounce/MessageBouncePrompt.d.ts +1 -2
- package/dist/components/MessageInput/AttachmentPreviewList/AttachmentPreviewList.d.ts +11 -11
- package/dist/components/MessageInput/AttachmentPreviewList/AttachmentPreviewList.js +17 -14
- package/dist/components/MessageInput/AttachmentPreviewList/FileAttachmentPreview.d.ts +4 -12
- package/dist/components/MessageInput/AttachmentPreviewList/FileAttachmentPreview.js +8 -5
- package/dist/components/MessageInput/AttachmentPreviewList/ImageAttachmentPreview.d.ts +4 -5
- package/dist/components/MessageInput/AttachmentPreviewList/ImageAttachmentPreview.js +2 -2
- package/dist/components/MessageInput/AttachmentPreviewList/UnsupportedAttachmentPreview.d.ts +7 -5
- package/dist/components/MessageInput/AttachmentPreviewList/UnsupportedAttachmentPreview.js +5 -2
- package/dist/components/MessageInput/AttachmentPreviewList/VoiceRecordingPreview.d.ts +4 -5
- package/dist/components/MessageInput/AttachmentPreviewList/VoiceRecordingPreview.js +5 -2
- package/dist/components/MessageInput/AttachmentPreviewList/index.d.ts +1 -1
- package/dist/components/MessageInput/AttachmentPreviewList/types.d.ts +3 -4
- package/dist/components/MessageInput/AttachmentSelector.d.ts +1 -2
- package/dist/components/MessageInput/AttachmentSelector.js +5 -3
- package/dist/components/MessageInput/EditMessageForm.d.ts +3 -2
- package/dist/components/MessageInput/EditMessageForm.js +30 -6
- package/dist/components/MessageInput/LinkPreviewList.d.ts +6 -4
- package/dist/components/MessageInput/LinkPreviewList.js +24 -10
- package/dist/components/MessageInput/MessageInput.d.ts +23 -45
- package/dist/components/MessageInput/MessageInput.js +25 -15
- package/dist/components/MessageInput/MessageInputFlat.d.ts +1 -2
- package/dist/components/MessageInput/MessageInputFlat.js +31 -76
- package/dist/components/MessageInput/QuotedMessagePreview.d.ts +4 -7
- package/dist/components/MessageInput/QuotedMessagePreview.js +22 -16
- package/dist/components/MessageInput/SendButton.d.ts +4 -5
- package/dist/components/MessageInput/SendButton.js +6 -2
- package/dist/components/MessageInput/WithDragAndDropUpload.d.ts +38 -0
- package/dist/components/MessageInput/WithDragAndDropUpload.js +96 -0
- package/dist/components/MessageInput/hooks/index.d.ts +5 -1
- package/dist/components/MessageInput/hooks/index.js +5 -1
- package/dist/components/MessageInput/hooks/useAttachmentManagerState.d.ts +10 -0
- package/dist/components/MessageInput/hooks/useAttachmentManagerState.js +19 -0
- package/dist/components/MessageInput/hooks/useCanCreatePoll.d.ts +1 -0
- package/dist/components/MessageInput/hooks/useCanCreatePoll.js +10 -0
- package/dist/components/MessageInput/hooks/useCooldownTimer.d.ts +2 -3
- package/dist/components/MessageInput/hooks/useCreateMessageInputContext.d.ts +1 -2
- package/dist/components/MessageInput/hooks/useCreateMessageInputContext.js +1 -55
- package/dist/components/MessageInput/hooks/useMessageComposer.d.ts +2 -0
- package/dist/components/MessageInput/hooks/useMessageComposer.js +80 -0
- package/dist/components/MessageInput/hooks/useMessageComposerHasSendableData.d.ts +1 -0
- package/dist/components/MessageInput/hooks/useMessageComposerHasSendableData.js +8 -0
- package/dist/components/MessageInput/hooks/useMessageInputControls.d.ts +12 -0
- package/dist/components/MessageInput/hooks/useMessageInputControls.js +23 -0
- package/dist/components/MessageInput/hooks/useMessageInputText.d.ts +1 -5
- package/dist/components/MessageInput/hooks/useMessageInputText.js +19 -53
- package/dist/components/MessageInput/hooks/usePasteHandler.d.ts +1 -3
- package/dist/components/MessageInput/hooks/usePasteHandler.js +6 -8
- package/dist/components/MessageInput/hooks/useSubmitHandler.d.ts +2 -6
- package/dist/components/MessageInput/hooks/useSubmitHandler.js +30 -98
- package/dist/components/MessageInput/hooks/utils.d.ts +0 -27
- package/dist/components/MessageInput/hooks/utils.js +0 -124
- package/dist/components/MessageInput/index.d.ts +1 -2
- package/dist/components/MessageInput/index.js +1 -2
- package/dist/components/MessageList/ConnectionStatus.d.ts +1 -2
- package/dist/components/MessageList/ConnectionStatus.js +1 -1
- package/dist/components/MessageList/CustomNotification.d.ts +2 -1
- package/dist/components/MessageList/GiphyPreviewMessage.d.ts +4 -5
- package/dist/components/MessageList/MessageList.d.ts +11 -12
- package/dist/components/MessageList/MessageList.js +4 -4
- package/dist/components/MessageList/MessageNotification.d.ts +2 -1
- package/dist/components/MessageList/VirtualizedMessageList.d.ts +22 -21
- package/dist/components/MessageList/VirtualizedMessageList.js +6 -6
- package/dist/components/MessageList/VirtualizedMessageListComponents.d.ts +10 -10
- package/dist/components/MessageList/VirtualizedMessageListComponents.js +7 -7
- package/dist/components/MessageList/hooks/MessageList/useEnrichedMessages.d.ts +8 -10
- package/dist/components/MessageList/hooks/MessageList/useEnrichedMessages.js +1 -1
- package/dist/components/MessageList/hooks/MessageList/useMessageListElements.d.ts +11 -12
- package/dist/components/MessageList/hooks/MessageList/useMessageListScrollManager.d.ts +4 -5
- package/dist/components/MessageList/hooks/MessageList/useScrollLocationLogic.d.ts +5 -6
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.d.ts +4 -5
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.js +3 -2
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useMessageSetKey.d.ts +4 -5
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useMessageSetKey.js +1 -1
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useNewMessageNotification.d.ts +2 -3
- package/dist/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.d.ts +2 -3
- package/dist/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.js +6 -2
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.d.ts +4 -5
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useShouldForceScrollToBottom.d.ts +2 -3
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.d.ts +3 -4
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.js +5 -6
- package/dist/components/MessageList/hooks/useLastReadData.d.ts +5 -6
- package/dist/components/MessageList/hooks/useLastReadData.js +5 -1
- package/dist/components/MessageList/hooks/useMarkRead.d.ts +1 -2
- package/dist/components/MessageList/renderMessages.d.ts +14 -14
- package/dist/components/MessageList/renderMessages.js +8 -7
- package/dist/components/MessageList/utils.d.ts +34 -28
- package/dist/components/MessageList/utils.js +26 -21
- package/dist/components/Modal/Modal.d.ts +2 -1
- package/dist/components/Poll/Poll.d.ts +2 -3
- package/dist/components/Poll/Poll.js +1 -1
- package/dist/components/Poll/PollActions/AddCommentForm.d.ts +1 -2
- package/dist/components/Poll/PollActions/AddCommentForm.js +4 -2
- package/dist/components/Poll/PollActions/EndPollDialog.d.ts +1 -2
- package/dist/components/Poll/PollActions/EndPollDialog.js +1 -1
- package/dist/components/Poll/PollActions/PollAction.d.ts +2 -1
- package/dist/components/Poll/PollActions/PollActions.d.ts +7 -8
- package/dist/components/Poll/PollActions/PollActions.js +5 -5
- package/dist/components/Poll/PollActions/PollAnswerList.d.ts +1 -2
- package/dist/components/Poll/PollActions/PollOptionsFullList.d.ts +1 -2
- package/dist/components/Poll/PollActions/PollOptionsFullList.js +4 -2
- package/dist/components/Poll/PollActions/PollResults/PollOptionVotesList.d.ts +3 -4
- package/dist/components/Poll/PollActions/PollResults/PollOptionVotesList.js +1 -1
- package/dist/components/Poll/PollActions/PollResults/PollOptionWithLatestVotes.d.ts +3 -4
- package/dist/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.d.ts +4 -5
- package/dist/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.js +1 -1
- package/dist/components/Poll/PollActions/PollResults/PollResults.d.ts +1 -2
- package/dist/components/Poll/PollActions/PollResults/PollResults.js +1 -1
- package/dist/components/Poll/PollActions/SuggestPollOptionForm.d.ts +1 -2
- package/dist/components/Poll/PollActions/SuggestPollOptionForm.js +3 -1
- package/dist/components/Poll/PollContent.d.ts +1 -2
- package/dist/components/Poll/PollCreationDialog/MultipleAnswersField.d.ts +2 -0
- package/dist/components/Poll/PollCreationDialog/MultipleAnswersField.js +35 -0
- package/dist/components/Poll/PollCreationDialog/NameField.d.ts +2 -0
- package/dist/components/Poll/PollCreationDialog/NameField.js +26 -0
- package/dist/components/Poll/PollCreationDialog/OptionFieldSet.d.ts +1 -8
- package/dist/components/Poll/PollCreationDialog/OptionFieldSet.js +33 -65
- package/dist/components/Poll/PollCreationDialog/PollCreationDialog.js +31 -85
- package/dist/components/Poll/PollCreationDialog/PollCreationDialogControls.d.ts +1 -4
- package/dist/components/Poll/PollCreationDialog/PollCreationDialogControls.js +15 -41
- package/dist/components/Poll/PollCreationDialog/types.d.ts +0 -14
- package/dist/components/Poll/PollHeader.d.ts +1 -2
- package/dist/components/Poll/PollOptionList.d.ts +1 -2
- package/dist/components/Poll/PollOptionList.js +4 -2
- package/dist/components/Poll/PollOptionSelector.d.ts +3 -4
- package/dist/components/Poll/PollVote.d.ts +6 -7
- package/dist/components/Poll/PollVote.js +3 -3
- package/dist/components/Poll/QuotedPoll.d.ts +1 -2
- package/dist/components/Poll/constants.d.ts +0 -1
- package/dist/components/Poll/constants.js +0 -1
- package/dist/components/Poll/hooks/useManagePollVotesRealtime.d.ts +2 -3
- package/dist/components/Poll/hooks/usePollAnswerPagination.d.ts +2 -3
- package/dist/components/Poll/hooks/usePollAnswerPagination.js +2 -2
- package/dist/components/Poll/hooks/usePollOptionVotesPagination.d.ts +2 -3
- package/dist/components/Poll/hooks/usePollOptionVotesPagination.js +1 -1
- package/dist/components/Portal/Portal.d.ts +1 -1
- package/dist/components/ReactFileUtilities/FileIcon/FileIcon.d.ts +1 -1
- package/dist/components/ReactFileUtilities/FileIcon/FileIconSet.d.ts +2 -1
- package/dist/components/ReactFileUtilities/FileIcon/iconMap.d.ts +1 -1
- package/dist/components/ReactFileUtilities/UploadButton.d.ts +3 -2
- package/dist/components/ReactFileUtilities/UploadButton.js +16 -6
- package/dist/components/ReactFileUtilities/index.d.ts +0 -1
- package/dist/components/ReactFileUtilities/index.js +0 -1
- package/dist/components/ReactFileUtilities/utils.d.ts +2 -2
- package/dist/components/Reactions/ReactionSelector.d.ts +4 -5
- package/dist/components/Reactions/ReactionSelectorWithButton.d.ts +1 -2
- package/dist/components/Reactions/ReactionsList.d.ts +6 -7
- package/dist/components/Reactions/ReactionsList.js +2 -2
- package/dist/components/Reactions/ReactionsListModal.d.ts +9 -10
- package/dist/components/Reactions/SimpleReactionsList.d.ts +5 -6
- package/dist/components/Reactions/StreamEmoji.d.ts +1 -1
- package/dist/components/Reactions/hooks/useFetchReactions.d.ts +9 -10
- package/dist/components/Reactions/hooks/useProcessReactions.d.ts +1 -2
- package/dist/components/Reactions/types.d.ts +3 -4
- package/dist/components/Reactions/utils/utils.d.ts +1 -1
- package/dist/components/SafeAnchor/SafeAnchor.d.ts +2 -1
- package/dist/components/{CommandItem → TextareaComposer/SuggestionList}/CommandItem.d.ts +2 -1
- package/dist/components/{CommandItem → TextareaComposer/SuggestionList}/CommandItem.js +1 -2
- package/dist/components/{EmoticonItem → TextareaComposer/SuggestionList}/EmoticonItem.d.ts +7 -7
- package/dist/components/TextareaComposer/SuggestionList/EmoticonItem.js +12 -0
- package/dist/components/TextareaComposer/SuggestionList/SuggestionList.d.ts +16 -0
- package/dist/components/TextareaComposer/SuggestionList/SuggestionList.js +49 -0
- package/dist/components/TextareaComposer/SuggestionList/SuggestionListItem.d.ts +18 -0
- package/dist/components/TextareaComposer/SuggestionList/SuggestionListItem.js +25 -0
- package/dist/components/{UserItem → TextareaComposer/SuggestionList}/UserItem.d.ts +7 -4
- package/dist/components/TextareaComposer/SuggestionList/UserItem.js +24 -0
- package/dist/components/TextareaComposer/SuggestionList/index.d.ts +5 -0
- package/dist/components/TextareaComposer/SuggestionList/index.js +5 -0
- package/dist/components/TextareaComposer/TextareaComposer.d.ts +13 -0
- package/dist/components/TextareaComposer/TextareaComposer.js +155 -0
- package/dist/components/TextareaComposer/index.d.ts +2 -0
- package/dist/components/TextareaComposer/index.js +2 -0
- package/dist/components/Thread/Thread.d.ts +13 -10
- package/dist/components/Thread/Thread.js +23 -12
- package/dist/components/Thread/ThreadHead.d.ts +2 -3
- package/dist/components/Thread/ThreadHeader.d.ts +5 -6
- package/dist/components/Thread/ThreadHeader.js +1 -1
- package/dist/components/Threads/ThreadContext.d.ts +2 -2
- package/dist/components/Threads/ThreadContext.js +1 -4
- package/dist/components/Threads/ThreadList/ThreadList.d.ts +1 -1
- package/dist/components/Threads/ThreadList/ThreadListItem.d.ts +1 -1
- package/dist/components/Threads/hooks/useThreadManagerState.d.ts +1 -1
- package/dist/components/Threads/hooks/useThreadState.d.ts +1 -1
- package/dist/components/Threads/icons.d.ts +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +3 -2
- package/dist/components/Tooltip/hooks/useEnterLeaveHandlers.d.ts +1 -1
- package/dist/components/TypingIndicator/TypingIndicator.d.ts +1 -2
- package/dist/components/Window/Window.d.ts +6 -6
- package/dist/components/index.d.ts +1 -5
- package/dist/components/index.js +1 -5
- package/dist/context/AttachmentSelectorContext.d.ts +2 -1
- package/dist/context/ChannelActionContext.d.ts +26 -35
- package/dist/context/ChannelListContext.d.ts +9 -9
- package/dist/context/ChannelListContext.js +1 -1
- package/dist/context/ChannelStateContext.d.ts +24 -34
- package/dist/context/ChatContext.d.ts +18 -17
- package/dist/context/ComponentContext.d.ts +41 -37
- package/dist/context/DialogManagerContext.d.ts +2 -1
- package/dist/context/MessageBounceContext.d.ts +8 -7
- package/dist/context/MessageBounceContext.js +1 -1
- package/dist/context/MessageContext.d.ts +23 -23
- package/dist/context/MessageInputContext.d.ts +8 -26
- package/dist/context/MessageInputContext.js +3 -2
- package/dist/context/MessageListContext.d.ts +2 -1
- package/dist/context/PollContext.d.ts +8 -8
- package/dist/context/TranslationContext.d.ts +2 -1
- package/dist/context/TypingContext.d.ts +11 -10
- package/dist/context/VirtualizedMessageListContext.d.ts +2 -1
- package/dist/context/WithComponents.d.ts +3 -2
- package/dist/css/v2/index.css +1 -1
- package/dist/css/v2/index.layout.css +1 -1
- package/dist/experimental/MessageActions/MessageActions.d.ts +1 -1
- package/dist/experimental/MessageActions/MessageActions.js +1 -1
- package/dist/experimental/MessageActions/defaults.js +4 -3
- package/dist/experimental/Search/Search.d.ts +1 -2
- package/dist/experimental/Search/SearchContext.d.ts +8 -8
- package/dist/experimental/Search/SearchResults/SearchResultItem.d.ts +11 -11
- package/dist/experimental/Search/SearchResults/SearchResultItem.js +3 -3
- package/dist/experimental/Search/SearchResults/SearchResults.d.ts +1 -2
- package/dist/experimental/Search/SearchResults/SearchResultsHeader.d.ts +1 -2
- package/dist/experimental/Search/SearchResults/SearchResultsHeader.js +1 -1
- package/dist/experimental/Search/SearchResults/SearchSourceResultList.d.ts +2 -3
- package/dist/experimental/Search/SearchResults/SearchSourceResultListFooter.d.ts +1 -2
- package/dist/experimental/Search/SearchResults/SearchSourceResults.d.ts +1 -2
- package/dist/experimental/Search/SearchResults/SearchSourceResults.js +1 -1
- package/dist/experimental/Search/SearchSourceResultsContext.d.ts +2 -1
- package/dist/experimental/Search/hooks/useSearchFocusedMessage.d.ts +1 -2
- package/dist/experimental/Search/hooks/useSearchFocusedMessage.js +3 -1
- package/dist/experimental/Search/hooks/useSearchQueriesInProgress.d.ts +3 -4
- package/dist/experimental/index.browser.cjs +1139 -1075
- package/dist/experimental/index.browser.cjs.map +4 -4
- package/dist/experimental/index.node.cjs +1139 -1075
- package/dist/experimental/index.node.cjs.map +4 -4
- package/dist/i18n/Streami18n.d.ts +2 -1
- package/dist/i18n/de.json +1 -0
- package/dist/i18n/en.json +1 -0
- package/dist/i18n/es.json +1 -0
- package/dist/i18n/fr.json +1 -0
- package/dist/i18n/hi.json +1 -0
- package/dist/i18n/it.json +1 -0
- package/dist/i18n/ja.json +1 -0
- package/dist/i18n/ko.json +1 -0
- package/dist/i18n/nl.json +1 -0
- package/dist/i18n/pt.json +1 -0
- package/dist/i18n/ru.json +1 -0
- package/dist/i18n/tr.json +1 -0
- package/dist/i18n/types.d.ts +2 -2
- package/dist/i18n/utils.d.ts +1 -1
- package/dist/i18n/utils.js +3 -1
- package/dist/index.browser.cjs +28774 -30813
- package/dist/index.browser.cjs.map +4 -4
- package/dist/index.node.cjs +30798 -32844
- package/dist/index.node.cjs.map +4 -4
- package/dist/plugins/Emojis/index.browser.cjs +133 -5
- package/dist/plugins/Emojis/index.browser.cjs.map +4 -4
- package/dist/plugins/Emojis/index.d.ts +1 -0
- package/dist/plugins/Emojis/index.js +1 -0
- package/dist/plugins/Emojis/index.node.cjs +135 -6
- package/dist/plugins/Emojis/index.node.cjs.map +4 -4
- package/dist/plugins/Emojis/middleware/index.d.ts +1 -0
- package/dist/plugins/Emojis/middleware/index.js +1 -0
- package/dist/plugins/Emojis/middleware/textComposerEmojiMiddleware.d.ts +66 -0
- package/dist/plugins/Emojis/middleware/textComposerEmojiMiddleware.js +143 -0
- package/dist/plugins/encoders/mp3.browser.cjs.map +2 -2
- package/dist/plugins/encoders/mp3.node.cjs.map +2 -2
- package/dist/scss/v2/Autocomplete/Autocomplete-layout.scss +14 -0
- package/dist/scss/v2/Autocomplete/Autocomplete-theme.scss +11 -0
- package/dist/scss/v2/DropzoneContainer/DropzoneContainer-layout.scss +14 -0
- package/dist/scss/v2/DropzoneContainer/DropzoneContainer-theme.scss +17 -0
- package/dist/scss/v2/LinkPreview/LinkPreview-layout.scss +18 -0
- package/dist/scss/v2/LinkPreview/LinkPreview-theme.scss +15 -0
- package/dist/scss/v2/Message/Message-layout.scss +8 -0
- package/dist/scss/v2/Message/Message-theme.scss +29 -0
- package/dist/scss/v2/MessageInput/MessageInput-layout.scss +0 -13
- package/dist/scss/v2/MessageInput/MessageInput-theme.scss +8 -19
- package/dist/scss/v2/index.layout.scss +2 -1
- package/dist/scss/v2/index.scss +1 -0
- package/dist/types/defaultDataInterfaces.d.ts +25 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/types.d.ts +2 -62
- package/dist/utils/getChannel.d.ts +5 -6
- package/dist/utils/mergeDeep.d.ts +2 -3
- package/package.json +8 -11
- package/dist/components/AutoCompleteTextarea/Item.d.ts +0 -2
- package/dist/components/AutoCompleteTextarea/Item.js +0 -10
- package/dist/components/AutoCompleteTextarea/List.d.ts +0 -17
- package/dist/components/AutoCompleteTextarea/List.js +0 -89
- package/dist/components/AutoCompleteTextarea/Textarea.d.ts +0 -114
- package/dist/components/AutoCompleteTextarea/Textarea.js +0 -593
- package/dist/components/AutoCompleteTextarea/index.d.ts +0 -4
- package/dist/components/AutoCompleteTextarea/index.js +0 -4
- package/dist/components/AutoCompleteTextarea/types.d.ts +0 -15
- package/dist/components/AutoCompleteTextarea/utils.d.ts +0 -6
- package/dist/components/AutoCompleteTextarea/utils.js +0 -40
- package/dist/components/ChatAutoComplete/ChatAutoComplete.d.ts +0 -78
- package/dist/components/ChatAutoComplete/ChatAutoComplete.js +0 -33
- package/dist/components/ChatAutoComplete/index.d.ts +0 -1
- package/dist/components/ChatAutoComplete/index.js +0 -1
- package/dist/components/CommandItem/index.d.ts +0 -1
- package/dist/components/CommandItem/index.js +0 -1
- package/dist/components/EmoticonItem/EmoticonItem.js +0 -16
- package/dist/components/EmoticonItem/index.d.ts +0 -1
- package/dist/components/EmoticonItem/index.js +0 -1
- package/dist/components/MessageInput/DefaultTriggerProvider.d.ts +0 -35
- package/dist/components/MessageInput/DefaultTriggerProvider.js +0 -24
- package/dist/components/MessageInput/DropzoneProvider.d.ts +0 -4
- package/dist/components/MessageInput/DropzoneProvider.js +0 -23
- package/dist/components/MessageInput/hooks/useAttachments.d.ts +0 -14
- package/dist/components/MessageInput/hooks/useAttachments.js +0 -209
- package/dist/components/MessageInput/hooks/useCommandTrigger.d.ts +0 -3
- package/dist/components/MessageInput/hooks/useCommandTrigger.js +0 -62
- package/dist/components/MessageInput/hooks/useEmojiTrigger.d.ts +0 -3
- package/dist/components/MessageInput/hooks/useEmojiTrigger.js +0 -29
- package/dist/components/MessageInput/hooks/useLinkPreviews.d.ts +0 -30
- package/dist/components/MessageInput/hooks/useLinkPreviews.js +0 -109
- package/dist/components/MessageInput/hooks/useMessageInputState.d.ts +0 -71
- package/dist/components/MessageInput/hooks/useMessageInputState.js +0 -200
- package/dist/components/MessageInput/hooks/useUserTrigger.d.ts +0 -12
- package/dist/components/MessageInput/hooks/useUserTrigger.js +0 -130
- package/dist/components/MessageInput/types.d.ts +0 -87
- package/dist/components/MessageInput/types.js +0 -19
- package/dist/components/ReactFileUtilities/ImageDropzone.d.ts +0 -16
- package/dist/components/ReactFileUtilities/ImageDropzone.js +0 -42
- package/dist/components/UserItem/UserItem.js +0 -26
- package/dist/components/UserItem/index.d.ts +0 -1
- package/dist/components/UserItem/index.js +0 -1
- /package/dist/components/{MessageInput → MediaRecorder/AudioRecorder}/hooks/useTimeElapsed.d.ts +0 -0
- /package/dist/components/{MessageInput → MediaRecorder/AudioRecorder}/hooks/useTimeElapsed.js +0 -0
- /package/dist/scss/v2/DragAndDropContainer/{DragAmdDropContainer-layout.scss → DragAndDropContainer-layout.scss} +0 -0
- /package/dist/{components/AutoCompleteTextarea/types.js → types/defaultDataInterfaces.js} +0 -0
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
/// <reference types="lodash" />
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { ItemProps, ListItem } from 'react-virtuoso';
|
|
4
|
-
import {
|
|
3
|
+
import type { ItemProps, ListItem } from 'react-virtuoso';
|
|
4
|
+
import type { RenderedMessage } from './utils';
|
|
5
5
|
import type { VirtuosoContext } from './VirtualizedMessageList';
|
|
6
|
-
import type {
|
|
6
|
+
import type { UnknownType } from '../../types/types';
|
|
7
7
|
export declare function calculateItemIndex(virtuosoIndex: number, numItemsPrepended: number): number;
|
|
8
8
|
export declare function calculateFirstItemIndex(numItemsPrepended: number): number;
|
|
9
|
-
export declare const makeItemsRenderedHandler:
|
|
10
|
-
type CommonVirtuosoComponentProps
|
|
11
|
-
context?: VirtuosoContext
|
|
9
|
+
export declare const makeItemsRenderedHandler: (renderedItemsActions: Array<(msg: RenderedMessage[]) => void>, processedMessages: RenderedMessage[]) => import("lodash").DebouncedFunc<(items: ListItem<UnknownType>[]) => void>;
|
|
10
|
+
type CommonVirtuosoComponentProps = {
|
|
11
|
+
context?: VirtuosoContext;
|
|
12
12
|
};
|
|
13
|
-
export declare const Item:
|
|
14
|
-
export declare const Header:
|
|
15
|
-
export declare const EmptyPlaceholder:
|
|
16
|
-
export declare const messageRenderer:
|
|
13
|
+
export declare const Item: ({ context, ...props }: ItemProps & CommonVirtuosoComponentProps) => React.JSX.Element;
|
|
14
|
+
export declare const Header: ({ context }: CommonVirtuosoComponentProps) => React.JSX.Element;
|
|
15
|
+
export declare const EmptyPlaceholder: ({ context }: CommonVirtuosoComponentProps) => React.JSX.Element;
|
|
16
|
+
export declare const messageRenderer: (virtuosoIndex: number, _data: UnknownType, virtuosoContext: VirtuosoContext) => React.JSX.Element | null;
|
|
17
17
|
export {};
|
|
@@ -5,7 +5,7 @@ import { EmptyStateIndicator as DefaultEmptyStateIndicator } from '../EmptyState
|
|
|
5
5
|
import { LoadingIndicator as DefaultLoadingIndicator } from '../Loading';
|
|
6
6
|
import { isMessageEdited, Message } from '../Message';
|
|
7
7
|
import { useComponentContext } from '../../context';
|
|
8
|
-
import { getIsFirstUnreadMessage, isDateSeparatorMessage } from './utils';
|
|
8
|
+
import { getIsFirstUnreadMessage, isDateSeparatorMessage, isIntroMessage } from './utils';
|
|
9
9
|
const PREPEND_OFFSET = 10 ** 7;
|
|
10
10
|
export function calculateItemIndex(virtuosoIndex, numItemsPrepended) {
|
|
11
11
|
return virtuosoIndex + numItemsPrepended - PREPEND_OFFSET;
|
|
@@ -35,14 +35,14 @@ export const Item = ({ context, ...props }) => {
|
|
|
35
35
|
[`str-chat__li--${groupStyles}`]: groupStyles,
|
|
36
36
|
}) }));
|
|
37
37
|
};
|
|
38
|
-
export const Header = ({ context
|
|
38
|
+
export const Header = ({ context }) => {
|
|
39
39
|
const { LoadingIndicator = DefaultLoadingIndicator } = useComponentContext('VirtualizedMessageListHeader');
|
|
40
40
|
return (React.createElement(React.Fragment, null,
|
|
41
41
|
context?.head,
|
|
42
42
|
context?.loadingMore && LoadingIndicator && (React.createElement("div", { className: 'str-chat__virtual-list__loading' },
|
|
43
43
|
React.createElement(LoadingIndicator, { size: 20 })))));
|
|
44
44
|
};
|
|
45
|
-
export const EmptyPlaceholder = ({ context
|
|
45
|
+
export const EmptyPlaceholder = ({ context }) => {
|
|
46
46
|
const { EmptyStateIndicator = DefaultEmptyStateIndicator } = useComponentContext('VirtualizedMessageList');
|
|
47
47
|
return (React.createElement(React.Fragment, null, EmptyStateIndicator && (React.createElement(EmptyStateIndicator, { listType: context?.threadList ? 'thread' : 'message' }))));
|
|
48
48
|
};
|
|
@@ -53,7 +53,7 @@ export const messageRenderer = (virtuosoIndex, _data, virtuosoContext) => {
|
|
|
53
53
|
return customMessageRenderer(messageList, streamMessageIndex);
|
|
54
54
|
}
|
|
55
55
|
const message = messageList[streamMessageIndex];
|
|
56
|
-
if (!message)
|
|
56
|
+
if (!message || isIntroMessage(message))
|
|
57
57
|
return React.createElement("div", { style: { height: '1px' } }); // returning null or zero height breaks the virtuoso
|
|
58
58
|
if (isDateSeparatorMessage(message)) {
|
|
59
59
|
return DateSeparator ? (React.createElement(DateSeparator, { date: message.date, unread: message.unread })) : null;
|
|
@@ -61,11 +61,11 @@ export const messageRenderer = (virtuosoIndex, _data, virtuosoContext) => {
|
|
|
61
61
|
if (message.type === 'system') {
|
|
62
62
|
return MessageSystem ? React.createElement(MessageSystem, { message: message }) : null;
|
|
63
63
|
}
|
|
64
|
-
const groupedByUser = shouldGroupByUser &&
|
|
65
|
-
streamMessageIndex > 0 &&
|
|
66
|
-
message.user?.id === messageList[streamMessageIndex - 1].user?.id;
|
|
67
64
|
const maybePrevMessage = messageList[streamMessageIndex - 1];
|
|
68
65
|
const maybeNextMessage = messageList[streamMessageIndex + 1];
|
|
66
|
+
const groupedByUser = shouldGroupByUser &&
|
|
67
|
+
streamMessageIndex > 0 &&
|
|
68
|
+
message.user?.id === maybePrevMessage?.user?.id;
|
|
69
69
|
// FIXME: firstOfGroup & endOfGroup should be derived from groupStyles which apply a more complex logic
|
|
70
70
|
const firstOfGroup = shouldGroupByUser &&
|
|
71
71
|
(message.user?.id !== maybePrevMessage?.user?.id ||
|
|
@@ -1,19 +1,17 @@
|
|
|
1
|
-
import { GroupStyle, ProcessMessagesParams } from '../../utils';
|
|
2
|
-
import type { Channel } from 'stream-chat';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export declare const useEnrichedMessages: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(args: {
|
|
6
|
-
channel: Channel<StreamChatGenerics>;
|
|
1
|
+
import type { GroupStyle, ProcessMessagesParams, RenderedMessage } from '../../utils';
|
|
2
|
+
import type { Channel, LocalMessage } from 'stream-chat';
|
|
3
|
+
export declare const useEnrichedMessages: (args: {
|
|
4
|
+
channel: Channel;
|
|
7
5
|
disableDateSeparator: boolean;
|
|
8
6
|
hideDeletedMessages: boolean;
|
|
9
7
|
hideNewMessageSeparator: boolean;
|
|
10
|
-
messages:
|
|
8
|
+
messages: LocalMessage[];
|
|
11
9
|
noGroupByUser: boolean;
|
|
12
|
-
groupStyles?: (message:
|
|
10
|
+
groupStyles?: (message: RenderedMessage, previousMessage: RenderedMessage, nextMessage: RenderedMessage, noGroupByUser: boolean, maxTimeBetweenGroupedMessages?: number) => GroupStyle;
|
|
13
11
|
headerPosition?: number;
|
|
14
12
|
maxTimeBetweenGroupedMessages?: number;
|
|
15
|
-
reviewProcessedMessage?: ProcessMessagesParams
|
|
13
|
+
reviewProcessedMessage?: ProcessMessagesParams['reviewProcessedMessage'];
|
|
16
14
|
}) => {
|
|
17
15
|
messageGroupStyles: Record<string, GroupStyle>;
|
|
18
|
-
messages:
|
|
16
|
+
messages: RenderedMessage[];
|
|
19
17
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useMemo } from 'react';
|
|
2
|
-
import { getGroupStyles, insertIntro, processMessages
|
|
2
|
+
import { getGroupStyles, insertIntro, processMessages } from '../../utils';
|
|
3
3
|
import { useChatContext } from '../../../../context/ChatContext';
|
|
4
4
|
import { useComponentContext } from '../../../../context/ComponentContext';
|
|
5
5
|
export const useEnrichedMessages = (args) => {
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { GroupStyle } from '../../utils';
|
|
1
|
+
import type React from 'react';
|
|
3
2
|
import type { ChannelState as StreamChannelState } from 'stream-chat';
|
|
4
|
-
import type {
|
|
5
|
-
import type { ChannelUnreadUiState
|
|
6
|
-
import { MessageRenderer, SharedMessageProps } from '../../renderMessages';
|
|
7
|
-
type UseMessageListElementsProps
|
|
8
|
-
enrichedMessages:
|
|
9
|
-
internalMessageProps: SharedMessageProps
|
|
3
|
+
import type { GroupStyle, RenderedMessage } from '../../utils';
|
|
4
|
+
import type { ChannelUnreadUiState } from '../../../../types/types';
|
|
5
|
+
import type { MessageRenderer, SharedMessageProps } from '../../renderMessages';
|
|
6
|
+
type UseMessageListElementsProps = {
|
|
7
|
+
enrichedMessages: RenderedMessage[];
|
|
8
|
+
internalMessageProps: SharedMessageProps;
|
|
10
9
|
messageGroupStyles: Record<string, GroupStyle>;
|
|
11
|
-
renderMessages: MessageRenderer
|
|
10
|
+
renderMessages: MessageRenderer;
|
|
12
11
|
returnAllReadData: boolean;
|
|
13
12
|
threadList: boolean;
|
|
14
|
-
channelUnreadUiState?: ChannelUnreadUiState
|
|
15
|
-
read?: StreamChannelState
|
|
13
|
+
channelUnreadUiState?: ChannelUnreadUiState;
|
|
14
|
+
read?: StreamChannelState['read'];
|
|
16
15
|
};
|
|
17
|
-
export declare const useMessageListElements:
|
|
16
|
+
export declare const useMessageListElements: (props: UseMessageListElementsProps) => React.ReactNode[];
|
|
18
17
|
export {};
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { DefaultStreamChatGenerics } from '../../../../types/types';
|
|
1
|
+
import type { LocalMessage } from 'stream-chat';
|
|
3
2
|
export type ContainerMeasures = {
|
|
4
3
|
offsetHeight: number;
|
|
5
4
|
scrollHeight: number;
|
|
6
5
|
};
|
|
7
|
-
export type UseMessageListScrollManagerParams
|
|
6
|
+
export type UseMessageListScrollManagerParams = {
|
|
8
7
|
loadMoreScrollThreshold: number;
|
|
9
|
-
messages:
|
|
8
|
+
messages: LocalMessage[];
|
|
10
9
|
onScrollBy: (scrollBy: number) => void;
|
|
11
10
|
scrollContainerMeasures: () => ContainerMeasures;
|
|
12
11
|
scrolledUpThreshold: number;
|
|
13
12
|
scrollToBottom: () => void;
|
|
14
13
|
showNewMessages: () => void;
|
|
15
14
|
};
|
|
16
|
-
export declare function useMessageListScrollManager
|
|
15
|
+
export declare function useMessageListScrollManager(params: UseMessageListScrollManagerParams): (scrollTopValue: number) => void;
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
export type UseScrollLocationLogicParams<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import type { LocalMessage } from 'stream-chat';
|
|
3
|
+
export type UseScrollLocationLogicParams = {
|
|
5
4
|
hasMoreNewer: boolean;
|
|
6
5
|
listElement: HTMLDivElement | null;
|
|
7
6
|
loadMoreScrollThreshold: number;
|
|
8
7
|
suppressAutoscroll: boolean;
|
|
9
|
-
messages?:
|
|
8
|
+
messages?: LocalMessage[];
|
|
10
9
|
scrolledUpThreshold?: number;
|
|
11
10
|
};
|
|
12
|
-
export declare const useScrollLocationLogic:
|
|
11
|
+
export declare const useScrollLocationLogic: (params: UseScrollLocationLogicParams) => {
|
|
13
12
|
hasNewMessages: boolean;
|
|
14
13
|
isMessageListScrolledToBottom: boolean;
|
|
15
14
|
onScroll: (event: React.UIEvent<HTMLDivElement>) => void;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
setGiphyPreviewMessage: import("react").Dispatch<import("react").SetStateAction<StreamMessage<StreamChatGenerics> | undefined>> | undefined;
|
|
2
|
+
import type { LocalMessage } from 'stream-chat';
|
|
3
|
+
export declare const useGiphyPreview: (separateGiphyPreview: boolean) => {
|
|
4
|
+
giphyPreviewMessage: LocalMessage | undefined;
|
|
5
|
+
setGiphyPreviewMessage: import("react").Dispatch<import("react").SetStateAction<LocalMessage | undefined>> | undefined;
|
|
7
6
|
};
|
|
@@ -4,14 +4,15 @@ export const useGiphyPreview = (separateGiphyPreview) => {
|
|
|
4
4
|
const [giphyPreviewMessage, setGiphyPreviewMessage] = useState();
|
|
5
5
|
const { client } = useChatContext('useGiphyPreview');
|
|
6
6
|
useEffect(() => {
|
|
7
|
+
if (!separateGiphyPreview)
|
|
8
|
+
return;
|
|
7
9
|
const handleEvent = (event) => {
|
|
8
10
|
const { message, user } = event;
|
|
9
11
|
if (message?.command === 'giphy' && user?.id === client.userID) {
|
|
10
12
|
setGiphyPreviewMessage(undefined);
|
|
11
13
|
}
|
|
12
14
|
};
|
|
13
|
-
|
|
14
|
-
client.on('message.new', handleEvent);
|
|
15
|
+
client.on('message.new', handleEvent);
|
|
15
16
|
return () => client.off('message.new', handleEvent);
|
|
16
17
|
}, [client, separateGiphyPreview]);
|
|
17
18
|
return {
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
messages?: StreamMessage<StreamChatGenerics>[];
|
|
1
|
+
import type { LocalMessage } from 'stream-chat';
|
|
2
|
+
type UseMessageSetKeyParams = {
|
|
3
|
+
messages?: LocalMessage[];
|
|
5
4
|
};
|
|
6
|
-
export declare const useMessageSetKey:
|
|
5
|
+
export declare const useMessageSetKey: ({ messages }: UseMessageSetKeyParams) => {
|
|
7
6
|
messageSetKey: number;
|
|
8
7
|
};
|
|
9
8
|
export {};
|
package/dist/components/MessageList/hooks/VirtualizedMessageList/useNewMessageNotification.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
export declare function useNewMessageNotification<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(messages: StreamMessage<StreamChatGenerics>[], currentUserId: string | undefined, hasMoreNewer?: boolean): {
|
|
2
|
+
import type { RenderedMessage } from '../../utils';
|
|
3
|
+
export declare function useNewMessageNotification(messages: RenderedMessage[], currentUserId: string | undefined, hasMoreNewer?: boolean): {
|
|
5
4
|
atBottom: import("react").RefObject<boolean>;
|
|
6
5
|
isMessageListScrolledToBottom: boolean;
|
|
7
6
|
newMessagesNotification: boolean;
|
package/dist/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.d.ts
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
export declare function usePrependedMessagesCount<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(messages: StreamMessage<StreamChatGenerics>[], hasDateSeparator: boolean): number;
|
|
1
|
+
import type { RenderedMessage } from '../../utils';
|
|
2
|
+
export declare function usePrependedMessagesCount(messages: RenderedMessage[], hasDateSeparator: boolean): number;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { useMemo, useRef } from 'react';
|
|
2
|
+
import { isLocalMessage } from '../../utils';
|
|
2
3
|
const STATUSES_EXCLUDED_FROM_PREPEND = {
|
|
3
4
|
failed: true,
|
|
4
5
|
sending: true,
|
|
@@ -26,8 +27,11 @@ export function usePrependedMessagesCount(messages, hasDateSeparator) {
|
|
|
26
27
|
// That in turn leads to incorrect index calculation in VirtualizedMessageList trying to access a message
|
|
27
28
|
// at non-existent index. Therefore, we ignore messages of status "sending" / "failed" in order they are
|
|
28
29
|
// not considered as prepended messages.
|
|
29
|
-
const
|
|
30
|
-
|
|
30
|
+
const currentFirstMessageStatus = isLocalMessage(currentFirstMessage)
|
|
31
|
+
? currentFirstMessage.status
|
|
32
|
+
: undefined;
|
|
33
|
+
const firstMsgMovedAfterMessagesInExcludedStatus = !!(currentFirstMessageStatus &&
|
|
34
|
+
STATUSES_EXCLUDED_FROM_PREPEND[currentFirstMessageStatus]);
|
|
31
35
|
if (noNewMessages || firstMsgMovedAfterMessagesInExcludedStatus) {
|
|
32
36
|
return previousNumItemsPrepended.current;
|
|
33
37
|
}
|
package/dist/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
type UseScrollToBottomOnNewMessageParams<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
|
|
1
|
+
import type { RenderedMessage } from '../../utils';
|
|
2
|
+
type UseScrollToBottomOnNewMessageParams = {
|
|
4
3
|
scrollToBottom: () => void;
|
|
5
|
-
messages?:
|
|
4
|
+
messages?: RenderedMessage[];
|
|
6
5
|
/** When `true`, the list will scroll to the latest message when the window regains focus */
|
|
7
6
|
scrollToLatestMessageOnFocus?: boolean;
|
|
8
7
|
};
|
|
9
|
-
export declare const useScrollToBottomOnNewMessage:
|
|
8
|
+
export declare const useScrollToBottomOnNewMessage: ({ messages, scrollToBottom, scrollToLatestMessageOnFocus, }: UseScrollToBottomOnNewMessageParams) => void;
|
|
10
9
|
export {};
|
package/dist/components/MessageList/hooks/VirtualizedMessageList/useShouldForceScrollToBottom.d.ts
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
export declare function useShouldForceScrollToBottom<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(messages: StreamMessage<StreamChatGenerics>[], currentUserId?: string): () => boolean;
|
|
1
|
+
import type { RenderedMessage } from '../../utils';
|
|
2
|
+
export declare function useShouldForceScrollToBottom(messages: RenderedMessage[], currentUserId?: string): () => boolean;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { DefaultStreamChatGenerics } from '../../../../types/types';
|
|
1
|
+
import type { RenderedMessage } from '../../utils';
|
|
3
2
|
export type UseUnreadMessagesNotificationParams = {
|
|
4
3
|
showAlways: boolean;
|
|
5
4
|
unreadCount: number;
|
|
@@ -17,7 +16,7 @@ export type UseUnreadMessagesNotificationParams = {
|
|
|
17
16
|
* @param showAlways
|
|
18
17
|
* @param unreadCount
|
|
19
18
|
*/
|
|
20
|
-
export declare const useUnreadMessagesNotificationVirtualized:
|
|
19
|
+
export declare const useUnreadMessagesNotificationVirtualized: ({ lastRead, showAlways, unreadCount, }: UseUnreadMessagesNotificationParams) => {
|
|
21
20
|
show: boolean;
|
|
22
|
-
toggleShowUnreadMessagesNotification: (renderedMessages:
|
|
21
|
+
toggleShowUnreadMessagesNotification: (renderedMessages: RenderedMessage[]) => void;
|
|
23
22
|
};
|
|
@@ -20,12 +20,11 @@ export const useUnreadMessagesNotificationVirtualized = ({ lastRead, showAlways,
|
|
|
20
20
|
const lastRenderedMessage = renderedMessages.slice(-1)[0];
|
|
21
21
|
if (!(firstRenderedMessage && lastRenderedMessage))
|
|
22
22
|
return;
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
lastRead.getTime();
|
|
23
|
+
const firstRenderedMessageTime = new Date(firstRenderedMessage.created_at ?? 0).getTime();
|
|
24
|
+
const lastRenderedMessageTime = new Date(lastRenderedMessage.created_at ?? 0).getTime();
|
|
25
|
+
const lastReadTime = new Date(lastRead ?? 0).getTime();
|
|
26
|
+
const scrolledBelowSeparator = !!lastReadTime && firstRenderedMessageTime > lastReadTime;
|
|
27
|
+
const scrolledAboveSeparator = !!lastReadTime && lastRenderedMessageTime < lastReadTime;
|
|
29
28
|
setShow(showAlways
|
|
30
29
|
? scrolledBelowSeparator || scrolledAboveSeparator
|
|
31
30
|
: scrolledBelowSeparator);
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import type { UserResponse } from 'stream-chat';
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
messages: StreamMessage<StreamChatGenerics>[];
|
|
2
|
+
import type { RenderedMessage } from '../utils';
|
|
3
|
+
type UseLastReadDataParams = {
|
|
4
|
+
messages: RenderedMessage[];
|
|
6
5
|
returnAllReadData: boolean;
|
|
7
6
|
userID: string | undefined;
|
|
8
7
|
read?: Record<string, {
|
|
9
8
|
last_read: Date;
|
|
10
|
-
user: UserResponse
|
|
9
|
+
user: UserResponse;
|
|
11
10
|
}>;
|
|
12
11
|
};
|
|
13
|
-
export declare const useLastReadData:
|
|
12
|
+
export declare const useLastReadData: (props: UseLastReadDataParams) => Record<string, UserResponse[]>;
|
|
14
13
|
export {};
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { useMemo } from 'react';
|
|
2
|
+
import { isLocalMessage } from '../utils';
|
|
2
3
|
import { getReadStates } from '../utils';
|
|
3
4
|
export const useLastReadData = (props) => {
|
|
4
5
|
const { messages, read, returnAllReadData, userID } = props;
|
|
5
|
-
return useMemo(() =>
|
|
6
|
+
return useMemo(() => {
|
|
7
|
+
const ownLocalMessages = messages.filter((msg) => isLocalMessage(msg) && msg.user?.id === userID);
|
|
8
|
+
return getReadStates(ownLocalMessages, read, returnAllReadData);
|
|
9
|
+
}, [messages, read, returnAllReadData, userID]);
|
|
6
10
|
};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { DefaultStreamChatGenerics } from '../../../types';
|
|
2
1
|
type UseMarkReadParams = {
|
|
3
2
|
isMessageListScrolledToBottom: boolean;
|
|
4
3
|
messageListIsThread: boolean;
|
|
@@ -13,5 +12,5 @@ type UseMarkReadParams = {
|
|
|
13
12
|
* @param messageListIsThread
|
|
14
13
|
* @param wasChannelMarkedUnread
|
|
15
14
|
*/
|
|
16
|
-
export declare const useMarkRead:
|
|
15
|
+
export declare const useMarkRead: ({ isMessageListScrolledToBottom, messageListIsThread, wasMarkedUnread, }: UseMarkReadParams) => void;
|
|
17
16
|
export {};
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
2
3
|
import type { UserResponse } from 'stream-chat';
|
|
3
|
-
import { GroupStyle } from './utils';
|
|
4
|
-
import { ComponentContextValue, CustomClasses } from '../../context';
|
|
5
|
-
import type { ChannelUnreadUiState, DefaultStreamChatGenerics } from '../../types';
|
|
6
|
-
import type { StreamMessage } from '../../context/ChannelStateContext';
|
|
4
|
+
import type { GroupStyle, RenderedMessage } from './utils';
|
|
7
5
|
import type { MessageProps } from '../Message';
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
import type { ComponentContextValue, CustomClasses } from '../../context';
|
|
7
|
+
import type { ChannelUnreadUiState } from '../../types';
|
|
8
|
+
export interface RenderMessagesOptions {
|
|
9
|
+
components: ComponentContextValue;
|
|
10
10
|
lastReceivedMessageId: string | null;
|
|
11
11
|
messageGroupStyles: Record<string, GroupStyle>;
|
|
12
|
-
messages: Array<
|
|
12
|
+
messages: Array<RenderedMessage>;
|
|
13
13
|
/**
|
|
14
14
|
* Object mapping message IDs of own messages to the users who read those messages.
|
|
15
15
|
*/
|
|
16
|
-
readData: Record<string, Array<UserResponse
|
|
16
|
+
readData: Record<string, Array<UserResponse>>;
|
|
17
17
|
/**
|
|
18
18
|
* Props forwarded to the Message component.
|
|
19
19
|
*/
|
|
20
|
-
sharedMessageProps: SharedMessageProps
|
|
20
|
+
sharedMessageProps: SharedMessageProps;
|
|
21
21
|
/**
|
|
22
22
|
* Current user's channel read state used to render components reflecting unread state.
|
|
23
23
|
* It does not reflect the back-end state if a channel is marked read on mount.
|
|
24
24
|
* This is in order to keep the unread UI when an unread channel is open.
|
|
25
25
|
*/
|
|
26
|
-
channelUnreadUiState?: ChannelUnreadUiState
|
|
26
|
+
channelUnreadUiState?: ChannelUnreadUiState;
|
|
27
27
|
customClasses?: CustomClasses;
|
|
28
28
|
}
|
|
29
|
-
export type SharedMessageProps
|
|
30
|
-
export type MessageRenderer
|
|
29
|
+
export type SharedMessageProps = Omit<MessageProps, MessagePropsToOmit>;
|
|
30
|
+
export type MessageRenderer = (options: RenderMessagesOptions) => Array<ReactNode>;
|
|
31
31
|
type MessagePropsToOmit = 'channel' | 'groupStyles' | 'initialMessage' | 'lastReceivedId' | 'message' | 'readBy';
|
|
32
|
-
export declare function defaultRenderMessages
|
|
32
|
+
export declare function defaultRenderMessages({ channelUnreadUiState, components, customClasses, lastReceivedMessageId: lastReceivedId, messageGroupStyles, messages, readData, sharedMessageProps: messageProps, }: RenderMessagesOptions): React.JSX.Element[];
|
|
33
33
|
export {};
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import React, { Fragment } from 'react';
|
|
2
|
-
import { getIsFirstUnreadMessage, isDateSeparatorMessage } from './utils';
|
|
2
|
+
import { getIsFirstUnreadMessage, isDateSeparatorMessage, isIntroMessage } from './utils';
|
|
3
3
|
import { Message } from '../Message';
|
|
4
4
|
import { DateSeparator as DefaultDateSeparator } from '../DateSeparator';
|
|
5
5
|
import { EventComponent as DefaultMessageSystem } from '../EventComponent';
|
|
6
6
|
import { UnreadMessagesSeparator as DefaultUnreadMessagesSeparator } from './UnreadMessagesSeparator';
|
|
7
|
-
import { CUSTOM_MESSAGE_TYPE } from '../../constants/messageTypes';
|
|
8
7
|
export function defaultRenderMessages({ channelUnreadUiState, components, customClasses, lastReceivedMessageId: lastReceivedId, messageGroupStyles, messages, readData, sharedMessageProps: messageProps, }) {
|
|
9
8
|
const { DateSeparator = DefaultDateSeparator, HeaderComponent, MessageSystem = DefaultMessageSystem, UnreadMessagesSeparator = DefaultUnreadMessagesSeparator, } = components;
|
|
10
9
|
const renderedMessages = [];
|
|
@@ -16,12 +15,14 @@ export function defaultRenderMessages({ channelUnreadUiState, components, custom
|
|
|
16
15
|
renderedMessages.push(React.createElement("li", { key: `${message.date.toISOString()}-i` },
|
|
17
16
|
React.createElement(DateSeparator, { date: message.date, formatDate: messageProps.formatDate, unread: message.unread })));
|
|
18
17
|
}
|
|
19
|
-
else if (message
|
|
20
|
-
|
|
21
|
-
React.createElement(
|
|
18
|
+
else if (isIntroMessage(message)) {
|
|
19
|
+
if (HeaderComponent) {
|
|
20
|
+
renderedMessages.push(React.createElement("li", { key: 'intro' },
|
|
21
|
+
React.createElement(HeaderComponent, null)));
|
|
22
|
+
}
|
|
22
23
|
}
|
|
23
24
|
else if (message.type === 'system') {
|
|
24
|
-
renderedMessages.push(React.createElement("li", { "data-message-id": message.id, key: message.id || message.created_at },
|
|
25
|
+
renderedMessages.push(React.createElement("li", { "data-message-id": message.id, key: message.id || message.created_at.toISOString() },
|
|
25
26
|
React.createElement(MessageSystem, { message: message })));
|
|
26
27
|
}
|
|
27
28
|
else {
|
|
@@ -39,7 +40,7 @@ export function defaultRenderMessages({ channelUnreadUiState, components, custom
|
|
|
39
40
|
previousMessage,
|
|
40
41
|
unreadMessageCount: channelUnreadUiState?.unread_messages,
|
|
41
42
|
});
|
|
42
|
-
renderedMessages.push(React.createElement(Fragment, { key: message.id || message.created_at },
|
|
43
|
+
renderedMessages.push(React.createElement(Fragment, { key: message.id || message.created_at.toISOString() },
|
|
43
44
|
isFirstUnreadMessage && UnreadMessagesSeparator && (React.createElement("li", { className: 'str-chat__li str-chat__unread-messages-separator-wrapper' },
|
|
44
45
|
React.createElement(UnreadMessagesSeparator, { unreadCount: channelUnreadUiState?.unread_messages }))),
|
|
45
46
|
React.createElement("li", { className: messageClass, "data-message-id": message.id, "data-testid": messageClass },
|
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { CUSTOM_MESSAGE_TYPE } from '../../constants/messageTypes';
|
|
3
|
-
import type { MessageLabel, UserResponse } from 'stream-chat';
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
import type { LocalMessage, MessageLabel, UserResponse } from 'stream-chat';
|
|
4
|
+
type IntroMessage = {
|
|
5
|
+
customType: typeof CUSTOM_MESSAGE_TYPE.intro;
|
|
6
|
+
id: string;
|
|
7
|
+
};
|
|
8
|
+
type DateSeparatorMessage = {
|
|
9
|
+
customType: typeof CUSTOM_MESSAGE_TYPE.date;
|
|
10
|
+
date: Date;
|
|
11
|
+
id: string;
|
|
12
|
+
type: MessageLabel;
|
|
13
|
+
unread: boolean;
|
|
14
|
+
};
|
|
15
|
+
export type RenderedMessage = LocalMessage | DateSeparatorMessage | IntroMessage;
|
|
6
16
|
type ProcessMessagesContext = {
|
|
7
17
|
/** the connected user ID */
|
|
8
18
|
userId: string;
|
|
@@ -15,22 +25,22 @@ type ProcessMessagesContext = {
|
|
|
15
25
|
/** Sets the threshold after everything is considered unread */
|
|
16
26
|
lastRead?: Date | null;
|
|
17
27
|
};
|
|
18
|
-
export type ProcessMessagesParams
|
|
19
|
-
messages:
|
|
28
|
+
export type ProcessMessagesParams = ProcessMessagesContext & {
|
|
29
|
+
messages: LocalMessage[];
|
|
20
30
|
reviewProcessedMessage?: (params: {
|
|
21
31
|
/** array of messages representing the changes applied around a given processed message */
|
|
22
|
-
changes:
|
|
32
|
+
changes: RenderedMessage[];
|
|
23
33
|
/** configuration params and information forwarded from `processMessages` */
|
|
24
34
|
context: ProcessMessagesContext;
|
|
25
35
|
/** index of the processed message in the original messages array */
|
|
26
36
|
index: number;
|
|
27
37
|
/** array of messages retrieved from the back-end */
|
|
28
|
-
messages:
|
|
38
|
+
messages: LocalMessage[];
|
|
29
39
|
/** newly built array of messages to be later rendered */
|
|
30
|
-
processedMessages:
|
|
31
|
-
}) =>
|
|
40
|
+
processedMessages: RenderedMessage[];
|
|
41
|
+
}) => LocalMessage[];
|
|
32
42
|
/** Signals whether to separate giphy preview as well as used to set the giphy preview state */
|
|
33
|
-
setGiphyPreviewMessage?: React.Dispatch<React.SetStateAction<
|
|
43
|
+
setGiphyPreviewMessage?: React.Dispatch<React.SetStateAction<LocalMessage | undefined>>;
|
|
34
44
|
};
|
|
35
45
|
/**
|
|
36
46
|
* processMessages - Transform the input message list according to config parameters
|
|
@@ -46,35 +56,31 @@ export type ProcessMessagesParams<StreamChatGenerics extends DefaultStreamChatGe
|
|
|
46
56
|
*
|
|
47
57
|
* The only required params are messages and userId, the rest are config params:
|
|
48
58
|
*
|
|
49
|
-
* @return {
|
|
59
|
+
* @return {LocalMessage[]} Transformed list of messages
|
|
50
60
|
*/
|
|
51
|
-
export declare const processMessages:
|
|
61
|
+
export declare const processMessages: (params: ProcessMessagesParams) => RenderedMessage[];
|
|
62
|
+
export declare const makeIntroMessage: () => IntroMessage;
|
|
52
63
|
export declare const makeDateMessageId: (date?: string | Date) => string;
|
|
53
|
-
export declare const getLastReceived:
|
|
54
|
-
export declare const getReadStates:
|
|
64
|
+
export declare const getLastReceived: (messages: RenderedMessage[]) => string | null;
|
|
65
|
+
export declare const getReadStates: (messages: LocalMessage[], read: Record<string, {
|
|
55
66
|
last_read: Date;
|
|
56
|
-
user: UserResponse
|
|
57
|
-
}> | undefined, returnAllReadData: boolean) => Record<string, UserResponse
|
|
58
|
-
export declare const insertIntro:
|
|
67
|
+
user: UserResponse;
|
|
68
|
+
}> | undefined, returnAllReadData: boolean) => Record<string, UserResponse[]>;
|
|
69
|
+
export declare const insertIntro: (messages: RenderedMessage[], headerPosition?: number) => RenderedMessage[];
|
|
59
70
|
export type GroupStyle = '' | 'middle' | 'top' | 'bottom' | 'single';
|
|
60
|
-
export declare const getGroupStyles:
|
|
71
|
+
export declare const getGroupStyles: (message: RenderedMessage, previousMessage: RenderedMessage, nextMessage: RenderedMessage, noGroupByUser: boolean, maxTimeBetweenGroupedMessages?: number) => GroupStyle;
|
|
61
72
|
export declare const hasMoreMessagesProbably: (returnedCountMessages: number, limit: number) => boolean;
|
|
62
73
|
export declare const hasNotMoreMessages: (returnedCountMessages: number, limit: number) => boolean;
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
id: string;
|
|
67
|
-
type: MessageLabel;
|
|
68
|
-
unread: boolean;
|
|
69
|
-
};
|
|
70
|
-
export declare function isDateSeparatorMessage<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(message: StreamMessage<StreamChatGenerics>): message is DateSeparatorMessage;
|
|
74
|
+
export declare function isIntroMessage(message: unknown): message is IntroMessage;
|
|
75
|
+
export declare function isDateSeparatorMessage(message: unknown): message is DateSeparatorMessage;
|
|
76
|
+
export declare function isLocalMessage(message: unknown): message is LocalMessage;
|
|
71
77
|
export declare const getIsFirstUnreadMessage: ({ firstUnreadMessageId, isFirstMessage, lastReadDate, lastReadMessageId, message, previousMessage, unreadMessageCount, }: {
|
|
72
78
|
isFirstMessage: boolean;
|
|
73
|
-
message:
|
|
79
|
+
message: LocalMessage;
|
|
74
80
|
firstUnreadMessageId?: string;
|
|
75
81
|
lastReadDate?: Date;
|
|
76
82
|
lastReadMessageId?: string;
|
|
77
|
-
previousMessage?:
|
|
83
|
+
previousMessage?: RenderedMessage;
|
|
78
84
|
unreadMessageCount?: number;
|
|
79
85
|
}) => boolean;
|
|
80
86
|
export {};
|