stream-chat-react-native-core 4.12.2-beta.1 → 5.0.0-beta.0
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 +1 -1
- package/lib/commonjs/components/Attachment/AttachmentActions.js +1 -1
- package/lib/commonjs/components/Attachment/AudioAttachment.js +1 -1
- package/lib/commonjs/components/Attachment/Card.js +1 -1
- package/lib/commonjs/components/Attachment/FileAttachment.js +1 -1
- package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +1 -1
- package/lib/commonjs/components/Attachment/FileIcon.js +1 -1
- package/lib/commonjs/components/Attachment/Gallery.js +3 -3
- package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
- package/lib/commonjs/components/Attachment/GalleryImage.js +1 -1
- package/lib/commonjs/components/Attachment/Giphy.js +30 -30
- package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
- package/lib/commonjs/components/Attachment/ImageLoadingFailedIndicator.js +1 -1
- package/lib/commonjs/components/Attachment/ImageLoadingIndicator.js +1 -1
- package/lib/commonjs/components/Attachment/VideoThumbnail.js +1 -1
- package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerError.js +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/CameraSelectorIcon.js +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/FileSelectorIcon.js +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/ImageSelectorIcon.js +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -1
- package/lib/commonjs/components/Avatar/Avatar.js +31 -18
- package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
- package/lib/commonjs/components/Avatar/GroupAvatar.js +28 -21
- package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
- package/lib/commonjs/components/Channel/Channel.js +227 -257
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +2 -0
- package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js +2 -0
- package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelList.js +41 -10
- package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +20 -8
- package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
- package/lib/commonjs/components/ChannelList/Skeleton.js +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
- package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js +2 -2
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js +2 -2
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js +2 -2
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js +2 -2
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
- package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js +2 -2
- package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js +2 -2
- package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js +4 -4
- package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +51 -21
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +3 -3
- package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +8 -6
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +1 -1
- package/lib/commonjs/components/Chat/Chat.js +45 -9
- package/lib/commonjs/components/Chat/Chat.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/handleEventToSyncDB.js +144 -0
- package/lib/commonjs/components/Chat/hooks/handleEventToSyncDB.js.map +1 -0
- package/lib/commonjs/components/Chat/hooks/useConnectionRecovered.js +171 -0
- package/lib/commonjs/components/Chat/hooks/useConnectionRecovered.js.map +1 -0
- package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js +7 -3
- package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useMutedUsers.js +3 -3
- package/lib/commonjs/components/Chat/hooks/useMutedUsers.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useSyncDatabase.js +29 -0
- package/lib/commonjs/components/Chat/hooks/useSyncDatabase.js.map +1 -0
- package/lib/commonjs/components/ImageGallery/ImageGallery.js +1 -1
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +1 -1
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryOverlay.js +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +1 -1
- package/lib/commonjs/components/Indicators/EmptyStateIndicator.js +1 -1
- package/lib/commonjs/components/Indicators/LoadingDot.js +1 -1
- package/lib/commonjs/components/Indicators/LoadingDots.js +1 -1
- package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js +1 -1
- package/lib/commonjs/components/Indicators/LoadingIndicator.js +1 -1
- package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js +1 -1
- package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +1 -1
- package/lib/commonjs/components/Message/Message.js +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +1 -1
- package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js +1 -1
- package/lib/commonjs/components/Message/hooks/useMessageActions.js +1 -1
- package/lib/commonjs/components/MessageInput/AttachButton.js +1 -1
- package/lib/commonjs/components/MessageInput/CommandsButton.js +1 -1
- package/lib/commonjs/components/MessageInput/CooldownTimer.js +1 -1
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js +1 -1
- package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +1 -1
- package/lib/commonjs/components/MessageInput/InputButtons.js +1 -1
- package/lib/commonjs/components/MessageInput/MessageInput.js +1 -1
- package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +1 -1
- package/lib/commonjs/components/MessageInput/SendButton.js +1 -1
- package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +1 -1
- package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +1 -1
- package/lib/commonjs/components/MessageInput/UploadProgressIndicator.js +1 -1
- package/lib/commonjs/components/MessageInput/components/InputEditingStateHeader.js +1 -1
- package/lib/commonjs/components/MessageInput/components/InputGiphySearch.js +1 -1
- package/lib/commonjs/components/MessageInput/components/InputReplyStateHeader.js +1 -1
- package/lib/commonjs/components/MessageList/DateHeader.js +1 -1
- package/lib/commonjs/components/MessageList/InlineDateSeparator.js +1 -1
- package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
- package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
- package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
- package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js +1 -1
- package/lib/commonjs/components/MessageList/MessageList.js +136 -108
- package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageSystem.js +1 -1
- package/lib/commonjs/components/MessageList/NetworkDownIndicator.js +1 -1
- package/lib/commonjs/components/MessageList/ScrollToBottomButton.js +1 -1
- package/lib/commonjs/components/MessageList/TypingIndicator.js +1 -1
- package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageActionList.js +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js +1 -1
- package/lib/commonjs/components/ProgressControl/ProgressControl.js +1 -1
- package/lib/commonjs/components/RTLComponents/WritingDirectionAwareText.js +1 -1
- package/lib/commonjs/components/Reply/Reply.js +1 -1
- package/lib/commonjs/components/Spinner/Spinner.js +1 -1
- package/lib/commonjs/components/Thread/Thread.js +1 -1
- package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +1 -1
- package/lib/commonjs/components/index.js +26 -13
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +1 -1
- package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
- package/lib/commonjs/contexts/channelContext/ChannelContext.js +3 -3
- package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
- package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +1 -1
- package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +1 -1
- package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +5 -5
- package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
- package/lib/commonjs/contexts/chatContext/ChatContext.js +3 -3
- package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +1 -1
- package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +1 -1
- package/lib/commonjs/contexts/messageContext/MessageContext.js +1 -1
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +1 -1
- package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +1 -1
- package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +1 -1
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js +1 -1
- package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -1
- package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +13 -26
- package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
- package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +3 -3
- package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
- package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +1 -1
- package/lib/commonjs/contexts/themeContext/ThemeContext.js +1 -1
- package/lib/commonjs/contexts/threadContext/ThreadContext.js +1 -1
- package/lib/commonjs/contexts/translationContext/TranslationContext.js +1 -1
- package/lib/commonjs/contexts/typingContext/TypingContext.js +1 -1
- package/lib/commonjs/{components/Attachment/hooks → hooks}/useLoadingImage.js +10 -0
- package/lib/commonjs/hooks/useLoadingImage.js.map +1 -0
- package/lib/commonjs/icons/ArrowRight.js +1 -1
- package/lib/commonjs/icons/AtMentions.js +1 -1
- package/lib/commonjs/icons/Attach.js +1 -1
- package/lib/commonjs/icons/Audio.js +1 -1
- package/lib/commonjs/icons/CSV.js +1 -1
- package/lib/commonjs/icons/Camera.js +1 -1
- package/lib/commonjs/icons/Check.js +1 -1
- package/lib/commonjs/icons/CheckAll.js +1 -1
- package/lib/commonjs/icons/CheckSend.js +1 -1
- package/lib/commonjs/icons/CircleClose.js +1 -1
- package/lib/commonjs/icons/CirclePlus.js +1 -1
- package/lib/commonjs/icons/CircleRight.js +1 -1
- package/lib/commonjs/icons/Close.js +1 -1
- package/lib/commonjs/icons/Copy.js +1 -1
- package/lib/commonjs/icons/CurveLineLeftUp.js +1 -1
- package/lib/commonjs/icons/DOC.js +1 -1
- package/lib/commonjs/icons/DOCX.js +1 -1
- package/lib/commonjs/icons/Delete.js +1 -1
- package/lib/commonjs/icons/Down.js +1 -1
- package/lib/commonjs/icons/DownloadArrow.js +1 -1
- package/lib/commonjs/icons/DownloadCloud.js +1 -1
- package/lib/commonjs/icons/Edit.js +1 -1
- package/lib/commonjs/icons/Error.js +1 -1
- package/lib/commonjs/icons/Eye.js +1 -1
- package/lib/commonjs/icons/Flag.js +1 -1
- package/lib/commonjs/icons/Folder.js +1 -1
- package/lib/commonjs/icons/GenericFile.js +1 -1
- package/lib/commonjs/icons/GiphyIcon.js +1 -1
- package/lib/commonjs/icons/Grid.js +1 -1
- package/lib/commonjs/icons/Group.js +1 -1
- package/lib/commonjs/icons/HTML.js +1 -1
- package/lib/commonjs/icons/Imgur.js +1 -1
- package/lib/commonjs/icons/LOLReaction.js +1 -1
- package/lib/commonjs/icons/Lightning.js +1 -1
- package/lib/commonjs/icons/Link.js +1 -1
- package/lib/commonjs/icons/Loading.js +1 -1
- package/lib/commonjs/icons/Logo.js +1 -1
- package/lib/commonjs/icons/LoveReaction.js +1 -1
- package/lib/commonjs/icons/MD.js +1 -1
- package/lib/commonjs/icons/MailOpen.js +1 -1
- package/lib/commonjs/icons/MenuPointHorizontal.js +1 -1
- package/lib/commonjs/icons/MenuPointVertical.js +1 -1
- package/lib/commonjs/icons/MessageFlag.js +1 -1
- package/lib/commonjs/icons/MessageIcon.js +1 -1
- package/lib/commonjs/icons/Mute.js +1 -1
- package/lib/commonjs/icons/Notification.js +1 -1
- package/lib/commonjs/icons/ODT.js +1 -1
- package/lib/commonjs/icons/PDF.js +1 -1
- package/lib/commonjs/icons/PPT.js +1 -1
- package/lib/commonjs/icons/PPTX.js +1 -1
- package/lib/commonjs/icons/Pause.js +1 -1
- package/lib/commonjs/icons/Picture.js +1 -1
- package/lib/commonjs/icons/Pin.js +1 -1
- package/lib/commonjs/icons/PinHeader.js +1 -1
- package/lib/commonjs/icons/Play.js +1 -1
- package/lib/commonjs/icons/RAR.js +1 -1
- package/lib/commonjs/icons/RTF.js +1 -1
- package/lib/commonjs/icons/Recorder.js +1 -1
- package/lib/commonjs/icons/Refresh.js +1 -1
- package/lib/commonjs/icons/SEVEN_Z.js +1 -1
- package/lib/commonjs/icons/Search.js +1 -1
- package/lib/commonjs/icons/SendRight.js +1 -1
- package/lib/commonjs/icons/SendUp.js +1 -1
- package/lib/commonjs/icons/Share.js +1 -1
- package/lib/commonjs/icons/ShareRightArrow.js +1 -1
- package/lib/commonjs/icons/Smile.js +1 -1
- package/lib/commonjs/icons/Sound.js +1 -1
- package/lib/commonjs/icons/TAR.js +1 -1
- package/lib/commonjs/icons/TXT.js +1 -1
- package/lib/commonjs/icons/ThreadReply.js +1 -1
- package/lib/commonjs/icons/ThumbsDownReaction.js +1 -1
- package/lib/commonjs/icons/ThumbsUpReaction.js +1 -1
- package/lib/commonjs/icons/Time.js +1 -1
- package/lib/commonjs/icons/Unknown.js +1 -1
- package/lib/commonjs/icons/Unpin.js +1 -1
- package/lib/commonjs/icons/User.js +1 -1
- package/lib/commonjs/icons/UserAdd.js +1 -1
- package/lib/commonjs/icons/UserAdmin.js +1 -1
- package/lib/commonjs/icons/UserDelete.js +1 -1
- package/lib/commonjs/icons/UserMinus.js +1 -1
- package/lib/commonjs/icons/Video.js +1 -1
- package/lib/commonjs/icons/Warning.js +1 -1
- package/lib/commonjs/icons/WutReaction.js +1 -1
- package/lib/commonjs/icons/XLS.js +1 -1
- package/lib/commonjs/icons/XLSX.js +1 -1
- package/lib/commonjs/icons/ZIP.js +1 -1
- package/lib/commonjs/icons/utils/base.js +1 -1
- package/lib/commonjs/index.js +9 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/mock-builders/DB/consts.js +15 -0
- package/lib/commonjs/mock-builders/DB/consts.js.map +1 -0
- package/lib/commonjs/mock-builders/DB/mock.js +125 -0
- package/lib/commonjs/mock-builders/DB/mock.js.map +1 -0
- package/lib/commonjs/mock-builders/event/memberAdded.js +17 -0
- package/lib/commonjs/mock-builders/event/memberAdded.js.map +1 -0
- package/lib/commonjs/mock-builders/event/memberRemoved.js +17 -0
- package/lib/commonjs/mock-builders/event/memberRemoved.js.map +1 -0
- package/lib/commonjs/mock-builders/event/memberUpdated.js +17 -0
- package/lib/commonjs/mock-builders/event/memberUpdated.js.map +1 -0
- package/lib/commonjs/mock-builders/event/reactionDeleted.js +18 -0
- package/lib/commonjs/mock-builders/event/reactionDeleted.js.map +1 -0
- package/lib/commonjs/mock-builders/event/reactionNew.js +18 -0
- package/lib/commonjs/mock-builders/event/reactionNew.js.map +1 -0
- package/lib/commonjs/mock-builders/event/reactionUpdated.js +18 -0
- package/lib/commonjs/mock-builders/event/reactionUpdated.js.map +1 -0
- package/lib/commonjs/mock-builders/generator/reaction.js +1 -1
- package/lib/commonjs/mock-builders/generator/reaction.js.map +1 -1
- package/lib/commonjs/store/QuickSqliteClient.js +156 -0
- package/lib/commonjs/store/QuickSqliteClient.js.map +1 -0
- package/lib/commonjs/store/apis/deleteChannel.js +26 -0
- package/lib/commonjs/store/apis/deleteChannel.js.map +1 -0
- package/lib/commonjs/store/apis/deleteMember.js +28 -0
- package/lib/commonjs/store/apis/deleteMember.js.map +1 -0
- package/lib/commonjs/store/apis/deleteMessagesForChannel.js +26 -0
- package/lib/commonjs/store/apis/deleteMessagesForChannel.js.map +1 -0
- package/lib/commonjs/store/apis/deleteReactions.js +28 -0
- package/lib/commonjs/store/apis/deleteReactions.js.map +1 -0
- package/lib/commonjs/store/apis/getAllChannelIds.js +16 -0
- package/lib/commonjs/store/apis/getAllChannelIds.js.map +1 -0
- package/lib/commonjs/store/apis/getChannelMessages.js +45 -0
- package/lib/commonjs/store/apis/getChannelMessages.js.map +1 -0
- package/lib/commonjs/store/apis/getChannels.js +60 -0
- package/lib/commonjs/store/apis/getChannels.js.map +1 -0
- package/lib/commonjs/store/apis/getLastSyncedAt.js +23 -0
- package/lib/commonjs/store/apis/getLastSyncedAt.js.map +1 -0
- package/lib/commonjs/store/apis/getMembers.js +25 -0
- package/lib/commonjs/store/apis/getMembers.js.map +1 -0
- package/lib/commonjs/store/apis/getReads.js +25 -0
- package/lib/commonjs/store/apis/getReads.js.map +1 -0
- package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js +31 -0
- package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -0
- package/lib/commonjs/store/apis/queries/selectChannels.js +30 -0
- package/lib/commonjs/store/apis/queries/selectChannels.js.map +1 -0
- package/lib/commonjs/store/apis/queries/selectMembersForChannels.js +27 -0
- package/lib/commonjs/store/apis/queries/selectMembersForChannels.js.map +1 -0
- package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js +27 -0
- package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js.map +1 -0
- package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js +27 -0
- package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js.map +1 -0
- package/lib/commonjs/store/apis/queries/selectReadsForChannels.js +27 -0
- package/lib/commonjs/store/apis/queries/selectReadsForChannels.js.map +1 -0
- package/lib/commonjs/store/apis/updateMessage.js +69 -0
- package/lib/commonjs/store/apis/updateMessage.js.map +1 -0
- package/lib/commonjs/store/apis/updateReaction.js +53 -0
- package/lib/commonjs/store/apis/updateReaction.js.map +1 -0
- package/lib/commonjs/store/apis/upsertChannelData.js +26 -0
- package/lib/commonjs/store/apis/upsertChannelData.js.map +1 -0
- package/lib/commonjs/store/apis/upsertChannels.js +83 -0
- package/lib/commonjs/store/apis/upsertChannels.js.map +1 -0
- package/lib/commonjs/store/apis/upsertCidsForQuery.js +34 -0
- package/lib/commonjs/store/apis/upsertCidsForQuery.js.map +1 -0
- package/lib/commonjs/store/apis/upsertLastSyncedAt.js +22 -0
- package/lib/commonjs/store/apis/upsertLastSyncedAt.js.map +1 -0
- package/lib/commonjs/store/apis/upsertMembers.js +39 -0
- package/lib/commonjs/store/apis/upsertMembers.js.map +1 -0
- package/lib/commonjs/store/apis/upsertMessages.js +52 -0
- package/lib/commonjs/store/apis/upsertMessages.js.map +1 -0
- package/lib/commonjs/store/apis/upsertReads.js +39 -0
- package/lib/commonjs/store/apis/upsertReads.js.map +1 -0
- package/lib/commonjs/store/apis/utils/convertFilterSortToQuery.js +13 -0
- package/lib/commonjs/store/apis/utils/convertFilterSortToQuery.js.map +1 -0
- package/lib/commonjs/store/constants.js +11 -0
- package/lib/commonjs/store/constants.js.map +1 -0
- package/lib/commonjs/store/mappers/mapChannelDataToStorable.js +67 -0
- package/lib/commonjs/store/mappers/mapChannelDataToStorable.js.map +1 -0
- package/lib/commonjs/store/mappers/mapDateTimeToStorable.js +12 -0
- package/lib/commonjs/store/mappers/mapDateTimeToStorable.js.map +1 -0
- package/lib/commonjs/store/mappers/mapMemberToStorable.js +39 -0
- package/lib/commonjs/store/mappers/mapMemberToStorable.js.map +1 -0
- package/lib/commonjs/store/mappers/mapMessageToStorable.js +42 -0
- package/lib/commonjs/store/mappers/mapMessageToStorable.js.map +1 -0
- package/lib/commonjs/store/mappers/mapReactionToStorable.js +34 -0
- package/lib/commonjs/store/mappers/mapReactionToStorable.js.map +1 -0
- package/lib/commonjs/store/mappers/mapReadToStorable.js +23 -0
- package/lib/commonjs/store/mappers/mapReadToStorable.js.map +1 -0
- package/lib/commonjs/store/mappers/mapStorableToChannel.js +65 -0
- package/lib/commonjs/store/mappers/mapStorableToChannel.js.map +1 -0
- package/lib/commonjs/store/mappers/mapStorableToMember.js +38 -0
- package/lib/commonjs/store/mappers/mapStorableToMember.js.map +1 -0
- package/lib/commonjs/store/mappers/mapStorableToMessage.js +50 -0
- package/lib/commonjs/store/mappers/mapStorableToMessage.js.map +1 -0
- package/lib/commonjs/store/mappers/mapStorableToReaction.js +31 -0
- package/lib/commonjs/store/mappers/mapStorableToReaction.js.map +1 -0
- package/lib/commonjs/store/mappers/mapStorableToRead.js +20 -0
- package/lib/commonjs/store/mappers/mapStorableToRead.js.map +1 -0
- package/lib/commonjs/store/mappers/mapStorableToUser.js +31 -0
- package/lib/commonjs/store/mappers/mapStorableToUser.js.map +1 -0
- package/lib/commonjs/store/mappers/mapUserToStorable.js +34 -0
- package/lib/commonjs/store/mappers/mapUserToStorable.js.map +1 -0
- package/lib/commonjs/store/schema.js +161 -0
- package/lib/commonjs/store/schema.js.map +1 -0
- package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js +38 -0
- package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js.map +1 -0
- package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js +35 -0
- package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js.map +1 -0
- package/lib/commonjs/store/sqlite-utils/createDeleteQuery.js +14 -0
- package/lib/commonjs/store/sqlite-utils/createDeleteQuery.js.map +1 -0
- package/lib/commonjs/store/sqlite-utils/createSelectQuery.js +26 -0
- package/lib/commonjs/store/sqlite-utils/createSelectQuery.js.map +1 -0
- package/lib/commonjs/store/sqlite-utils/createUpdateQuery.js +29 -0
- package/lib/commonjs/store/sqlite-utils/createUpdateQuery.js.map +1 -0
- package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js +30 -0
- package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js.map +1 -0
- package/lib/commonjs/store/sqlite-utils/printRow.js +23 -0
- package/lib/commonjs/store/sqlite-utils/printRow.js.map +1 -0
- package/lib/commonjs/store/types.js +4 -0
- package/lib/commonjs/store/types.js.map +1 -0
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Attachment/Attachment.js +1 -1
- package/lib/module/components/Attachment/AttachmentActions.js +1 -1
- package/lib/module/components/Attachment/AudioAttachment.js +1 -1
- package/lib/module/components/Attachment/Card.js +1 -1
- package/lib/module/components/Attachment/FileAttachment.js +1 -1
- package/lib/module/components/Attachment/FileAttachmentGroup.js +1 -1
- package/lib/module/components/Attachment/FileIcon.js +1 -1
- package/lib/module/components/Attachment/Gallery.js +3 -3
- package/lib/module/components/Attachment/Gallery.js.map +1 -1
- package/lib/module/components/Attachment/GalleryImage.js +1 -1
- package/lib/module/components/Attachment/Giphy.js +30 -30
- package/lib/module/components/Attachment/Giphy.js.map +1 -1
- package/lib/module/components/Attachment/ImageLoadingFailedIndicator.js +1 -1
- package/lib/module/components/Attachment/ImageLoadingIndicator.js +1 -1
- package/lib/module/components/Attachment/VideoThumbnail.js +1 -1
- package/lib/module/components/AttachmentPicker/AttachmentPicker.js +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerError.js +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js +1 -1
- package/lib/module/components/AttachmentPicker/components/CameraSelectorIcon.js +1 -1
- package/lib/module/components/AttachmentPicker/components/FileSelectorIcon.js +1 -1
- package/lib/module/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +1 -1
- package/lib/module/components/AttachmentPicker/components/ImageSelectorIcon.js +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -1
- package/lib/module/components/Avatar/Avatar.js +31 -18
- package/lib/module/components/Avatar/Avatar.js.map +1 -1
- package/lib/module/components/Avatar/GroupAvatar.js +28 -21
- package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
- package/lib/module/components/Channel/Channel.js +227 -257
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateChannelContext.js +2 -0
- package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js +2 -0
- package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelList.js +41 -10
- package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -1
- package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +1 -1
- package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +1 -1
- package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js +1 -1
- package/lib/module/components/ChannelList/ChannelListMessenger.js +20 -8
- package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
- package/lib/module/components/ChannelList/Skeleton.js +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
- package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js +2 -2
- package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js +2 -2
- package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js +2 -2
- package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js +2 -2
- package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js +2 -2
- package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js +2 -2
- package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js +2 -2
- package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js +2 -2
- package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js +4 -4
- package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +51 -21
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelAvatar.js +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreview.js +3 -3
- package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +8 -6
- package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +1 -1
- package/lib/module/components/Chat/Chat.js +45 -9
- package/lib/module/components/Chat/Chat.js.map +1 -1
- package/lib/module/components/Chat/hooks/handleEventToSyncDB.js +144 -0
- package/lib/module/components/Chat/hooks/handleEventToSyncDB.js.map +1 -0
- package/lib/module/components/Chat/hooks/useConnectionRecovered.js +171 -0
- package/lib/module/components/Chat/hooks/useConnectionRecovered.js.map +1 -0
- package/lib/module/components/Chat/hooks/useCreateChatContext.js +7 -3
- package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
- package/lib/module/components/Chat/hooks/useMutedUsers.js +3 -3
- package/lib/module/components/Chat/hooks/useMutedUsers.js.map +1 -1
- package/lib/module/components/Chat/hooks/useSyncDatabase.js +29 -0
- package/lib/module/components/Chat/hooks/useSyncDatabase.js.map +1 -0
- package/lib/module/components/ImageGallery/ImageGallery.js +1 -1
- package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +1 -1
- package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryOverlay.js +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js +1 -1
- package/lib/module/components/ImageGallery/components/ImageGrid.js +1 -1
- package/lib/module/components/ImageGallery/components/ImageGridHandle.js +1 -1
- package/lib/module/components/Indicators/EmptyStateIndicator.js +1 -1
- package/lib/module/components/Indicators/LoadingDot.js +1 -1
- package/lib/module/components/Indicators/LoadingDots.js +1 -1
- package/lib/module/components/Indicators/LoadingErrorIndicator.js +1 -1
- package/lib/module/components/Indicators/LoadingIndicator.js +1 -1
- package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js +1 -1
- package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +1 -1
- package/lib/module/components/Message/Message.js +1 -1
- package/lib/module/components/Message/MessageSimple/MessageAvatar.js +1 -1
- package/lib/module/components/Message/MessageSimple/MessageContent.js +1 -1
- package/lib/module/components/Message/MessageSimple/MessageDeleted.js +1 -1
- package/lib/module/components/Message/MessageSimple/MessageFooter.js +1 -1
- package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +1 -1
- package/lib/module/components/Message/MessageSimple/MessageReplies.js +1 -1
- package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +1 -1
- package/lib/module/components/Message/MessageSimple/MessageSimple.js +1 -1
- package/lib/module/components/Message/MessageSimple/MessageStatus.js +1 -1
- package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +1 -1
- package/lib/module/components/Message/MessageSimple/ReactionList.js +1 -1
- package/lib/module/components/Message/MessageSimple/utils/renderText.js +1 -1
- package/lib/module/components/Message/MessageSimple/utils/renderText.test.js +1 -1
- package/lib/module/components/Message/hooks/useMessageActions.js +1 -1
- package/lib/module/components/MessageInput/AttachButton.js +1 -1
- package/lib/module/components/MessageInput/CommandsButton.js +1 -1
- package/lib/module/components/MessageInput/CooldownTimer.js +1 -1
- package/lib/module/components/MessageInput/FileUploadPreview.js +1 -1
- package/lib/module/components/MessageInput/ImageUploadPreview.js +1 -1
- package/lib/module/components/MessageInput/InputButtons.js +1 -1
- package/lib/module/components/MessageInput/MessageInput.js +1 -1
- package/lib/module/components/MessageInput/MoreOptionsButton.js +1 -1
- package/lib/module/components/MessageInput/SendButton.js +1 -1
- package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +1 -1
- package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +1 -1
- package/lib/module/components/MessageInput/UploadProgressIndicator.js +1 -1
- package/lib/module/components/MessageInput/components/InputEditingStateHeader.js +1 -1
- package/lib/module/components/MessageInput/components/InputGiphySearch.js +1 -1
- package/lib/module/components/MessageInput/components/InputReplyStateHeader.js +1 -1
- package/lib/module/components/MessageList/DateHeader.js +1 -1
- package/lib/module/components/MessageList/InlineDateSeparator.js +1 -1
- package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
- package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
- package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
- package/lib/module/components/MessageList/InlineUnreadIndicator.js +1 -1
- package/lib/module/components/MessageList/MessageList.js +136 -108
- package/lib/module/components/MessageList/MessageList.js.map +1 -1
- package/lib/module/components/MessageList/MessageSystem.js +1 -1
- package/lib/module/components/MessageList/NetworkDownIndicator.js +1 -1
- package/lib/module/components/MessageList/ScrollToBottomButton.js +1 -1
- package/lib/module/components/MessageList/TypingIndicator.js +1 -1
- package/lib/module/components/MessageList/TypingIndicatorContainer.js +1 -1
- package/lib/module/components/MessageOverlay/MessageActionList.js +1 -1
- package/lib/module/components/MessageOverlay/MessageActionListItem.js +1 -1
- package/lib/module/components/MessageOverlay/MessageOverlay.js +1 -1
- package/lib/module/components/MessageOverlay/OverlayBackdrop.js +1 -1
- package/lib/module/components/MessageOverlay/OverlayReactionList.js +1 -1
- package/lib/module/components/MessageOverlay/OverlayReactions.js +1 -1
- package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js +1 -1
- package/lib/module/components/ProgressControl/ProgressControl.js +1 -1
- package/lib/module/components/RTLComponents/WritingDirectionAwareText.js +1 -1
- package/lib/module/components/Reply/Reply.js +1 -1
- package/lib/module/components/Spinner/Spinner.js +1 -1
- package/lib/module/components/Thread/Thread.js +1 -1
- package/lib/module/components/Thread/components/ThreadFooterComponent.js +1 -1
- package/lib/module/components/index.js +26 -13
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +1 -1
- package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
- package/lib/module/contexts/channelContext/ChannelContext.js +3 -3
- package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
- package/lib/module/contexts/channelsContext/ChannelsContext.js +1 -1
- package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +1 -1
- package/lib/module/contexts/channelsStateContext/useChannelState.js +5 -5
- package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
- package/lib/module/contexts/chatContext/ChatContext.js +3 -3
- package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +1 -1
- package/lib/module/contexts/keyboardContext/KeyboardContext.js +1 -1
- package/lib/module/contexts/messageContext/MessageContext.js +1 -1
- package/lib/module/contexts/messageInputContext/MessageInputContext.js +1 -1
- package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +1 -1
- package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +1 -1
- package/lib/module/contexts/messagesContext/MessagesContext.js +1 -1
- package/lib/module/contexts/overlayContext/OverlayContext.js +1 -1
- package/lib/module/contexts/overlayContext/OverlayProvider.js +13 -26
- package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
- package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +3 -3
- package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
- package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +1 -1
- package/lib/module/contexts/themeContext/ThemeContext.js +1 -1
- package/lib/module/contexts/threadContext/ThreadContext.js +1 -1
- package/lib/module/contexts/translationContext/TranslationContext.js +1 -1
- package/lib/module/contexts/typingContext/TypingContext.js +1 -1
- package/lib/module/{components/Attachment/hooks → hooks}/useLoadingImage.js +10 -0
- package/lib/module/hooks/useLoadingImage.js.map +1 -0
- package/lib/module/icons/ArrowRight.js +1 -1
- package/lib/module/icons/AtMentions.js +1 -1
- package/lib/module/icons/Attach.js +1 -1
- package/lib/module/icons/Audio.js +1 -1
- package/lib/module/icons/CSV.js +1 -1
- package/lib/module/icons/Camera.js +1 -1
- package/lib/module/icons/Check.js +1 -1
- package/lib/module/icons/CheckAll.js +1 -1
- package/lib/module/icons/CheckSend.js +1 -1
- package/lib/module/icons/CircleClose.js +1 -1
- package/lib/module/icons/CirclePlus.js +1 -1
- package/lib/module/icons/CircleRight.js +1 -1
- package/lib/module/icons/Close.js +1 -1
- package/lib/module/icons/Copy.js +1 -1
- package/lib/module/icons/CurveLineLeftUp.js +1 -1
- package/lib/module/icons/DOC.js +1 -1
- package/lib/module/icons/DOCX.js +1 -1
- package/lib/module/icons/Delete.js +1 -1
- package/lib/module/icons/Down.js +1 -1
- package/lib/module/icons/DownloadArrow.js +1 -1
- package/lib/module/icons/DownloadCloud.js +1 -1
- package/lib/module/icons/Edit.js +1 -1
- package/lib/module/icons/Error.js +1 -1
- package/lib/module/icons/Eye.js +1 -1
- package/lib/module/icons/Flag.js +1 -1
- package/lib/module/icons/Folder.js +1 -1
- package/lib/module/icons/GenericFile.js +1 -1
- package/lib/module/icons/GiphyIcon.js +1 -1
- package/lib/module/icons/Grid.js +1 -1
- package/lib/module/icons/Group.js +1 -1
- package/lib/module/icons/HTML.js +1 -1
- package/lib/module/icons/Imgur.js +1 -1
- package/lib/module/icons/LOLReaction.js +1 -1
- package/lib/module/icons/Lightning.js +1 -1
- package/lib/module/icons/Link.js +1 -1
- package/lib/module/icons/Loading.js +1 -1
- package/lib/module/icons/Logo.js +1 -1
- package/lib/module/icons/LoveReaction.js +1 -1
- package/lib/module/icons/MD.js +1 -1
- package/lib/module/icons/MailOpen.js +1 -1
- package/lib/module/icons/MenuPointHorizontal.js +1 -1
- package/lib/module/icons/MenuPointVertical.js +1 -1
- package/lib/module/icons/MessageFlag.js +1 -1
- package/lib/module/icons/MessageIcon.js +1 -1
- package/lib/module/icons/Mute.js +1 -1
- package/lib/module/icons/Notification.js +1 -1
- package/lib/module/icons/ODT.js +1 -1
- package/lib/module/icons/PDF.js +1 -1
- package/lib/module/icons/PPT.js +1 -1
- package/lib/module/icons/PPTX.js +1 -1
- package/lib/module/icons/Pause.js +1 -1
- package/lib/module/icons/Picture.js +1 -1
- package/lib/module/icons/Pin.js +1 -1
- package/lib/module/icons/PinHeader.js +1 -1
- package/lib/module/icons/Play.js +1 -1
- package/lib/module/icons/RAR.js +1 -1
- package/lib/module/icons/RTF.js +1 -1
- package/lib/module/icons/Recorder.js +1 -1
- package/lib/module/icons/Refresh.js +1 -1
- package/lib/module/icons/SEVEN_Z.js +1 -1
- package/lib/module/icons/Search.js +1 -1
- package/lib/module/icons/SendRight.js +1 -1
- package/lib/module/icons/SendUp.js +1 -1
- package/lib/module/icons/Share.js +1 -1
- package/lib/module/icons/ShareRightArrow.js +1 -1
- package/lib/module/icons/Smile.js +1 -1
- package/lib/module/icons/Sound.js +1 -1
- package/lib/module/icons/TAR.js +1 -1
- package/lib/module/icons/TXT.js +1 -1
- package/lib/module/icons/ThreadReply.js +1 -1
- package/lib/module/icons/ThumbsDownReaction.js +1 -1
- package/lib/module/icons/ThumbsUpReaction.js +1 -1
- package/lib/module/icons/Time.js +1 -1
- package/lib/module/icons/Unknown.js +1 -1
- package/lib/module/icons/Unpin.js +1 -1
- package/lib/module/icons/User.js +1 -1
- package/lib/module/icons/UserAdd.js +1 -1
- package/lib/module/icons/UserAdmin.js +1 -1
- package/lib/module/icons/UserDelete.js +1 -1
- package/lib/module/icons/UserMinus.js +1 -1
- package/lib/module/icons/Video.js +1 -1
- package/lib/module/icons/Warning.js +1 -1
- package/lib/module/icons/WutReaction.js +1 -1
- package/lib/module/icons/XLS.js +1 -1
- package/lib/module/icons/XLSX.js +1 -1
- package/lib/module/icons/ZIP.js +1 -1
- package/lib/module/icons/utils/base.js +1 -1
- package/lib/module/index.js +9 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/mock-builders/DB/consts.js +15 -0
- package/lib/module/mock-builders/DB/consts.js.map +1 -0
- package/lib/module/mock-builders/DB/mock.js +125 -0
- package/lib/module/mock-builders/DB/mock.js.map +1 -0
- package/lib/module/mock-builders/event/memberAdded.js +17 -0
- package/lib/module/mock-builders/event/memberAdded.js.map +1 -0
- package/lib/module/mock-builders/event/memberRemoved.js +17 -0
- package/lib/module/mock-builders/event/memberRemoved.js.map +1 -0
- package/lib/module/mock-builders/event/memberUpdated.js +17 -0
- package/lib/module/mock-builders/event/memberUpdated.js.map +1 -0
- package/lib/module/mock-builders/event/reactionDeleted.js +18 -0
- package/lib/module/mock-builders/event/reactionDeleted.js.map +1 -0
- package/lib/module/mock-builders/event/reactionNew.js +18 -0
- package/lib/module/mock-builders/event/reactionNew.js.map +1 -0
- package/lib/module/mock-builders/event/reactionUpdated.js +18 -0
- package/lib/module/mock-builders/event/reactionUpdated.js.map +1 -0
- package/lib/module/mock-builders/generator/reaction.js +1 -1
- package/lib/module/mock-builders/generator/reaction.js.map +1 -1
- package/lib/module/store/QuickSqliteClient.js +156 -0
- package/lib/module/store/QuickSqliteClient.js.map +1 -0
- package/lib/module/store/apis/deleteChannel.js +26 -0
- package/lib/module/store/apis/deleteChannel.js.map +1 -0
- package/lib/module/store/apis/deleteMember.js +28 -0
- package/lib/module/store/apis/deleteMember.js.map +1 -0
- package/lib/module/store/apis/deleteMessagesForChannel.js +26 -0
- package/lib/module/store/apis/deleteMessagesForChannel.js.map +1 -0
- package/lib/module/store/apis/deleteReactions.js +28 -0
- package/lib/module/store/apis/deleteReactions.js.map +1 -0
- package/lib/module/store/apis/getAllChannelIds.js +16 -0
- package/lib/module/store/apis/getAllChannelIds.js.map +1 -0
- package/lib/module/store/apis/getChannelMessages.js +45 -0
- package/lib/module/store/apis/getChannelMessages.js.map +1 -0
- package/lib/module/store/apis/getChannels.js +60 -0
- package/lib/module/store/apis/getChannels.js.map +1 -0
- package/lib/module/store/apis/getLastSyncedAt.js +23 -0
- package/lib/module/store/apis/getLastSyncedAt.js.map +1 -0
- package/lib/module/store/apis/getMembers.js +25 -0
- package/lib/module/store/apis/getMembers.js.map +1 -0
- package/lib/module/store/apis/getReads.js +25 -0
- package/lib/module/store/apis/getReads.js.map +1 -0
- package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js +31 -0
- package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -0
- package/lib/module/store/apis/queries/selectChannels.js +30 -0
- package/lib/module/store/apis/queries/selectChannels.js.map +1 -0
- package/lib/module/store/apis/queries/selectMembersForChannels.js +27 -0
- package/lib/module/store/apis/queries/selectMembersForChannels.js.map +1 -0
- package/lib/module/store/apis/queries/selectMessagesForChannels.js +27 -0
- package/lib/module/store/apis/queries/selectMessagesForChannels.js.map +1 -0
- package/lib/module/store/apis/queries/selectReactionsForMessages.js +27 -0
- package/lib/module/store/apis/queries/selectReactionsForMessages.js.map +1 -0
- package/lib/module/store/apis/queries/selectReadsForChannels.js +27 -0
- package/lib/module/store/apis/queries/selectReadsForChannels.js.map +1 -0
- package/lib/module/store/apis/updateMessage.js +69 -0
- package/lib/module/store/apis/updateMessage.js.map +1 -0
- package/lib/module/store/apis/updateReaction.js +53 -0
- package/lib/module/store/apis/updateReaction.js.map +1 -0
- package/lib/module/store/apis/upsertChannelData.js +26 -0
- package/lib/module/store/apis/upsertChannelData.js.map +1 -0
- package/lib/module/store/apis/upsertChannels.js +83 -0
- package/lib/module/store/apis/upsertChannels.js.map +1 -0
- package/lib/module/store/apis/upsertCidsForQuery.js +34 -0
- package/lib/module/store/apis/upsertCidsForQuery.js.map +1 -0
- package/lib/module/store/apis/upsertLastSyncedAt.js +22 -0
- package/lib/module/store/apis/upsertLastSyncedAt.js.map +1 -0
- package/lib/module/store/apis/upsertMembers.js +39 -0
- package/lib/module/store/apis/upsertMembers.js.map +1 -0
- package/lib/module/store/apis/upsertMessages.js +52 -0
- package/lib/module/store/apis/upsertMessages.js.map +1 -0
- package/lib/module/store/apis/upsertReads.js +39 -0
- package/lib/module/store/apis/upsertReads.js.map +1 -0
- package/lib/module/store/apis/utils/convertFilterSortToQuery.js +13 -0
- package/lib/module/store/apis/utils/convertFilterSortToQuery.js.map +1 -0
- package/lib/module/store/constants.js +11 -0
- package/lib/module/store/constants.js.map +1 -0
- package/lib/module/store/mappers/mapChannelDataToStorable.js +67 -0
- package/lib/module/store/mappers/mapChannelDataToStorable.js.map +1 -0
- package/lib/module/store/mappers/mapDateTimeToStorable.js +12 -0
- package/lib/module/store/mappers/mapDateTimeToStorable.js.map +1 -0
- package/lib/module/store/mappers/mapMemberToStorable.js +39 -0
- package/lib/module/store/mappers/mapMemberToStorable.js.map +1 -0
- package/lib/module/store/mappers/mapMessageToStorable.js +42 -0
- package/lib/module/store/mappers/mapMessageToStorable.js.map +1 -0
- package/lib/module/store/mappers/mapReactionToStorable.js +34 -0
- package/lib/module/store/mappers/mapReactionToStorable.js.map +1 -0
- package/lib/module/store/mappers/mapReadToStorable.js +23 -0
- package/lib/module/store/mappers/mapReadToStorable.js.map +1 -0
- package/lib/module/store/mappers/mapStorableToChannel.js +65 -0
- package/lib/module/store/mappers/mapStorableToChannel.js.map +1 -0
- package/lib/module/store/mappers/mapStorableToMember.js +38 -0
- package/lib/module/store/mappers/mapStorableToMember.js.map +1 -0
- package/lib/module/store/mappers/mapStorableToMessage.js +50 -0
- package/lib/module/store/mappers/mapStorableToMessage.js.map +1 -0
- package/lib/module/store/mappers/mapStorableToReaction.js +31 -0
- package/lib/module/store/mappers/mapStorableToReaction.js.map +1 -0
- package/lib/module/store/mappers/mapStorableToRead.js +20 -0
- package/lib/module/store/mappers/mapStorableToRead.js.map +1 -0
- package/lib/module/store/mappers/mapStorableToUser.js +31 -0
- package/lib/module/store/mappers/mapStorableToUser.js.map +1 -0
- package/lib/module/store/mappers/mapUserToStorable.js +34 -0
- package/lib/module/store/mappers/mapUserToStorable.js.map +1 -0
- package/lib/module/store/schema.js +161 -0
- package/lib/module/store/schema.js.map +1 -0
- package/lib/module/store/sqlite-utils/appendWhereCluase.js +38 -0
- package/lib/module/store/sqlite-utils/appendWhereCluase.js.map +1 -0
- package/lib/module/store/sqlite-utils/createCreateTableQuery.js +35 -0
- package/lib/module/store/sqlite-utils/createCreateTableQuery.js.map +1 -0
- package/lib/module/store/sqlite-utils/createDeleteQuery.js +14 -0
- package/lib/module/store/sqlite-utils/createDeleteQuery.js.map +1 -0
- package/lib/module/store/sqlite-utils/createSelectQuery.js +26 -0
- package/lib/module/store/sqlite-utils/createSelectQuery.js.map +1 -0
- package/lib/module/store/sqlite-utils/createUpdateQuery.js +29 -0
- package/lib/module/store/sqlite-utils/createUpdateQuery.js.map +1 -0
- package/lib/module/store/sqlite-utils/createUpsertQuery.js +30 -0
- package/lib/module/store/sqlite-utils/createUpsertQuery.js.map +1 -0
- package/lib/module/store/sqlite-utils/printRow.js +23 -0
- package/lib/module/store/sqlite-utils/printRow.js.map +1 -0
- package/lib/module/store/types.js +4 -0
- package/lib/module/store/types.js.map +1 -0
- package/lib/module/version.json +1 -1
- package/lib/typescript/__tests__/utils/BetterSqlite.d.ts +8 -0
- package/lib/typescript/components/Channel/Channel.d.ts +3 -5
- package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
- package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts +1 -1
- package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +4 -2
- package/lib/typescript/components/Chat/Chat.d.ts +4 -0
- package/lib/typescript/components/Chat/hooks/handleEventToSyncDB.d.ts +2 -0
- package/lib/typescript/components/Chat/hooks/useConnectionRecovered.d.ts +10 -0
- package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +1 -1
- package/lib/typescript/components/Chat/hooks/useSyncDatabase.d.ts +8 -0
- package/lib/typescript/components/MessageList/MessageList.d.ts +1 -1
- package/lib/typescript/components/index.d.ts +2 -1
- package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +17 -0
- package/lib/typescript/contexts/chatContext/ChatContext.d.ts +3 -1
- package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +4 -0
- package/lib/typescript/{components/Attachment/hooks → hooks}/useLoadingImage.d.ts +0 -0
- package/lib/typescript/index.d.ts +1 -0
- package/lib/typescript/store/QuickSqliteClient.d.ts +18 -0
- package/lib/typescript/store/apis/deleteChannel.d.ts +4 -0
- package/lib/typescript/store/apis/deleteMember.d.ts +6 -0
- package/lib/typescript/store/apis/deleteMessagesForChannel.d.ts +4 -0
- package/lib/typescript/store/apis/deleteReactions.d.ts +4 -0
- package/lib/typescript/store/apis/getAllChannelIds.d.ts +1 -0
- package/lib/typescript/store/apis/getChannelMessages.d.ts +6 -0
- package/lib/typescript/store/apis/getChannels.d.ts +7 -0
- package/lib/typescript/store/apis/getLastSyncedAt.d.ts +3 -0
- package/lib/typescript/store/apis/getMembers.d.ts +5 -0
- package/lib/typescript/store/apis/getReads.d.ts +5 -0
- package/lib/typescript/store/apis/queries/selectChannelIdsForFilterSort.d.ts +6 -0
- package/lib/typescript/store/apis/queries/selectChannels.d.ts +4 -0
- package/lib/typescript/store/apis/queries/selectMembersForChannels.d.ts +2 -0
- package/lib/typescript/store/apis/queries/selectMessagesForChannels.d.ts +2 -0
- package/lib/typescript/store/apis/queries/selectReactionsForMessages.d.ts +2 -0
- package/lib/typescript/store/apis/queries/selectReadsForChannels.d.ts +2 -0
- package/lib/typescript/store/apis/updateMessage.d.ts +6 -0
- package/lib/typescript/store/apis/updateReaction.d.ts +7 -0
- package/lib/typescript/store/apis/upsertChannelData.d.ts +5 -0
- package/lib/typescript/store/apis/upsertChannels.d.ts +9 -0
- package/lib/typescript/store/apis/upsertCidsForQuery.d.ts +7 -0
- package/lib/typescript/store/apis/upsertLastSyncedAt.d.ts +4 -0
- package/lib/typescript/store/apis/upsertMembers.d.ts +7 -0
- package/lib/typescript/store/apis/upsertMessages.d.ts +6 -0
- package/lib/typescript/store/apis/upsertReads.d.ts +7 -0
- package/lib/typescript/store/apis/utils/convertFilterSortToQuery.d.ts +6 -0
- package/lib/typescript/store/constants.d.ts +3 -0
- package/lib/typescript/store/mappers/mapChannelDataToStorable.d.ts +4 -0
- package/lib/typescript/store/mappers/mapDateTimeToStorable.d.ts +1 -0
- package/lib/typescript/store/mappers/mapMemberToStorable.d.ts +7 -0
- package/lib/typescript/store/mappers/mapMessageToStorable.d.ts +3 -0
- package/lib/typescript/store/mappers/mapReactionToStorable.d.ts +3 -0
- package/lib/typescript/store/mappers/mapReadToStorable.d.ts +7 -0
- package/lib/typescript/store/mappers/mapStorableToChannel.d.ts +4 -0
- package/lib/typescript/store/mappers/mapStorableToMember.d.ts +4 -0
- package/lib/typescript/store/mappers/mapStorableToMessage.d.ts +8 -0
- package/lib/typescript/store/mappers/mapStorableToReaction.d.ts +4 -0
- package/lib/typescript/store/mappers/mapStorableToRead.d.ts +4 -0
- package/lib/typescript/store/mappers/mapStorableToUser.d.ts +4 -0
- package/lib/typescript/store/mappers/mapUserToStorable.d.ts +3 -0
- package/lib/typescript/store/schema.d.ts +110 -0
- package/lib/typescript/store/sqlite-utils/__tests__/createSelectQuery.test.d.ts +1 -0
- package/lib/typescript/store/sqlite-utils/appendWhereCluase.d.ts +3 -0
- package/lib/typescript/store/sqlite-utils/createCreateTableQuery.d.ts +2 -0
- package/lib/typescript/store/sqlite-utils/createDeleteQuery.d.ts +12 -0
- package/lib/typescript/store/sqlite-utils/createSelectQuery.d.ts +13 -0
- package/lib/typescript/store/sqlite-utils/createUpdateQuery.d.ts +13 -0
- package/lib/typescript/store/sqlite-utils/createUpsertQuery.d.ts +11 -0
- package/lib/typescript/store/sqlite-utils/printRow.d.ts +2 -0
- package/lib/typescript/store/types.d.ts +9 -0
- package/package.json +4 -2
- package/src/__tests__/offline-feature.test.js +657 -0
- package/src/__tests__/utils/BetterSqlite.js +44 -0
- package/src/components/Attachment/Gallery.tsx +1 -1
- package/src/components/Attachment/Giphy.tsx +1 -2
- package/src/components/Avatar/Avatar.tsx +45 -31
- package/src/components/Avatar/GroupAvatar.tsx +46 -35
- package/src/components/Channel/Channel.tsx +101 -136
- package/src/components/Channel/hooks/useCreateChannelContext.ts +2 -0
- package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +2 -0
- package/src/components/ChannelList/ChannelList.tsx +28 -8
- package/src/components/ChannelList/ChannelListMessenger.tsx +4 -0
- package/src/components/ChannelList/hooks/listeners/__tests__/useChannelUpdated.test.tsx +2 -0
- package/src/components/ChannelList/hooks/listeners/useAddedToChannelNotification.ts +2 -2
- package/src/components/ChannelList/hooks/listeners/useChannelDeleted.ts +2 -2
- package/src/components/ChannelList/hooks/listeners/useChannelHidden.ts +2 -2
- package/src/components/ChannelList/hooks/listeners/useChannelTruncated.ts +2 -2
- package/src/components/ChannelList/hooks/listeners/useChannelUpdated.ts +2 -2
- package/src/components/ChannelList/hooks/listeners/useChannelVisible.ts +2 -2
- package/src/components/ChannelList/hooks/listeners/useNewMessage.ts +3 -2
- package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +2 -2
- package/src/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.ts +2 -2
- package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +5 -4
- package/src/components/ChannelList/hooks/usePaginatedChannels.ts +36 -9
- package/src/components/ChannelPreview/ChannelPreview.tsx +2 -2
- package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +10 -9
- package/src/components/Chat/Chat.tsx +41 -4
- package/src/components/Chat/hooks/handleEventToSyncDB.ts +142 -0
- package/src/components/Chat/hooks/useConnectionRecovered.ts +92 -0
- package/src/components/Chat/hooks/useCreateChatContext.ts +9 -3
- package/src/components/Chat/hooks/useMutedUsers.ts +5 -3
- package/src/components/Chat/hooks/useSyncDatabase.ts +30 -0
- package/src/components/MessageList/MessageList.tsx +157 -101
- package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +2 -0
- package/src/components/index.ts +2 -1
- package/src/contexts/channelContext/ChannelContext.tsx +15 -0
- package/src/contexts/channelsStateContext/useChannelState.ts +2 -2
- package/src/contexts/chatContext/ChatContext.tsx +3 -1
- package/src/contexts/overlayContext/OverlayProvider.tsx +1 -5
- package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +4 -0
- package/src/{components/Attachment/hooks → hooks}/useLoadingImage.tsx +9 -1
- package/src/index.ts +1 -0
- package/src/mock-builders/DB/consts.ts +2 -0
- package/src/mock-builders/DB/mock.ts +112 -0
- package/src/mock-builders/event/memberAdded.js +8 -0
- package/src/mock-builders/event/memberRemoved.js +8 -0
- package/src/mock-builders/event/memberUpdated.js +8 -0
- package/src/mock-builders/event/reactionDeleted.js +9 -0
- package/src/mock-builders/event/reactionNew.js +9 -0
- package/src/mock-builders/event/reactionUpdated.js +9 -0
- package/src/mock-builders/generator/reaction.js +1 -1
- package/src/store/QuickSqliteClient.ts +140 -0
- package/src/store/apis/deleteChannel.ts +14 -0
- package/src/store/apis/deleteMember.ts +25 -0
- package/src/store/apis/deleteMessagesForChannel.ts +19 -0
- package/src/store/apis/deleteReactions.ts +24 -0
- package/src/store/apis/getAllChannelIds.ts +7 -0
- package/src/store/apis/getChannelMessages.ts +50 -0
- package/src/store/apis/getChannels.ts +43 -0
- package/src/store/apis/getLastSyncedAt.ts +17 -0
- package/src/store/apis/getMembers.ts +26 -0
- package/src/store/apis/getReads.ts +26 -0
- package/src/store/apis/queries/selectChannelIdsForFilterSort.ts +28 -0
- package/src/store/apis/queries/selectChannels.ts +19 -0
- package/src/store/apis/queries/selectMembersForChannels.ts +32 -0
- package/src/store/apis/queries/selectMessagesForChannels.ts +40 -0
- package/src/store/apis/queries/selectReactionsForMessages.ts +33 -0
- package/src/store/apis/queries/selectReadsForChannels.ts +30 -0
- package/src/store/apis/updateMessage.ts +65 -0
- package/src/store/apis/updateReaction.ts +54 -0
- package/src/store/apis/upsertChannelData.ts +20 -0
- package/src/store/apis/upsertChannels.ts +79 -0
- package/src/store/apis/upsertCidsForQuery.ts +30 -0
- package/src/store/apis/upsertLastSyncedAt.ts +17 -0
- package/src/store/apis/upsertMembers.ts +41 -0
- package/src/store/apis/upsertMessages.ts +43 -0
- package/src/store/apis/upsertReads.ts +41 -0
- package/src/store/apis/utils/convertFilterSortToQuery.ts +14 -0
- package/src/store/constants.ts +3 -0
- package/src/store/mappers/mapChannelDataToStorable.ts +67 -0
- package/src/store/mappers/mapDateTimeToStorable.ts +5 -0
- package/src/store/mappers/mapMemberToStorable.ts +45 -0
- package/src/store/mappers/mapMessageToStorable.ts +35 -0
- package/src/store/mappers/mapReactionToStorable.ts +19 -0
- package/src/store/mappers/mapReadToStorable.ts +25 -0
- package/src/store/mappers/mapStorableToChannel.ts +69 -0
- package/src/store/mappers/mapStorableToMember.ts +42 -0
- package/src/store/mappers/mapStorableToMessage.ts +40 -0
- package/src/store/mappers/mapStorableToReaction.ts +25 -0
- package/src/store/mappers/mapStorableToRead.ts +21 -0
- package/src/store/mappers/mapStorableToUser.ts +23 -0
- package/src/store/mappers/mapUserToStorable.ts +18 -0
- package/src/store/schema.ts +284 -0
- package/src/store/sqlite-utils/__tests__/createSelectQuery.test.ts +21 -0
- package/src/store/sqlite-utils/appendWhereCluase.ts +33 -0
- package/src/store/sqlite-utils/createCreateTableQuery.ts +39 -0
- package/src/store/sqlite-utils/createDeleteQuery.ts +23 -0
- package/src/store/sqlite-utils/createSelectQuery.ts +25 -0
- package/src/store/sqlite-utils/createUpdateQuery.ts +27 -0
- package/src/store/sqlite-utils/createUpsertQuery.ts +48 -0
- package/src/store/sqlite-utils/printRow.ts +19 -0
- package/src/store/types.ts +12 -0
- package/src/version.json +1 -1
- package/lib/commonjs/components/Attachment/hooks/useLoadingImage.js.map +0 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js +0 -45
- package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +0 -1
- package/lib/module/components/Attachment/hooks/useLoadingImage.js.map +0 -1
- package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js +0 -45
- package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +0 -1
- package/lib/typescript/components/ChannelList/hooks/listeners/useConnectionRecovered.d.ts +0 -8
- package/src/components/ChannelList/hooks/listeners/useConnectionRecovered.ts +0 -41
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Giphy.tsx"],"names":["styles","StyleSheet","create","actionsRow","flexDirection","buttonContainer","alignItems","borderTopWidth","flex","justifyContent","cancel","fontSize","fontWeight","paddingVertical","centerChild","display","container","overflow","width","giphy","alignSelf","borderRadius","height","maxWidth","giphyContainer","giphyHeaderText","giphyHeaderTitle","marginLeft","giphyMask","bottom","left","position","giphyMaskText","header","padding","imageErrorIndicatorStyle","imageLoadingIndicatorStyle","selectionContainer","borderBottomRightRadius","borderWidth","selectionImageContainer","margin","send","shuffle","shuffleButton","GiphyWithContext","props","additionalTouchableProps","attachment","giphyVersion","handleAction","ImageLoadingFailedIndicator","ImageLoadingIndicator","isMyMessage","message","onLongPress","onPress","onPressIn","preventPress","setImage","setImages","setOverlay","actions","giphyData","image_url","thumb_url","title","type","isLoadingImage","isLoadingImageError","setLoadingImage","setLoadingImageError","theme","colors","accent_blue","black","grey","grey_dark","grey_gainsboro","label_bg_transparent","white","messageSimple","uri","giphyDimensions","defaultOnPress","messageId","id","url","giphyVersionInfo","parseFloat","backgroundColor","borderColor","color","error","console","warn","name","value","borderRightWidth","text","event","emitter","defaultHandler","toUpperCase","areEqual","prevProps","nextProps","prevActions","prevImageUrl","prevThumbUrl","prevGiphyVersion","prevIsMyMessage","prevMessage","nextActions","nextImageUrl","nextThumbUrl","nextGiphyVersion","nextIsMyMessage","nextMessage","imageUrlEqual","thumbUrlEqual","actionsEqual","Array","isArray","length","giphyVersionEqual","isMyMessageEqual","messageEqual","updated_at","MemoizedGiphy","React","memo","Giphy","ContextImageLoadingFailedIndicator","ContextImageLoadingIndicator","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Image, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport { useLoadingImage } from './hooks/useLoadingImage';\n\nimport {\n ImageGalleryContextValue,\n useImageGalleryContext,\n} from '../../contexts/imageGalleryContext/ImageGalleryContext';\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { GiphyIcon } from '../../icons';\nimport { Lightning } from '../../icons/Lightning';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { makeImageCompatibleUrl } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n actionsRow: {\n flexDirection: 'row',\n },\n buttonContainer: {\n alignItems: 'center',\n borderTopWidth: 1,\n flex: 1,\n justifyContent: 'center',\n },\n cancel: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n centerChild: {\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'center',\n },\n container: {\n overflow: 'hidden',\n width: 270,\n },\n giphy: {\n alignSelf: 'center',\n borderRadius: 2,\n height: 170,\n maxWidth: 270,\n width: 270,\n },\n giphyContainer: {\n alignItems: 'center',\n borderRadius: 12,\n flexDirection: 'row',\n height: 24,\n justifyContent: 'center',\n width: 68,\n },\n giphyHeaderText: {\n fontSize: 16,\n fontWeight: '600',\n },\n giphyHeaderTitle: {\n fontSize: 14,\n marginLeft: 8,\n },\n giphyMask: {\n bottom: 8,\n left: 8,\n position: 'absolute',\n },\n giphyMaskText: {\n fontSize: 13,\n fontWeight: '600',\n },\n header: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n padding: 8,\n width: '60%',\n },\n imageErrorIndicatorStyle: {\n alignItems: 'center',\n flex: 1,\n justifyContent: 'center',\n },\n imageLoadingIndicatorStyle: {\n alignItems: 'center',\n flex: 1,\n justifyContent: 'center',\n position: 'absolute',\n },\n selectionContainer: {\n borderBottomRightRadius: 0,\n borderRadius: 16,\n borderWidth: 1,\n overflow: 'hidden',\n width: 272,\n },\n selectionImageContainer: {\n alignSelf: 'center',\n margin: 1,\n },\n send: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n shuffle: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n shuffleButton: {\n alignItems: 'center',\n borderRadius: 16,\n borderWidth: 1,\n height: 32,\n justifyContent: 'center',\n width: 32,\n },\n});\n\nexport type GiphyPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ImageGalleryContextValue<StreamChatGenerics>, 'setImage' | 'setImages'> &\n Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'handleAction'\n | 'isMyMessage'\n | 'message'\n | 'onLongPress'\n | 'onPress'\n | 'onPressIn'\n | 'preventPress'\n > &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'giphyVersion'\n | 'additionalTouchableProps'\n | 'ImageLoadingIndicator'\n | 'ImageLoadingFailedIndicator'\n > & {\n attachment: Attachment<StreamChatGenerics>;\n } & Pick<OverlayContextValue, 'setOverlay'>;\n\nconst GiphyWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GiphyPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n attachment,\n giphyVersion,\n handleAction,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n isMyMessage,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setImage,\n setImages,\n setOverlay,\n } = props;\n\n const { actions, giphy: giphyData, image_url, thumb_url, title, type } = attachment;\n\n const { isLoadingImage, isLoadingImageError, setLoadingImage, setLoadingImageError } =\n useLoadingImage();\n\n const {\n theme: {\n colors: { accent_blue, black, grey, grey_dark, grey_gainsboro, label_bg_transparent, white },\n messageSimple: {\n giphy: {\n buttonContainer,\n cancel,\n container,\n giphy,\n giphyContainer,\n giphyHeaderText,\n giphyHeaderTitle,\n giphyMask,\n giphyMaskText,\n header,\n selectionContainer,\n send,\n shuffle,\n },\n },\n },\n } = useTheme();\n\n let uri = image_url || thumb_url;\n const giphyDimensions: { height?: number; width?: number } = {};\n\n const defaultOnPress = () => {\n setImages([message]);\n setImage({ messageId: message.id, url: uri });\n setOverlay('gallery');\n };\n\n if (type === 'giphy' && giphyData) {\n const giphyVersionInfo = giphyData[giphyVersion];\n uri = giphyVersionInfo.url;\n giphyDimensions.height = parseFloat(giphyVersionInfo.height);\n giphyDimensions.width = parseFloat(giphyVersionInfo.width);\n }\n\n if (!uri) return null;\n\n return actions ? (\n <View\n style={[\n styles.selectionContainer,\n { backgroundColor: white, borderColor: `${black}0D` },\n selectionContainer,\n ]}\n testID='giphy-action-attachment'\n >\n <View style={[styles.header, header]}>\n <GiphyIcon />\n <Text style={[styles.giphyHeaderText, giphyHeaderText]}>Giphy</Text>\n <Text\n style={[styles.giphyHeaderTitle, giphyHeaderTitle, { color: grey_dark }]}\n >{`/giphy ${title}`}</Text>\n </View>\n <View style={styles.selectionImageContainer}>\n <Image\n onError={(error) => {\n console.warn(error);\n setLoadingImage(false);\n setLoadingImageError(true);\n }}\n onLoadEnd={() => setLoadingImage(false)}\n onLoadStart={() => setLoadingImage(true)}\n resizeMode='contain'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.giphy, giphyDimensions, giphy]}\n />\n </View>\n <View>\n <View style={styles.actionsRow}>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[2].name && actions?.[2].value && handleAction) {\n handleAction(actions[2].name, actions[2].value);\n }\n }}\n style={[\n styles.buttonContainer,\n { borderColor: grey_gainsboro, borderRightWidth: 1 },\n buttonContainer,\n ]}\n testID={`${actions?.[2].value}-action-button`}\n >\n <Text style={[styles.cancel, { color: grey }, cancel]}>{actions?.[2].text}</Text>\n </TouchableOpacity>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[1].name && actions?.[1].value && handleAction) {\n handleAction(actions[1].name, actions[1].value);\n }\n }}\n style={[\n styles.buttonContainer,\n { borderColor: grey_gainsboro, borderRightWidth: 1 },\n buttonContainer,\n ]}\n testID={`${actions?.[1].value}-action-button`}\n >\n <Text style={[styles.shuffle, { color: grey }, shuffle]}>{actions?.[1].text}</Text>\n </TouchableOpacity>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[0].name && actions?.[0].value && handleAction) {\n handleAction(actions[0].name, actions[0].value);\n }\n }}\n style={[styles.buttonContainer, { borderColor: grey_gainsboro }, buttonContainer]}\n testID={`${actions?.[0].value}-action-button`}\n >\n <Text style={[styles.send, { color: accent_blue }, send]}>{actions?.[0].text}</Text>\n </TouchableOpacity>\n </View>\n </View>\n </View>\n ) : (\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'giphy',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: defaultOnPress,\n emitter: 'giphy',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n emitter: 'giphy',\n event,\n });\n }\n }}\n testID='giphy-attachment'\n {...additionalTouchableProps}\n >\n <View\n style={[\n styles.container,\n styles.centerChild,\n { backgroundColor: isMyMessage ? grey_gainsboro : white },\n container,\n ]}\n >\n <Image\n accessibilityLabel='Giphy Attachment Image'\n onError={(error) => {\n console.warn(error);\n setLoadingImage(false);\n setLoadingImageError(true);\n }}\n onLoadEnd={() => setLoadingImage(false)}\n onLoadStart={() => setLoadingImage(true)}\n resizeMode='contain'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.giphy, giphyDimensions, giphy]}\n testID='giphy-attachment-image'\n />\n\n {isLoadingImageError && (\n <View style={{ position: 'absolute' }}>\n <ImageLoadingFailedIndicator style={styles.imageErrorIndicatorStyle} />\n </View>\n )}\n {isLoadingImage && (\n <View style={{ position: 'absolute' }}>\n <ImageLoadingIndicator style={styles.imageLoadingIndicatorStyle} />\n </View>\n )}\n <View style={[styles.giphyMask, giphyMask]}>\n <View\n style={[\n styles.giphyContainer,\n { backgroundColor: label_bg_transparent },\n giphyContainer,\n ]}\n >\n <Lightning height={16} pathFill={white} width={16} />\n <Text style={[styles.giphyMaskText, { color: white }, giphyMaskText]}>\n {type?.toUpperCase()}\n </Text>\n </View>\n </View>\n </View>\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: GiphyPropsWithContext<StreamChatGenerics>,\n nextProps: GiphyPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n attachment: { actions: prevActions, image_url: prevImageUrl, thumb_url: prevThumbUrl },\n giphyVersion: prevGiphyVersion,\n isMyMessage: prevIsMyMessage,\n message: prevMessage,\n } = prevProps;\n const {\n attachment: { actions: nextActions, image_url: nextImageUrl, thumb_url: nextThumbUrl },\n giphyVersion: nextGiphyVersion,\n isMyMessage: nextIsMyMessage,\n message: nextMessage,\n } = nextProps;\n\n const imageUrlEqual = prevImageUrl === nextImageUrl;\n if (!imageUrlEqual) return false;\n\n const thumbUrlEqual = prevThumbUrl === nextThumbUrl;\n if (!thumbUrlEqual) return false;\n\n const actionsEqual =\n Array.isArray(prevActions) === Array.isArray(nextActions) &&\n ((Array.isArray(prevActions) &&\n Array.isArray(nextActions) &&\n prevActions.length === nextActions.length) ||\n prevActions === nextActions);\n if (!actionsEqual) return false;\n\n const giphyVersionEqual = prevGiphyVersion === nextGiphyVersion;\n if (!giphyVersionEqual) return false;\n\n const isMyMessageEqual = prevIsMyMessage === nextIsMyMessage;\n if (!isMyMessageEqual) return false;\n\n const messageEqual =\n prevMessage?.id === nextMessage?.id &&\n `${prevMessage?.updated_at}` === `${nextMessage?.updated_at}`;\n\n if (!messageEqual) return false;\n return true;\n};\n\nconst MemoizedGiphy = React.memo(GiphyWithContext, areEqual) as typeof GiphyWithContext;\n\nexport type GiphyProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<GiphyPropsWithContext<StreamChatGenerics>> & {\n attachment: Attachment<StreamChatGenerics>;\n};\n\n/**\n * UI component for card in attachments.\n */\nexport const Giphy = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GiphyProps<StreamChatGenerics>,\n) => {\n const { handleAction, isMyMessage, message, onLongPress, onPress, onPressIn, preventPress } =\n useMessageContext<StreamChatGenerics>();\n const { additionalTouchableProps, giphyVersion } = useMessagesContext<StreamChatGenerics>();\n const { setImage, setImages } = useImageGalleryContext<StreamChatGenerics>();\n const { setOverlay } = useOverlayContext();\n\n const {\n ImageLoadingFailedIndicator: ContextImageLoadingFailedIndicator,\n ImageLoadingIndicator: ContextImageLoadingIndicator,\n } = useMessagesContext<StreamChatGenerics>();\n const ImageLoadingFailedIndicator =\n ContextImageLoadingFailedIndicator || props.ImageLoadingFailedIndicator;\n const ImageLoadingIndicator = ContextImageLoadingIndicator || props.ImageLoadingIndicator;\n\n return (\n <MemoizedGiphy\n {...{\n additionalTouchableProps,\n giphyVersion,\n handleAction,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n isMyMessage,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setImage,\n setImages,\n setOverlay,\n }}\n {...props}\n />\n );\n};\n\nGiphy.displayName = 'Giphy{messageSimple{giphy}}';\n"]}
|
|
1
|
+
{"version":3,"sources":["Giphy.tsx"],"names":["styles","StyleSheet","create","actionsRow","flexDirection","buttonContainer","alignItems","borderTopWidth","flex","justifyContent","cancel","fontSize","fontWeight","paddingVertical","centerChild","display","container","overflow","width","giphy","alignSelf","borderRadius","height","maxWidth","giphyContainer","giphyHeaderText","giphyHeaderTitle","marginLeft","giphyMask","bottom","left","position","giphyMaskText","header","padding","imageErrorIndicatorStyle","imageLoadingIndicatorStyle","selectionContainer","borderBottomRightRadius","borderWidth","selectionImageContainer","margin","send","shuffle","shuffleButton","GiphyWithContext","props","additionalTouchableProps","attachment","giphyVersion","handleAction","ImageLoadingFailedIndicator","ImageLoadingIndicator","isMyMessage","message","onLongPress","onPress","onPressIn","preventPress","setImage","setImages","setOverlay","actions","giphyData","image_url","thumb_url","title","type","isLoadingImage","isLoadingImageError","setLoadingImage","setLoadingImageError","theme","colors","accent_blue","black","grey","grey_dark","grey_gainsboro","label_bg_transparent","white","messageSimple","uri","giphyDimensions","defaultOnPress","messageId","id","url","giphyVersionInfo","parseFloat","backgroundColor","borderColor","color","error","console","warn","name","value","borderRightWidth","text","event","emitter","defaultHandler","toUpperCase","areEqual","prevProps","nextProps","prevActions","prevImageUrl","prevThumbUrl","prevGiphyVersion","prevIsMyMessage","prevMessage","nextActions","nextImageUrl","nextThumbUrl","nextGiphyVersion","nextIsMyMessage","nextMessage","imageUrlEqual","thumbUrlEqual","actionsEqual","Array","isArray","length","giphyVersionEqual","isMyMessageEqual","messageEqual","updated_at","MemoizedGiphy","React","memo","Giphy","ContextImageLoadingFailedIndicator","ContextImageLoadingIndicator","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Image, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport {\n ImageGalleryContextValue,\n useImageGalleryContext,\n} from '../../contexts/imageGalleryContext/ImageGalleryContext';\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useLoadingImage } from '../../hooks/useLoadingImage';\nimport { GiphyIcon } from '../../icons';\nimport { Lightning } from '../../icons/Lightning';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { makeImageCompatibleUrl } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n actionsRow: {\n flexDirection: 'row',\n },\n buttonContainer: {\n alignItems: 'center',\n borderTopWidth: 1,\n flex: 1,\n justifyContent: 'center',\n },\n cancel: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n centerChild: {\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'center',\n },\n container: {\n overflow: 'hidden',\n width: 270,\n },\n giphy: {\n alignSelf: 'center',\n borderRadius: 2,\n height: 170,\n maxWidth: 270,\n width: 270,\n },\n giphyContainer: {\n alignItems: 'center',\n borderRadius: 12,\n flexDirection: 'row',\n height: 24,\n justifyContent: 'center',\n width: 68,\n },\n giphyHeaderText: {\n fontSize: 16,\n fontWeight: '600',\n },\n giphyHeaderTitle: {\n fontSize: 14,\n marginLeft: 8,\n },\n giphyMask: {\n bottom: 8,\n left: 8,\n position: 'absolute',\n },\n giphyMaskText: {\n fontSize: 13,\n fontWeight: '600',\n },\n header: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n padding: 8,\n width: '60%',\n },\n imageErrorIndicatorStyle: {\n alignItems: 'center',\n flex: 1,\n justifyContent: 'center',\n },\n imageLoadingIndicatorStyle: {\n alignItems: 'center',\n flex: 1,\n justifyContent: 'center',\n position: 'absolute',\n },\n selectionContainer: {\n borderBottomRightRadius: 0,\n borderRadius: 16,\n borderWidth: 1,\n overflow: 'hidden',\n width: 272,\n },\n selectionImageContainer: {\n alignSelf: 'center',\n margin: 1,\n },\n send: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n shuffle: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n shuffleButton: {\n alignItems: 'center',\n borderRadius: 16,\n borderWidth: 1,\n height: 32,\n justifyContent: 'center',\n width: 32,\n },\n});\n\nexport type GiphyPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ImageGalleryContextValue<StreamChatGenerics>, 'setImage' | 'setImages'> &\n Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'handleAction'\n | 'isMyMessage'\n | 'message'\n | 'onLongPress'\n | 'onPress'\n | 'onPressIn'\n | 'preventPress'\n > &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'giphyVersion'\n | 'additionalTouchableProps'\n | 'ImageLoadingIndicator'\n | 'ImageLoadingFailedIndicator'\n > & {\n attachment: Attachment<StreamChatGenerics>;\n } & Pick<OverlayContextValue, 'setOverlay'>;\n\nconst GiphyWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GiphyPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n attachment,\n giphyVersion,\n handleAction,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n isMyMessage,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setImage,\n setImages,\n setOverlay,\n } = props;\n\n const { actions, giphy: giphyData, image_url, thumb_url, title, type } = attachment;\n\n const { isLoadingImage, isLoadingImageError, setLoadingImage, setLoadingImageError } =\n useLoadingImage();\n\n const {\n theme: {\n colors: { accent_blue, black, grey, grey_dark, grey_gainsboro, label_bg_transparent, white },\n messageSimple: {\n giphy: {\n buttonContainer,\n cancel,\n container,\n giphy,\n giphyContainer,\n giphyHeaderText,\n giphyHeaderTitle,\n giphyMask,\n giphyMaskText,\n header,\n selectionContainer,\n send,\n shuffle,\n },\n },\n },\n } = useTheme();\n\n let uri = image_url || thumb_url;\n const giphyDimensions: { height?: number; width?: number } = {};\n\n const defaultOnPress = () => {\n setImages([message]);\n setImage({ messageId: message.id, url: uri });\n setOverlay('gallery');\n };\n\n if (type === 'giphy' && giphyData) {\n const giphyVersionInfo = giphyData[giphyVersion];\n uri = giphyVersionInfo.url;\n giphyDimensions.height = parseFloat(giphyVersionInfo.height);\n giphyDimensions.width = parseFloat(giphyVersionInfo.width);\n }\n\n if (!uri) return null;\n\n return actions ? (\n <View\n style={[\n styles.selectionContainer,\n { backgroundColor: white, borderColor: `${black}0D` },\n selectionContainer,\n ]}\n testID='giphy-action-attachment'\n >\n <View style={[styles.header, header]}>\n <GiphyIcon />\n <Text style={[styles.giphyHeaderText, giphyHeaderText]}>Giphy</Text>\n <Text\n style={[styles.giphyHeaderTitle, giphyHeaderTitle, { color: grey_dark }]}\n >{`/giphy ${title}`}</Text>\n </View>\n <View style={styles.selectionImageContainer}>\n <Image\n onError={(error) => {\n console.warn(error);\n setLoadingImage(false);\n setLoadingImageError(true);\n }}\n onLoadEnd={() => setLoadingImage(false)}\n onLoadStart={() => setLoadingImage(true)}\n resizeMode='contain'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.giphy, giphyDimensions, giphy]}\n />\n </View>\n <View>\n <View style={styles.actionsRow}>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[2].name && actions?.[2].value && handleAction) {\n handleAction(actions[2].name, actions[2].value);\n }\n }}\n style={[\n styles.buttonContainer,\n { borderColor: grey_gainsboro, borderRightWidth: 1 },\n buttonContainer,\n ]}\n testID={`${actions?.[2].value}-action-button`}\n >\n <Text style={[styles.cancel, { color: grey }, cancel]}>{actions?.[2].text}</Text>\n </TouchableOpacity>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[1].name && actions?.[1].value && handleAction) {\n handleAction(actions[1].name, actions[1].value);\n }\n }}\n style={[\n styles.buttonContainer,\n { borderColor: grey_gainsboro, borderRightWidth: 1 },\n buttonContainer,\n ]}\n testID={`${actions?.[1].value}-action-button`}\n >\n <Text style={[styles.shuffle, { color: grey }, shuffle]}>{actions?.[1].text}</Text>\n </TouchableOpacity>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[0].name && actions?.[0].value && handleAction) {\n handleAction(actions[0].name, actions[0].value);\n }\n }}\n style={[styles.buttonContainer, { borderColor: grey_gainsboro }, buttonContainer]}\n testID={`${actions?.[0].value}-action-button`}\n >\n <Text style={[styles.send, { color: accent_blue }, send]}>{actions?.[0].text}</Text>\n </TouchableOpacity>\n </View>\n </View>\n </View>\n ) : (\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'giphy',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: defaultOnPress,\n emitter: 'giphy',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n emitter: 'giphy',\n event,\n });\n }\n }}\n testID='giphy-attachment'\n {...additionalTouchableProps}\n >\n <View\n style={[\n styles.container,\n styles.centerChild,\n { backgroundColor: isMyMessage ? grey_gainsboro : white },\n container,\n ]}\n >\n <Image\n accessibilityLabel='Giphy Attachment Image'\n onError={(error) => {\n console.warn(error);\n setLoadingImage(false);\n setLoadingImageError(true);\n }}\n onLoadEnd={() => setLoadingImage(false)}\n onLoadStart={() => setLoadingImage(true)}\n resizeMode='contain'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.giphy, giphyDimensions, giphy]}\n testID='giphy-attachment-image'\n />\n\n {isLoadingImageError && (\n <View style={{ position: 'absolute' }}>\n <ImageLoadingFailedIndicator style={styles.imageErrorIndicatorStyle} />\n </View>\n )}\n {isLoadingImage && (\n <View style={{ position: 'absolute' }}>\n <ImageLoadingIndicator style={styles.imageLoadingIndicatorStyle} />\n </View>\n )}\n <View style={[styles.giphyMask, giphyMask]}>\n <View\n style={[\n styles.giphyContainer,\n { backgroundColor: label_bg_transparent },\n giphyContainer,\n ]}\n >\n <Lightning height={16} pathFill={white} width={16} />\n <Text style={[styles.giphyMaskText, { color: white }, giphyMaskText]}>\n {type?.toUpperCase()}\n </Text>\n </View>\n </View>\n </View>\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: GiphyPropsWithContext<StreamChatGenerics>,\n nextProps: GiphyPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n attachment: { actions: prevActions, image_url: prevImageUrl, thumb_url: prevThumbUrl },\n giphyVersion: prevGiphyVersion,\n isMyMessage: prevIsMyMessage,\n message: prevMessage,\n } = prevProps;\n const {\n attachment: { actions: nextActions, image_url: nextImageUrl, thumb_url: nextThumbUrl },\n giphyVersion: nextGiphyVersion,\n isMyMessage: nextIsMyMessage,\n message: nextMessage,\n } = nextProps;\n\n const imageUrlEqual = prevImageUrl === nextImageUrl;\n if (!imageUrlEqual) return false;\n\n const thumbUrlEqual = prevThumbUrl === nextThumbUrl;\n if (!thumbUrlEqual) return false;\n\n const actionsEqual =\n Array.isArray(prevActions) === Array.isArray(nextActions) &&\n ((Array.isArray(prevActions) &&\n Array.isArray(nextActions) &&\n prevActions.length === nextActions.length) ||\n prevActions === nextActions);\n if (!actionsEqual) return false;\n\n const giphyVersionEqual = prevGiphyVersion === nextGiphyVersion;\n if (!giphyVersionEqual) return false;\n\n const isMyMessageEqual = prevIsMyMessage === nextIsMyMessage;\n if (!isMyMessageEqual) return false;\n\n const messageEqual =\n prevMessage?.id === nextMessage?.id &&\n `${prevMessage?.updated_at}` === `${nextMessage?.updated_at}`;\n\n if (!messageEqual) return false;\n return true;\n};\n\nconst MemoizedGiphy = React.memo(GiphyWithContext, areEqual) as typeof GiphyWithContext;\n\nexport type GiphyProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<GiphyPropsWithContext<StreamChatGenerics>> & {\n attachment: Attachment<StreamChatGenerics>;\n};\n\n/**\n * UI component for card in attachments.\n */\nexport const Giphy = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GiphyProps<StreamChatGenerics>,\n) => {\n const { handleAction, isMyMessage, message, onLongPress, onPress, onPressIn, preventPress } =\n useMessageContext<StreamChatGenerics>();\n const { additionalTouchableProps, giphyVersion } = useMessagesContext<StreamChatGenerics>();\n const { setImage, setImages } = useImageGalleryContext<StreamChatGenerics>();\n const { setOverlay } = useOverlayContext();\n\n const {\n ImageLoadingFailedIndicator: ContextImageLoadingFailedIndicator,\n ImageLoadingIndicator: ContextImageLoadingIndicator,\n } = useMessagesContext<StreamChatGenerics>();\n const ImageLoadingFailedIndicator =\n ContextImageLoadingFailedIndicator || props.ImageLoadingFailedIndicator;\n const ImageLoadingIndicator = ContextImageLoadingIndicator || props.ImageLoadingIndicator;\n\n return (\n <MemoizedGiphy\n {...{\n additionalTouchableProps,\n giphyVersion,\n handleAction,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n isMyMessage,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setImage,\n setImages,\n setOverlay,\n }}\n {...props}\n />\n );\n};\n\nGiphy.displayName = 'Giphy{messageSimple{giphy}}';\n"]}
|
|
@@ -22,7 +22,7 @@ var _icons = require("../../icons");
|
|
|
22
22
|
var _excluded = ["style"];
|
|
23
23
|
|
|
24
24
|
var _this = this,
|
|
25
|
-
_jsxFileName = "/
|
|
25
|
+
_jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Attachment/ImageLoadingFailedIndicator.tsx";
|
|
26
26
|
|
|
27
27
|
var WARNING_ICON_SIZE = 14;
|
|
28
28
|
|
|
@@ -18,7 +18,7 @@ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
|
|
|
18
18
|
var _excluded = ["style"];
|
|
19
19
|
|
|
20
20
|
var _this = this,
|
|
21
|
-
_jsxFileName = "/
|
|
21
|
+
_jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Attachment/ImageLoadingIndicator.tsx";
|
|
22
22
|
|
|
23
23
|
var styles = _reactNative.StyleSheet.create({
|
|
24
24
|
container: {
|
|
@@ -14,7 +14,7 @@ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
|
|
|
14
14
|
var _icons = require("../../icons");
|
|
15
15
|
|
|
16
16
|
var _this = this,
|
|
17
|
-
_jsxFileName = "/
|
|
17
|
+
_jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Attachment/VideoThumbnail.tsx";
|
|
18
18
|
|
|
19
19
|
var styles = _reactNative.StyleSheet.create({
|
|
20
20
|
container: {
|
|
@@ -38,7 +38,7 @@ var _native = require("../../native");
|
|
|
38
38
|
var _utils = require("../../utils/utils");
|
|
39
39
|
|
|
40
40
|
var _this = this,
|
|
41
|
-
_jsxFileName = "/
|
|
41
|
+
_jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AttachmentPicker/AttachmentPicker.tsx";
|
|
42
42
|
|
|
43
43
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
44
44
|
|
package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js
CHANGED
|
@@ -16,7 +16,7 @@ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reani
|
|
|
16
16
|
var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
|
|
17
17
|
|
|
18
18
|
var _this = this,
|
|
19
|
-
_jsxFileName = "/
|
|
19
|
+
_jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.tsx";
|
|
20
20
|
|
|
21
21
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
22
22
|
|
|
@@ -20,7 +20,7 @@ var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
|
|
|
20
20
|
var _TranslationContext = require("../../../contexts/translationContext/TranslationContext");
|
|
21
21
|
|
|
22
22
|
var _this = this,
|
|
23
|
-
_jsxFileName = "/
|
|
23
|
+
_jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AttachmentPicker/components/AttachmentPickerError.tsx";
|
|
24
24
|
|
|
25
25
|
var styles = _reactNative.StyleSheet.create({
|
|
26
26
|
errorButtonText: {
|
|
@@ -12,7 +12,7 @@ var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
|
|
|
12
12
|
var _icons = require("../../../icons");
|
|
13
13
|
|
|
14
14
|
var _this = this,
|
|
15
|
-
_jsxFileName = "/
|
|
15
|
+
_jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AttachmentPicker/components/AttachmentPickerErrorImage.tsx";
|
|
16
16
|
|
|
17
17
|
var AttachmentPickerErrorImage = function AttachmentPickerErrorImage() {
|
|
18
18
|
var _useTheme = (0, _ThemeContext.useTheme)(),
|
|
@@ -24,7 +24,7 @@ var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
|
|
|
24
24
|
var _native = require("../../../native");
|
|
25
25
|
|
|
26
26
|
var _this = this,
|
|
27
|
-
_jsxFileName = "/
|
|
27
|
+
_jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AttachmentPicker/components/AttachmentSelectionBar.tsx";
|
|
28
28
|
|
|
29
29
|
var styles = _reactNative.StyleSheet.create({
|
|
30
30
|
container: {
|
|
@@ -12,7 +12,7 @@ var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
|
|
|
12
12
|
var _icons = require("../../../icons");
|
|
13
13
|
|
|
14
14
|
var _this = this,
|
|
15
|
-
_jsxFileName = "/
|
|
15
|
+
_jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AttachmentPicker/components/CameraSelectorIcon.tsx";
|
|
16
16
|
|
|
17
17
|
var CameraSelectorIcon = function CameraSelectorIcon() {
|
|
18
18
|
var _useTheme = (0, _ThemeContext.useTheme)(),
|
|
@@ -12,7 +12,7 @@ var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
|
|
|
12
12
|
var _icons = require("../../../icons");
|
|
13
13
|
|
|
14
14
|
var _this = this,
|
|
15
|
-
_jsxFileName = "/
|
|
15
|
+
_jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AttachmentPicker/components/FileSelectorIcon.tsx";
|
|
16
16
|
|
|
17
17
|
var FileSelectorIcon = function FileSelectorIcon() {
|
|
18
18
|
var _useTheme = (0, _ThemeContext.useTheme)(),
|
package/lib/commonjs/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js
CHANGED
|
@@ -14,7 +14,7 @@ var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
|
|
|
14
14
|
var _icons = require("../../../icons");
|
|
15
15
|
|
|
16
16
|
var _this = this,
|
|
17
|
-
_jsxFileName = "/
|
|
17
|
+
_jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AttachmentPicker/components/ImageOverlaySelectedComponent.tsx";
|
|
18
18
|
|
|
19
19
|
var styles = _reactNative.StyleSheet.create({
|
|
20
20
|
check: {
|
|
@@ -12,7 +12,7 @@ var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
|
|
|
12
12
|
var _icons = require("../../../icons");
|
|
13
13
|
|
|
14
14
|
var _this = this,
|
|
15
|
-
_jsxFileName = "/
|
|
15
|
+
_jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AttachmentPicker/components/ImageSelectorIcon.tsx";
|
|
16
16
|
|
|
17
17
|
var ImageSelectorIcon = function ImageSelectorIcon(_ref) {
|
|
18
18
|
var selectedPicker = _ref.selectedPicker;
|
|
@@ -34,7 +34,7 @@ var _TranslationContext = require("../../contexts/translationContext/Translation
|
|
|
34
34
|
var _utils = require("../../utils/utils");
|
|
35
35
|
|
|
36
36
|
var _this = this,
|
|
37
|
-
_jsxFileName = "/
|
|
37
|
+
_jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AutoCompleteInput/AutoCompleteInput.tsx";
|
|
38
38
|
|
|
39
39
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
40
40
|
|
|
@@ -14,7 +14,7 @@ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
|
|
|
14
14
|
var _icons = require("../../icons");
|
|
15
15
|
|
|
16
16
|
var _this = this,
|
|
17
|
-
_jsxFileName = "/
|
|
17
|
+
_jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.tsx";
|
|
18
18
|
|
|
19
19
|
var styles = _reactNative.StyleSheet.create({
|
|
20
20
|
iconContainer: {
|
|
@@ -20,7 +20,7 @@ var _Lightning = require("../../icons/Lightning");
|
|
|
20
20
|
var _Smile = require("../../icons/Smile");
|
|
21
21
|
|
|
22
22
|
var _this = this,
|
|
23
|
-
_jsxFileName = "/
|
|
23
|
+
_jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AutoCompleteInput/AutoCompleteSuggestionHeader.tsx";
|
|
24
24
|
|
|
25
25
|
var styles = _reactNative.StyleSheet.create({
|
|
26
26
|
container: {
|
|
@@ -20,7 +20,7 @@ var _AtMentions = require("../../icons/AtMentions");
|
|
|
20
20
|
var _Avatar = require("../Avatar/Avatar");
|
|
21
21
|
|
|
22
22
|
var _this = this,
|
|
23
|
-
_jsxFileName = "/
|
|
23
|
+
_jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx";
|
|
24
24
|
|
|
25
25
|
var styles = _reactNative.StyleSheet.create({
|
|
26
26
|
args: {
|
|
@@ -20,7 +20,7 @@ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
|
|
|
20
20
|
var _excluded = ["children"];
|
|
21
21
|
|
|
22
22
|
var _this = this,
|
|
23
|
-
_jsxFileName = "/
|
|
23
|
+
_jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx";
|
|
24
24
|
|
|
25
25
|
var SuggestionsItem = function SuggestionsItem(props) {
|
|
26
26
|
var children = props.children,
|
|
@@ -9,9 +9,7 @@ exports.Avatar = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
11
|
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
15
13
|
|
|
16
14
|
var _reactNative = require("react-native");
|
|
17
15
|
|
|
@@ -19,10 +17,12 @@ var _reactNativeSvg = _interopRequireWildcard(require("react-native-svg"));
|
|
|
19
17
|
|
|
20
18
|
var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
|
|
21
19
|
|
|
20
|
+
var _useLoadingImage2 = require("../../hooks/useLoadingImage");
|
|
21
|
+
|
|
22
22
|
var _getResizedImageUrl = require("../../utils/getResizedImageUrl");
|
|
23
23
|
|
|
24
24
|
var _this = this,
|
|
25
|
-
_jsxFileName = "/
|
|
25
|
+
_jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Avatar/Avatar.tsx";
|
|
26
26
|
|
|
27
27
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
28
28
|
|
|
@@ -75,16 +75,15 @@ var Avatar = function Avatar(props) {
|
|
|
75
75
|
accent_green = _useTheme$theme$color.accent_green,
|
|
76
76
|
white = _useTheme$theme$color.white;
|
|
77
77
|
|
|
78
|
-
var
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
setImageError = _useState2[1];
|
|
78
|
+
var _useLoadingImage = (0, _useLoadingImage2.useLoadingImage)(),
|
|
79
|
+
isLoadingImageError = _useLoadingImage.isLoadingImageError,
|
|
80
|
+
setLoadingImageError = _useLoadingImage.setLoadingImageError;
|
|
82
81
|
|
|
83
82
|
return _react["default"].createElement(_reactNative.View, {
|
|
84
83
|
__self: _this,
|
|
85
84
|
__source: {
|
|
86
85
|
fileName: _jsxFileName,
|
|
87
|
-
lineNumber:
|
|
86
|
+
lineNumber: 75,
|
|
88
87
|
columnNumber: 5
|
|
89
88
|
}
|
|
90
89
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -96,22 +95,36 @@ var Avatar = function Avatar(props) {
|
|
|
96
95
|
__self: _this,
|
|
97
96
|
__source: {
|
|
98
97
|
fileName: _jsxFileName,
|
|
99
|
-
lineNumber:
|
|
98
|
+
lineNumber: 76,
|
|
100
99
|
columnNumber: 7
|
|
101
100
|
}
|
|
102
|
-
}, _react["default"].createElement(_reactNative.
|
|
101
|
+
}, isLoadingImageError ? _react["default"].createElement(_reactNative.View, {
|
|
102
|
+
style: {
|
|
103
|
+
backgroundColor: '#ececec',
|
|
104
|
+
borderRadius: size / 2,
|
|
105
|
+
height: size,
|
|
106
|
+
width: size
|
|
107
|
+
},
|
|
108
|
+
__self: _this,
|
|
109
|
+
__source: {
|
|
110
|
+
fileName: _jsxFileName,
|
|
111
|
+
lineNumber: 89,
|
|
112
|
+
columnNumber: 11
|
|
113
|
+
}
|
|
114
|
+
}) : _react["default"].createElement(_reactNative.Image, {
|
|
103
115
|
accessibilityLabel: testID || 'Avatar Image',
|
|
104
116
|
onError: function onError() {
|
|
105
|
-
return
|
|
117
|
+
return setLoadingImageError(true);
|
|
106
118
|
},
|
|
107
119
|
source: {
|
|
108
|
-
uri:
|
|
120
|
+
uri: !imageProp || imageProp.includes(randomImageBaseUrl) || imageProp.includes(randomSvgBaseUrl) ? imageProp != null && imageProp.includes(streamCDN) ? imageProp : "" + randomImageBaseUrl + (name ? "?name=" + getInitials(name) + "&size=" + size : '') : (0, _getResizedImageUrl.getResizedImageUrl)({
|
|
109
121
|
height: size,
|
|
110
122
|
url: imageProp,
|
|
111
123
|
width: size
|
|
112
124
|
})
|
|
113
125
|
},
|
|
114
126
|
style: [image, size ? {
|
|
127
|
+
backgroundColor: '#ececec',
|
|
115
128
|
borderRadius: size / 2,
|
|
116
129
|
height: size,
|
|
117
130
|
width: size
|
|
@@ -120,22 +133,22 @@ var Avatar = function Avatar(props) {
|
|
|
120
133
|
__self: _this,
|
|
121
134
|
__source: {
|
|
122
135
|
fileName: _jsxFileName,
|
|
123
|
-
lineNumber:
|
|
124
|
-
columnNumber:
|
|
136
|
+
lineNumber: 98,
|
|
137
|
+
columnNumber: 11
|
|
125
138
|
}
|
|
126
139
|
})), online && _react["default"].createElement(_reactNative.View, {
|
|
127
140
|
style: [styles.presenceIndicatorContainer, presenceIndicatorContainer, presenceIndicatorContainerStyle],
|
|
128
141
|
__self: _this,
|
|
129
142
|
__source: {
|
|
130
143
|
fileName: _jsxFileName,
|
|
131
|
-
lineNumber:
|
|
144
|
+
lineNumber: 134,
|
|
132
145
|
columnNumber: 9
|
|
133
146
|
}
|
|
134
147
|
}, _react["default"].createElement(_reactNativeSvg["default"], {
|
|
135
148
|
__self: _this,
|
|
136
149
|
__source: {
|
|
137
150
|
fileName: _jsxFileName,
|
|
138
|
-
lineNumber:
|
|
151
|
+
lineNumber: 141,
|
|
139
152
|
columnNumber: 11
|
|
140
153
|
}
|
|
141
154
|
}, _react["default"].createElement(_reactNativeSvg.Circle, (0, _extends2["default"])({
|
|
@@ -145,7 +158,7 @@ var Avatar = function Avatar(props) {
|
|
|
145
158
|
__self: _this,
|
|
146
159
|
__source: {
|
|
147
160
|
fileName: _jsxFileName,
|
|
148
|
-
lineNumber:
|
|
161
|
+
lineNumber: 142,
|
|
149
162
|
columnNumber: 13
|
|
150
163
|
}
|
|
151
164
|
})))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Avatar.tsx"],"names":["randomImageBaseUrl","randomSvgBaseUrl","streamCDN","styles","StyleSheet","create","container","alignItems","justifyContent","overflow","presenceIndicatorContainer","height","position","right","top","width","getInitials","fullName","split","slice","map","name","charAt","join","Avatar","props","containerStyle","imageProp","image","imageStyle","online","presenceIndicatorProp","presenceIndicator","presenceIndicatorContainerStyle","size","testID","theme","avatar","colors","accent_green","white","
|
|
1
|
+
{"version":3,"sources":["Avatar.tsx"],"names":["randomImageBaseUrl","randomSvgBaseUrl","streamCDN","styles","StyleSheet","create","container","alignItems","justifyContent","overflow","presenceIndicatorContainer","height","position","right","top","width","getInitials","fullName","split","slice","map","name","charAt","join","Avatar","props","containerStyle","imageProp","image","imageStyle","online","presenceIndicatorProp","presenceIndicator","presenceIndicatorContainerStyle","size","testID","theme","avatar","colors","accent_green","white","isLoadingImageError","setLoadingImageError","borderRadius","backgroundColor","uri","includes","url","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Image, ImageStyle, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\nimport Svg, { Circle, CircleProps } from 'react-native-svg';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useLoadingImage } from '../../hooks/useLoadingImage';\nimport { getResizedImageUrl } from '../../utils/getResizedImageUrl';\n\nconst randomImageBaseUrl = 'https://getstream.io/random_png/';\nconst randomSvgBaseUrl = 'https://getstream.io/random_svg/';\nconst streamCDN = 'stream-io-cdn.com';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n justifyContent: 'center',\n overflow: 'hidden',\n },\n presenceIndicatorContainer: {\n height: 12,\n position: 'absolute',\n right: 0,\n top: 0,\n width: 12,\n },\n});\n\nconst getInitials = (fullName: string) =>\n fullName\n .split(' ')\n .slice(0, 2)\n .map((name) => name.charAt(0))\n .join(' ');\n\nexport type AvatarProps = {\n /** size in pixels */\n size: number;\n containerStyle?: StyleProp<ViewStyle>;\n /** image url */\n image?: string;\n /** name of the picture, used for fallback */\n imageStyle?: StyleProp<ImageStyle>;\n name?: string;\n online?: boolean;\n presenceIndicator?: CircleProps;\n presenceIndicatorContainerStyle?: StyleProp<ViewStyle>;\n testID?: string;\n};\n\n/**\n * Avatar - A round avatar image with fallback to user's initials.\n */\nexport const Avatar: React.FC<AvatarProps> = (props) => {\n const {\n containerStyle,\n image: imageProp,\n imageStyle,\n name,\n online,\n presenceIndicator: presenceIndicatorProp,\n presenceIndicatorContainerStyle,\n size,\n testID,\n } = props;\n const {\n theme: {\n avatar: { container, image, presenceIndicator, presenceIndicatorContainer },\n colors: { accent_green, white },\n },\n } = useTheme();\n\n const { isLoadingImageError, setLoadingImageError } = useLoadingImage();\n\n return (\n <View>\n <View\n style={[\n styles.container,\n {\n borderRadius: size / 2,\n height: size,\n width: size,\n },\n container,\n containerStyle,\n ]}\n >\n {isLoadingImageError ? (\n <View\n style={{\n backgroundColor: '#ececec',\n borderRadius: size / 2,\n height: size,\n width: size,\n }}\n />\n ) : (\n <Image\n accessibilityLabel={testID || 'Avatar Image'}\n onError={() => setLoadingImageError(true)}\n source={{\n uri:\n !imageProp ||\n imageProp.includes(randomImageBaseUrl) ||\n imageProp.includes(randomSvgBaseUrl)\n ? imageProp?.includes(streamCDN)\n ? imageProp\n : `${randomImageBaseUrl}${\n name ? `?name=${getInitials(name)}&size=${size}` : ''\n }`\n : getResizedImageUrl({\n height: size,\n url: imageProp,\n width: size,\n }),\n }}\n style={[\n image,\n size\n ? {\n backgroundColor: '#ececec',\n borderRadius: size / 2,\n height: size,\n width: size,\n }\n : {},\n imageStyle,\n ]}\n testID={testID || 'avatar-image'}\n />\n )}\n </View>\n {online && (\n <View\n style={[\n styles.presenceIndicatorContainer,\n presenceIndicatorContainer,\n presenceIndicatorContainerStyle,\n ]}\n >\n <Svg>\n <Circle\n fill={accent_green}\n stroke={white}\n {...presenceIndicator}\n {...presenceIndicatorProp}\n />\n </Svg>\n </View>\n )}\n </View>\n );\n};\n\nAvatar.displayName = 'Avatar{avatar}';\n"]}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
2
2
|
|
|
3
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
@@ -9,22 +7,18 @@ exports.GroupAvatar = void 0;
|
|
|
9
7
|
|
|
10
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
9
|
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
15
11
|
|
|
16
12
|
var _reactNative = require("react-native");
|
|
17
13
|
|
|
18
14
|
var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
|
|
19
15
|
|
|
16
|
+
var _useLoadingImage2 = require("../../hooks/useLoadingImage");
|
|
17
|
+
|
|
20
18
|
var _getResizedImageUrl = require("../../utils/getResizedImageUrl");
|
|
21
19
|
|
|
22
20
|
var _this = this,
|
|
23
|
-
_jsxFileName = "/
|
|
24
|
-
|
|
25
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
26
|
-
|
|
27
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
21
|
+
_jsxFileName = "/Users/vishalnarkhede/projects/stream-chat-react-native/package/src/components/Avatar/GroupAvatar.tsx";
|
|
28
22
|
|
|
29
23
|
var randomImageBaseUrl = 'https://getstream.io/random_png/';
|
|
30
24
|
var randomSvgBaseUrl = 'https://getstream.io/random_svg/';
|
|
@@ -57,10 +51,9 @@ var GroupAvatar = function GroupAvatar(props) {
|
|
|
57
51
|
container = _useTheme$theme$group.container,
|
|
58
52
|
image = _useTheme$theme$group.image;
|
|
59
53
|
|
|
60
|
-
var
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
setImageError = _useState2[1];
|
|
54
|
+
var _useLoadingImage = (0, _useLoadingImage2.useLoadingImage)(),
|
|
55
|
+
isLoadingImageError = _useLoadingImage.isLoadingImageError,
|
|
56
|
+
setLoadingImageError = _useLoadingImage.setLoadingImageError;
|
|
64
57
|
|
|
65
58
|
var imagesOrNames = images || names || [];
|
|
66
59
|
var avatarImages = imagesOrNames.slice(0, 4).reduce(function (returnArray, currentImage, index) {
|
|
@@ -106,7 +99,20 @@ var GroupAvatar = function GroupAvatar(props) {
|
|
|
106
99
|
lineNumber: 109,
|
|
107
100
|
columnNumber: 5
|
|
108
101
|
}
|
|
109
|
-
},
|
|
102
|
+
}, isLoadingImageError ? _react["default"].createElement(_reactNative.View, {
|
|
103
|
+
style: {
|
|
104
|
+
backgroundColor: '#ececec',
|
|
105
|
+
borderRadius: size / 2,
|
|
106
|
+
height: size,
|
|
107
|
+
width: size
|
|
108
|
+
},
|
|
109
|
+
__self: _this,
|
|
110
|
+
__source: {
|
|
111
|
+
fileName: _jsxFileName,
|
|
112
|
+
lineNumber: 119,
|
|
113
|
+
columnNumber: 9
|
|
114
|
+
}
|
|
115
|
+
}) : avatarImages.map(function (column, colIndex) {
|
|
110
116
|
return _react["default"].createElement(_reactNative.View, {
|
|
111
117
|
key: "avatar-column-" + colIndex,
|
|
112
118
|
style: [styles.flex, {
|
|
@@ -115,8 +121,8 @@ var GroupAvatar = function GroupAvatar(props) {
|
|
|
115
121
|
__self: _this,
|
|
116
122
|
__source: {
|
|
117
123
|
fileName: _jsxFileName,
|
|
118
|
-
lineNumber:
|
|
119
|
-
columnNumber:
|
|
124
|
+
lineNumber: 129,
|
|
125
|
+
columnNumber: 11
|
|
120
126
|
}
|
|
121
127
|
}, column.map(function (_ref, rowIndex) {
|
|
122
128
|
var height = _ref.height,
|
|
@@ -127,16 +133,17 @@ var GroupAvatar = function GroupAvatar(props) {
|
|
|
127
133
|
accessibilityLabel: testID || 'Avatar Image',
|
|
128
134
|
key: "avatar-" + url + "-" + rowIndex,
|
|
129
135
|
onError: function onError() {
|
|
130
|
-
return
|
|
136
|
+
return setLoadingImageError(true);
|
|
131
137
|
},
|
|
132
138
|
source: {
|
|
133
|
-
uri:
|
|
139
|
+
uri: url.includes(randomSvgBaseUrl) ? url.includes(streamCDN) ? url : "" + randomImageBaseUrl + (name ? "?name=" + getInitials(name) + "&size=" + height : '') : (0, _getResizedImageUrl.getResizedImageUrl)({
|
|
134
140
|
height: height,
|
|
135
141
|
url: url,
|
|
136
142
|
width: width
|
|
137
143
|
})
|
|
138
144
|
},
|
|
139
145
|
style: [image, size ? {
|
|
146
|
+
backgroundColor: '#ececec',
|
|
140
147
|
height: height,
|
|
141
148
|
width: width
|
|
142
149
|
} : {}],
|
|
@@ -144,8 +151,8 @@ var GroupAvatar = function GroupAvatar(props) {
|
|
|
144
151
|
__self: _this,
|
|
145
152
|
__source: {
|
|
146
153
|
fileName: _jsxFileName,
|
|
147
|
-
lineNumber:
|
|
148
|
-
columnNumber:
|
|
154
|
+
lineNumber: 139,
|
|
155
|
+
columnNumber: 15
|
|
149
156
|
}
|
|
150
157
|
});
|
|
151
158
|
}));
|