stream-chat-react-native-core 9.0.0-beta.30 → 9.0.0-beta.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/Attachment/Attachment.js +15 -52
- package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
- package/lib/commonjs/components/Attachment/FileAttachment.js +4 -6
- package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
- package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +4 -10
- package/lib/commonjs/components/Attachment/FileAttachmentGroup.js.map +1 -1
- package/lib/commonjs/components/Attachment/FilePreview.js +3 -6
- package/lib/commonjs/components/Attachment/FilePreview.js.map +1 -1
- package/lib/commonjs/components/Attachment/Gallery.js +9 -28
- package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
- package/lib/commonjs/components/Attachment/GalleryImage.js +3 -3
- package/lib/commonjs/components/Attachment/GalleryImage.js.map +1 -1
- package/lib/commonjs/components/Attachment/Giphy/GiphyImage.js +7 -13
- package/lib/commonjs/components/Attachment/Giphy/GiphyImage.js.map +1 -1
- package/lib/commonjs/components/Attachment/UnsupportedAttachment.js +4 -6
- package/lib/commonjs/components/Attachment/UnsupportedAttachment.js.map +1 -1
- package/lib/commonjs/components/Attachment/UrlPreview/URLPreview.js +3 -3
- package/lib/commonjs/components/Attachment/UrlPreview/URLPreview.js.map +1 -1
- package/lib/commonjs/components/Attachment/UrlPreview/URLPreviewCompact.js +3 -3
- package/lib/commonjs/components/Attachment/UrlPreview/URLPreviewCompact.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +4 -2
- package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.js +7 -4
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +9 -13
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
- package/lib/commonjs/components/Channel/Channel.js +9 -418
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +0 -8
- package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js +3 -77
- package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +2 -132
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelList.js +1 -57
- package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js +4 -2
- package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListView.js +11 -20
- package/lib/commonjs/components/ChannelList/ChannelListView.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js +1 -39
- package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelDetailsBottomSheet.js +3 -2
- package/lib/commonjs/components/ChannelPreview/ChannelDetailsBottomSheet.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +4 -6
- package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +6 -18
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewView.js +8 -28
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewView.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelSwipableWrapper.js +3 -3
- package/lib/commonjs/components/ChannelPreview/ChannelSwipableWrapper.js.map +1 -1
- package/lib/commonjs/components/Chat/Chat.js +4 -6
- package/lib/commonjs/components/Chat/Chat.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js +0 -2
- package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/ImageGallery.js +7 -9
- package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +4 -2
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
- package/lib/commonjs/components/Message/Message.js +9 -13
- package/lib/commonjs/components/Message/Message.js.map +1 -1
- package/lib/commonjs/components/Message/MessageItemView/MessageBubble.js +4 -2
- package/lib/commonjs/components/Message/MessageItemView/MessageBubble.js.map +1 -1
- package/lib/commonjs/components/Message/MessageItemView/MessageContent.js +18 -39
- package/lib/commonjs/components/Message/MessageItemView/MessageContent.js.map +1 -1
- package/lib/commonjs/components/Message/MessageItemView/MessageDeleted.js +5 -7
- package/lib/commonjs/components/Message/MessageItemView/MessageDeleted.js.map +1 -1
- package/lib/commonjs/components/Message/MessageItemView/MessageFooter.js +4 -8
- package/lib/commonjs/components/Message/MessageItemView/MessageFooter.js.map +1 -1
- package/lib/commonjs/components/Message/MessageItemView/MessageHeader.js +8 -16
- package/lib/commonjs/components/Message/MessageItemView/MessageHeader.js.map +1 -1
- package/lib/commonjs/components/Message/MessageItemView/MessageItemView.js +13 -35
- package/lib/commonjs/components/Message/MessageItemView/MessageItemView.js.map +1 -1
- package/lib/commonjs/components/Message/MessageItemView/MessageReplies.js +3 -5
- package/lib/commonjs/components/Message/MessageItemView/MessageReplies.js.map +1 -1
- package/lib/commonjs/components/Message/MessageItemView/MessageTextContainer.js +3 -3
- package/lib/commonjs/components/Message/MessageItemView/MessageTextContainer.js.map +1 -1
- package/lib/commonjs/components/Message/MessageItemView/MessageWrapper.js +6 -4
- package/lib/commonjs/components/Message/MessageItemView/MessageWrapper.js.map +1 -1
- package/lib/commonjs/components/Message/MessageItemView/ReactionList/ReactionListBottom.js +6 -8
- package/lib/commonjs/components/Message/MessageItemView/ReactionList/ReactionListBottom.js.map +1 -1
- package/lib/commonjs/components/Message/MessageItemView/ReactionList/ReactionListTop.js +7 -11
- package/lib/commonjs/components/Message/MessageItemView/ReactionList/ReactionListTop.js.map +1 -1
- package/lib/commonjs/components/Message/MessageItemView/utils/renderText.js +3 -1
- package/lib/commonjs/components/Message/MessageItemView/utils/renderText.js.map +1 -1
- package/lib/commonjs/components/MessageInput/MessageComposer.js +15 -55
- package/lib/commonjs/components/MessageInput/MessageComposer.js.map +1 -1
- package/lib/commonjs/components/MessageInput/MessageInputHeaderView.js +5 -5
- package/lib/commonjs/components/MessageInput/MessageInputHeaderView.js.map +1 -1
- package/lib/commonjs/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.js +9 -17
- package/lib/commonjs/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.js.map +1 -1
- package/lib/commonjs/components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview.js +5 -5
- package/lib/commonjs/components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview.js.map +1 -1
- package/lib/commonjs/components/MessageInput/components/AttachmentPreview/ImageAttachmentUploadPreview.js +5 -5
- package/lib/commonjs/components/MessageInput/components/AttachmentPreview/ImageAttachmentUploadPreview.js.map +1 -1
- package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.js +5 -5
- package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.js.map +1 -1
- package/lib/commonjs/components/MessageInput/components/InputButtons/index.js +4 -4
- package/lib/commonjs/components/MessageInput/components/InputButtons/index.js.map +1 -1
- package/lib/commonjs/components/MessageInput/components/LinkPreviewList.js +3 -2
- package/lib/commonjs/components/MessageInput/components/LinkPreviewList.js.map +1 -1
- package/lib/commonjs/components/MessageInput/components/OutputButtons/index.js +7 -13
- package/lib/commonjs/components/MessageInput/components/OutputButtons/index.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageFlashList.js +14 -40
- package/lib/commonjs/components/MessageList/MessageFlashList.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageList.js +12 -38
- package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/StickyHeader.js +3 -1
- package/lib/commonjs/components/MessageList/StickyHeader.js.map +1 -1
- package/lib/commonjs/components/MessageMenu/MessageActionList.js +4 -2
- package/lib/commonjs/components/MessageMenu/MessageActionList.js.map +1 -1
- package/lib/commonjs/components/MessageMenu/MessageMenu.js.map +1 -1
- package/lib/commonjs/components/MessageMenu/MessageUserReactions.js +4 -8
- package/lib/commonjs/components/MessageMenu/MessageUserReactions.js.map +1 -1
- package/lib/commonjs/components/MessageMenu/MessageUserReactionsItem.js +4 -2
- package/lib/commonjs/components/MessageMenu/MessageUserReactionsItem.js.map +1 -1
- package/lib/commonjs/components/Poll/CreatePollContent.js +8 -4
- package/lib/commonjs/components/Poll/CreatePollContent.js.map +1 -1
- package/lib/commonjs/components/Poll/Poll.js +12 -9
- package/lib/commonjs/components/Poll/Poll.js.map +1 -1
- package/lib/commonjs/components/Poll/components/MultipleAnswersField.js +5 -3
- package/lib/commonjs/components/Poll/components/MultipleAnswersField.js.map +1 -1
- package/lib/commonjs/components/Poll/components/MultipleVotesSettings.js +5 -3
- package/lib/commonjs/components/Poll/components/MultipleVotesSettings.js.map +1 -1
- package/lib/commonjs/components/Poll/components/PollAnswersList.js +5 -3
- package/lib/commonjs/components/Poll/components/PollAnswersList.js.map +1 -1
- package/lib/commonjs/components/Poll/components/PollInputDialog.js +2 -1
- package/lib/commonjs/components/Poll/components/PollInputDialog.js.map +1 -1
- package/lib/commonjs/components/Poll/components/PollOption.js +5 -3
- package/lib/commonjs/components/Poll/components/PollOption.js.map +1 -1
- package/lib/commonjs/components/Poll/components/PollResults/PollOptionFullResults.js +5 -5
- package/lib/commonjs/components/Poll/components/PollResults/PollOptionFullResults.js.map +1 -1
- package/lib/commonjs/components/Poll/components/PollResults/PollResults.js +5 -3
- package/lib/commonjs/components/Poll/components/PollResults/PollResults.js.map +1 -1
- package/lib/commonjs/components/Reply/Reply.js +11 -4
- package/lib/commonjs/components/Reply/Reply.js.map +1 -1
- package/lib/commonjs/components/Thread/Thread.js +4 -8
- package/lib/commonjs/components/Thread/Thread.js.map +1 -1
- package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +4 -6
- package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
- package/lib/commonjs/components/ThreadList/ThreadList.js +12 -15
- package/lib/commonjs/components/ThreadList/ThreadList.js.map +1 -1
- package/lib/commonjs/components/ThreadList/ThreadListItem.js +8 -11
- package/lib/commonjs/components/ThreadList/ThreadListItem.js.map +1 -1
- package/lib/commonjs/components/ui/Avatar/Avatar.js +3 -3
- package/lib/commonjs/components/ui/Avatar/Avatar.js.map +1 -1
- package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
- package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
- package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
- package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/commonjs/contexts/componentsContext/ComponentsContext.js +37 -0
- package/lib/commonjs/contexts/componentsContext/ComponentsContext.js.map +1 -0
- package/lib/commonjs/contexts/componentsContext/PLAN.md +148 -0
- package/lib/commonjs/contexts/componentsContext/defaultComponents.js +286 -0
- package/lib/commonjs/contexts/componentsContext/defaultComponents.js.map +1 -0
- package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +1 -9
- package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
- package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContextBase.js.map +1 -1
- package/lib/commonjs/contexts/index.js +11 -0
- package/lib/commonjs/contexts/index.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +2 -76
- package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/commonjs/contexts/overlayContext/MessageOverlayHostLayer.js +7 -5
- package/lib/commonjs/contexts/overlayContext/MessageOverlayHostLayer.js.map +1 -1
- package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
- package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +1 -4
- package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/commonjs/contexts/threadsContext/ThreadsContext.js.map +1 -1
- package/lib/commonjs/hooks/messagePreview/useMessagePreviewText.js +28 -13
- package/lib/commonjs/hooks/messagePreview/useMessagePreviewText.js.map +1 -1
- package/lib/commonjs/i18n/en.json +20 -0
- package/lib/commonjs/i18n/es.json +20 -0
- package/lib/commonjs/i18n/fr.json +20 -0
- package/lib/commonjs/i18n/he.json +20 -0
- package/lib/commonjs/i18n/hi.json +20 -0
- package/lib/commonjs/i18n/it.json +20 -0
- package/lib/commonjs/i18n/ja.json +20 -0
- package/lib/commonjs/i18n/ko.json +20 -0
- package/lib/commonjs/i18n/nl.json +20 -0
- package/lib/commonjs/i18n/pt-br.json +20 -0
- package/lib/commonjs/i18n/ru.json +20 -0
- package/lib/commonjs/i18n/tr.json +20 -0
- package/lib/commonjs/icons/arrow-up-right.js +10 -6
- package/lib/commonjs/icons/arrow-up-right.js.map +1 -1
- package/lib/commonjs/icons/audio.js +10 -6
- package/lib/commonjs/icons/audio.js.map +1 -1
- package/lib/commonjs/icons/chevron-left.js +10 -6
- package/lib/commonjs/icons/chevron-left.js.map +1 -1
- package/lib/commonjs/icons/leave.js +10 -6
- package/lib/commonjs/icons/leave.js.map +1 -1
- package/lib/commonjs/icons/message-bubble.js +10 -6
- package/lib/commonjs/icons/message-bubble.js.map +1 -1
- package/lib/commonjs/icons/mute.js +11 -7
- package/lib/commonjs/icons/mute.js.map +1 -1
- package/lib/commonjs/icons/reply.js +10 -6
- package/lib/commonjs/icons/reply.js.map +1 -1
- package/lib/commonjs/icons/search.js +11 -7
- package/lib/commonjs/icons/search.js.map +1 -1
- package/lib/commonjs/icons/send.js +11 -7
- package/lib/commonjs/icons/send.js.map +1 -1
- package/lib/commonjs/icons/thread.js +10 -6
- package/lib/commonjs/icons/thread.js.map +1 -1
- package/lib/commonjs/icons/video-fill.js +2 -0
- package/lib/commonjs/icons/video-fill.js.map +1 -1
- package/lib/commonjs/icons/video.js +10 -6
- package/lib/commonjs/icons/video.js.map +1 -1
- package/lib/commonjs/utils/rtlMirrorSwitchStyle.js +20 -0
- package/lib/commonjs/utils/rtlMirrorSwitchStyle.js.map +1 -0
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Attachment/Attachment.js +15 -52
- package/lib/module/components/Attachment/Attachment.js.map +1 -1
- package/lib/module/components/Attachment/FileAttachment.js +4 -6
- package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
- package/lib/module/components/Attachment/FileAttachmentGroup.js +4 -10
- package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
- package/lib/module/components/Attachment/FilePreview.js +3 -6
- package/lib/module/components/Attachment/FilePreview.js.map +1 -1
- package/lib/module/components/Attachment/Gallery.js +9 -28
- package/lib/module/components/Attachment/Gallery.js.map +1 -1
- package/lib/module/components/Attachment/GalleryImage.js +3 -3
- package/lib/module/components/Attachment/GalleryImage.js.map +1 -1
- package/lib/module/components/Attachment/Giphy/GiphyImage.js +7 -13
- package/lib/module/components/Attachment/Giphy/GiphyImage.js.map +1 -1
- package/lib/module/components/Attachment/UnsupportedAttachment.js +4 -6
- package/lib/module/components/Attachment/UnsupportedAttachment.js.map +1 -1
- package/lib/module/components/Attachment/UrlPreview/URLPreview.js +3 -3
- package/lib/module/components/Attachment/UrlPreview/URLPreview.js.map +1 -1
- package/lib/module/components/Attachment/UrlPreview/URLPreviewCompact.js +3 -3
- package/lib/module/components/Attachment/UrlPreview/URLPreviewCompact.js.map +1 -1
- package/lib/module/components/AttachmentPicker/AttachmentPicker.js +4 -2
- package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.js +7 -4
- package/lib/module/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +9 -13
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
- package/lib/module/components/Channel/Channel.js +9 -418
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateChannelContext.js +0 -8
- package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +3 -77
- package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +2 -132
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelList.js +1 -57
- package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js +4 -2
- package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListView.js +11 -20
- package/lib/module/components/ChannelList/ChannelListView.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js +1 -39
- package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelDetailsBottomSheet.js +3 -2
- package/lib/module/components/ChannelPreview/ChannelDetailsBottomSheet.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreview.js +4 -6
- package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +6 -18
- package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewView.js +8 -28
- package/lib/module/components/ChannelPreview/ChannelPreviewView.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelSwipableWrapper.js +3 -3
- package/lib/module/components/ChannelPreview/ChannelSwipableWrapper.js.map +1 -1
- package/lib/module/components/Chat/Chat.js +4 -6
- package/lib/module/components/Chat/Chat.js.map +1 -1
- package/lib/module/components/Chat/hooks/useCreateChatContext.js +0 -2
- package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
- package/lib/module/components/ImageGallery/ImageGallery.js +7 -9
- package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +4 -2
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
- package/lib/module/components/Message/Message.js +9 -13
- package/lib/module/components/Message/Message.js.map +1 -1
- package/lib/module/components/Message/MessageItemView/MessageBubble.js +4 -2
- package/lib/module/components/Message/MessageItemView/MessageBubble.js.map +1 -1
- package/lib/module/components/Message/MessageItemView/MessageContent.js +18 -39
- package/lib/module/components/Message/MessageItemView/MessageContent.js.map +1 -1
- package/lib/module/components/Message/MessageItemView/MessageDeleted.js +5 -7
- package/lib/module/components/Message/MessageItemView/MessageDeleted.js.map +1 -1
- package/lib/module/components/Message/MessageItemView/MessageFooter.js +4 -8
- package/lib/module/components/Message/MessageItemView/MessageFooter.js.map +1 -1
- package/lib/module/components/Message/MessageItemView/MessageHeader.js +8 -16
- package/lib/module/components/Message/MessageItemView/MessageHeader.js.map +1 -1
- package/lib/module/components/Message/MessageItemView/MessageItemView.js +13 -35
- package/lib/module/components/Message/MessageItemView/MessageItemView.js.map +1 -1
- package/lib/module/components/Message/MessageItemView/MessageReplies.js +3 -5
- package/lib/module/components/Message/MessageItemView/MessageReplies.js.map +1 -1
- package/lib/module/components/Message/MessageItemView/MessageTextContainer.js +3 -3
- package/lib/module/components/Message/MessageItemView/MessageTextContainer.js.map +1 -1
- package/lib/module/components/Message/MessageItemView/MessageWrapper.js +6 -4
- package/lib/module/components/Message/MessageItemView/MessageWrapper.js.map +1 -1
- package/lib/module/components/Message/MessageItemView/ReactionList/ReactionListBottom.js +6 -8
- package/lib/module/components/Message/MessageItemView/ReactionList/ReactionListBottom.js.map +1 -1
- package/lib/module/components/Message/MessageItemView/ReactionList/ReactionListTop.js +7 -11
- package/lib/module/components/Message/MessageItemView/ReactionList/ReactionListTop.js.map +1 -1
- package/lib/module/components/Message/MessageItemView/utils/renderText.js +3 -1
- package/lib/module/components/Message/MessageItemView/utils/renderText.js.map +1 -1
- package/lib/module/components/MessageInput/MessageComposer.js +15 -55
- package/lib/module/components/MessageInput/MessageComposer.js.map +1 -1
- package/lib/module/components/MessageInput/MessageInputHeaderView.js +5 -5
- package/lib/module/components/MessageInput/MessageInputHeaderView.js.map +1 -1
- package/lib/module/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.js +9 -17
- package/lib/module/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.js.map +1 -1
- package/lib/module/components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview.js +5 -5
- package/lib/module/components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview.js.map +1 -1
- package/lib/module/components/MessageInput/components/AttachmentPreview/ImageAttachmentUploadPreview.js +5 -5
- package/lib/module/components/MessageInput/components/AttachmentPreview/ImageAttachmentUploadPreview.js.map +1 -1
- package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.js +5 -5
- package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.js.map +1 -1
- package/lib/module/components/MessageInput/components/InputButtons/index.js +4 -4
- package/lib/module/components/MessageInput/components/InputButtons/index.js.map +1 -1
- package/lib/module/components/MessageInput/components/LinkPreviewList.js +3 -2
- package/lib/module/components/MessageInput/components/LinkPreviewList.js.map +1 -1
- package/lib/module/components/MessageInput/components/OutputButtons/index.js +7 -13
- package/lib/module/components/MessageInput/components/OutputButtons/index.js.map +1 -1
- package/lib/module/components/MessageList/MessageFlashList.js +14 -40
- package/lib/module/components/MessageList/MessageFlashList.js.map +1 -1
- package/lib/module/components/MessageList/MessageList.js +12 -38
- package/lib/module/components/MessageList/MessageList.js.map +1 -1
- package/lib/module/components/MessageList/StickyHeader.js +3 -1
- package/lib/module/components/MessageList/StickyHeader.js.map +1 -1
- package/lib/module/components/MessageMenu/MessageActionList.js +4 -2
- package/lib/module/components/MessageMenu/MessageActionList.js.map +1 -1
- package/lib/module/components/MessageMenu/MessageMenu.js.map +1 -1
- package/lib/module/components/MessageMenu/MessageUserReactions.js +4 -8
- package/lib/module/components/MessageMenu/MessageUserReactions.js.map +1 -1
- package/lib/module/components/MessageMenu/MessageUserReactionsItem.js +4 -2
- package/lib/module/components/MessageMenu/MessageUserReactionsItem.js.map +1 -1
- package/lib/module/components/Poll/CreatePollContent.js +8 -4
- package/lib/module/components/Poll/CreatePollContent.js.map +1 -1
- package/lib/module/components/Poll/Poll.js +12 -9
- package/lib/module/components/Poll/Poll.js.map +1 -1
- package/lib/module/components/Poll/components/MultipleAnswersField.js +5 -3
- package/lib/module/components/Poll/components/MultipleAnswersField.js.map +1 -1
- package/lib/module/components/Poll/components/MultipleVotesSettings.js +5 -3
- package/lib/module/components/Poll/components/MultipleVotesSettings.js.map +1 -1
- package/lib/module/components/Poll/components/PollAnswersList.js +5 -3
- package/lib/module/components/Poll/components/PollAnswersList.js.map +1 -1
- package/lib/module/components/Poll/components/PollInputDialog.js +2 -1
- package/lib/module/components/Poll/components/PollInputDialog.js.map +1 -1
- package/lib/module/components/Poll/components/PollOption.js +5 -3
- package/lib/module/components/Poll/components/PollOption.js.map +1 -1
- package/lib/module/components/Poll/components/PollResults/PollOptionFullResults.js +5 -5
- package/lib/module/components/Poll/components/PollResults/PollOptionFullResults.js.map +1 -1
- package/lib/module/components/Poll/components/PollResults/PollResults.js +5 -3
- package/lib/module/components/Poll/components/PollResults/PollResults.js.map +1 -1
- package/lib/module/components/Reply/Reply.js +11 -4
- package/lib/module/components/Reply/Reply.js.map +1 -1
- package/lib/module/components/Thread/Thread.js +4 -8
- package/lib/module/components/Thread/Thread.js.map +1 -1
- package/lib/module/components/Thread/components/ThreadFooterComponent.js +4 -6
- package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
- package/lib/module/components/ThreadList/ThreadList.js +12 -15
- package/lib/module/components/ThreadList/ThreadList.js.map +1 -1
- package/lib/module/components/ThreadList/ThreadListItem.js +8 -11
- package/lib/module/components/ThreadList/ThreadListItem.js.map +1 -1
- package/lib/module/components/ui/Avatar/Avatar.js +3 -3
- package/lib/module/components/ui/Avatar/Avatar.js.map +1 -1
- package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
- package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
- package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
- package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/module/contexts/componentsContext/ComponentsContext.js +37 -0
- package/lib/module/contexts/componentsContext/ComponentsContext.js.map +1 -0
- package/lib/module/contexts/componentsContext/PLAN.md +148 -0
- package/lib/module/contexts/componentsContext/defaultComponents.js +286 -0
- package/lib/module/contexts/componentsContext/defaultComponents.js.map +1 -0
- package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +1 -9
- package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
- package/lib/module/contexts/imageGalleryContext/ImageGalleryContextBase.js.map +1 -1
- package/lib/module/contexts/index.js +11 -0
- package/lib/module/contexts/index.js.map +1 -1
- package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +2 -76
- package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
- package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/module/contexts/overlayContext/MessageOverlayHostLayer.js +7 -5
- package/lib/module/contexts/overlayContext/MessageOverlayHostLayer.js.map +1 -1
- package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
- package/lib/module/contexts/overlayContext/OverlayProvider.js +1 -4
- package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/module/contexts/threadsContext/ThreadsContext.js.map +1 -1
- package/lib/module/hooks/messagePreview/useMessagePreviewText.js +28 -13
- package/lib/module/hooks/messagePreview/useMessagePreviewText.js.map +1 -1
- package/lib/module/i18n/en.json +20 -0
- package/lib/module/i18n/es.json +20 -0
- package/lib/module/i18n/fr.json +20 -0
- package/lib/module/i18n/he.json +20 -0
- package/lib/module/i18n/hi.json +20 -0
- package/lib/module/i18n/it.json +20 -0
- package/lib/module/i18n/ja.json +20 -0
- package/lib/module/i18n/ko.json +20 -0
- package/lib/module/i18n/nl.json +20 -0
- package/lib/module/i18n/pt-br.json +20 -0
- package/lib/module/i18n/ru.json +20 -0
- package/lib/module/i18n/tr.json +20 -0
- package/lib/module/icons/arrow-up-right.js +10 -6
- package/lib/module/icons/arrow-up-right.js.map +1 -1
- package/lib/module/icons/audio.js +10 -6
- package/lib/module/icons/audio.js.map +1 -1
- package/lib/module/icons/chevron-left.js +10 -6
- package/lib/module/icons/chevron-left.js.map +1 -1
- package/lib/module/icons/leave.js +10 -6
- package/lib/module/icons/leave.js.map +1 -1
- package/lib/module/icons/message-bubble.js +10 -6
- package/lib/module/icons/message-bubble.js.map +1 -1
- package/lib/module/icons/mute.js +11 -7
- package/lib/module/icons/mute.js.map +1 -1
- package/lib/module/icons/reply.js +10 -6
- package/lib/module/icons/reply.js.map +1 -1
- package/lib/module/icons/search.js +11 -7
- package/lib/module/icons/search.js.map +1 -1
- package/lib/module/icons/send.js +11 -7
- package/lib/module/icons/send.js.map +1 -1
- package/lib/module/icons/thread.js +10 -6
- package/lib/module/icons/thread.js.map +1 -1
- package/lib/module/icons/video-fill.js +2 -0
- package/lib/module/icons/video-fill.js.map +1 -1
- package/lib/module/icons/video.js +10 -6
- package/lib/module/icons/video.js.map +1 -1
- package/lib/module/utils/rtlMirrorSwitchStyle.js +20 -0
- package/lib/module/utils/rtlMirrorSwitchStyle.js.map +1 -0
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Attachment/Attachment.d.ts +1 -1
- package/lib/typescript/components/Attachment/Attachment.d.ts.map +1 -1
- package/lib/typescript/components/Attachment/FileAttachment.d.ts +1 -1
- package/lib/typescript/components/Attachment/FileAttachment.d.ts.map +1 -1
- package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts +1 -2
- package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts.map +1 -1
- package/lib/typescript/components/Attachment/FilePreview.d.ts +2 -3
- package/lib/typescript/components/Attachment/FilePreview.d.ts.map +1 -1
- package/lib/typescript/components/Attachment/Gallery.d.ts +1 -1
- package/lib/typescript/components/Attachment/Gallery.d.ts.map +1 -1
- package/lib/typescript/components/Attachment/GalleryImage.d.ts +3 -2
- package/lib/typescript/components/Attachment/GalleryImage.d.ts.map +1 -1
- package/lib/typescript/components/Attachment/Giphy/GiphyImage.d.ts +4 -2
- package/lib/typescript/components/Attachment/Giphy/GiphyImage.d.ts.map +1 -1
- package/lib/typescript/components/Attachment/UnsupportedAttachment.d.ts +2 -3
- package/lib/typescript/components/Attachment/UnsupportedAttachment.d.ts.map +1 -1
- package/lib/typescript/components/Attachment/UrlPreview/URLPreview.d.ts +4 -3
- package/lib/typescript/components/Attachment/UrlPreview/URLPreview.d.ts.map +1 -1
- package/lib/typescript/components/Attachment/UrlPreview/URLPreviewCompact.d.ts +4 -3
- package/lib/typescript/components/Attachment/UrlPreview/URLPreviewCompact.d.ts.map +1 -1
- package/lib/typescript/components/AttachmentPicker/AttachmentPicker.d.ts.map +1 -1
- package/lib/typescript/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.d.ts.map +1 -1
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts +2 -3
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts.map +1 -1
- package/lib/typescript/components/Channel/Channel.d.ts +3 -28
- package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts.map +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts.map +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts.map +1 -1
- package/lib/typescript/components/Channel/hooks/useMessageListPagination.d.ts.map +1 -1
- package/lib/typescript/components/ChannelList/ChannelList.d.ts +2 -10
- package/lib/typescript/components/ChannelList/ChannelList.d.ts.map +1 -1
- package/lib/typescript/components/ChannelList/ChannelListLoadingIndicator.d.ts.map +1 -1
- package/lib/typescript/components/ChannelList/ChannelListView.d.ts +1 -1
- package/lib/typescript/components/ChannelList/ChannelListView.d.ts.map +1 -1
- package/lib/typescript/components/ChannelList/hooks/useCreateChannelsContext.d.ts +1 -1
- package/lib/typescript/components/ChannelList/hooks/useCreateChannelsContext.d.ts.map +1 -1
- package/lib/typescript/components/ChannelPreview/ChannelDetailsBottomSheet.d.ts +1 -2
- package/lib/typescript/components/ChannelPreview/ChannelDetailsBottomSheet.d.ts.map +1 -1
- package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +1 -1
- package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts.map +1 -1
- package/lib/typescript/components/ChannelPreview/ChannelPreviewMessage.d.ts +1 -2
- package/lib/typescript/components/ChannelPreview/ChannelPreviewMessage.d.ts.map +1 -1
- package/lib/typescript/components/ChannelPreview/ChannelPreviewView.d.ts +1 -1
- package/lib/typescript/components/ChannelPreview/ChannelPreviewView.d.ts.map +1 -1
- package/lib/typescript/components/ChannelPreview/ChannelSwipableWrapper.d.ts +1 -3
- package/lib/typescript/components/ChannelPreview/ChannelSwipableWrapper.d.ts.map +1 -1
- package/lib/typescript/components/Chat/Chat.d.ts +1 -7
- package/lib/typescript/components/Chat/Chat.d.ts.map +1 -1
- package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +1 -1
- package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -1
- package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +6 -1
- package/lib/typescript/components/ImageGallery/ImageGallery.d.ts.map +1 -1
- package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts.map +1 -1
- package/lib/typescript/components/ImageGallery/components/types.d.ts +0 -2
- package/lib/typescript/components/ImageGallery/components/types.d.ts.map +1 -1
- package/lib/typescript/components/Message/Message.d.ts +1 -1
- package/lib/typescript/components/Message/Message.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageItemView/MessageBubble.d.ts +1 -2
- package/lib/typescript/components/Message/MessageItemView/MessageBubble.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageItemView/MessageContent.d.ts +1 -1
- package/lib/typescript/components/Message/MessageItemView/MessageContent.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageItemView/MessageDeleted.d.ts +1 -2
- package/lib/typescript/components/Message/MessageItemView/MessageDeleted.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageItemView/MessageFooter.d.ts +0 -2
- package/lib/typescript/components/Message/MessageItemView/MessageFooter.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageItemView/MessageHeader.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageItemView/MessageItemView.d.ts +1 -1
- package/lib/typescript/components/Message/MessageItemView/MessageItemView.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageItemView/MessageReplies.d.ts +1 -2
- package/lib/typescript/components/Message/MessageItemView/MessageReplies.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageItemView/MessageTextContainer.d.ts +1 -1
- package/lib/typescript/components/Message/MessageItemView/MessageTextContainer.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageItemView/MessageWrapper.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageItemView/ReactionList/ReactionListBottom.d.ts +1 -1
- package/lib/typescript/components/Message/MessageItemView/ReactionList/ReactionListBottom.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageItemView/ReactionList/ReactionListTop.d.ts +1 -1
- package/lib/typescript/components/Message/MessageItemView/ReactionList/ReactionListTop.d.ts.map +1 -1
- package/lib/typescript/components/Message/MessageItemView/utils/renderText.d.ts.map +1 -1
- package/lib/typescript/components/MessageInput/MessageComposer.d.ts +1 -2
- package/lib/typescript/components/MessageInput/MessageComposer.d.ts.map +1 -1
- package/lib/typescript/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.d.ts +3 -4
- package/lib/typescript/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.d.ts.map +1 -1
- package/lib/typescript/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.d.ts +1 -1
- package/lib/typescript/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.d.ts.map +1 -1
- package/lib/typescript/components/MessageInput/components/InputButtons/index.d.ts +1 -1
- package/lib/typescript/components/MessageInput/components/InputButtons/index.d.ts.map +1 -1
- package/lib/typescript/components/MessageInput/components/LinkPreviewList.d.ts.map +1 -1
- package/lib/typescript/components/MessageInput/components/OutputButtons/index.d.ts +1 -1
- package/lib/typescript/components/MessageInput/components/OutputButtons/index.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/MessageFlashList.d.ts +1 -1
- package/lib/typescript/components/MessageList/MessageFlashList.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/MessageList.d.ts +1 -1
- package/lib/typescript/components/MessageList/MessageList.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/StickyHeader.d.ts +2 -3
- package/lib/typescript/components/MessageList/StickyHeader.d.ts.map +1 -1
- package/lib/typescript/components/MessageMenu/MessageActionList.d.ts +1 -2
- package/lib/typescript/components/MessageMenu/MessageActionList.d.ts.map +1 -1
- package/lib/typescript/components/MessageMenu/MessageMenu.d.ts +1 -2
- package/lib/typescript/components/MessageMenu/MessageMenu.d.ts.map +1 -1
- package/lib/typescript/components/MessageMenu/MessageUserReactions.d.ts +1 -1
- package/lib/typescript/components/MessageMenu/MessageUserReactions.d.ts.map +1 -1
- package/lib/typescript/components/MessageMenu/MessageUserReactionsItem.d.ts +2 -3
- package/lib/typescript/components/MessageMenu/MessageUserReactionsItem.d.ts.map +1 -1
- package/lib/typescript/components/Poll/CreatePollContent.d.ts +2 -2
- package/lib/typescript/components/Poll/CreatePollContent.d.ts.map +1 -1
- package/lib/typescript/components/Poll/Poll.d.ts +5 -8
- package/lib/typescript/components/Poll/Poll.d.ts.map +1 -1
- package/lib/typescript/components/Poll/components/MultipleVotesSettings.d.ts.map +1 -1
- package/lib/typescript/components/Poll/components/PollAnswersList.d.ts +1 -2
- package/lib/typescript/components/Poll/components/PollAnswersList.d.ts.map +1 -1
- package/lib/typescript/components/Poll/components/PollOption.d.ts +1 -2
- package/lib/typescript/components/Poll/components/PollOption.d.ts.map +1 -1
- package/lib/typescript/components/Poll/components/PollResults/PollOptionFullResults.d.ts +1 -4
- package/lib/typescript/components/Poll/components/PollResults/PollOptionFullResults.d.ts.map +1 -1
- package/lib/typescript/components/Poll/components/PollResults/PollResults.d.ts +1 -2
- package/lib/typescript/components/Poll/components/PollResults/PollResults.d.ts.map +1 -1
- package/lib/typescript/components/Reply/Reply.d.ts +4 -3
- package/lib/typescript/components/Reply/Reply.d.ts.map +1 -1
- package/lib/typescript/components/Thread/Thread.d.ts +2 -8
- package/lib/typescript/components/Thread/Thread.d.ts.map +1 -1
- package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts +1 -2
- package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts.map +1 -1
- package/lib/typescript/components/ThreadList/ThreadList.d.ts +2 -3
- package/lib/typescript/components/ThreadList/ThreadList.d.ts.map +1 -1
- package/lib/typescript/components/ThreadList/ThreadListItem.d.ts.map +1 -1
- package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts +0 -17
- package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts.map +1 -1
- package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +0 -23
- package/lib/typescript/contexts/channelContext/ChannelContext.d.ts.map +1 -1
- package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +0 -112
- package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts.map +1 -1
- package/lib/typescript/contexts/chatContext/ChatContext.d.ts +0 -5
- package/lib/typescript/contexts/chatContext/ChatContext.d.ts.map +1 -1
- package/lib/typescript/contexts/componentsContext/ComponentsContext.d.ts +321 -0
- package/lib/typescript/contexts/componentsContext/ComponentsContext.d.ts.map +1 -0
- package/lib/typescript/contexts/componentsContext/defaultComponents.d.ts +296 -0
- package/lib/typescript/contexts/componentsContext/defaultComponents.d.ts.map +1 -0
- package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts.map +1 -1
- package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContextBase.d.ts +0 -5
- package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContextBase.d.ts.map +1 -1
- package/lib/typescript/contexts/index.d.ts +1 -0
- package/lib/typescript/contexts/index.d.ts.map +1 -1
- package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +1 -169
- package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts.map +1 -1
- package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +1 -1
- package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts.map +1 -1
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +3 -332
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts.map +1 -1
- package/lib/typescript/contexts/overlayContext/MessageOverlayHostLayer.d.ts +2 -5
- package/lib/typescript/contexts/overlayContext/MessageOverlayHostLayer.d.ts.map +1 -1
- package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +0 -4
- package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts.map +1 -1
- package/lib/typescript/contexts/overlayContext/OverlayProvider.d.ts.map +1 -1
- package/lib/typescript/contexts/threadsContext/ThreadsContext.d.ts +0 -9
- package/lib/typescript/contexts/threadsContext/ThreadsContext.d.ts.map +1 -1
- package/lib/typescript/hooks/messagePreview/useMessagePreviewText.d.ts.map +1 -1
- package/lib/typescript/i18n/en.json +20 -0
- package/lib/typescript/i18n/es.json +20 -0
- package/lib/typescript/i18n/fr.json +20 -0
- package/lib/typescript/i18n/he.json +20 -0
- package/lib/typescript/i18n/hi.json +20 -0
- package/lib/typescript/i18n/it.json +20 -0
- package/lib/typescript/i18n/ja.json +20 -0
- package/lib/typescript/i18n/ko.json +20 -0
- package/lib/typescript/i18n/nl.json +20 -0
- package/lib/typescript/i18n/pt-br.json +20 -0
- package/lib/typescript/i18n/ru.json +20 -0
- package/lib/typescript/i18n/tr.json +20 -0
- package/lib/typescript/icons/arrow-up-right.d.ts.map +1 -1
- package/lib/typescript/icons/audio.d.ts.map +1 -1
- package/lib/typescript/icons/chevron-left.d.ts.map +1 -1
- package/lib/typescript/icons/leave.d.ts.map +1 -1
- package/lib/typescript/icons/message-bubble.d.ts.map +1 -1
- package/lib/typescript/icons/mute.d.ts.map +1 -1
- package/lib/typescript/icons/reply.d.ts.map +1 -1
- package/lib/typescript/icons/search.d.ts.map +1 -1
- package/lib/typescript/icons/send.d.ts.map +1 -1
- package/lib/typescript/icons/thread.d.ts.map +1 -1
- package/lib/typescript/icons/video-fill.d.ts.map +1 -1
- package/lib/typescript/icons/video.d.ts.map +1 -1
- package/lib/typescript/utils/i18n/Streami18n.d.ts +20 -0
- package/lib/typescript/utils/i18n/Streami18n.d.ts.map +1 -1
- package/lib/typescript/utils/rtlMirrorSwitchStyle.d.ts +9 -0
- package/lib/typescript/utils/rtlMirrorSwitchStyle.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/__tests__/offline-support/offline-feature.js +64 -67
- package/src/components/Attachment/Attachment.tsx +7 -69
- package/src/components/Attachment/FileAttachment.tsx +4 -7
- package/src/components/Attachment/FileAttachmentGroup.tsx +9 -19
- package/src/components/Attachment/FilePreview.tsx +4 -9
- package/src/components/Attachment/Gallery.tsx +6 -83
- package/src/components/Attachment/GalleryImage.tsx +5 -4
- package/src/components/Attachment/Giphy/GiphyImage.tsx +15 -37
- package/src/components/Attachment/UnsupportedAttachment.tsx +5 -10
- package/src/components/Attachment/UrlPreview/URLPreview.tsx +6 -4
- package/src/components/Attachment/UrlPreview/URLPreviewCompact.tsx +6 -4
- package/src/components/AttachmentPicker/AttachmentPicker.tsx +2 -2
- package/src/components/AttachmentPicker/components/AttachmentMediaPicker/AttachmentPickerItem.tsx +5 -4
- package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +4 -20
- package/src/components/Channel/Channel.tsx +31 -438
- package/src/components/Channel/__tests__/isAttachmentEqualHandler.test.js +12 -9
- package/src/components/Channel/hooks/useCreateChannelContext.ts +0 -8
- package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +1 -81
- package/src/components/Channel/hooks/useCreateMessagesContext.ts +0 -130
- package/src/components/ChannelList/ChannelList.tsx +3 -76
- package/src/components/ChannelList/ChannelListLoadingIndicator.tsx +3 -1
- package/src/components/ChannelList/ChannelListView.tsx +12 -33
- package/src/components/ChannelList/__tests__/ChannelList.test.js +173 -116
- package/src/components/ChannelList/__tests__/ChannelListView.test.js +64 -41
- package/src/components/ChannelList/hooks/useCreateChannelsContext.ts +0 -39
- package/src/components/ChannelPreview/ChannelDetailsBottomSheet.tsx +2 -2
- package/src/components/ChannelPreview/ChannelPreview.tsx +6 -14
- package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +7 -33
- package/src/components/ChannelPreview/ChannelPreviewView.tsx +11 -40
- package/src/components/ChannelPreview/ChannelSwipableWrapper.tsx +2 -4
- package/src/components/ChannelPreview/__tests__/ChannelDetailsBottomSheet.test.tsx +16 -12
- package/src/components/ChannelPreview/__tests__/ChannelPreview.test.tsx +25 -24
- package/src/components/ChannelPreview/__tests__/ChannelSwipableWrapper.test.tsx +11 -6
- package/src/components/Chat/Chat.tsx +5 -12
- package/src/components/Chat/hooks/useCreateChatContext.ts +0 -2
- package/src/components/ImageGallery/ImageGallery.tsx +14 -16
- package/src/components/ImageGallery/__tests__/ImageGallery.test.tsx +0 -8
- package/src/components/ImageGallery/__tests__/ImageGalleryFooter.test.tsx +25 -21
- package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +3 -1
- package/src/components/ImageGallery/components/types.ts +0 -3
- package/src/components/Message/Message.tsx +11 -32
- package/src/components/Message/MessageItemView/MessageBubble.tsx +11 -7
- package/src/components/Message/MessageItemView/MessageContent.tsx +14 -47
- package/src/components/Message/MessageItemView/MessageDeleted.tsx +3 -9
- package/src/components/Message/MessageItemView/MessageFooter.tsx +2 -14
- package/src/components/Message/MessageItemView/MessageHeader.tsx +11 -29
- package/src/components/Message/MessageItemView/MessageItemView.tsx +10 -42
- package/src/components/Message/MessageItemView/MessageReplies.tsx +2 -8
- package/src/components/Message/MessageItemView/MessageTextContainer.tsx +4 -8
- package/src/components/Message/MessageItemView/MessageWrapper.tsx +4 -9
- package/src/components/Message/MessageItemView/ReactionList/ReactionListBottom.tsx +4 -12
- package/src/components/Message/MessageItemView/ReactionList/ReactionListTop.tsx +4 -20
- package/src/components/Message/MessageItemView/__tests__/MessageContent.test.js +47 -30
- package/src/components/Message/MessageItemView/__tests__/MessageItemView.test.js +16 -7
- package/src/components/Message/MessageItemView/__tests__/MessageTextContainer.test.tsx +8 -4
- package/src/components/Message/MessageItemView/__tests__/__snapshots__/MessageTextContainer.test.tsx.snap +1 -0
- package/src/components/Message/MessageItemView/utils/renderText.tsx +2 -0
- package/src/components/MessageInput/MessageComposer.tsx +16 -76
- package/src/components/MessageInput/MessageInputHeaderView.tsx +3 -3
- package/src/components/MessageInput/__tests__/__snapshots__/SendButton.test.js.snap +54 -36
- package/src/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.tsx +7 -35
- package/src/components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview.tsx +2 -2
- package/src/components/MessageInput/components/AttachmentPreview/ImageAttachmentUploadPreview.tsx +2 -2
- package/src/components/MessageInput/components/AudioRecorder/AudioRecordingInProgress.tsx +6 -4
- package/src/components/MessageInput/components/InputButtons/index.tsx +4 -5
- package/src/components/MessageInput/components/LinkPreviewList.tsx +3 -2
- package/src/components/MessageInput/components/OutputButtons/index.tsx +4 -23
- package/src/components/MessageList/MessageFlashList.tsx +13 -57
- package/src/components/MessageList/MessageList.tsx +15 -57
- package/src/components/MessageList/StickyHeader.tsx +4 -3
- package/src/components/MessageMenu/MessageActionList.tsx +4 -3
- package/src/components/MessageMenu/MessageMenu.tsx +35 -47
- package/src/components/MessageMenu/MessageUserReactions.tsx +7 -27
- package/src/components/MessageMenu/MessageUserReactionsItem.tsx +3 -6
- package/src/components/MessageMenu/__tests__/MessageUserReactions.test.tsx +12 -11
- package/src/components/Poll/CreatePollContent.tsx +7 -6
- package/src/components/Poll/Poll.tsx +22 -24
- package/src/components/Poll/components/MultipleAnswersField.tsx +4 -3
- package/src/components/Poll/components/MultipleVotesSettings.tsx +4 -2
- package/src/components/Poll/components/PollAnswersList.tsx +9 -11
- package/src/components/Poll/components/PollInputDialog.tsx +1 -0
- package/src/components/Poll/components/PollOption.tsx +9 -11
- package/src/components/Poll/components/PollResults/PollOptionFullResults.tsx +10 -11
- package/src/components/Poll/components/PollResults/PollResults.tsx +9 -15
- package/src/components/Reply/Reply.tsx +25 -10
- package/src/components/Thread/Thread.tsx +3 -18
- package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +31 -18
- package/src/components/Thread/components/ThreadFooterComponent.tsx +10 -11
- package/src/components/ThreadList/ThreadList.tsx +14 -22
- package/src/components/ThreadList/ThreadListItem.tsx +6 -11
- package/src/components/ui/Avatar/Avatar.tsx +2 -2
- package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +0 -15
- package/src/contexts/channelContext/ChannelContext.tsx +0 -24
- package/src/contexts/channelsContext/ChannelsContext.tsx +0 -113
- package/src/contexts/chatContext/ChatContext.tsx +0 -5
- package/src/contexts/componentsContext/ComponentsContext.tsx +62 -0
- package/src/contexts/componentsContext/PLAN.md +148 -0
- package/src/contexts/componentsContext/__tests__/defaultComponents.test.ts +44 -0
- package/src/contexts/componentsContext/defaultComponents.ts +332 -0
- package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +0 -8
- package/src/contexts/imageGalleryContext/ImageGalleryContextBase.tsx +0 -10
- package/src/contexts/index.ts +1 -0
- package/src/contexts/messageInputContext/MessageInputContext.tsx +0 -185
- package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +1 -75
- package/src/contexts/messagesContext/MessagesContext.tsx +3 -358
- package/src/contexts/overlayContext/MessageOverlayHostLayer.tsx +5 -7
- package/src/contexts/overlayContext/OverlayContext.tsx +0 -4
- package/src/contexts/overlayContext/OverlayProvider.tsx +1 -2
- package/src/contexts/overlayContext/__tests__/MessageOverlayHostLayer.test.tsx +21 -6
- package/src/contexts/threadsContext/ThreadsContext.tsx +0 -9
- package/src/hooks/messagePreview/useMessagePreviewText.tsx +17 -13
- package/src/i18n/en.json +20 -0
- package/src/i18n/es.json +20 -0
- package/src/i18n/fr.json +20 -0
- package/src/i18n/he.json +20 -0
- package/src/i18n/hi.json +20 -0
- package/src/i18n/it.json +20 -0
- package/src/i18n/ja.json +20 -0
- package/src/i18n/ko.json +20 -0
- package/src/i18n/nl.json +20 -0
- package/src/i18n/pt-br.json +20 -0
- package/src/i18n/ru.json +20 -0
- package/src/i18n/tr.json +20 -0
- package/src/icons/arrow-up-right.tsx +11 -8
- package/src/icons/audio.tsx +11 -8
- package/src/icons/chevron-left.tsx +11 -8
- package/src/icons/leave.tsx +11 -8
- package/src/icons/message-bubble.tsx +11 -8
- package/src/icons/mute.tsx +12 -9
- package/src/icons/reply.tsx +11 -8
- package/src/icons/search.tsx +12 -9
- package/src/icons/send.tsx +12 -9
- package/src/icons/thread.tsx +11 -8
- package/src/icons/video-fill.tsx +5 -1
- package/src/icons/video.tsx +11 -8
- package/src/utils/rtlMirrorSwitchStyle.ts +20 -0
- package/src/version.json +1 -1
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import React, { PropsWithChildren, useContext, useMemo } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* All overridable UI components in the SDK.
|
|
5
|
+
* Derived from the DEFAULT_COMPONENTS map in defaultComponents.ts.
|
|
6
|
+
* Adding a new default automatically makes it available as an override.
|
|
7
|
+
*
|
|
8
|
+
* Every key is optional — only specify the components you want to override.
|
|
9
|
+
*/
|
|
10
|
+
export type ComponentOverrides = Partial<
|
|
11
|
+
(typeof import('./defaultComponents'))['DEFAULT_COMPONENTS']
|
|
12
|
+
>;
|
|
13
|
+
|
|
14
|
+
const ComponentsContext = React.createContext<ComponentOverrides>({});
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Provider to override UI components at any level of the tree.
|
|
18
|
+
* Supports nesting — inner overrides merge over outer ones (closest wins).
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```tsx
|
|
22
|
+
* <WithComponents overrides={{ Message: MyCustomMessage, SendButton: MyCustomSendButton }}>
|
|
23
|
+
* <Channel channel={channel}>
|
|
24
|
+
* <MessageList />
|
|
25
|
+
* <MessageInput />
|
|
26
|
+
* </Channel>
|
|
27
|
+
* </WithComponents>
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export const WithComponents = ({
|
|
31
|
+
children,
|
|
32
|
+
overrides,
|
|
33
|
+
}: PropsWithChildren<{ overrides: ComponentOverrides }>) => {
|
|
34
|
+
const parent = useContext(ComponentsContext);
|
|
35
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps -- intentionally stable: overrides are set once at mount
|
|
36
|
+
const merged = useMemo(() => ({ ...parent, ...overrides }), []);
|
|
37
|
+
return <ComponentsContext.Provider value={merged}>{children}</ComponentsContext.Provider>;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
// Lazy-loaded to break circular dependency:
|
|
41
|
+
// defaultComponents.ts → imports components → components import useComponentsContext from this file
|
|
42
|
+
let cachedDefaults: ComponentOverrides | undefined;
|
|
43
|
+
const getDefaults = (): ComponentOverrides => {
|
|
44
|
+
if (!cachedDefaults) {
|
|
45
|
+
cachedDefaults = (require('./defaultComponents') as { DEFAULT_COMPONENTS: ComponentOverrides })
|
|
46
|
+
.DEFAULT_COMPONENTS;
|
|
47
|
+
}
|
|
48
|
+
return cachedDefaults;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Hook to access resolved component overrides.
|
|
53
|
+
* Returns all components with defaults filled in — user overrides merged over defaults.
|
|
54
|
+
*/
|
|
55
|
+
export const useComponentsContext = () => {
|
|
56
|
+
const overrides = useContext(ComponentsContext);
|
|
57
|
+
return useMemo(
|
|
58
|
+
() => ({ ...getDefaults(), ...overrides }) as Required<ComponentOverrides>,
|
|
59
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps -- intentionally stable: overrides are set once at mount
|
|
60
|
+
[],
|
|
61
|
+
);
|
|
62
|
+
};
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# WithComponents — Component Override System
|
|
2
|
+
|
|
3
|
+
## Design Principle
|
|
4
|
+
|
|
5
|
+
**All components are read from `useComponentsContext()`. All other contexts only provide data + APIs — never components.**
|
|
6
|
+
|
|
7
|
+
## Current State (Completed)
|
|
8
|
+
|
|
9
|
+
### What was done
|
|
10
|
+
|
|
11
|
+
1. **Created `ComponentsContext`** — `WithComponents` provider, `useComponentsContext()` hook, `ComponentOverrides` type
|
|
12
|
+
2. **Created `defaultComponents.ts`** — centralized map of all ~130 default components
|
|
13
|
+
3. **Stripped component keys** from all existing context types: `MessagesContextValue`, `InputMessageInputContextValue`, `ChannelContextValue`, `ChannelsContextValue`, `AttachmentPickerContextValue`, `ThreadsContextValue`, `ImageGalleryContextValue`
|
|
14
|
+
4. **Simplified `useCreate*Context` hooks** — no longer receive or forward component params
|
|
15
|
+
5. **Simplified `Channel.tsx`** — removed ~90 component imports, prop defaults, forwarding lines
|
|
16
|
+
6. **Simplified `ChannelList.tsx`** — removed ~19 component props
|
|
17
|
+
7. **Updated ~80 consumer files** — switched from old context hooks to `useComponentsContext()`
|
|
18
|
+
8. **Removed component override props** from ALL individual components
|
|
19
|
+
9. **Updated all 3 example apps** (SampleApp, ExpoMessaging, TypeScriptMessaging)
|
|
20
|
+
10. **Updated ~45 documentation pages** across docs-content repo
|
|
21
|
+
11. **Merged with develop** and resolved conflicts
|
|
22
|
+
|
|
23
|
+
### Architecture
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
User: <WithComponents overrides={{ Message: Custom }}>
|
|
27
|
+
↓
|
|
28
|
+
ComponentsContext (merges parent + overrides, inner wins)
|
|
29
|
+
↓
|
|
30
|
+
useComponentsContext() → { ...DEFAULT_COMPONENTS, ...overrides }
|
|
31
|
+
↓
|
|
32
|
+
Consumer: const { Message } = useComponentsContext()
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Key Files
|
|
36
|
+
|
|
37
|
+
| File | Purpose |
|
|
38
|
+
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
|
|
39
|
+
| `ComponentsContext.tsx` | ~60 lines. `ComponentOverrides` type (derived from `typeof DEFAULT_COMPONENTS`), `WithComponents` provider, `useComponentsContext()` hook |
|
|
40
|
+
| `defaultComponents.ts` | ~300 lines. Single source of truth for all default component mappings. Adding a new component here auto-extends `ComponentOverrides` |
|
|
41
|
+
|
|
42
|
+
### Type System
|
|
43
|
+
|
|
44
|
+
`ComponentOverrides` is derived automatically:
|
|
45
|
+
|
|
46
|
+
```ts
|
|
47
|
+
export type ComponentOverrides = Partial<(typeof import('./defaultComponents'))['DEFAULT_COMPONENTS']>;
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
No manual type maintenance — add a component to `DEFAULT_COMPONENTS` and the type updates.
|
|
51
|
+
|
|
52
|
+
### Circular Dependency Handling
|
|
53
|
+
|
|
54
|
+
`defaultComponents.ts` → imports components → components import `useComponentsContext` from `ComponentsContext.tsx`.
|
|
55
|
+
|
|
56
|
+
Broken by lazy-loading defaults in the hook:
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
let cachedDefaults: ComponentOverrides | undefined;
|
|
60
|
+
const getDefaults = () => {
|
|
61
|
+
if (!cachedDefaults) {
|
|
62
|
+
cachedDefaults = require('./defaultComponents').DEFAULT_COMPONENTS;
|
|
63
|
+
}
|
|
64
|
+
return cachedDefaults;
|
|
65
|
+
};
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Naming Conventions
|
|
69
|
+
|
|
70
|
+
Some component keys differ from their default component names to avoid collisions:
|
|
71
|
+
|
|
72
|
+
| Override Key | Default Component | Why renamed |
|
|
73
|
+
| ----------------------------- | --------------------------------------- | ---------------------------------------------------------- |
|
|
74
|
+
| `FileAttachmentIcon` | `FileIcon` | Clarity |
|
|
75
|
+
| `ChannelListLoadingIndicator` | `ChannelListLoadingIndicator` | Split from shared `LoadingIndicator` — renders skeleton UI |
|
|
76
|
+
| `MessageListLoadingIndicator` | `LoadingIndicator` | Split from shared `LoadingIndicator` — renders text |
|
|
77
|
+
| `ChatLoadingIndicator` | `undefined` | Optional, no default |
|
|
78
|
+
| `ThreadMessageComposer` | `MessageComposer` | Avoid collision with `MessageComposer` component name |
|
|
79
|
+
| `ThreadListComponent` | `DefaultThreadListComponent` | Avoid collision with exported `ThreadList` |
|
|
80
|
+
| `StartAudioRecordingButton` | `AudioRecordingButton` | Historical naming |
|
|
81
|
+
| `Preview` | `ChannelPreviewView` | ChannelList preview item |
|
|
82
|
+
| `PreviewAvatar` | `ChannelAvatar` | ChannelList preview avatar |
|
|
83
|
+
| `FooterLoadingIndicator` | `ChannelListFooterLoadingIndicator` | ChannelList footer |
|
|
84
|
+
| `HeaderErrorIndicator` | `ChannelListHeaderErrorIndicator` | ChannelList header |
|
|
85
|
+
| `HeaderNetworkDownIndicator` | `ChannelListHeaderNetworkDownIndicator` | ChannelList header |
|
|
86
|
+
|
|
87
|
+
### Optional Components (no default)
|
|
88
|
+
|
|
89
|
+
These exist in `DEFAULT_COMPONENTS` as `undefined` with `React.ComponentType<any> | undefined` type assertions:
|
|
90
|
+
|
|
91
|
+
`AttachmentPickerIOSSelectMorePhotos`, `ChatLoadingIndicator`, `CreatePollContent`, `ImageComponent`, `Input`, `ListHeaderComponent`, `MessageContentBottomView`, `MessageContentLeadingView`, `MessageContentTopView`, `MessageContentTrailingView`, `MessageLocation`, `MessageSpacer`, `MessageText`, `PollContent`
|
|
92
|
+
|
|
93
|
+
### Shared Component Keys (audited)
|
|
94
|
+
|
|
95
|
+
Some keys were used in multiple contexts before the refactor. Audit results:
|
|
96
|
+
|
|
97
|
+
| Key | Used By | Same Default? | Resolution |
|
|
98
|
+
| ----------------------- | --------------------- | ----------------------------------------------------------- | --------------------------------------------------------------------------- |
|
|
99
|
+
| `EmptyStateIndicator` | Channel + ChannelList | Yes (differentiates via `listType` prop) | Single key ✅ |
|
|
100
|
+
| `LoadingErrorIndicator` | Channel + ChannelList | Yes (differentiates via `listType` prop) | Single key ✅ |
|
|
101
|
+
| `LoadingIndicator` | Channel + ChannelList | **No** — Channel used text-based, ChannelList used skeleton | Split into `MessageListLoadingIndicator` + `ChannelListLoadingIndicator` ✅ |
|
|
102
|
+
|
|
103
|
+
### API Alignment with stream-chat-react
|
|
104
|
+
|
|
105
|
+
| Aspect | React Native | React Web |
|
|
106
|
+
| --------- | ----------------------------------- | -------------------------------------- |
|
|
107
|
+
| Provider | `WithComponents` | `WithComponents` |
|
|
108
|
+
| Prop name | `overrides` | `overrides` |
|
|
109
|
+
| Hook | `useComponentsContext()` | `useComponentContext()` |
|
|
110
|
+
| Type | `ComponentOverrides` (auto-derived) | `ComponentContextValue` (hand-written) |
|
|
111
|
+
| Defaults | Lazy-loaded via `require()` | Set at `Channel` level |
|
|
112
|
+
| Merge | `useMemo` | Plain spread (no memo) |
|
|
113
|
+
|
|
114
|
+
## Known Issues / Future Work
|
|
115
|
+
|
|
116
|
+
### Pre-existing Test Failures (not caused by this work)
|
|
117
|
+
|
|
118
|
+
These test suites fail on `develop` too:
|
|
119
|
+
|
|
120
|
+
- `offline-support/index.test.ts` — timeout
|
|
121
|
+
- `ChannelList.test.js` — filter race condition (`channel.countUnread` mock missing)
|
|
122
|
+
- `isAttachmentEqualHandler.test.js`, `MessageContent.test.js`, `MessageTextContainer.test.tsx`, `MessageUserReactions.test.tsx`, `ChannelPreview.test.tsx` — various pre-existing issues
|
|
123
|
+
|
|
124
|
+
### Linter Interaction
|
|
125
|
+
|
|
126
|
+
`@typescript-eslint/no-unused-vars` (warn, max-warnings 0) aggressively strips unused type keys. When adding new keys to `ComponentOverrides`, the type and its consumer must land in the same edit — otherwise the linter removes the key between saves.
|
|
127
|
+
|
|
128
|
+
Since `ComponentOverrides` is now auto-derived from `DEFAULT_COMPONENTS`, this is no longer an issue for the type itself. But be aware when adding optional components (`undefined as React.ComponentType<any> | undefined`).
|
|
129
|
+
|
|
130
|
+
### `contexts/index.ts` Barrel Export
|
|
131
|
+
|
|
132
|
+
The `export * from './componentsContext/ComponentsContext'` line in `contexts/index.ts` was stripped by the linter multiple times during development. If `WithComponents` becomes unexportable from the package, check this barrel file first.
|
|
133
|
+
|
|
134
|
+
### Documentation
|
|
135
|
+
|
|
136
|
+
Docs PR: https://github.com/GetStream/docs-content/pull/1169
|
|
137
|
+
|
|
138
|
+
Updated ~45 pages across:
|
|
139
|
+
|
|
140
|
+
- Core teaching pages (custom_components, message-customization, etc.)
|
|
141
|
+
- Component reference pages (channel-list, message-list, message-composer, etc.)
|
|
142
|
+
- Context docs (stripped component keys from 7 context pages)
|
|
143
|
+
- Migration guide (upgrading-from-v8.md — comprehensive WithComponents section)
|
|
144
|
+
- Advanced guides (audio, AI, image-picker, etc.)
|
|
145
|
+
|
|
146
|
+
### SDK PR
|
|
147
|
+
|
|
148
|
+
https://github.com/GetStream/stream-chat-react-native/pull/3542
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { DEFAULT_COMPONENTS } from '../defaultComponents';
|
|
2
|
+
|
|
3
|
+
// Optional component keys that are intentionally undefined (no default implementation)
|
|
4
|
+
const OPTIONAL_KEYS = new Set([
|
|
5
|
+
'AttachmentPickerIOSSelectMorePhotos',
|
|
6
|
+
'ChatLoadingIndicator',
|
|
7
|
+
'CreatePollContent',
|
|
8
|
+
'Input',
|
|
9
|
+
'ListHeaderComponent',
|
|
10
|
+
'MessageContentBottomView',
|
|
11
|
+
'MessageContentLeadingView',
|
|
12
|
+
'MessageContentTopView',
|
|
13
|
+
'MessageContentTrailingView',
|
|
14
|
+
'MessageLocation',
|
|
15
|
+
'MessageSpacer',
|
|
16
|
+
'MessageText',
|
|
17
|
+
'PollContent',
|
|
18
|
+
]);
|
|
19
|
+
|
|
20
|
+
describe('DEFAULT_COMPONENTS', () => {
|
|
21
|
+
it('should have all required values defined', () => {
|
|
22
|
+
const entries = Object.entries(DEFAULT_COMPONENTS);
|
|
23
|
+
expect(entries.length).toBeGreaterThan(50);
|
|
24
|
+
|
|
25
|
+
const unexpectedUndefined = entries.filter(
|
|
26
|
+
([key, value]) => value === undefined && !OPTIONAL_KEYS.has(key),
|
|
27
|
+
);
|
|
28
|
+
if (unexpectedUndefined.length > 0) {
|
|
29
|
+
console.log(
|
|
30
|
+
'Unexpectedly undefined keys:',
|
|
31
|
+
unexpectedUndefined.map(([k]) => k),
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
expect(unexpectedUndefined).toEqual([]);
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
it('optional keys should be explicitly listed', () => {
|
|
38
|
+
const entries = Object.entries(DEFAULT_COMPONENTS);
|
|
39
|
+
const actualUndefined = new Set(
|
|
40
|
+
entries.filter(([, v]) => v === undefined || v === null).map(([k]) => k),
|
|
41
|
+
);
|
|
42
|
+
expect(actualUndefined).toEqual(OPTIONAL_KEYS);
|
|
43
|
+
});
|
|
44
|
+
});
|
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Image } from 'react-native';
|
|
3
|
+
|
|
4
|
+
import { Attachment } from '../../components/Attachment/Attachment';
|
|
5
|
+
import { AudioAttachment } from '../../components/Attachment/Audio';
|
|
6
|
+
import { FileAttachment } from '../../components/Attachment/FileAttachment';
|
|
7
|
+
import { FileAttachmentGroup } from '../../components/Attachment/FileAttachmentGroup';
|
|
8
|
+
import { FileIcon } from '../../components/Attachment/FileIcon';
|
|
9
|
+
import { FilePreview } from '../../components/Attachment/FilePreview';
|
|
10
|
+
import { Gallery } from '../../components/Attachment/Gallery';
|
|
11
|
+
import { Giphy } from '../../components/Attachment/Giphy';
|
|
12
|
+
import { ImageLoadingFailedIndicator } from '../../components/Attachment/ImageLoadingFailedIndicator';
|
|
13
|
+
import { ImageLoadingIndicator } from '../../components/Attachment/ImageLoadingIndicator';
|
|
14
|
+
import { UnsupportedAttachment } from '../../components/Attachment/UnsupportedAttachment';
|
|
15
|
+
import { URLPreview } from '../../components/Attachment/UrlPreview';
|
|
16
|
+
import { URLPreviewCompact } from '../../components/Attachment/UrlPreview/URLPreviewCompact';
|
|
17
|
+
import { VideoThumbnail } from '../../components/Attachment/VideoThumbnail';
|
|
18
|
+
import { AttachmentPickerContent } from '../../components/AttachmentPicker/components/AttachmentPickerContent';
|
|
19
|
+
import { AttachmentPickerSelectionBar } from '../../components/AttachmentPicker/components/AttachmentPickerSelectionBar';
|
|
20
|
+
import { ImageOverlaySelectedComponent } from '../../components/AttachmentPicker/components/ImageOverlaySelectedComponent';
|
|
21
|
+
import { AutoCompleteSuggestionHeader } from '../../components/AutoCompleteInput/AutoCompleteSuggestionHeader';
|
|
22
|
+
import { AutoCompleteSuggestionItem } from '../../components/AutoCompleteInput/AutoCompleteSuggestionItem';
|
|
23
|
+
import { AutoCompleteSuggestionList } from '../../components/AutoCompleteInput/AutoCompleteSuggestionList';
|
|
24
|
+
import { InputView } from '../../components/AutoCompleteInput/InputView';
|
|
25
|
+
import { ChannelListFooterLoadingIndicator } from '../../components/ChannelList/ChannelListFooterLoadingIndicator';
|
|
26
|
+
import { ChannelListHeaderErrorIndicator } from '../../components/ChannelList/ChannelListHeaderErrorIndicator';
|
|
27
|
+
import { ChannelListHeaderNetworkDownIndicator } from '../../components/ChannelList/ChannelListHeaderNetworkDownIndicator';
|
|
28
|
+
import { ChannelListLoadingIndicator } from '../../components/ChannelList/ChannelListLoadingIndicator';
|
|
29
|
+
import { Skeleton } from '../../components/ChannelList/Skeleton';
|
|
30
|
+
import { ChannelDetailsBottomSheet } from '../../components/ChannelPreview/ChannelDetailsBottomSheet';
|
|
31
|
+
import { ChannelDetailsHeader } from '../../components/ChannelPreview/ChannelDetailsBottomSheet';
|
|
32
|
+
import { ChannelLastMessagePreview } from '../../components/ChannelPreview/ChannelLastMessagePreview';
|
|
33
|
+
import { ChannelMessagePreviewDeliveryStatus } from '../../components/ChannelPreview/ChannelMessagePreviewDeliveryStatus';
|
|
34
|
+
import { ChannelPreviewMessage } from '../../components/ChannelPreview/ChannelPreviewMessage';
|
|
35
|
+
import { ChannelPreviewMutedStatus } from '../../components/ChannelPreview/ChannelPreviewMutedStatus';
|
|
36
|
+
import { ChannelPreviewStatus } from '../../components/ChannelPreview/ChannelPreviewStatus';
|
|
37
|
+
import { ChannelPreviewTitle } from '../../components/ChannelPreview/ChannelPreviewTitle';
|
|
38
|
+
import { ChannelPreviewTypingIndicator } from '../../components/ChannelPreview/ChannelPreviewTypingIndicator';
|
|
39
|
+
import { ChannelPreviewUnreadCount } from '../../components/ChannelPreview/ChannelPreviewUnreadCount';
|
|
40
|
+
import { ChannelPreviewView } from '../../components/ChannelPreview/ChannelPreviewView';
|
|
41
|
+
import { ImageGalleryFooter } from '../../components/ImageGallery/components/ImageGalleryFooter';
|
|
42
|
+
import { ImageGalleryHeader } from '../../components/ImageGallery/components/ImageGalleryHeader';
|
|
43
|
+
import { ImageGalleryVideoControl } from '../../components/ImageGallery/components/ImageGalleryVideoControl';
|
|
44
|
+
import { ImageGalleryGrid } from '../../components/ImageGallery/components/ImageGrid';
|
|
45
|
+
import { EmptyStateIndicator } from '../../components/Indicators/EmptyStateIndicator';
|
|
46
|
+
import { LoadingErrorIndicator } from '../../components/Indicators/LoadingErrorIndicator';
|
|
47
|
+
import { LoadingIndicator } from '../../components/Indicators/LoadingIndicator';
|
|
48
|
+
import { KeyboardCompatibleView } from '../../components/KeyboardCompatibleView/KeyboardControllerAvoidingView';
|
|
49
|
+
import { Message } from '../../components/Message/Message';
|
|
50
|
+
import { MessagePinnedHeader } from '../../components/Message/MessageItemView/Headers/MessagePinnedHeader';
|
|
51
|
+
import { MessageReminderHeader } from '../../components/Message/MessageItemView/Headers/MessageReminderHeader';
|
|
52
|
+
import { MessageSavedForLaterHeader } from '../../components/Message/MessageItemView/Headers/MessageSavedForLaterHeader';
|
|
53
|
+
import { SentToChannelHeader } from '../../components/Message/MessageItemView/Headers/SentToChannelHeader';
|
|
54
|
+
import { MessageAuthor } from '../../components/Message/MessageItemView/MessageAuthor';
|
|
55
|
+
import { MessageBlocked } from '../../components/Message/MessageItemView/MessageBlocked';
|
|
56
|
+
import { MessageBounce } from '../../components/Message/MessageItemView/MessageBounce';
|
|
57
|
+
import { MessageContent } from '../../components/Message/MessageItemView/MessageContent';
|
|
58
|
+
import { MessageDeleted } from '../../components/Message/MessageItemView/MessageDeleted';
|
|
59
|
+
import { MessageError } from '../../components/Message/MessageItemView/MessageError';
|
|
60
|
+
import { MessageFooter } from '../../components/Message/MessageItemView/MessageFooter';
|
|
61
|
+
import { MessageHeader } from '../../components/Message/MessageItemView/MessageHeader';
|
|
62
|
+
import { MessageItemView } from '../../components/Message/MessageItemView/MessageItemView';
|
|
63
|
+
import { MessageReplies } from '../../components/Message/MessageItemView/MessageReplies';
|
|
64
|
+
import { MessageRepliesAvatars } from '../../components/Message/MessageItemView/MessageRepliesAvatars';
|
|
65
|
+
import { MessageStatus } from '../../components/Message/MessageItemView/MessageStatus';
|
|
66
|
+
import { MessageSwipeContent } from '../../components/Message/MessageItemView/MessageSwipeContent';
|
|
67
|
+
import { MessageTimestamp } from '../../components/Message/MessageItemView/MessageTimestamp';
|
|
68
|
+
import { ReactionListBottom } from '../../components/Message/MessageItemView/ReactionList/ReactionListBottom';
|
|
69
|
+
import { ReactionListClustered } from '../../components/Message/MessageItemView/ReactionList/ReactionListClustered';
|
|
70
|
+
import {
|
|
71
|
+
ReactionListCountItem,
|
|
72
|
+
ReactionListItem,
|
|
73
|
+
} from '../../components/Message/MessageItemView/ReactionList/ReactionListItem';
|
|
74
|
+
import { ReactionListItemWrapper } from '../../components/Message/MessageItemView/ReactionList/ReactionListItemWrapper';
|
|
75
|
+
import { ReactionListTop } from '../../components/Message/MessageItemView/ReactionList/ReactionListTop';
|
|
76
|
+
import { StreamingMessageView } from '../../components/Message/MessageItemView/StreamingMessageView';
|
|
77
|
+
import { AttachmentUploadPreviewList } from '../../components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList';
|
|
78
|
+
import {
|
|
79
|
+
FileUploadInProgressIndicator,
|
|
80
|
+
FileUploadNotSupportedIndicator,
|
|
81
|
+
FileUploadRetryIndicator,
|
|
82
|
+
ImageUploadInProgressIndicator,
|
|
83
|
+
ImageUploadNotSupportedIndicator,
|
|
84
|
+
ImageUploadRetryIndicator,
|
|
85
|
+
} from '../../components/MessageInput/components/AttachmentPreview/AttachmentUploadProgressIndicator';
|
|
86
|
+
import { AudioAttachmentUploadPreview } from '../../components/MessageInput/components/AttachmentPreview/AudioAttachmentUploadPreview';
|
|
87
|
+
import { FileAttachmentUploadPreview } from '../../components/MessageInput/components/AttachmentPreview/FileAttachmentUploadPreview';
|
|
88
|
+
import { ImageAttachmentUploadPreview } from '../../components/MessageInput/components/AttachmentPreview/ImageAttachmentUploadPreview';
|
|
89
|
+
import { VideoAttachmentUploadPreview } from '../../components/MessageInput/components/AttachmentPreview/VideoAttachmentUploadPreview';
|
|
90
|
+
import { AudioRecorder } from '../../components/MessageInput/components/AudioRecorder/AudioRecorder';
|
|
91
|
+
import { AudioRecordingButton } from '../../components/MessageInput/components/AudioRecorder/AudioRecordingButton';
|
|
92
|
+
import { AudioRecordingInProgress } from '../../components/MessageInput/components/AudioRecorder/AudioRecordingInProgress';
|
|
93
|
+
import { AudioRecordingLockIndicator } from '../../components/MessageInput/components/AudioRecorder/AudioRecordingLockIndicator';
|
|
94
|
+
import { AudioRecordingPreview } from '../../components/MessageInput/components/AudioRecorder/AudioRecordingPreview';
|
|
95
|
+
import { AudioRecordingWaveform } from '../../components/MessageInput/components/AudioRecorder/AudioRecordingWaveform';
|
|
96
|
+
import { InputButtons } from '../../components/MessageInput/components/InputButtons';
|
|
97
|
+
import { AttachButton } from '../../components/MessageInput/components/InputButtons/AttachButton';
|
|
98
|
+
import { CooldownTimer } from '../../components/MessageInput/components/OutputButtons/CooldownTimer';
|
|
99
|
+
import { SendButton } from '../../components/MessageInput/components/OutputButtons/SendButton';
|
|
100
|
+
import { MessageComposer } from '../../components/MessageInput/MessageComposer';
|
|
101
|
+
import { MessageComposerLeadingView } from '../../components/MessageInput/MessageComposerLeadingView';
|
|
102
|
+
import { MessageComposerTrailingView } from '../../components/MessageInput/MessageComposerTrailingView';
|
|
103
|
+
import { MessageInputFooterView } from '../../components/MessageInput/MessageInputFooterView';
|
|
104
|
+
import { MessageInputHeaderView } from '../../components/MessageInput/MessageInputHeaderView';
|
|
105
|
+
import { MessageInputLeadingView } from '../../components/MessageInput/MessageInputLeadingView';
|
|
106
|
+
import { MessageInputTrailingView } from '../../components/MessageInput/MessageInputTrailingView';
|
|
107
|
+
import { SendMessageDisallowedIndicator } from '../../components/MessageInput/SendMessageDisallowedIndicator';
|
|
108
|
+
import { ShowThreadMessageInChannelButton } from '../../components/MessageInput/ShowThreadMessageInChannelButton';
|
|
109
|
+
import { StopMessageStreamingButton } from '../../components/MessageInput/StopMessageStreamingButton';
|
|
110
|
+
import { DateHeader } from '../../components/MessageList/DateHeader';
|
|
111
|
+
import { InlineDateSeparator } from '../../components/MessageList/InlineDateSeparator';
|
|
112
|
+
import { InlineUnreadIndicator } from '../../components/MessageList/InlineUnreadIndicator';
|
|
113
|
+
import { MessageList } from '../../components/MessageList/MessageList';
|
|
114
|
+
import { MessageSystem } from '../../components/MessageList/MessageSystem';
|
|
115
|
+
import { NetworkDownIndicator } from '../../components/MessageList/NetworkDownIndicator';
|
|
116
|
+
import { ScrollToBottomButton } from '../../components/MessageList/ScrollToBottomButton';
|
|
117
|
+
import { StickyHeader } from '../../components/MessageList/StickyHeader';
|
|
118
|
+
import { TypingIndicator } from '../../components/MessageList/TypingIndicator';
|
|
119
|
+
import { TypingIndicatorContainer } from '../../components/MessageList/TypingIndicatorContainer';
|
|
120
|
+
import { UnreadMessagesNotification } from '../../components/MessageList/UnreadMessagesNotification';
|
|
121
|
+
import { MessageActionList } from '../../components/MessageMenu/MessageActionList';
|
|
122
|
+
import { MessageActionListItem } from '../../components/MessageMenu/MessageActionListItem';
|
|
123
|
+
import { MessageMenu } from '../../components/MessageMenu/MessageMenu';
|
|
124
|
+
import { MessageReactionPicker } from '../../components/MessageMenu/MessageReactionPicker';
|
|
125
|
+
import { MessageUserReactions } from '../../components/MessageMenu/MessageUserReactions';
|
|
126
|
+
import { MessageUserReactionsAvatar } from '../../components/MessageMenu/MessageUserReactionsAvatar';
|
|
127
|
+
import { MessageUserReactionsItem } from '../../components/MessageMenu/MessageUserReactionsItem';
|
|
128
|
+
import { PollAnswersListContent } from '../../components/Poll/components/PollAnswersList';
|
|
129
|
+
import { PollButtons } from '../../components/Poll/components/PollButtons';
|
|
130
|
+
import { PollAllOptionsContent } from '../../components/Poll/components/PollOption';
|
|
131
|
+
import { PollOptionFullResultsContent } from '../../components/Poll/components/PollResults/PollOptionFullResults';
|
|
132
|
+
import { PollResultsContent } from '../../components/Poll/components/PollResults/PollResults';
|
|
133
|
+
import { PollHeader } from '../../components/Poll/Poll';
|
|
134
|
+
import { Reply } from '../../components/Reply/Reply';
|
|
135
|
+
import {
|
|
136
|
+
DefaultThreadListComponent as ThreadListComponent,
|
|
137
|
+
DefaultThreadListEmptyPlaceholder,
|
|
138
|
+
DefaultThreadListLoadingIndicator,
|
|
139
|
+
DefaultThreadListLoadingNextIndicator,
|
|
140
|
+
} from '../../components/ThreadList/ThreadList';
|
|
141
|
+
import { ThreadListItemComponent as ThreadListItem } from '../../components/ThreadList/ThreadListItem';
|
|
142
|
+
import { ThreadListItemMessagePreview } from '../../components/ThreadList/ThreadListItemMessagePreview';
|
|
143
|
+
import { ThreadListUnreadBanner } from '../../components/ThreadList/ThreadListUnreadBanner';
|
|
144
|
+
import { ThreadMessagePreviewDeliveryStatus } from '../../components/ThreadList/ThreadMessagePreviewDeliveryStatus';
|
|
145
|
+
import { ChannelAvatar } from '../../components/ui/Avatar/ChannelAvatar';
|
|
146
|
+
import { DefaultMessageOverlayBackground } from '../../contexts/overlayContext/MessageOverlayHostLayer';
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* All default component implementations used across the SDK.
|
|
150
|
+
* These are the components used when no overrides are provided via WithComponents.
|
|
151
|
+
*/
|
|
152
|
+
export const DEFAULT_COMPONENTS = {
|
|
153
|
+
Attachment,
|
|
154
|
+
AttachButton,
|
|
155
|
+
AttachmentPickerContent,
|
|
156
|
+
AttachmentPickerSelectionBar,
|
|
157
|
+
AttachmentUploadPreviewList,
|
|
158
|
+
AudioAttachment,
|
|
159
|
+
AudioAttachmentUploadPreview,
|
|
160
|
+
AudioRecorder,
|
|
161
|
+
AudioRecordingInProgress,
|
|
162
|
+
AudioRecordingLockIndicator,
|
|
163
|
+
AudioRecordingPreview,
|
|
164
|
+
AudioRecordingWaveform,
|
|
165
|
+
AutoCompleteSuggestionHeader,
|
|
166
|
+
AutoCompleteSuggestionItem,
|
|
167
|
+
AutoCompleteSuggestionList,
|
|
168
|
+
ChannelDetailsBottomSheet,
|
|
169
|
+
CooldownTimer,
|
|
170
|
+
DateHeader,
|
|
171
|
+
EmptyStateIndicator,
|
|
172
|
+
FileAttachment,
|
|
173
|
+
FileAttachmentGroup,
|
|
174
|
+
FileAttachmentIcon: FileIcon,
|
|
175
|
+
FileAttachmentUploadPreview,
|
|
176
|
+
FileUploadInProgressIndicator,
|
|
177
|
+
FileUploadNotSupportedIndicator,
|
|
178
|
+
FileUploadRetryIndicator,
|
|
179
|
+
FilePreview,
|
|
180
|
+
FooterLoadingIndicator: ChannelListFooterLoadingIndicator,
|
|
181
|
+
Gallery,
|
|
182
|
+
Giphy,
|
|
183
|
+
HeaderErrorIndicator: ChannelListHeaderErrorIndicator,
|
|
184
|
+
HeaderNetworkDownIndicator: ChannelListHeaderNetworkDownIndicator,
|
|
185
|
+
ImageAttachmentUploadPreview,
|
|
186
|
+
ImageLoadingFailedIndicator,
|
|
187
|
+
ImageLoadingIndicator,
|
|
188
|
+
ImageOverlaySelectedComponent,
|
|
189
|
+
ImageUploadInProgressIndicator,
|
|
190
|
+
ImageUploadNotSupportedIndicator,
|
|
191
|
+
ImageUploadRetryIndicator,
|
|
192
|
+
InlineDateSeparator,
|
|
193
|
+
InlineUnreadIndicator,
|
|
194
|
+
InputButtons,
|
|
195
|
+
InputView,
|
|
196
|
+
KeyboardCompatibleView,
|
|
197
|
+
LoadingErrorIndicator,
|
|
198
|
+
ChannelListLoadingIndicator,
|
|
199
|
+
MessageListLoadingIndicator: LoadingIndicator,
|
|
200
|
+
Message,
|
|
201
|
+
MessageActionList,
|
|
202
|
+
MessageActionListItem,
|
|
203
|
+
MessageAuthor,
|
|
204
|
+
MessageBlocked,
|
|
205
|
+
MessageBounce,
|
|
206
|
+
MessageComposerLeadingView,
|
|
207
|
+
MessageComposerTrailingView,
|
|
208
|
+
MessageContent,
|
|
209
|
+
MessageDeleted,
|
|
210
|
+
MessageError,
|
|
211
|
+
MessageFooter,
|
|
212
|
+
MessageHeader,
|
|
213
|
+
MessageInputFooterView,
|
|
214
|
+
MessageInputHeaderView,
|
|
215
|
+
MessageInputLeadingView,
|
|
216
|
+
MessageInputTrailingView,
|
|
217
|
+
MessageItemView,
|
|
218
|
+
MessageList,
|
|
219
|
+
MessageMenu,
|
|
220
|
+
MessagePinnedHeader,
|
|
221
|
+
MessageReactionPicker,
|
|
222
|
+
MessageReminderHeader,
|
|
223
|
+
MessageReplies,
|
|
224
|
+
MessageRepliesAvatars,
|
|
225
|
+
MessageSavedForLaterHeader,
|
|
226
|
+
MessageStatus,
|
|
227
|
+
MessageSwipeContent,
|
|
228
|
+
MessageSystem,
|
|
229
|
+
MessageTimestamp,
|
|
230
|
+
MessageUserReactions,
|
|
231
|
+
MessageUserReactionsAvatar,
|
|
232
|
+
MessageUserReactionsItem,
|
|
233
|
+
NetworkDownIndicator,
|
|
234
|
+
Preview: ChannelPreviewView,
|
|
235
|
+
PreviewAvatar: ChannelAvatar,
|
|
236
|
+
PreviewLastMessage: ChannelLastMessagePreview,
|
|
237
|
+
PreviewMessage: ChannelPreviewMessage,
|
|
238
|
+
PreviewMessageDeliveryStatus: ChannelMessagePreviewDeliveryStatus,
|
|
239
|
+
PreviewMutedStatus: ChannelPreviewMutedStatus,
|
|
240
|
+
PreviewStatus: ChannelPreviewStatus,
|
|
241
|
+
PreviewTitle: ChannelPreviewTitle,
|
|
242
|
+
PreviewTypingIndicator: ChannelPreviewTypingIndicator,
|
|
243
|
+
PreviewUnreadCount: ChannelPreviewUnreadCount,
|
|
244
|
+
ReactionListBottom,
|
|
245
|
+
ReactionListClustered,
|
|
246
|
+
ReactionListCountItem,
|
|
247
|
+
ReactionListItem,
|
|
248
|
+
ReactionListItemWrapper,
|
|
249
|
+
ReactionListTop,
|
|
250
|
+
Reply,
|
|
251
|
+
ScrollToBottomButton,
|
|
252
|
+
SendButton,
|
|
253
|
+
SendMessageDisallowedIndicator,
|
|
254
|
+
SentToChannelHeader,
|
|
255
|
+
ShowThreadMessageInChannelButton,
|
|
256
|
+
Skeleton,
|
|
257
|
+
StartAudioRecordingButton: AudioRecordingButton,
|
|
258
|
+
StickyHeader,
|
|
259
|
+
StopMessageStreamingButton,
|
|
260
|
+
StreamingMessageView,
|
|
261
|
+
TypingIndicator,
|
|
262
|
+
TypingIndicatorContainer,
|
|
263
|
+
UnreadMessagesNotification,
|
|
264
|
+
UnsupportedAttachment,
|
|
265
|
+
UrlPreview: URLPreview,
|
|
266
|
+
URLPreviewCompact,
|
|
267
|
+
VideoAttachmentUploadPreview,
|
|
268
|
+
VideoThumbnail,
|
|
269
|
+
|
|
270
|
+
// Channel details
|
|
271
|
+
ChannelDetailsHeader,
|
|
272
|
+
|
|
273
|
+
// Thread
|
|
274
|
+
ThreadMessageComposer: MessageComposer,
|
|
275
|
+
ThreadListComponent,
|
|
276
|
+
ThreadListEmptyPlaceholder: DefaultThreadListEmptyPlaceholder,
|
|
277
|
+
ThreadListItem,
|
|
278
|
+
ThreadListItemMessagePreview,
|
|
279
|
+
ThreadListLoadingIndicator: DefaultThreadListLoadingIndicator,
|
|
280
|
+
ThreadListLoadingMoreIndicator: DefaultThreadListLoadingNextIndicator,
|
|
281
|
+
ThreadListUnreadBanner,
|
|
282
|
+
ThreadMessagePreviewDeliveryStatus,
|
|
283
|
+
|
|
284
|
+
// Poll
|
|
285
|
+
PollButtons,
|
|
286
|
+
PollHeader,
|
|
287
|
+
PollAllOptionsContent,
|
|
288
|
+
PollAnswersListContent,
|
|
289
|
+
PollResultsContent,
|
|
290
|
+
PollOptionFullResultsContent,
|
|
291
|
+
|
|
292
|
+
// ImageGallery
|
|
293
|
+
ImageGalleryFooter,
|
|
294
|
+
ImageGalleryGrid,
|
|
295
|
+
ImageGalleryHeader,
|
|
296
|
+
ImageGalleryVideoControls: ImageGalleryVideoControl,
|
|
297
|
+
|
|
298
|
+
// Overlay
|
|
299
|
+
MessageOverlayBackground: DefaultMessageOverlayBackground,
|
|
300
|
+
|
|
301
|
+
// Image
|
|
302
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
303
|
+
ImageComponent: Image as React.ComponentType<any>,
|
|
304
|
+
|
|
305
|
+
// Optional overrides (no defaults — undefined unless user provides via WithComponents)
|
|
306
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
307
|
+
AttachmentPickerIOSSelectMorePhotos: undefined as React.ComponentType<any> | undefined,
|
|
308
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
309
|
+
ChatLoadingIndicator: undefined as React.ComponentType<any> | null | undefined,
|
|
310
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
311
|
+
CreatePollContent: undefined as React.ComponentType<any> | undefined,
|
|
312
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
313
|
+
Input: undefined as React.ComponentType<any> | undefined,
|
|
314
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
315
|
+
ListHeaderComponent: undefined as React.ComponentType<any> | undefined,
|
|
316
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
317
|
+
MessageContentBottomView: undefined as React.ComponentType<any> | undefined,
|
|
318
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
319
|
+
MessageContentLeadingView: undefined as React.ComponentType<any> | undefined,
|
|
320
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
321
|
+
MessageContentTopView: undefined as React.ComponentType<any> | undefined,
|
|
322
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
323
|
+
MessageContentTrailingView: undefined as React.ComponentType<any> | undefined,
|
|
324
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
325
|
+
MessageLocation: undefined as React.ComponentType<any> | undefined,
|
|
326
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
327
|
+
MessageSpacer: undefined as React.ComponentType<any> | undefined,
|
|
328
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
329
|
+
MessageText: undefined as React.ComponentType<any> | undefined,
|
|
330
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
331
|
+
PollContent: undefined as React.ComponentType<any> | undefined,
|
|
332
|
+
};
|
|
@@ -7,10 +7,6 @@ import {
|
|
|
7
7
|
useImageGalleryContext,
|
|
8
8
|
} from './ImageGalleryContextBase';
|
|
9
9
|
|
|
10
|
-
import { ImageGalleryFooter as ImageGalleryFooterDefault } from '../../components/ImageGallery/components/ImageGalleryFooter';
|
|
11
|
-
import { ImageGalleryHeader as ImageGalleryHeaderDefault } from '../../components/ImageGallery/components/ImageGalleryHeader';
|
|
12
|
-
import { ImageGalleryVideoControl as ImageGalleryVideoControlDefault } from '../../components/ImageGallery/components/ImageGalleryVideoControl';
|
|
13
|
-
import { ImageGalleryGrid as ImageGalleryGridDefault } from '../../components/ImageGallery/components/ImageGrid';
|
|
14
10
|
import { ImageGalleryStateStore } from '../../state-store/image-gallery-state-store';
|
|
15
11
|
|
|
16
12
|
export const ImageGalleryProvider = ({
|
|
@@ -30,10 +26,6 @@ export const ImageGalleryProvider = ({
|
|
|
30
26
|
() => ({
|
|
31
27
|
autoPlayVideo: value?.autoPlayVideo,
|
|
32
28
|
imageGalleryStateStore,
|
|
33
|
-
ImageGalleryHeader: ImageGalleryHeaderDefault,
|
|
34
|
-
ImageGalleryFooter: ImageGalleryFooterDefault,
|
|
35
|
-
ImageGalleryVideoControls: ImageGalleryVideoControlDefault,
|
|
36
|
-
ImageGalleryGrid: ImageGalleryGridDefault,
|
|
37
29
|
...value,
|
|
38
30
|
}),
|
|
39
31
|
[imageGalleryStateStore, value],
|
|
@@ -2,12 +2,6 @@ import React, { useContext } from 'react';
|
|
|
2
2
|
|
|
3
3
|
import type { Attachment } from 'stream-chat';
|
|
4
4
|
|
|
5
|
-
import type {
|
|
6
|
-
ImageGalleryFooterProps,
|
|
7
|
-
ImageGalleryGridProps,
|
|
8
|
-
ImageGalleryHeaderProps,
|
|
9
|
-
ImageGalleryVideoControlProps,
|
|
10
|
-
} from '../../components/ImageGallery/components/types';
|
|
11
5
|
import { ImageGalleryStateStore } from '../../state-store/image-gallery-state-store';
|
|
12
6
|
import { DEFAULT_BASE_CONTEXT_VALUE } from '../utils/defaultBaseContextValue';
|
|
13
7
|
|
|
@@ -17,10 +11,6 @@ export type ImageGalleryProviderProps = {
|
|
|
17
11
|
autoPlayVideo?: boolean;
|
|
18
12
|
giphyVersion?: keyof NonNullable<Attachment['giphy']>;
|
|
19
13
|
numberOfImageGalleryGridColumns?: number;
|
|
20
|
-
ImageGalleryHeader?: React.ComponentType<ImageGalleryHeaderProps>;
|
|
21
|
-
ImageGalleryFooter?: React.ComponentType<ImageGalleryFooterProps>;
|
|
22
|
-
ImageGalleryVideoControls?: React.ComponentType<ImageGalleryVideoControlProps>;
|
|
23
|
-
ImageGalleryGrid?: React.ComponentType<ImageGalleryGridProps>;
|
|
24
14
|
};
|
|
25
15
|
|
|
26
16
|
export type ImageGalleryContextValue = ImageGalleryProviderProps & {
|
package/src/contexts/index.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './attachmentPickerContext/AttachmentPickerContext';
|
|
2
|
+
export * from './componentsContext/ComponentsContext';
|
|
2
3
|
export * from './bottomSheetContext/BottomSheetContext';
|
|
3
4
|
export * from './channelContext/ChannelContext';
|
|
4
5
|
export * from './channelsContext/ChannelsContext';
|