stream-chat-react 12.15.0 → 13.0.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 -43
- package/dist/components/Channel/Channel.js +25 -88
- 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 +3 -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/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 +8 -10
- 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 -22
- package/dist/components/Message/utils.js +5 -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 +24 -17
- package/dist/components/MessageInput/MessageInputFlat.d.ts +1 -2
- package/dist/components/MessageInput/MessageInputFlat.js +14 -39
- 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 +4 -3
- package/dist/components/MessageInput/WithDragAndDropUpload.js +20 -9
- 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 +0 -2
- package/dist/components/MessageInput/index.js +0 -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/TextareaComposer/SuggestionList/CommandItem.d.ts +7 -0
- 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 +14 -0
- package/dist/components/TextareaComposer/SuggestionList/SuggestionList.js +50 -0
- package/dist/components/TextareaComposer/SuggestionList/SuggestionListItem.d.ts +18 -0
- package/dist/components/TextareaComposer/SuggestionList/SuggestionListItem.js +24 -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 +39 -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/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 +1 -1
- 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 +28513 -30641
- package/dist/index.browser.cjs.map +4 -4
- package/dist/index.node.cjs +30740 -32877
- package/dist/index.node.cjs.map +4 -4
- package/dist/plugins/Emojis/index.browser.cjs +133 -2
- 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 -3
- 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/LinkPreview/LinkPreview-layout.scss +18 -0
- package/dist/scss/v2/LinkPreview/LinkPreview-theme.scss +15 -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 +5 -5
- 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/CommandItem.d.ts +0 -12
- 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/{components/AutoCompleteTextarea/types.js → types/defaultDataInterfaces.js} +0 -0
|
@@ -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 {};
|
|
@@ -16,7 +16,7 @@ import { isDate } from '../../i18n';
|
|
|
16
16
|
*
|
|
17
17
|
* The only required params are messages and userId, the rest are config params:
|
|
18
18
|
*
|
|
19
|
-
* @return {
|
|
19
|
+
* @return {LocalMessage[]} Transformed list of messages
|
|
20
20
|
*/
|
|
21
21
|
export const processMessages = (params) => {
|
|
22
22
|
const { messages, reviewProcessedMessage, setGiphyPreviewMessage, ...context } = params;
|
|
@@ -70,7 +70,7 @@ export const processMessages = (params) => {
|
|
|
70
70
|
(hideDeletedMessages &&
|
|
71
71
|
previousMessage?.type === 'deleted' &&
|
|
72
72
|
lastDateSeparator !== messageDate)) &&
|
|
73
|
-
changes[changes.length - 1]
|
|
73
|
+
!isDateSeparatorMessage(changes[changes.length - 1]) // do not show two date separators in a row)
|
|
74
74
|
) {
|
|
75
75
|
lastDateSeparator = messageDate;
|
|
76
76
|
changes.push({
|
|
@@ -96,6 +96,10 @@ export const processMessages = (params) => {
|
|
|
96
96
|
}
|
|
97
97
|
return newMessages;
|
|
98
98
|
};
|
|
99
|
+
export const makeIntroMessage = () => ({
|
|
100
|
+
customType: CUSTOM_MESSAGE_TYPE.intro,
|
|
101
|
+
id: nanoid(),
|
|
102
|
+
});
|
|
99
103
|
export const makeDateMessageId = (date) => {
|
|
100
104
|
let idSuffix;
|
|
101
105
|
try {
|
|
@@ -147,9 +151,7 @@ export const getReadStates = (messages, read = {}, returnAllReadData) => {
|
|
|
147
151
|
};
|
|
148
152
|
export const insertIntro = (messages, headerPosition) => {
|
|
149
153
|
const newMessages = messages;
|
|
150
|
-
const intro =
|
|
151
|
-
customType: CUSTOM_MESSAGE_TYPE.intro,
|
|
152
|
-
};
|
|
154
|
+
const intro = makeIntroMessage();
|
|
153
155
|
// if no headerPosition is set, HeaderComponent will go at the top
|
|
154
156
|
if (!headerPosition) {
|
|
155
157
|
newMessages.unshift(intro);
|
|
@@ -162,19 +164,17 @@ export const insertIntro = (messages, headerPosition) => {
|
|
|
162
164
|
}
|
|
163
165
|
// else loop over the messages
|
|
164
166
|
for (let i = 0; i < messages.length; i += 1) {
|
|
165
|
-
const
|
|
166
|
-
|
|
167
|
-
? message.created_at.getTime()
|
|
167
|
+
const messageTime = isDate(messages[i].created_at)
|
|
168
|
+
? messages[i].created_at.getTime()
|
|
168
169
|
: null;
|
|
169
|
-
const
|
|
170
|
-
|
|
171
|
-
? nextMessage.created_at.getTime()
|
|
170
|
+
const nextMessageTime = isDate(messages[i + 1].created_at)
|
|
171
|
+
? messages[i + 1].created_at.getTime()
|
|
172
172
|
: null;
|
|
173
173
|
// header position is smaller than message time so comes after;
|
|
174
174
|
if (messageTime && messageTime < headerPosition) {
|
|
175
175
|
// if header position is also smaller than message time continue;
|
|
176
176
|
if (nextMessageTime && nextMessageTime < headerPosition) {
|
|
177
|
-
if (messages[i + 1] && messages[i + 1]
|
|
177
|
+
if (messages[i + 1] && isDateSeparatorMessage(messages[i + 1]))
|
|
178
178
|
continue;
|
|
179
179
|
if (!nextMessageTime) {
|
|
180
180
|
newMessages.push(intro);
|
|
@@ -190,15 +190,13 @@ export const insertIntro = (messages, headerPosition) => {
|
|
|
190
190
|
return newMessages;
|
|
191
191
|
};
|
|
192
192
|
export const getGroupStyles = (message, previousMessage, nextMessage, noGroupByUser, maxTimeBetweenGroupedMessages) => {
|
|
193
|
-
if (message
|
|
194
|
-
return '';
|
|
195
|
-
if (message.customType === CUSTOM_MESSAGE_TYPE.intro)
|
|
193
|
+
if (isDateSeparatorMessage(message) || isIntroMessage(message))
|
|
196
194
|
return '';
|
|
197
195
|
if (noGroupByUser || message.attachments?.length !== 0)
|
|
198
196
|
return 'single';
|
|
199
197
|
const isTopMessage = !previousMessage ||
|
|
200
|
-
previousMessage
|
|
201
|
-
previousMessage
|
|
198
|
+
isIntroMessage(previousMessage) ||
|
|
199
|
+
isDateSeparatorMessage(previousMessage) ||
|
|
202
200
|
previousMessage.type === 'system' ||
|
|
203
201
|
previousMessage.type === 'error' ||
|
|
204
202
|
previousMessage.attachments?.length !== 0 ||
|
|
@@ -213,8 +211,8 @@ export const getGroupStyles = (message, previousMessage, nextMessage, noGroupByU
|
|
|
213
211
|
new Date(previousMessage.created_at).getTime() >
|
|
214
212
|
maxTimeBetweenGroupedMessages);
|
|
215
213
|
const isBottomMessage = !nextMessage ||
|
|
216
|
-
nextMessage
|
|
217
|
-
nextMessage
|
|
214
|
+
isIntroMessage(nextMessage) ||
|
|
215
|
+
isDateSeparatorMessage(nextMessage) ||
|
|
218
216
|
nextMessage.type === 'system' ||
|
|
219
217
|
nextMessage.type === 'error' ||
|
|
220
218
|
nextMessage.attachments?.length !== 0 ||
|
|
@@ -251,11 +249,18 @@ export const getGroupStyles = (message, previousMessage, nextMessage, noGroupByU
|
|
|
251
249
|
export const hasMoreMessagesProbably = (returnedCountMessages, limit) => returnedCountMessages >= limit;
|
|
252
250
|
// @deprecated
|
|
253
251
|
export const hasNotMoreMessages = (returnedCountMessages, limit) => returnedCountMessages < limit;
|
|
252
|
+
export function isIntroMessage(message) {
|
|
253
|
+
return message.customType === CUSTOM_MESSAGE_TYPE.intro;
|
|
254
|
+
}
|
|
254
255
|
export function isDateSeparatorMessage(message) {
|
|
255
|
-
return (message
|
|
256
|
-
|
|
256
|
+
return (message !== null &&
|
|
257
|
+
typeof message === 'object' &&
|
|
258
|
+
message.customType === CUSTOM_MESSAGE_TYPE.date &&
|
|
257
259
|
isDate(message.date));
|
|
258
260
|
}
|
|
261
|
+
export function isLocalMessage(message) {
|
|
262
|
+
return !isDateSeparatorMessage(message) && !isIntroMessage(message);
|
|
263
|
+
}
|
|
259
264
|
export const getIsFirstUnreadMessage = ({ firstUnreadMessageId, isFirstMessage, lastReadDate, lastReadMessageId, message, previousMessage, unreadMessageCount = 0, }) => {
|
|
260
265
|
// prevent showing unread indicator in threads
|
|
261
266
|
if (message.parent_id)
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { Poll as PollClass } from 'stream-chat';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
poll: PollClass<StreamChatGenerics>;
|
|
3
|
+
export declare const Poll: ({ isQuoted, poll }: {
|
|
4
|
+
poll: PollClass;
|
|
6
5
|
isQuoted?: boolean;
|
|
7
6
|
}) => React.JSX.Element | null;
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { PollContent as DefaultPollContent } from './PollContent';
|
|
3
3
|
import { QuotedPoll as DefaultQuotedPoll } from './QuotedPoll';
|
|
4
4
|
import { PollProvider, useComponentContext } from '../../context';
|
|
5
|
-
export const Poll = ({ isQuoted, poll
|
|
5
|
+
export const Poll = ({ isQuoted, poll }) => {
|
|
6
6
|
const { PollContent = DefaultPollContent, QuotedPoll = DefaultQuotedPoll } = useComponentContext();
|
|
7
7
|
return poll ? (React.createElement(PollProvider, { poll: poll }, isQuoted ? React.createElement(QuotedPoll, null) : React.createElement(PollContent, null))) : null;
|
|
8
8
|
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { DefaultStreamChatGenerics } from '../../../types';
|
|
3
2
|
export type AddCommentFormProps = {
|
|
4
3
|
close: () => void;
|
|
5
4
|
messageId: string;
|
|
6
5
|
};
|
|
7
|
-
export declare const AddCommentForm:
|
|
6
|
+
export declare const AddCommentForm: ({ close, messageId }: AddCommentFormProps) => React.JSX.Element;
|
|
@@ -2,8 +2,10 @@ import React from 'react';
|
|
|
2
2
|
import { FormDialog } from '../../Dialog/FormDialog';
|
|
3
3
|
import { useStateStore } from '../../../store';
|
|
4
4
|
import { usePollContext, useTranslationContext } from '../../../context';
|
|
5
|
-
const pollStateSelector = (nextValue) => ({
|
|
6
|
-
|
|
5
|
+
const pollStateSelector = (nextValue) => ({
|
|
6
|
+
ownAnswer: nextValue.ownAnswer,
|
|
7
|
+
});
|
|
8
|
+
export const AddCommentForm = ({ close, messageId }) => {
|
|
7
9
|
const { t } = useTranslationContext('AddCommentForm');
|
|
8
10
|
const { poll } = usePollContext();
|
|
9
11
|
const { ownAnswer } = useStateStore(poll.state, pollStateSelector);
|