stream-chat-react-native-core 5.15.1-beta.1 → 5.15.1-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
- package/lib/commonjs/components/Attachment/AttachmentActions.js.map +1 -1
- package/lib/commonjs/components/Attachment/AudioAttachment.js.map +1 -1
- package/lib/commonjs/components/Attachment/Card.js.map +1 -1
- package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
- package/lib/commonjs/components/Attachment/FileAttachmentGroup.js.map +1 -1
- package/lib/commonjs/components/Attachment/FileIcon.js.map +1 -1
- package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
- package/lib/commonjs/components/Attachment/GalleryImage.js.map +1 -1
- package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
- package/lib/commonjs/components/Attachment/ImageLoadingFailedIndicator.js.map +1 -1
- package/lib/commonjs/components/Attachment/ImageLoadingIndicator.js.map +1 -1
- package/lib/commonjs/components/Attachment/ImageReloadIndicator.js.map +1 -1
- package/lib/commonjs/components/Attachment/VideoThumbnail.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/openUrlSafely.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerError.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerErrorImage.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js +14 -16
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/CameraSelectorIcon.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/FileSelectorIcon.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/ImageSelectorIcon.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
- package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
- package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useTargetedMessage.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
- package/lib/commonjs/components/ChannelList/Skeleton.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/commonjs/components/ChannelList/utils.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
- package/lib/commonjs/components/Chat/Chat.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useAppSettings.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useMutedUsers.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useSyncDatabase.js.map +1 -1
- package/lib/commonjs/components/ImageBackground.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryOverlay.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
- package/lib/commonjs/components/Indicators/EmptyStateIndicator.js.map +1 -1
- package/lib/commonjs/components/Indicators/LoadingDot.js.map +1 -1
- package/lib/commonjs/components/Indicators/LoadingDots.js.map +1 -1
- package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js.map +1 -1
- package/lib/commonjs/components/Indicators/LoadingIndicator.js.map +1 -1
- package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
- package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js.map +1 -1
- package/lib/commonjs/components/Message/Message.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
- package/lib/commonjs/components/MessageInput/AttachButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/CommandsButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/CooldownTimer.js.map +1 -1
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
- package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
- package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
- package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/commonjs/components/MessageInput/MoreOptionsButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/SendButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/UploadProgressIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageInput/components/InputEditingStateHeader.js.map +1 -1
- package/lib/commonjs/components/MessageInput/components/InputGiphySearch.js.map +1 -1
- package/lib/commonjs/components/MessageInput/components/InputReplyStateHeader.js.map +1 -1
- package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -1
- package/lib/commonjs/components/MessageList/DateHeader.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineDateSeparator.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageSystem.js.map +1 -1
- package/lib/commonjs/components/MessageList/NetworkDownIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/ScrollToBottomButton.js.map +1 -1
- package/lib/commonjs/components/MessageList/TypingIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useTypingString.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getDateSeparators.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -1
- package/lib/commonjs/components/ProgressControl/ProgressControl.js.map +1 -1
- package/lib/commonjs/components/RTLComponents/WritingDirectionAwareText.js.map +1 -1
- package/lib/commonjs/components/Reply/Reply.js.map +1 -1
- package/lib/commonjs/components/Spinner/Spinner.js.map +1 -1
- package/lib/commonjs/components/Thread/Thread.js.map +1 -1
- package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
- package/lib/commonjs/components/docs/data.js.map +1 -1
- package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
- package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
- package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
- package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
- package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
- package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
- package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/commonjs/contexts/debugContext/DebugContext.js.map +1 -1
- package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
- package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
- package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
- package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
- package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -1
- package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -1
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
- package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -1
- package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
- package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
- package/lib/commonjs/contexts/themeContext/ThemeContext.js.map +1 -1
- package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
- package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
- package/lib/commonjs/contexts/typingContext/TypingContext.js.map +1 -1
- package/lib/commonjs/emoji-data/compile.js.map +1 -1
- package/lib/commonjs/emoji-data/index.js.map +1 -1
- package/lib/commonjs/hooks/useAppStateListener.js.map +1 -1
- package/lib/commonjs/hooks/useIsMountedRef.js.map +1 -1
- package/lib/commonjs/hooks/useLoadingImage.js.map +1 -1
- package/lib/commonjs/hooks/useStreami18n.js.map +1 -1
- package/lib/commonjs/hooks/useTranslatedMessage.js.map +1 -1
- package/lib/commonjs/icons/ArrowRight.js.map +1 -1
- package/lib/commonjs/icons/AtMentions.js.map +1 -1
- package/lib/commonjs/icons/Attach.js.map +1 -1
- package/lib/commonjs/icons/Audio.js.map +1 -1
- package/lib/commonjs/icons/CSV.js.map +1 -1
- package/lib/commonjs/icons/Camera.js.map +1 -1
- package/lib/commonjs/icons/Check.js.map +1 -1
- package/lib/commonjs/icons/CheckAll.js.map +1 -1
- package/lib/commonjs/icons/CheckSend.js.map +1 -1
- package/lib/commonjs/icons/CircleClose.js.map +1 -1
- package/lib/commonjs/icons/CirclePlus.js.map +1 -1
- package/lib/commonjs/icons/CircleRight.js.map +1 -1
- package/lib/commonjs/icons/Close.js.map +1 -1
- package/lib/commonjs/icons/Copy.js.map +1 -1
- package/lib/commonjs/icons/CurveLineLeftUp.js.map +1 -1
- package/lib/commonjs/icons/DOC.js.map +1 -1
- package/lib/commonjs/icons/DOCX.js.map +1 -1
- package/lib/commonjs/icons/Delete.js.map +1 -1
- package/lib/commonjs/icons/Down.js.map +1 -1
- package/lib/commonjs/icons/DownloadArrow.js.map +1 -1
- package/lib/commonjs/icons/DownloadCloud.js.map +1 -1
- package/lib/commonjs/icons/Edit.js.map +1 -1
- package/lib/commonjs/icons/Error.js.map +1 -1
- package/lib/commonjs/icons/Eye.js.map +1 -1
- package/lib/commonjs/icons/Flag.js.map +1 -1
- package/lib/commonjs/icons/Folder.js.map +1 -1
- package/lib/commonjs/icons/GenericFile.js.map +1 -1
- package/lib/commonjs/icons/GiphyIcon.js.map +1 -1
- package/lib/commonjs/icons/Grid.js.map +1 -1
- package/lib/commonjs/icons/Group.js.map +1 -1
- package/lib/commonjs/icons/HTML.js.map +1 -1
- package/lib/commonjs/icons/Imgur.js.map +1 -1
- package/lib/commonjs/icons/LOLReaction.js.map +1 -1
- package/lib/commonjs/icons/Lightning.js.map +1 -1
- package/lib/commonjs/icons/Link.js.map +1 -1
- package/lib/commonjs/icons/Loading.js.map +1 -1
- package/lib/commonjs/icons/Logo.js.map +1 -1
- package/lib/commonjs/icons/LoveReaction.js.map +1 -1
- package/lib/commonjs/icons/MD.js.map +1 -1
- package/lib/commonjs/icons/MailOpen.js.map +1 -1
- package/lib/commonjs/icons/MenuPointHorizontal.js.map +1 -1
- package/lib/commonjs/icons/MenuPointVertical.js.map +1 -1
- package/lib/commonjs/icons/MessageFlag.js.map +1 -1
- package/lib/commonjs/icons/MessageIcon.js.map +1 -1
- package/lib/commonjs/icons/Mute.js.map +1 -1
- package/lib/commonjs/icons/Notification.js.map +1 -1
- package/lib/commonjs/icons/ODT.js.map +1 -1
- package/lib/commonjs/icons/PDF.js.map +1 -1
- package/lib/commonjs/icons/PPT.js.map +1 -1
- package/lib/commonjs/icons/PPTX.js.map +1 -1
- package/lib/commonjs/icons/Pause.js.map +1 -1
- package/lib/commonjs/icons/Picture.js.map +1 -1
- package/lib/commonjs/icons/Pin.js.map +1 -1
- package/lib/commonjs/icons/PinHeader.js.map +1 -1
- package/lib/commonjs/icons/Play.js.map +1 -1
- package/lib/commonjs/icons/RAR.js.map +1 -1
- package/lib/commonjs/icons/RTF.js.map +1 -1
- package/lib/commonjs/icons/Recorder.js.map +1 -1
- package/lib/commonjs/icons/Refresh.js.map +1 -1
- package/lib/commonjs/icons/SEVEN_Z.js.map +1 -1
- package/lib/commonjs/icons/Search.js.map +1 -1
- package/lib/commonjs/icons/SendRight.js.map +1 -1
- package/lib/commonjs/icons/SendUp.js.map +1 -1
- package/lib/commonjs/icons/Share.js.map +1 -1
- package/lib/commonjs/icons/ShareRightArrow.js.map +1 -1
- package/lib/commonjs/icons/Smile.js.map +1 -1
- package/lib/commonjs/icons/Sound.js.map +1 -1
- package/lib/commonjs/icons/TAR.js.map +1 -1
- package/lib/commonjs/icons/TXT.js.map +1 -1
- package/lib/commonjs/icons/ThreadReply.js.map +1 -1
- package/lib/commonjs/icons/ThumbsDownReaction.js.map +1 -1
- package/lib/commonjs/icons/ThumbsUpReaction.js.map +1 -1
- package/lib/commonjs/icons/Time.js.map +1 -1
- package/lib/commonjs/icons/Unknown.js.map +1 -1
- package/lib/commonjs/icons/Unpin.js.map +1 -1
- package/lib/commonjs/icons/User.js.map +1 -1
- package/lib/commonjs/icons/UserAdd.js.map +1 -1
- package/lib/commonjs/icons/UserAdmin.js.map +1 -1
- package/lib/commonjs/icons/UserDelete.js.map +1 -1
- package/lib/commonjs/icons/UserMinus.js.map +1 -1
- package/lib/commonjs/icons/Video.js.map +1 -1
- package/lib/commonjs/icons/Warning.js.map +1 -1
- package/lib/commonjs/icons/WutReaction.js.map +1 -1
- package/lib/commonjs/icons/XLS.js.map +1 -1
- package/lib/commonjs/icons/XLSX.js.map +1 -1
- package/lib/commonjs/icons/ZIP.js.map +1 -1
- package/lib/commonjs/icons/utils/base.js.map +1 -1
- package/lib/commonjs/init.js.map +1 -1
- package/lib/commonjs/mock-builders/DB/mock.js.map +1 -1
- package/lib/commonjs/mock-builders/api/deleteMessage.js.map +1 -1
- package/lib/commonjs/mock-builders/api/deleteReaction.js.map +1 -1
- package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
- package/lib/commonjs/mock-builders/api/sendReaction.js.map +1 -1
- package/lib/commonjs/mock-builders/api/useMockedApis.js.map +1 -1
- package/lib/commonjs/mock-builders/event/messageRead.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/member.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/message.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/reaction.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/user.js.map +1 -1
- package/lib/commonjs/mock-builders/mock.js.map +1 -1
- package/lib/commonjs/native.js.map +1 -1
- package/lib/commonjs/store/QuickSqliteClient.js.map +1 -1
- package/lib/commonjs/store/apis/deleteReactions.js.map +1 -1
- package/lib/commonjs/store/apis/getAllChannelIds.js.map +1 -1
- package/lib/commonjs/store/apis/getAppSettings.js.map +1 -1
- package/lib/commonjs/store/apis/getChannelMessages.js.map +1 -1
- package/lib/commonjs/store/apis/getLastSyncedAt.js.map +1 -1
- package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -1
- package/lib/commonjs/store/apis/queries/selectChannels.js.map +1 -1
- package/lib/commonjs/store/apis/queries/selectMembersForChannels.js.map +1 -1
- package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js.map +1 -1
- package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js.map +1 -1
- package/lib/commonjs/store/apis/queries/selectReadsForChannels.js.map +1 -1
- package/lib/commonjs/store/apis/updateMessage.js.map +1 -1
- package/lib/commonjs/store/apis/updateReaction.js.map +1 -1
- package/lib/commonjs/store/apis/upsertChannels.js.map +1 -1
- package/lib/commonjs/store/apis/upsertMembers.js.map +1 -1
- package/lib/commonjs/store/apis/upsertReads.js.map +1 -1
- package/lib/commonjs/store/apis/utils/convertFilterSortToQuery.js.map +1 -1
- package/lib/commonjs/store/mappers/mapDateTimeToStorable.js.map +1 -1
- package/lib/commonjs/store/mappers/mapTaskToStorable.js.map +1 -1
- package/lib/commonjs/store/sqlite-utils/appendOrderByClause.js.map +1 -1
- package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js.map +1 -1
- package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
- package/lib/commonjs/test-utils/BetterSqlite.js.map +1 -1
- package/lib/commonjs/types/types.js.map +1 -1
- package/lib/commonjs/utils/DBSyncManager.js.map +1 -1
- package/lib/commonjs/utils/Streami18n.js.map +1 -1
- package/lib/commonjs/utils/addReactionToLocalState.js.map +1 -1
- package/lib/commonjs/utils/date.js.map +1 -1
- package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -1
- package/lib/commonjs/utils/patchMessageTextCommand.js.map +1 -1
- package/lib/commonjs/utils/removeReactionFromLocalState.js.map +1 -1
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Attachment/Attachment.js.map +1 -1
- package/lib/module/components/Attachment/AttachmentActions.js.map +1 -1
- package/lib/module/components/Attachment/AudioAttachment.js.map +1 -1
- package/lib/module/components/Attachment/Card.js.map +1 -1
- package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
- package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
- package/lib/module/components/Attachment/FileIcon.js.map +1 -1
- package/lib/module/components/Attachment/Gallery.js.map +1 -1
- package/lib/module/components/Attachment/GalleryImage.js.map +1 -1
- package/lib/module/components/Attachment/Giphy.js.map +1 -1
- package/lib/module/components/Attachment/ImageLoadingFailedIndicator.js.map +1 -1
- package/lib/module/components/Attachment/ImageLoadingIndicator.js.map +1 -1
- package/lib/module/components/Attachment/ImageReloadIndicator.js.map +1 -1
- package/lib/module/components/Attachment/VideoThumbnail.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -1
- package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -1
- package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -1
- package/lib/module/components/Attachment/utils/openUrlSafely.js.map +1 -1
- package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerError.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerErrorImage.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js +14 -16
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/CameraSelectorIcon.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/FileSelectorIcon.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/ImageSelectorIcon.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
- package/lib/module/components/Avatar/Avatar.js.map +1 -1
- package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useTargetedMessage.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
- package/lib/module/components/ChannelList/Skeleton.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/module/components/ChannelList/utils.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
- package/lib/module/components/Chat/Chat.js.map +1 -1
- package/lib/module/components/Chat/hooks/useAppSettings.js.map +1 -1
- package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
- package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
- package/lib/module/components/Chat/hooks/useMutedUsers.js.map +1 -1
- package/lib/module/components/Chat/hooks/useSyncDatabase.js.map +1 -1
- package/lib/module/components/ImageBackground.js.map +1 -1
- package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
- package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryOverlay.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
- package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
- package/lib/module/components/Indicators/EmptyStateIndicator.js.map +1 -1
- package/lib/module/components/Indicators/LoadingDot.js.map +1 -1
- package/lib/module/components/Indicators/LoadingDots.js.map +1 -1
- package/lib/module/components/Indicators/LoadingErrorIndicator.js.map +1 -1
- package/lib/module/components/Indicators/LoadingIndicator.js.map +1 -1
- package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
- package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js.map +1 -1
- package/lib/module/components/Message/Message.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageReplies.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/ReactionList.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/renderText.test.js.map +1 -1
- package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
- package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
- package/lib/module/components/MessageInput/AttachButton.js.map +1 -1
- package/lib/module/components/MessageInput/CommandsButton.js.map +1 -1
- package/lib/module/components/MessageInput/CooldownTimer.js.map +1 -1
- package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
- package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
- package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
- package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/module/components/MessageInput/MoreOptionsButton.js.map +1 -1
- package/lib/module/components/MessageInput/SendButton.js.map +1 -1
- package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
- package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
- package/lib/module/components/MessageInput/UploadProgressIndicator.js.map +1 -1
- package/lib/module/components/MessageInput/components/InputEditingStateHeader.js.map +1 -1
- package/lib/module/components/MessageInput/components/InputGiphySearch.js.map +1 -1
- package/lib/module/components/MessageInput/components/InputReplyStateHeader.js.map +1 -1
- package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -1
- package/lib/module/components/MessageList/DateHeader.js.map +1 -1
- package/lib/module/components/MessageList/InlineDateSeparator.js.map +1 -1
- package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
- package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
- package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
- package/lib/module/components/MessageList/InlineUnreadIndicator.js.map +1 -1
- package/lib/module/components/MessageList/MessageList.js.map +1 -1
- package/lib/module/components/MessageList/MessageSystem.js.map +1 -1
- package/lib/module/components/MessageList/NetworkDownIndicator.js.map +1 -1
- package/lib/module/components/MessageList/ScrollToBottomButton.js.map +1 -1
- package/lib/module/components/MessageList/TypingIndicator.js.map +1 -1
- package/lib/module/components/MessageList/TypingIndicatorContainer.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useTypingString.js.map +1 -1
- package/lib/module/components/MessageList/utils/getDateSeparators.js.map +1 -1
- package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
- package/lib/module/components/MessageList/utils/getReadStates.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/module/components/MessageOverlay/OverlayBackdrop.js.map +1 -1
- package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
- package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
- package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -1
- package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -1
- package/lib/module/components/ProgressControl/ProgressControl.js.map +1 -1
- package/lib/module/components/RTLComponents/WritingDirectionAwareText.js.map +1 -1
- package/lib/module/components/Reply/Reply.js.map +1 -1
- package/lib/module/components/Spinner/Spinner.js.map +1 -1
- package/lib/module/components/Thread/Thread.js.map +1 -1
- package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
- package/lib/module/components/docs/data.js.map +1 -1
- package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
- package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
- package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
- package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
- package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
- package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
- package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/module/contexts/debugContext/DebugContext.js.map +1 -1
- package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
- package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
- package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
- package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
- package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -1
- package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -1
- package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
- package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -1
- package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
- package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
- package/lib/module/contexts/themeContext/ThemeContext.js.map +1 -1
- package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
- package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
- package/lib/module/contexts/typingContext/TypingContext.js.map +1 -1
- package/lib/module/emoji-data/compile.js.map +1 -1
- package/lib/module/emoji-data/index.js.map +1 -1
- package/lib/module/hooks/useAppStateListener.js.map +1 -1
- package/lib/module/hooks/useIsMountedRef.js.map +1 -1
- package/lib/module/hooks/useLoadingImage.js.map +1 -1
- package/lib/module/hooks/useStreami18n.js.map +1 -1
- package/lib/module/hooks/useTranslatedMessage.js.map +1 -1
- package/lib/module/icons/ArrowRight.js.map +1 -1
- package/lib/module/icons/AtMentions.js.map +1 -1
- package/lib/module/icons/Attach.js.map +1 -1
- package/lib/module/icons/Audio.js.map +1 -1
- package/lib/module/icons/CSV.js.map +1 -1
- package/lib/module/icons/Camera.js.map +1 -1
- package/lib/module/icons/Check.js.map +1 -1
- package/lib/module/icons/CheckAll.js.map +1 -1
- package/lib/module/icons/CheckSend.js.map +1 -1
- package/lib/module/icons/CircleClose.js.map +1 -1
- package/lib/module/icons/CirclePlus.js.map +1 -1
- package/lib/module/icons/CircleRight.js.map +1 -1
- package/lib/module/icons/Close.js.map +1 -1
- package/lib/module/icons/Copy.js.map +1 -1
- package/lib/module/icons/CurveLineLeftUp.js.map +1 -1
- package/lib/module/icons/DOC.js.map +1 -1
- package/lib/module/icons/DOCX.js.map +1 -1
- package/lib/module/icons/Delete.js.map +1 -1
- package/lib/module/icons/Down.js.map +1 -1
- package/lib/module/icons/DownloadArrow.js.map +1 -1
- package/lib/module/icons/DownloadCloud.js.map +1 -1
- package/lib/module/icons/Edit.js.map +1 -1
- package/lib/module/icons/Error.js.map +1 -1
- package/lib/module/icons/Eye.js.map +1 -1
- package/lib/module/icons/Flag.js.map +1 -1
- package/lib/module/icons/Folder.js.map +1 -1
- package/lib/module/icons/GenericFile.js.map +1 -1
- package/lib/module/icons/GiphyIcon.js.map +1 -1
- package/lib/module/icons/Grid.js.map +1 -1
- package/lib/module/icons/Group.js.map +1 -1
- package/lib/module/icons/HTML.js.map +1 -1
- package/lib/module/icons/Imgur.js.map +1 -1
- package/lib/module/icons/LOLReaction.js.map +1 -1
- package/lib/module/icons/Lightning.js.map +1 -1
- package/lib/module/icons/Link.js.map +1 -1
- package/lib/module/icons/Loading.js.map +1 -1
- package/lib/module/icons/Logo.js.map +1 -1
- package/lib/module/icons/LoveReaction.js.map +1 -1
- package/lib/module/icons/MD.js.map +1 -1
- package/lib/module/icons/MailOpen.js.map +1 -1
- package/lib/module/icons/MenuPointHorizontal.js.map +1 -1
- package/lib/module/icons/MenuPointVertical.js.map +1 -1
- package/lib/module/icons/MessageFlag.js.map +1 -1
- package/lib/module/icons/MessageIcon.js.map +1 -1
- package/lib/module/icons/Mute.js.map +1 -1
- package/lib/module/icons/Notification.js.map +1 -1
- package/lib/module/icons/ODT.js.map +1 -1
- package/lib/module/icons/PDF.js.map +1 -1
- package/lib/module/icons/PPT.js.map +1 -1
- package/lib/module/icons/PPTX.js.map +1 -1
- package/lib/module/icons/Pause.js.map +1 -1
- package/lib/module/icons/Picture.js.map +1 -1
- package/lib/module/icons/Pin.js.map +1 -1
- package/lib/module/icons/PinHeader.js.map +1 -1
- package/lib/module/icons/Play.js.map +1 -1
- package/lib/module/icons/RAR.js.map +1 -1
- package/lib/module/icons/RTF.js.map +1 -1
- package/lib/module/icons/Recorder.js.map +1 -1
- package/lib/module/icons/Refresh.js.map +1 -1
- package/lib/module/icons/SEVEN_Z.js.map +1 -1
- package/lib/module/icons/Search.js.map +1 -1
- package/lib/module/icons/SendRight.js.map +1 -1
- package/lib/module/icons/SendUp.js.map +1 -1
- package/lib/module/icons/Share.js.map +1 -1
- package/lib/module/icons/ShareRightArrow.js.map +1 -1
- package/lib/module/icons/Smile.js.map +1 -1
- package/lib/module/icons/Sound.js.map +1 -1
- package/lib/module/icons/TAR.js.map +1 -1
- package/lib/module/icons/TXT.js.map +1 -1
- package/lib/module/icons/ThreadReply.js.map +1 -1
- package/lib/module/icons/ThumbsDownReaction.js.map +1 -1
- package/lib/module/icons/ThumbsUpReaction.js.map +1 -1
- package/lib/module/icons/Time.js.map +1 -1
- package/lib/module/icons/Unknown.js.map +1 -1
- package/lib/module/icons/Unpin.js.map +1 -1
- package/lib/module/icons/User.js.map +1 -1
- package/lib/module/icons/UserAdd.js.map +1 -1
- package/lib/module/icons/UserAdmin.js.map +1 -1
- package/lib/module/icons/UserDelete.js.map +1 -1
- package/lib/module/icons/UserMinus.js.map +1 -1
- package/lib/module/icons/Video.js.map +1 -1
- package/lib/module/icons/Warning.js.map +1 -1
- package/lib/module/icons/WutReaction.js.map +1 -1
- package/lib/module/icons/XLS.js.map +1 -1
- package/lib/module/icons/XLSX.js.map +1 -1
- package/lib/module/icons/ZIP.js.map +1 -1
- package/lib/module/icons/utils/base.js.map +1 -1
- package/lib/module/init.js.map +1 -1
- package/lib/module/mock-builders/DB/mock.js.map +1 -1
- package/lib/module/mock-builders/api/deleteMessage.js.map +1 -1
- package/lib/module/mock-builders/api/deleteReaction.js.map +1 -1
- package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
- package/lib/module/mock-builders/api/sendReaction.js.map +1 -1
- package/lib/module/mock-builders/api/useMockedApis.js.map +1 -1
- package/lib/module/mock-builders/event/messageRead.js.map +1 -1
- package/lib/module/mock-builders/generator/attachment.js.map +1 -1
- package/lib/module/mock-builders/generator/channel.js.map +1 -1
- package/lib/module/mock-builders/generator/member.js.map +1 -1
- package/lib/module/mock-builders/generator/message.js.map +1 -1
- package/lib/module/mock-builders/generator/reaction.js.map +1 -1
- package/lib/module/mock-builders/generator/user.js.map +1 -1
- package/lib/module/mock-builders/mock.js.map +1 -1
- package/lib/module/native.js.map +1 -1
- package/lib/module/store/QuickSqliteClient.js.map +1 -1
- package/lib/module/store/apis/deleteReactions.js.map +1 -1
- package/lib/module/store/apis/getAllChannelIds.js.map +1 -1
- package/lib/module/store/apis/getAppSettings.js.map +1 -1
- package/lib/module/store/apis/getChannelMessages.js.map +1 -1
- package/lib/module/store/apis/getLastSyncedAt.js.map +1 -1
- package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -1
- package/lib/module/store/apis/queries/selectChannels.js.map +1 -1
- package/lib/module/store/apis/queries/selectMembersForChannels.js.map +1 -1
- package/lib/module/store/apis/queries/selectMessagesForChannels.js.map +1 -1
- package/lib/module/store/apis/queries/selectReactionsForMessages.js.map +1 -1
- package/lib/module/store/apis/queries/selectReadsForChannels.js.map +1 -1
- package/lib/module/store/apis/updateMessage.js.map +1 -1
- package/lib/module/store/apis/updateReaction.js.map +1 -1
- package/lib/module/store/apis/upsertChannels.js.map +1 -1
- package/lib/module/store/apis/upsertMembers.js.map +1 -1
- package/lib/module/store/apis/upsertReads.js.map +1 -1
- package/lib/module/store/apis/utils/convertFilterSortToQuery.js.map +1 -1
- package/lib/module/store/mappers/mapDateTimeToStorable.js.map +1 -1
- package/lib/module/store/mappers/mapTaskToStorable.js.map +1 -1
- package/lib/module/store/sqlite-utils/appendOrderByClause.js.map +1 -1
- package/lib/module/store/sqlite-utils/appendWhereCluase.js.map +1 -1
- package/lib/module/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
- package/lib/module/test-utils/BetterSqlite.js.map +1 -1
- package/lib/module/types/types.js.map +1 -1
- package/lib/module/utils/DBSyncManager.js.map +1 -1
- package/lib/module/utils/Streami18n.js.map +1 -1
- package/lib/module/utils/addReactionToLocalState.js.map +1 -1
- package/lib/module/utils/date.js.map +1 -1
- package/lib/module/utils/getResizedImageUrl.js.map +1 -1
- package/lib/module/utils/patchMessageTextCommand.js.map +1 -1
- package/lib/module/utils/removeReactionFromLocalState.js.map +1 -1
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/types/types.d.ts +1 -2
- package/package.json +1 -1
- package/src/components/AttachmentPicker/components/AttachmentPickerItem.tsx +1 -3
- package/src/types/types.ts +1 -2
- package/src/version.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ThemeContext","_TranslationContext","_this","_jsxFileName","styles","StyleSheet","create","container","alignItems","height","justifyContent","width","errorText","fontSize","fontWeight","marginTop","retryText","LoadingErrorWrapper","props","children","onPress","text","_useTheme","useTheme","_useTheme$theme","theme","accent_red","colors","_useTheme$theme$loadi","loadingErrorIndicator","createElement","TouchableOpacity","style","__self","__source","fileName","lineNumber","columnNumber","Text","color","testID","LoadingErrorIndicator","listType","_props$retry","retry","_useTheme2","_useTheme2$theme","black","_useTranslationContex","useTranslationContext","t","exports","displayName"],"sources":["LoadingErrorIndicator.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, TouchableOpacity } from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../contexts/translationContext/TranslationContext';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n height: '100%',\n justifyContent: 'center',\n width: '100%',\n },\n errorText: {\n fontSize: 14,\n fontWeight: '600',\n marginTop: 20,\n },\n retryText: {\n fontSize: 30,\n fontWeight: '600',\n },\n});\n\ntype LoadingErrorWrapperProps = {\n text: string;\n onPress?: () => void;\n};\n\nconst LoadingErrorWrapper: React.FC<LoadingErrorWrapperProps> = (props) => {\n const { children, onPress, text } = props;\n\n const {\n theme: {\n colors: { accent_red },\n loadingErrorIndicator: { container, errorText },\n },\n } = useTheme();\n\n return (\n <TouchableOpacity onPress={onPress} style={[styles.container, container]}>\n <Text style={[styles.errorText, { color: accent_red }, errorText]} testID='loading-error'>\n {text}\n </Text>\n {children}\n </TouchableOpacity>\n );\n};\n\nexport type LoadingErrorProps = {\n error?: boolean | Error;\n listType?: 'channel' | 'message' | 'default';\n loadNextPage?: () => Promise<void>;\n retry?: () => void;\n};\n\nexport const LoadingErrorIndicator: React.FC<LoadingErrorProps> = (props) => {\n const { listType, retry = () => null } = props;\n\n const {\n theme: {\n colors: { black },\n loadingErrorIndicator: { retryText },\n },\n } = useTheme();\n const { t } = useTranslationContext();\n\n switch (listType) {\n case 'channel':\n return (\n <LoadingErrorWrapper onPress={retry} text={t('Error loading channel list...')}>\n <Text style={[styles.retryText, { color: black }, retryText]}>⟳</Text>\n </LoadingErrorWrapper>\n );\n case 'message':\n return (\n <LoadingErrorWrapper\n onPress={retry}\n text={t('Error loading messages for this channel...')}\n />\n );\n default:\n return <LoadingErrorWrapper text={t('Error loading')} />;\n }\n};\n\nLoadingErrorIndicator.displayName = 'LoadingErrorIndicator{loadingErrorIndicator}';\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AAA6F,IAAAI,KAAA;EAAAC,YAAA;AAE7F,IAAMC,MAAM,GAAGC,uBAAU,CAACC,MAAM,CAAC;EAC/BC,SAAS,EAAE;IACTC,UAAU,EAAE,QAAQ;IACpBC,MAAM,EAAE,MAAM;IACdC,cAAc,EAAE,QAAQ;IACxBC,KAAK,EAAE;EACT,CAAC;EACDC,SAAS,EAAE;IACTC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,SAAS,EAAE;EACb,CAAC;EACDC,SAAS,EAAE;IACTH,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAOF,IAAMG,mBAAuD,GAAG,SAA1DA,mBAAuDA,CAAIC,KAAK,EAAK;EACzE,IAAQC,QAAQ,GAAoBD,KAAK,CAAjCC,QAAQ;IAAEC,OAAO,GAAWF,KAAK,CAAvBE,OAAO;IAAEC,IAAI,GAAKH,KAAK,CAAdG,IAAI;EAE/B,IAAAC,SAAA,GAKI,IAAAC,sBAAQ,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ThemeContext","_TranslationContext","_this","_jsxFileName","styles","StyleSheet","create","container","alignItems","height","justifyContent","width","errorText","fontSize","fontWeight","marginTop","retryText","LoadingErrorWrapper","props","children","onPress","text","_useTheme","useTheme","_useTheme$theme","theme","accent_red","colors","_useTheme$theme$loadi","loadingErrorIndicator","createElement","TouchableOpacity","style","__self","__source","fileName","lineNumber","columnNumber","Text","color","testID","LoadingErrorIndicator","listType","_props$retry","retry","_useTheme2","_useTheme2$theme","black","_useTranslationContex","useTranslationContext","t","exports","displayName"],"sources":["LoadingErrorIndicator.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, TouchableOpacity } from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../contexts/translationContext/TranslationContext';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n height: '100%',\n justifyContent: 'center',\n width: '100%',\n },\n errorText: {\n fontSize: 14,\n fontWeight: '600',\n marginTop: 20,\n },\n retryText: {\n fontSize: 30,\n fontWeight: '600',\n },\n});\n\ntype LoadingErrorWrapperProps = {\n text: string;\n onPress?: () => void;\n};\n\nconst LoadingErrorWrapper: React.FC<LoadingErrorWrapperProps> = (props) => {\n const { children, onPress, text } = props;\n\n const {\n theme: {\n colors: { accent_red },\n loadingErrorIndicator: { container, errorText },\n },\n } = useTheme();\n\n return (\n <TouchableOpacity onPress={onPress} style={[styles.container, container]}>\n <Text style={[styles.errorText, { color: accent_red }, errorText]} testID='loading-error'>\n {text}\n </Text>\n {children}\n </TouchableOpacity>\n );\n};\n\nexport type LoadingErrorProps = {\n error?: boolean | Error;\n listType?: 'channel' | 'message' | 'default';\n loadNextPage?: () => Promise<void>;\n retry?: () => void;\n};\n\nexport const LoadingErrorIndicator: React.FC<LoadingErrorProps> = (props) => {\n const { listType, retry = () => null } = props;\n\n const {\n theme: {\n colors: { black },\n loadingErrorIndicator: { retryText },\n },\n } = useTheme();\n const { t } = useTranslationContext();\n\n switch (listType) {\n case 'channel':\n return (\n <LoadingErrorWrapper onPress={retry} text={t('Error loading channel list...')}>\n <Text style={[styles.retryText, { color: black }, retryText]}>⟳</Text>\n </LoadingErrorWrapper>\n );\n case 'message':\n return (\n <LoadingErrorWrapper\n onPress={retry}\n text={t('Error loading messages for this channel...')}\n />\n );\n default:\n return <LoadingErrorWrapper text={t('Error loading')} />;\n }\n};\n\nLoadingErrorIndicator.displayName = 'LoadingErrorIndicator{loadingErrorIndicator}';\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ThemeContext","_TranslationContext","_Spinner","_this","_jsxFileName","styles","StyleSheet","create","container","alignItems","flex","justifyContent","loadingText","fontSize","fontWeight","marginTop","LoadingIndicatorWrapper","_ref","text","_useTheme","useTheme","_useTheme$theme","theme","black","colors","_useTheme$theme$loadi","loadingIndicator","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","Spinner","Text","color","testID","LoadingIndicator","props","listType","_useTranslationContex","useTranslationContext","t","exports","displayName"],"sources":["LoadingIndicator.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../contexts/translationContext/TranslationContext';\nimport { Spinner } from '../Spinner/Spinner';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n flex: 1,\n justifyContent: 'center',\n },\n loadingText: {\n fontSize: 14,\n fontWeight: '600',\n marginTop: 20,\n },\n});\n\nconst LoadingIndicatorWrapper: React.FC<{ text: string }> = ({ text }) => {\n const {\n theme: {\n colors: { black },\n loadingIndicator: { container, loadingText },\n },\n } = useTheme();\n\n return (\n <View style={[styles.container, container]}>\n <Spinner />\n <Text style={[styles.loadingText, { color: black }, loadingText]} testID='loading'>\n {text}\n </Text>\n </View>\n );\n};\n\nexport type LoadingProps = {\n listType?: 'channel' | 'message' | 'default';\n loadingText?: string;\n};\n\n/**\n * UI Component for LoadingIndicator\n */\nexport const LoadingIndicator: React.FC<LoadingProps> = (props) => {\n const { listType, loadingText } = props;\n\n const { t } = useTranslationContext();\n\n if (loadingText) {\n return <LoadingIndicatorWrapper text={loadingText} />;\n }\n\n switch (listType) {\n case 'channel':\n return <LoadingIndicatorWrapper text={t('Loading channels...')} />;\n case 'message':\n return <LoadingIndicatorWrapper text={t('Loading messages...')} />;\n default:\n return <LoadingIndicatorWrapper text={t('Loading...')} />;\n }\n};\n\nLoadingIndicator.displayName = 'LoadingIndicator{loadingIndicator}';\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAA6C,IAAAK,KAAA;EAAAC,YAAA;AAE7C,IAAMC,MAAM,GAAGC,uBAAU,CAACC,MAAM,CAAC;EAC/BC,SAAS,EAAE;IACTC,UAAU,EAAE,QAAQ;IACpBC,IAAI,EAAE,CAAC;IACPC,cAAc,EAAE;EAClB,CAAC;EACDC,WAAW,EAAE;IACXC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,SAAS,EAAE;EACb;AACF,CAAC,CAAC;AAEF,IAAMC,uBAAmD,GAAG,SAAtDA,uBAAmDA,CAAAC,IAAA,EAAiB;EAAA,IAAXC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EACjE,IAAAC,SAAA,GAKI,IAAAC,sBAAQ,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ThemeContext","_TranslationContext","_Spinner","_this","_jsxFileName","styles","StyleSheet","create","container","alignItems","flex","justifyContent","loadingText","fontSize","fontWeight","marginTop","LoadingIndicatorWrapper","_ref","text","_useTheme","useTheme","_useTheme$theme","theme","black","colors","_useTheme$theme$loadi","loadingIndicator","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","Spinner","Text","color","testID","LoadingIndicator","props","listType","_useTranslationContex","useTranslationContext","t","exports","displayName"],"sources":["LoadingIndicator.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../contexts/translationContext/TranslationContext';\nimport { Spinner } from '../Spinner/Spinner';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n flex: 1,\n justifyContent: 'center',\n },\n loadingText: {\n fontSize: 14,\n fontWeight: '600',\n marginTop: 20,\n },\n});\n\nconst LoadingIndicatorWrapper: React.FC<{ text: string }> = ({ text }) => {\n const {\n theme: {\n colors: { black },\n loadingIndicator: { container, loadingText },\n },\n } = useTheme();\n\n return (\n <View style={[styles.container, container]}>\n <Spinner />\n <Text style={[styles.loadingText, { color: black }, loadingText]} testID='loading'>\n {text}\n </Text>\n </View>\n );\n};\n\nexport type LoadingProps = {\n listType?: 'channel' | 'message' | 'default';\n loadingText?: string;\n};\n\n/**\n * UI Component for LoadingIndicator\n */\nexport const LoadingIndicator: React.FC<LoadingProps> = (props) => {\n const { listType, loadingText } = props;\n\n const { t } = useTranslationContext();\n\n if (loadingText) {\n return <LoadingIndicatorWrapper text={loadingText} />;\n }\n\n switch (listType) {\n case 'channel':\n return <LoadingIndicatorWrapper text={t('Loading channels...')} />;\n case 'message':\n return <LoadingIndicatorWrapper text={t('Loading messages...')} />;\n default:\n return <LoadingIndicatorWrapper text={t('Loading...')} />;\n }\n};\n\nLoadingIndicator.displayName = 'LoadingIndicator{loadingIndicator}';\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_KeyboardContext","_jsxFileName","_excluded","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","KeyboardCompatibleView","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","_frame","_keyboardEvent","_subscriptions","_appStateSubscription","_initialFrameHeight","_onKeyboardChange","event","_updateBottomIfNecessary","_onLayout","nativeEvent","layout","height","setState","bottom","_this$_keyboardEvent","duration","easing","endCoordinates","_relativeKeyboardHeight","state","LayoutAnimation","configureNext","update","type","Types","_handleAppStateChange","nextAppState","appState","match","setKeyboardListeners","unsetKeyboardListeners","Platform","OS","Keyboard","addListener","push","isKeyboardOpen","filter","subscription","remove","dismissKeyboard","Promise","resolve","dismiss","AppState","currentState","viewRef","React","createRef","_createClass2","key","value","keyboardFrame","_this$props$keyboardV","frame","keyboardY","screenY","keyboardVerticalOffset","relativeHeight","y","_StatusBar$currentHei","barHeights","Dimensions","get","Math","max","StatusBar","currentHeight","componentDidMount","addEventListener","componentWillUnmount","_this$_appStateSubscr","_this$_appStateSubscr2","removeEventListener","render","_this$props","behavior","children","contentContainerStyle","enabled","style","_objectWithoutProperties2","bottomHeight","heightStyle","flex","createElement","KeyboardProvider","__self","__source","fileName","lineNumber","columnNumber","View","_extends2","onLayout","ref","StyleSheet","compose","paddingBottom","Component","exports","defaultProps"],"sources":["KeyboardCompatibleView.tsx"],"sourcesContent":["import React from 'react';\nimport {\n AppState,\n AppStateStatus,\n Dimensions,\n EmitterSubscription,\n Keyboard,\n KeyboardAvoidingViewProps,\n KeyboardEvent,\n KeyboardEventListener,\n LayoutAnimation,\n LayoutChangeEvent,\n LayoutRectangle,\n NativeEventSubscription,\n Platform,\n ScreenRect,\n StatusBar,\n StyleSheet,\n View,\n} from 'react-native';\n\nimport { KeyboardProvider } from '../../contexts/keyboardContext/KeyboardContext';\n\n/**\n * View that moves out of the way when the keyboard appears by automatically\n * adjusting its height, position, or bottom padding.\n *\n * Following piece of code has been mostly copied from KeyboardAvoidingView component, with few additional tweaks.\n */\nexport class KeyboardCompatibleView extends React.Component<\n KeyboardAvoidingViewProps,\n { appState: AppStateStatus; bottom: number; isKeyboardOpen: boolean }\n> {\n static defaultProps: Pick<\n KeyboardAvoidingViewProps,\n 'behavior' | 'enabled' | 'keyboardVerticalOffset'\n > = {\n behavior: Platform.OS === 'ios' ? 'padding' : 'position',\n enabled: true,\n keyboardVerticalOffset: Platform.OS === 'ios' ? 86.5 : -300, // default MessageInput height\n };\n\n _frame: LayoutRectangle | null = null;\n _keyboardEvent: KeyboardEvent | null = null;\n _subscriptions: EmitterSubscription[] = [];\n _appStateSubscription: NativeEventSubscription | null = null;\n viewRef: React.RefObject<View>;\n _initialFrameHeight = 0;\n constructor(props: KeyboardAvoidingViewProps) {\n super(props);\n this.state = {\n appState: AppState.currentState,\n bottom: 0,\n isKeyboardOpen: false,\n };\n this.viewRef = React.createRef();\n }\n\n _relativeKeyboardHeight(keyboardFrame: ScreenRect) {\n const frame = this._frame;\n if (!frame || !keyboardFrame) {\n return 0;\n }\n\n const keyboardY = keyboardFrame.screenY - (this.props.keyboardVerticalOffset ?? 0);\n const relativeHeight = frame.y + frame.height - keyboardY;\n\n /**\n * When the StatusBar is translucent there is an issue\n * where the relative keyboard height is returned incorrectly\n * instead of 0 when closed.\n */\n if (Platform.OS === 'android') {\n const barHeights = Dimensions.get('screen').height - Dimensions.get('window').height;\n if (relativeHeight <= Math.max(barHeights, StatusBar.currentHeight ?? 0)) {\n return 0;\n }\n }\n\n // Calculate the displacement needed for the view such that it\n // no longer overlaps with the keyboard\n return Math.max(relativeHeight, 0);\n }\n\n _onKeyboardChange: KeyboardEventListener = (event) => {\n this._keyboardEvent = event;\n this._updateBottomIfNecessary();\n };\n\n _onLayout: (event: LayoutChangeEvent) => void = (event) => {\n this._frame = event.nativeEvent.layout;\n if (!this._initialFrameHeight) {\n // save the initial frame height, before the keyboard is visible\n this._initialFrameHeight = this._frame.height;\n }\n\n this._updateBottomIfNecessary();\n };\n\n _updateBottomIfNecessary = () => {\n if (this._keyboardEvent === null) {\n this.setState({ bottom: 0 });\n return;\n }\n\n const { duration, easing, endCoordinates } = this._keyboardEvent;\n const height = this._relativeKeyboardHeight(endCoordinates);\n\n if (this.state.bottom === height) {\n return;\n }\n\n if (duration && easing) {\n LayoutAnimation.configureNext({\n // We have to pass the duration equal to minimal accepted duration defined here: RCTLayoutAnimation.m\n duration: duration > 10 ? duration : 10,\n update: {\n duration: duration > 10 ? duration : 10,\n type: LayoutAnimation.Types[easing] || 'keyboard',\n },\n });\n }\n this.setState({ bottom: height });\n };\n\n _handleAppStateChange = (nextAppState: AppStateStatus) => {\n if (this.state.appState.match(/inactive|background/) && nextAppState === 'active') {\n this.setKeyboardListeners();\n }\n\n if (nextAppState.match(/inactive|background/)) {\n this.unsetKeyboardListeners();\n }\n\n this.setState({ appState: nextAppState });\n };\n\n setKeyboardListeners = () => {\n if (Platform.OS === 'ios') {\n this._subscriptions = [\n Keyboard.addListener('keyboardWillChangeFrame', this._onKeyboardChange),\n ];\n } else {\n this._subscriptions = [\n Keyboard.addListener('keyboardDidHide', this._onKeyboardChange),\n Keyboard.addListener('keyboardDidShow', this._onKeyboardChange),\n ];\n }\n\n this._subscriptions.push(\n Keyboard.addListener('keyboardDidHide', () => {\n this.setState({ isKeyboardOpen: false });\n }),\n Keyboard.addListener('keyboardDidShow', () => {\n this.setState({ isKeyboardOpen: true });\n }),\n );\n };\n\n unsetKeyboardListeners = () => {\n this._subscriptions = this._subscriptions.filter((subscription) => {\n subscription.remove();\n return false;\n });\n };\n\n dismissKeyboard: () => Promise<void> | undefined = () => {\n if (!this.state.isKeyboardOpen) {\n return;\n }\n\n return new Promise((resolve) => {\n const subscription = Keyboard.addListener('keyboardDidHide', () => {\n resolve();\n subscription.remove();\n });\n\n Keyboard.dismiss();\n });\n };\n\n componentDidMount() {\n this._appStateSubscription = AppState.addEventListener('change', this._handleAppStateChange);\n this.setKeyboardListeners();\n }\n\n componentWillUnmount() {\n // Following if-else condition to avoid deprecated warning coming RN 0.65\n if (this._appStateSubscription?.remove) {\n this._appStateSubscription?.remove();\n } else {\n AppState.removeEventListener('change', this._handleAppStateChange);\n }\n this.unsetKeyboardListeners();\n }\n\n render() {\n const { behavior, children, contentContainerStyle, enabled, style, ...props } = this.props;\n const bottomHeight = enabled ? this.state.bottom : 0;\n switch (behavior) {\n case 'height':\n // eslint-disable-next-line no-case-declarations\n let heightStyle;\n if (this._frame !== null && this.state.bottom > 0) {\n // Note that we only apply a height change when there is keyboard present,\n // i.e. this.state.bottom is greater than 0. If we remove that condition,\n // this.frame.height will never go back to its original value.\n // When height changes, we need to disable flex.\n heightStyle = {\n flex: 0,\n height: this._initialFrameHeight - bottomHeight,\n };\n }\n return (\n <KeyboardProvider value={{ dismissKeyboard: this.dismissKeyboard }}>\n <View\n onLayout={this._onLayout}\n ref={this.viewRef}\n style={StyleSheet.compose(style, heightStyle)}\n {...props}\n >\n {children}\n </View>\n </KeyboardProvider>\n );\n\n case 'position':\n return (\n <KeyboardProvider value={{ dismissKeyboard: this.dismissKeyboard }}>\n <View onLayout={this._onLayout} ref={this.viewRef} style={style} {...props}>\n <View\n style={StyleSheet.compose(contentContainerStyle, {\n bottom: bottomHeight,\n })}\n >\n {children}\n </View>\n </View>\n </KeyboardProvider>\n );\n\n case 'padding':\n return (\n <KeyboardProvider value={{ dismissKeyboard: this.dismissKeyboard }}>\n <View\n onLayout={this._onLayout}\n ref={this.viewRef}\n style={StyleSheet.compose(style, { paddingBottom: bottomHeight })}\n {...props}\n >\n {children}\n </View>\n </KeyboardProvider>\n );\n\n default:\n return (\n <KeyboardProvider value={{ dismissKeyboard: this.dismissKeyboard }}>\n <View onLayout={this._onLayout} ref={this.viewRef} style={style} {...props}>\n {children}\n </View>\n </KeyboardProvider>\n );\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_KeyboardContext","_jsxFileName","_excluded","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","KeyboardCompatibleView","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","_frame","_keyboardEvent","_subscriptions","_appStateSubscription","_initialFrameHeight","_onKeyboardChange","event","_updateBottomIfNecessary","_onLayout","nativeEvent","layout","height","setState","bottom","_this$_keyboardEvent","duration","easing","endCoordinates","_relativeKeyboardHeight","state","LayoutAnimation","configureNext","update","type","Types","_handleAppStateChange","nextAppState","appState","match","setKeyboardListeners","unsetKeyboardListeners","Platform","OS","Keyboard","addListener","push","isKeyboardOpen","filter","subscription","remove","dismissKeyboard","Promise","resolve","dismiss","AppState","currentState","viewRef","React","createRef","_createClass2","key","value","keyboardFrame","_this$props$keyboardV","frame","keyboardY","screenY","keyboardVerticalOffset","relativeHeight","y","_StatusBar$currentHei","barHeights","Dimensions","get","Math","max","StatusBar","currentHeight","componentDidMount","addEventListener","componentWillUnmount","_this$_appStateSubscr","_this$_appStateSubscr2","removeEventListener","render","_this$props","behavior","children","contentContainerStyle","enabled","style","_objectWithoutProperties2","bottomHeight","heightStyle","flex","createElement","KeyboardProvider","__self","__source","fileName","lineNumber","columnNumber","View","_extends2","onLayout","ref","StyleSheet","compose","paddingBottom","Component","exports","defaultProps"],"sources":["KeyboardCompatibleView.tsx"],"sourcesContent":["import React from 'react';\nimport {\n AppState,\n AppStateStatus,\n Dimensions,\n EmitterSubscription,\n Keyboard,\n KeyboardAvoidingViewProps,\n KeyboardEvent,\n KeyboardEventListener,\n LayoutAnimation,\n LayoutChangeEvent,\n LayoutRectangle,\n NativeEventSubscription,\n Platform,\n ScreenRect,\n StatusBar,\n StyleSheet,\n View,\n} from 'react-native';\n\nimport { KeyboardProvider } from '../../contexts/keyboardContext/KeyboardContext';\n\n/**\n * View that moves out of the way when the keyboard appears by automatically\n * adjusting its height, position, or bottom padding.\n *\n * Following piece of code has been mostly copied from KeyboardAvoidingView component, with few additional tweaks.\n */\nexport class KeyboardCompatibleView extends React.Component<\n KeyboardAvoidingViewProps,\n { appState: AppStateStatus; bottom: number; isKeyboardOpen: boolean }\n> {\n static defaultProps: Pick<\n KeyboardAvoidingViewProps,\n 'behavior' | 'enabled' | 'keyboardVerticalOffset'\n > = {\n behavior: Platform.OS === 'ios' ? 'padding' : 'position',\n enabled: true,\n keyboardVerticalOffset: Platform.OS === 'ios' ? 86.5 : -300, // default MessageInput height\n };\n\n _frame: LayoutRectangle | null = null;\n _keyboardEvent: KeyboardEvent | null = null;\n _subscriptions: EmitterSubscription[] = [];\n _appStateSubscription: NativeEventSubscription | null = null;\n viewRef: React.RefObject<View>;\n _initialFrameHeight = 0;\n constructor(props: KeyboardAvoidingViewProps) {\n super(props);\n this.state = {\n appState: AppState.currentState,\n bottom: 0,\n isKeyboardOpen: false,\n };\n this.viewRef = React.createRef();\n }\n\n _relativeKeyboardHeight(keyboardFrame: ScreenRect) {\n const frame = this._frame;\n if (!frame || !keyboardFrame) {\n return 0;\n }\n\n const keyboardY = keyboardFrame.screenY - (this.props.keyboardVerticalOffset ?? 0);\n const relativeHeight = frame.y + frame.height - keyboardY;\n\n /**\n * When the StatusBar is translucent there is an issue\n * where the relative keyboard height is returned incorrectly\n * instead of 0 when closed.\n */\n if (Platform.OS === 'android') {\n const barHeights = Dimensions.get('screen').height - Dimensions.get('window').height;\n if (relativeHeight <= Math.max(barHeights, StatusBar.currentHeight ?? 0)) {\n return 0;\n }\n }\n\n // Calculate the displacement needed for the view such that it\n // no longer overlaps with the keyboard\n return Math.max(relativeHeight, 0);\n }\n\n _onKeyboardChange: KeyboardEventListener = (event) => {\n this._keyboardEvent = event;\n this._updateBottomIfNecessary();\n };\n\n _onLayout: (event: LayoutChangeEvent) => void = (event) => {\n this._frame = event.nativeEvent.layout;\n if (!this._initialFrameHeight) {\n // save the initial frame height, before the keyboard is visible\n this._initialFrameHeight = this._frame.height;\n }\n\n this._updateBottomIfNecessary();\n };\n\n _updateBottomIfNecessary = () => {\n if (this._keyboardEvent === null) {\n this.setState({ bottom: 0 });\n return;\n }\n\n const { duration, easing, endCoordinates } = this._keyboardEvent;\n const height = this._relativeKeyboardHeight(endCoordinates);\n\n if (this.state.bottom === height) {\n return;\n }\n\n if (duration && easing) {\n LayoutAnimation.configureNext({\n // We have to pass the duration equal to minimal accepted duration defined here: RCTLayoutAnimation.m\n duration: duration > 10 ? duration : 10,\n update: {\n duration: duration > 10 ? duration : 10,\n type: LayoutAnimation.Types[easing] || 'keyboard',\n },\n });\n }\n this.setState({ bottom: height });\n };\n\n _handleAppStateChange = (nextAppState: AppStateStatus) => {\n if (this.state.appState.match(/inactive|background/) && nextAppState === 'active') {\n this.setKeyboardListeners();\n }\n\n if (nextAppState.match(/inactive|background/)) {\n this.unsetKeyboardListeners();\n }\n\n this.setState({ appState: nextAppState });\n };\n\n setKeyboardListeners = () => {\n if (Platform.OS === 'ios') {\n this._subscriptions = [\n Keyboard.addListener('keyboardWillChangeFrame', this._onKeyboardChange),\n ];\n } else {\n this._subscriptions = [\n Keyboard.addListener('keyboardDidHide', this._onKeyboardChange),\n Keyboard.addListener('keyboardDidShow', this._onKeyboardChange),\n ];\n }\n\n this._subscriptions.push(\n Keyboard.addListener('keyboardDidHide', () => {\n this.setState({ isKeyboardOpen: false });\n }),\n Keyboard.addListener('keyboardDidShow', () => {\n this.setState({ isKeyboardOpen: true });\n }),\n );\n };\n\n unsetKeyboardListeners = () => {\n this._subscriptions = this._subscriptions.filter((subscription) => {\n subscription.remove();\n return false;\n });\n };\n\n dismissKeyboard: () => Promise<void> | undefined = () => {\n if (!this.state.isKeyboardOpen) {\n return;\n }\n\n return new Promise((resolve) => {\n const subscription = Keyboard.addListener('keyboardDidHide', () => {\n resolve();\n subscription.remove();\n });\n\n Keyboard.dismiss();\n });\n };\n\n componentDidMount() {\n this._appStateSubscription = AppState.addEventListener('change', this._handleAppStateChange);\n this.setKeyboardListeners();\n }\n\n componentWillUnmount() {\n // Following if-else condition to avoid deprecated warning coming RN 0.65\n if (this._appStateSubscription?.remove) {\n this._appStateSubscription?.remove();\n } else {\n AppState.removeEventListener('change', this._handleAppStateChange);\n }\n this.unsetKeyboardListeners();\n }\n\n render() {\n const { behavior, children, contentContainerStyle, enabled, style, ...props } = this.props;\n const bottomHeight = enabled ? this.state.bottom : 0;\n switch (behavior) {\n case 'height':\n // eslint-disable-next-line no-case-declarations\n let heightStyle;\n if (this._frame !== null && this.state.bottom > 0) {\n // Note that we only apply a height change when there is keyboard present,\n // i.e. this.state.bottom is greater than 0. If we remove that condition,\n // this.frame.height will never go back to its original value.\n // When height changes, we need to disable flex.\n heightStyle = {\n flex: 0,\n height: this._initialFrameHeight - bottomHeight,\n };\n }\n return (\n <KeyboardProvider value={{ dismissKeyboard: this.dismissKeyboard }}>\n <View\n onLayout={this._onLayout}\n ref={this.viewRef}\n style={StyleSheet.compose(style, heightStyle)}\n {...props}\n >\n {children}\n </View>\n </KeyboardProvider>\n );\n\n case 'position':\n return (\n <KeyboardProvider value={{ dismissKeyboard: this.dismissKeyboard }}>\n <View onLayout={this._onLayout} ref={this.viewRef} style={style} {...props}>\n <View\n style={StyleSheet.compose(contentContainerStyle, {\n bottom: bottomHeight,\n })}\n >\n {children}\n </View>\n </View>\n </KeyboardProvider>\n );\n\n case 'padding':\n return (\n <KeyboardProvider value={{ dismissKeyboard: this.dismissKeyboard }}>\n <View\n onLayout={this._onLayout}\n ref={this.viewRef}\n style={StyleSheet.compose(style, { paddingBottom: bottomHeight })}\n {...props}\n >\n {children}\n </View>\n </KeyboardProvider>\n );\n\n default:\n return (\n <KeyboardProvider value={{ dismissKeyboard: this.dismissKeyboard }}>\n <View onLayout={this._onLayout} ref={this.viewRef} style={style} {...props}>\n {children}\n </View>\n </KeyboardProvider>\n );\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_KeyboardContext","_excluded","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","KeyboardCompatibleView","_ref","_ref$behavior","behavior","Platform","OS","children","contentContainerStyle","_ref$enabled","enabled","_ref$keyboardVertical","keyboardVerticalOffset","style","props","_objectWithoutProperties2","frame","useRef","initialFrameHeight","keyboardEvent","subscriptions","viewRef","_useState","useState","AppState","currentState","_useState2","_slicedToArray2","appState","setAppState","_useState3","_useState4","bottom","setBottom","_useState5","_useState6","isKeyboardOpen","setIsKeyboardOpen","useEffect","handleAppStateChange","nextAppState","match","setKeyboardListeners","unsetKeyboardListeners","onKeyboardChange","event","current","Keyboard","addListener","filter","subscription","remove","addEventListener","removeEventListener","updateBottomIfNecessary","dismissKeyboard","Promise","resolve","dismiss","onLayout","nativeEvent","layout","height","relativeKeyboardHeight","keyboardFrame","keyboardY","screenY","Math","max","y","_keyboardEvent$curren","duration","easing","endCoordinates","LayoutAnimation","configureNext","update","type","Types","bottomHeight","heightStyle","flex","createElement","KeyboardProvider","value","__self","__source","fileName","lineNumber","columnNumber","View","_extends2","ref","StyleSheet","compose","paddingBottom","exports"],"sources":["KeyboardCompatibleViewFC.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport {\n AppState,\n AppStateStatus,\n EmitterSubscription,\n Keyboard,\n KeyboardAvoidingViewProps,\n KeyboardEvent,\n KeyboardEventListener,\n LayoutAnimation,\n LayoutChangeEvent,\n LayoutRectangle,\n Platform,\n ScreenRect,\n StyleSheet,\n View,\n} from 'react-native';\n\nimport { KeyboardProvider } from '../../contexts/keyboardContext/KeyboardContext';\n\n/**\n * View that moves out of the way when the keyboard appears by automatically\n * adjusting its height, position, or bottom padding.\n *\n * Following piece of code has been mostly copied from KeyboardAvoidingView component, with few additional tweaks.\n */\nexport const KeyboardCompatibleView: React.FC<KeyboardAvoidingViewProps> = ({\n behavior = Platform.OS === 'ios' ? 'padding' : 'position',\n children,\n contentContainerStyle,\n enabled = true,\n keyboardVerticalOffset = Platform.OS === 'ios' ? 86.5 : -300,\n style,\n ...props\n}) => {\n const frame = useRef<LayoutRectangle>();\n const initialFrameHeight = useRef(0);\n const keyboardEvent = useRef<KeyboardEvent>();\n const subscriptions = useRef<EmitterSubscription[]>([]);\n const viewRef = useRef<View | null>(null);\n\n const [appState, setAppState] = useState<AppStateStatus>(AppState.currentState);\n const [bottom, setBottom] = useState(0);\n const [isKeyboardOpen, setIsKeyboardOpen] = useState(false);\n\n useEffect(() => {\n const handleAppStateChange = (nextAppState: AppStateStatus) => {\n if (appState.match(/inactive|background/) && nextAppState === 'active') {\n setKeyboardListeners();\n }\n\n if (nextAppState.match(/inactive|background/)) {\n unsetKeyboardListeners();\n }\n\n setAppState(nextAppState);\n };\n\n const onKeyboardChange: KeyboardEventListener = (event) => {\n keyboardEvent.current = event;\n };\n\n const setKeyboardListeners = () => {\n if (Platform.OS === 'ios') {\n subscriptions.current = [\n Keyboard.addListener('keyboardWillChangeFrame', onKeyboardChange),\n Keyboard.addListener('keyboardDidHide', () => {\n setIsKeyboardOpen(false);\n }),\n Keyboard.addListener('keyboardDidShow', () => {\n setIsKeyboardOpen(true);\n }),\n ];\n } else {\n subscriptions.current = [\n Keyboard.addListener('keyboardDidHide', (event) => {\n onKeyboardChange(event);\n setIsKeyboardOpen(false);\n }),\n Keyboard.addListener('keyboardDidShow', (event) => {\n onKeyboardChange(event);\n setIsKeyboardOpen(true);\n }),\n ];\n }\n };\n\n const unsetKeyboardListeners = () => {\n subscriptions.current = subscriptions.current.filter((subscription) => {\n subscription.remove();\n return false;\n });\n };\n\n AppState.addEventListener('change', handleAppStateChange);\n setKeyboardListeners();\n\n return () => {\n AppState.removeEventListener('change', handleAppStateChange);\n unsetKeyboardListeners();\n };\n }, []);\n\n useEffect(() => {\n updateBottomIfNecessary();\n }, [keyboardEvent.current]);\n\n const dismissKeyboard: () => Promise<void> | undefined = () => {\n if (!isKeyboardOpen) {\n return;\n }\n\n return new Promise((resolve) => {\n const subscription = Keyboard.addListener('keyboardDidHide', () => {\n resolve();\n subscription.remove();\n });\n\n Keyboard.dismiss();\n });\n };\n\n const onLayout: (event: LayoutChangeEvent) => void = (event) => {\n frame.current = event.nativeEvent.layout;\n if (!initialFrameHeight.current) {\n // save the initial frame height, before the keyboard is visible\n initialFrameHeight.current = frame.current.height;\n }\n\n updateBottomIfNecessary();\n };\n\n const relativeKeyboardHeight = (keyboardFrame: ScreenRect) => {\n if (!frame.current || !keyboardFrame) {\n return 0;\n }\n\n const keyboardY = keyboardFrame.screenY - keyboardVerticalOffset;\n\n // Calculate the displacement needed for the view such that it\n // no longer overlaps with the keyboard\n return Math.max(frame.current.y + frame.current.height - keyboardY, 0);\n };\n\n const updateBottomIfNecessary = () => {\n if (!keyboardEvent.current) {\n setBottom(0);\n return;\n }\n\n const { duration, easing, endCoordinates } = keyboardEvent.current;\n const height = relativeKeyboardHeight(endCoordinates);\n\n if (bottom === height) {\n return;\n }\n\n if (duration && easing) {\n LayoutAnimation.configureNext({\n // We have to pass the duration equal to minimal accepted duration defined here: RCTLayoutAnimation.m\n duration: duration > 10 ? duration : 10,\n update: {\n duration: duration > 10 ? duration : 10,\n type: LayoutAnimation.Types[easing] || 'keyboard',\n },\n });\n }\n setBottom(height);\n };\n\n const bottomHeight = enabled ? bottom : 0;\n switch (behavior) {\n case 'height':\n // eslint-disable-next-line no-case-declarations\n let heightStyle;\n if (frame.current && bottom > 0) {\n // Note that we only apply a height change when there is keyboard present,\n // i.e. this.state.bottom is greater than 0. If we remove that condition,\n // this.frame.height will never go back to its original value.\n // When height changes, we need to disable flex.\n heightStyle = {\n flex: 0,\n height: initialFrameHeight.current - bottomHeight,\n };\n }\n return (\n <KeyboardProvider value={{ dismissKeyboard }}>\n <View\n onLayout={onLayout}\n ref={viewRef}\n style={StyleSheet.compose(style, heightStyle)}\n {...props}\n >\n {children}\n </View>\n </KeyboardProvider>\n );\n\n case 'position':\n return (\n <KeyboardProvider value={{ dismissKeyboard }}>\n <View onLayout={onLayout} ref={viewRef} style={style} {...props}>\n <View\n style={StyleSheet.compose(contentContainerStyle, {\n bottom: bottomHeight,\n })}\n >\n {children}\n </View>\n </View>\n </KeyboardProvider>\n );\n\n case 'padding':\n return (\n <KeyboardProvider value={{ dismissKeyboard }}>\n <View\n onLayout={onLayout}\n ref={viewRef}\n style={StyleSheet.compose(style, { paddingBottom: bottomHeight })}\n {...props}\n >\n {children}\n </View>\n </KeyboardProvider>\n );\n\n default:\n return (\n <KeyboardProvider value={{ dismissKeyboard }}>\n <View onLayout={onLayout} ref={viewRef} style={style} {...props}>\n {children}\n </View>\n </KeyboardProvider>\n );\n }\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_KeyboardContext","_excluded","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","KeyboardCompatibleView","_ref","_ref$behavior","behavior","Platform","OS","children","contentContainerStyle","_ref$enabled","enabled","_ref$keyboardVertical","keyboardVerticalOffset","style","props","_objectWithoutProperties2","frame","useRef","initialFrameHeight","keyboardEvent","subscriptions","viewRef","_useState","useState","AppState","currentState","_useState2","_slicedToArray2","appState","setAppState","_useState3","_useState4","bottom","setBottom","_useState5","_useState6","isKeyboardOpen","setIsKeyboardOpen","useEffect","handleAppStateChange","nextAppState","match","setKeyboardListeners","unsetKeyboardListeners","onKeyboardChange","event","current","Keyboard","addListener","filter","subscription","remove","addEventListener","removeEventListener","updateBottomIfNecessary","dismissKeyboard","Promise","resolve","dismiss","onLayout","nativeEvent","layout","height","relativeKeyboardHeight","keyboardFrame","keyboardY","screenY","Math","max","y","_keyboardEvent$curren","duration","easing","endCoordinates","LayoutAnimation","configureNext","update","type","Types","bottomHeight","heightStyle","flex","createElement","KeyboardProvider","value","__self","__source","fileName","lineNumber","columnNumber","View","_extends2","ref","StyleSheet","compose","paddingBottom","exports"],"sources":["KeyboardCompatibleViewFC.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport {\n AppState,\n AppStateStatus,\n EmitterSubscription,\n Keyboard,\n KeyboardAvoidingViewProps,\n KeyboardEvent,\n KeyboardEventListener,\n LayoutAnimation,\n LayoutChangeEvent,\n LayoutRectangle,\n Platform,\n ScreenRect,\n StyleSheet,\n View,\n} from 'react-native';\n\nimport { KeyboardProvider } from '../../contexts/keyboardContext/KeyboardContext';\n\n/**\n * View that moves out of the way when the keyboard appears by automatically\n * adjusting its height, position, or bottom padding.\n *\n * Following piece of code has been mostly copied from KeyboardAvoidingView component, with few additional tweaks.\n */\nexport const KeyboardCompatibleView: React.FC<KeyboardAvoidingViewProps> = ({\n behavior = Platform.OS === 'ios' ? 'padding' : 'position',\n children,\n contentContainerStyle,\n enabled = true,\n keyboardVerticalOffset = Platform.OS === 'ios' ? 86.5 : -300,\n style,\n ...props\n}) => {\n const frame = useRef<LayoutRectangle>();\n const initialFrameHeight = useRef(0);\n const keyboardEvent = useRef<KeyboardEvent>();\n const subscriptions = useRef<EmitterSubscription[]>([]);\n const viewRef = useRef<View | null>(null);\n\n const [appState, setAppState] = useState<AppStateStatus>(AppState.currentState);\n const [bottom, setBottom] = useState(0);\n const [isKeyboardOpen, setIsKeyboardOpen] = useState(false);\n\n useEffect(() => {\n const handleAppStateChange = (nextAppState: AppStateStatus) => {\n if (appState.match(/inactive|background/) && nextAppState === 'active') {\n setKeyboardListeners();\n }\n\n if (nextAppState.match(/inactive|background/)) {\n unsetKeyboardListeners();\n }\n\n setAppState(nextAppState);\n };\n\n const onKeyboardChange: KeyboardEventListener = (event) => {\n keyboardEvent.current = event;\n };\n\n const setKeyboardListeners = () => {\n if (Platform.OS === 'ios') {\n subscriptions.current = [\n Keyboard.addListener('keyboardWillChangeFrame', onKeyboardChange),\n Keyboard.addListener('keyboardDidHide', () => {\n setIsKeyboardOpen(false);\n }),\n Keyboard.addListener('keyboardDidShow', () => {\n setIsKeyboardOpen(true);\n }),\n ];\n } else {\n subscriptions.current = [\n Keyboard.addListener('keyboardDidHide', (event) => {\n onKeyboardChange(event);\n setIsKeyboardOpen(false);\n }),\n Keyboard.addListener('keyboardDidShow', (event) => {\n onKeyboardChange(event);\n setIsKeyboardOpen(true);\n }),\n ];\n }\n };\n\n const unsetKeyboardListeners = () => {\n subscriptions.current = subscriptions.current.filter((subscription) => {\n subscription.remove();\n return false;\n });\n };\n\n AppState.addEventListener('change', handleAppStateChange);\n setKeyboardListeners();\n\n return () => {\n AppState.removeEventListener('change', handleAppStateChange);\n unsetKeyboardListeners();\n };\n }, []);\n\n useEffect(() => {\n updateBottomIfNecessary();\n }, [keyboardEvent.current]);\n\n const dismissKeyboard: () => Promise<void> | undefined = () => {\n if (!isKeyboardOpen) {\n return;\n }\n\n return new Promise((resolve) => {\n const subscription = Keyboard.addListener('keyboardDidHide', () => {\n resolve();\n subscription.remove();\n });\n\n Keyboard.dismiss();\n });\n };\n\n const onLayout: (event: LayoutChangeEvent) => void = (event) => {\n frame.current = event.nativeEvent.layout;\n if (!initialFrameHeight.current) {\n // save the initial frame height, before the keyboard is visible\n initialFrameHeight.current = frame.current.height;\n }\n\n updateBottomIfNecessary();\n };\n\n const relativeKeyboardHeight = (keyboardFrame: ScreenRect) => {\n if (!frame.current || !keyboardFrame) {\n return 0;\n }\n\n const keyboardY = keyboardFrame.screenY - keyboardVerticalOffset;\n\n // Calculate the displacement needed for the view such that it\n // no longer overlaps with the keyboard\n return Math.max(frame.current.y + frame.current.height - keyboardY, 0);\n };\n\n const updateBottomIfNecessary = () => {\n if (!keyboardEvent.current) {\n setBottom(0);\n return;\n }\n\n const { duration, easing, endCoordinates } = keyboardEvent.current;\n const height = relativeKeyboardHeight(endCoordinates);\n\n if (bottom === height) {\n return;\n }\n\n if (duration && easing) {\n LayoutAnimation.configureNext({\n // We have to pass the duration equal to minimal accepted duration defined here: RCTLayoutAnimation.m\n duration: duration > 10 ? duration : 10,\n update: {\n duration: duration > 10 ? duration : 10,\n type: LayoutAnimation.Types[easing] || 'keyboard',\n },\n });\n }\n setBottom(height);\n };\n\n const bottomHeight = enabled ? bottom : 0;\n switch (behavior) {\n case 'height':\n // eslint-disable-next-line no-case-declarations\n let heightStyle;\n if (frame.current && bottom > 0) {\n // Note that we only apply a height change when there is keyboard present,\n // i.e. this.state.bottom is greater than 0. If we remove that condition,\n // this.frame.height will never go back to its original value.\n // When height changes, we need to disable flex.\n heightStyle = {\n flex: 0,\n height: initialFrameHeight.current - bottomHeight,\n };\n }\n return (\n <KeyboardProvider value={{ dismissKeyboard }}>\n <View\n onLayout={onLayout}\n ref={viewRef}\n style={StyleSheet.compose(style, heightStyle)}\n {...props}\n >\n {children}\n </View>\n </KeyboardProvider>\n );\n\n case 'position':\n return (\n <KeyboardProvider value={{ dismissKeyboard }}>\n <View onLayout={onLayout} ref={viewRef} style={style} {...props}>\n <View\n style={StyleSheet.compose(contentContainerStyle, {\n bottom: bottomHeight,\n })}\n >\n {children}\n </View>\n </View>\n </KeyboardProvider>\n );\n\n case 'padding':\n return (\n <KeyboardProvider value={{ dismissKeyboard }}>\n <View\n onLayout={onLayout}\n ref={viewRef}\n style={StyleSheet.compose(style, { paddingBottom: bottomHeight })}\n {...props}\n >\n {children}\n </View>\n </KeyboardProvider>\n );\n\n default:\n return (\n <KeyboardProvider value={{ dismissKeyboard }}>\n <View onLayout={onLayout} ref={viewRef} style={style} {...props}>\n {children}\n </View>\n </KeyboardProvider>\n );\n }\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_useCreateMessageContext","_useMessageActionHandlers","_useMessageActions2","_messageActions","_ChannelContext","_ChatContext","_KeyboardContext","_MessageContext","_MessageOverlayContext","_MessagesContext","_OverlayContext","_OwnCapabilitiesContext","_ThemeContext","_ThreadContext","_TranslationContext","_native","_utils","_useMessageList","_this","_jsxFileName","MessageWithContext","props","_message$user","isMessageTypeDeleted","message","type","sendReaction","channel","deleteMessageFromContext","deleteMessage","disabled","dismissKeyboard","dismissKeyboardOnMessageTouch","_props$enableLongPres","enableLongPress","enforceUniqueReaction","_props$forceAlignMess","forceAlignMessages","goToMessage","_props$groupStyles","groupStyles","handleBlock","handleCopy","handleDelete","handleEdit","handleFlag","handleMute","handlePinMessage","handleQuotedReply","handleReactionProp","handleReaction","handleRetry","handleThreadReply","chatContext","lastReceivedId","members","_props$messageActions","messageActions","messageActionsProp","defaultMessageActions","messageContentOrderProp","messageContentOrder","messagesContext","MessageSimple","onLongPressProp","onLongPress","onLongPressMessageProp","onLongPressMessage","onPressProp","onPress","onPressMessageProp","onPressMessage","onPressInProp","onPressIn","onPressInMessageProp","onPressInMessage","onThreadSelect","openThread","OverlayReactionList","preventPress","removeMessage","deleteReaction","retrySendMessage","selectReaction","setData","setEditingState","setOverlay","setQuotedMessageState","showAvatar","showMessageStatus","showUnreadUnderlay","style","supportedReactions","t","isTargetedMessage","_props$threadList","threadList","updateMessage","client","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","bg_gradient_start","targetedMessageBackground","_useTheme$theme$messa","messageSimple","targetedMessageContainer","targetedMessageUnderlay","actionsEnabled","status","MessageStatusTypes","RECEIVED","isMyMessage","userID","user","id","handleAction","_ref","_asyncToGenerator2","_regenerator","mark","_callee","name","value","data","wrap","_callee$","_context","prev","next","sendAction","_defineProperty2","sent","parent_id","stop","_x","_x2","apply","arguments","onPressQuotedMessage","quotedMessage","errorOrFailed","FAILED","error","length","undefined","Keyboard","dismiss","quoted_message","showMessageOverlay","alignment","attachments","Array","isArray","reduce","acc","cur","files","push","other","og_scrape_url","isVideoPackageAvailable","videos","image_url","asset_url","thumb_url","title_link","images","hasAttachmentActions","some","attachment","actions","filter","content","text","onlyEmojis","emojiRegex","test","onOpenThread","hasReactions","latest_reactions","clientId","reactions","_message$latest_react","reactionType","reactionsOfReactionType","reaction","hasOwnReaction","user_id","own","ownCapabilities","useOwnCapabilitiesContext","_useMessageActionHand","useMessageActionHandlers","handleDeleteMessage","handleEditMessage","handleQuotedReplyMessage","handleResendMessage","handleToggleBanUser","handleToggleMuteUser","handleTogglePinMessage","handleToggleReaction","_useMessageActions","useMessageActions","blockUser","copyMessage","editMessage","flagMessage","muteUser","pinMessage","quotedReply","retry","threadReply","unpinMessage","_useTranslationContex","useTranslationContext","userLanguage","_ref2","_callee2","messageReactions","isThreadMessage","dismissOverlay","_args2","_callee2$","_context2","Boolean","messageContext","_extends2","messageReactionTitle","otherAttachments","actionHandlers","resendMessage","toggleBanUser","toggleMuteUser","toggleReaction","payload","defaultHandler","emitter","event","triggerHaptic","useCreateMessageContext","lastGroupMessage","onPressArgs","additionalInfo","handleOnPress","onPressInArgs","handleOnpressIn","createElement","View","pinned","backgroundColor","testID","__self","__source","fileName","lineNumber","columnNumber","MessageProvider","areEqual","prevProps","nextProps","_prevMessage$quoted_m","_nextMessage$quoted_m","_prevMessage$quoted_m2","_nextMessage$quoted_m2","_prevMessage$user","_nextMessage$user","prevMutedUsers","mutedUsers","prevGoToMessage","prevGroupStyles","isAttachmentEqual","prevIsTargetedMessage","prevLastReceivedId","prevMembers","prevMessage","prevShowUnreadUnderlay","prevT","nextMutedUsers","nextGoToMessage","nextGroupStyles","nextIsTargetedMessage","nextLastReceivedId","nextMembers","nextMessage","nextShowUnreadUnderlay","nextT","membersEqual","Object","keys","repliesEqual","reply_count","lastReceivedIdChangedAndMatters","goToMessageChangedAndMatters","quoted_message_id","groupStylesEqual","isPrevMessageTypeDeleted","isNextMessageTypeDeleted","messageEqual","isMessageWithStylesReadByAndDateSeparator","readBy","updated_at","isPrevQuotedMessageTypeDeleted","isNextQuotedMessageTypeDeleted","quotedMessageEqual","messageUserBannedEqual","banned","prevMessageAttachments","nextMessageAttachments","attachmentsEqual","every","index","attachmentKeysEqual","latestReactionsEqual","_ref3","_nextMessage$latest_r","mutedUserSame","mutedUser","_prevMessage$user2","target","_nextMessage$user2","showUnreadUnderlayEqual","tEqual","targetedMessageEqual","MemoizedMessage","React","memo","Message","_useChannelContext","useChannelContext","useChatContext","_useKeyboardContext","useKeyboardContext","_useMessageOverlayCon","useMessageOverlayContext","useMessagesContext","_useOverlayContext","useOverlayContext","_useThreadContext","useThreadContext","_useTranslationContex2","exports"],"sources":["Message.tsx"],"sourcesContent":["import React from 'react';\nimport { GestureResponderEvent, Keyboard, StyleProp, View, ViewStyle } from 'react-native';\n\nimport type { Attachment, UserResponse } from 'stream-chat';\n\nimport { useCreateMessageContext } from './hooks/useCreateMessageContext';\nimport { useMessageActionHandlers } from './hooks/useMessageActionHandlers';\nimport { useMessageActions } from './hooks/useMessageActions';\nimport { messageActions as defaultMessageActions } from './utils/messageActions';\n\nimport {\n ChannelContextValue,\n useChannelContext,\n} from '../../contexts/channelContext/ChannelContext';\nimport { ChatContextValue, useChatContext } from '../../contexts/chatContext/ChatContext';\nimport {\n KeyboardContextValue,\n useKeyboardContext,\n} from '../../contexts/keyboardContext/KeyboardContext';\nimport {\n MessageContextValue,\n MessageProvider,\n Reactions,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessageOverlayContextValue,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { useOwnCapabilitiesContext } from '../../contexts/ownCapabilitiesContext/OwnCapabilitiesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { ThreadContextValue, useThreadContext } from '../../contexts/threadContext/ThreadContext';\nimport {\n TranslationContextValue,\n useTranslationContext,\n} from '../../contexts/translationContext/TranslationContext';\n\nimport { isVideoPackageAvailable, triggerHaptic } from '../../native';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { emojiRegex, MessageStatusTypes } from '../../utils/utils';\n\nimport {\n isMessageWithStylesReadByAndDateSeparator,\n MessageType,\n} from '../MessageList/hooks/useMessageList';\nimport type { MessageActionListItemProps } from '../MessageOverlay/MessageActionListItem';\n\nexport type TouchableEmitter =\n | 'fileAttachment'\n | 'gallery'\n | 'giphy'\n | 'message'\n | 'messageContent'\n | 'messageReplies'\n | 'reactionList';\n\nexport type TextMentionTouchableHandlerPayload<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n emitter: 'textMention';\n additionalInfo?: { user?: UserResponse<StreamChatGenerics> };\n};\n\nexport type UrlTouchableHandlerPayload = {\n emitter: 'textLink' | 'card';\n additionalInfo?: { url?: string };\n};\n\nexport type FileAttachmentTouchableHandlerPayload<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n emitter: 'fileAttachment';\n additionalInfo?: { attachment?: Attachment<StreamChatGenerics> };\n};\n\nexport type TouchableHandlerPayload = {\n defaultHandler?: () => void;\n event?: GestureResponderEvent;\n} & (\n | {\n emitter?: Exclude<TouchableEmitter, 'textMention' | 'textLink' | 'card' | 'fileAttachment'>;\n }\n | TextMentionTouchableHandlerPayload\n | UrlTouchableHandlerPayload\n | FileAttachmentTouchableHandlerPayload\n);\n\nexport type MessageTouchableHandlerPayload<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = TouchableHandlerPayload & {\n actionHandlers?: MessageActionHandlers;\n additionalInfo?: Record<string, unknown>;\n message?: MessageType<StreamChatGenerics>;\n};\n\nexport type MessageActionHandlers = {\n deleteMessage: () => Promise<void>;\n editMessage: () => void;\n pinMessage: () => Promise<void>;\n quotedReply: () => void;\n resendMessage: () => Promise<void>;\n showMessageOverlay: () => void;\n toggleBanUser: () => Promise<void>;\n toggleMuteUser: () => Promise<void>;\n toggleReaction: (reactionType: string) => Promise<void>;\n};\n\nexport type MessagePropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n ChannelContextValue<StreamChatGenerics>,\n 'channel' | 'disabled' | 'enforceUniqueReaction' | 'members'\n> &\n Pick<KeyboardContextValue, 'dismissKeyboard'> &\n Partial<Omit<MessageContextValue<StreamChatGenerics>, 'groupStyles' | 'message'>> &\n Pick<MessageContextValue<StreamChatGenerics>, 'groupStyles' | 'message'> &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'sendReaction'\n | 'deleteMessage'\n | 'dismissKeyboardOnMessageTouch'\n | 'forceAlignMessages'\n | 'handleBlock'\n | 'handleCopy'\n | 'handleDelete'\n | 'handleEdit'\n | 'handleFlag'\n | 'handleMute'\n | 'handlePinMessage'\n | 'handleQuotedReply'\n | 'handleReaction'\n | 'handleRetry'\n | 'handleThreadReply'\n | 'isAttachmentEqual'\n | 'messageActions'\n | 'messageContentOrder'\n | 'MessageSimple'\n | 'onLongPressMessage'\n | 'onPressInMessage'\n | 'onPressMessage'\n | 'OverlayReactionList'\n | 'removeMessage'\n | 'deleteReaction'\n | 'retrySendMessage'\n | 'selectReaction'\n | 'setEditingState'\n | 'setQuotedMessageState'\n | 'supportedReactions'\n | 'updateMessage'\n > &\n Pick<MessageOverlayContextValue<StreamChatGenerics>, 'setData'> &\n Pick<OverlayContextValue, 'setOverlay'> &\n Pick<ThreadContextValue<StreamChatGenerics>, 'openThread'> &\n Pick<TranslationContextValue, 't'> & {\n chatContext: ChatContextValue<StreamChatGenerics>;\n messagesContext: MessagesContextValue<StreamChatGenerics>;\n /**\n * Whether or not users are able to long press messages.\n */\n enableLongPress?: boolean;\n goToMessage?: (messageId: string) => void;\n isTargetedMessage?: boolean;\n /**\n * Array of allowed actions or null on message, this can also be a function returning the array.\n * If all the actions need to be disabled an empty array should be provided as value of prop\n */\n /**\n * You can call methods available on the Message\n * component such as handleEdit, handleDelete, handleAction etc.\n *\n * Source - [Message](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/Message/Message.tsx)\n *\n * By default, we show the overlay with all the message actions on long press.\n *\n * @param message Message object which was long pressed\n * @param event Event object for onLongPress event\n **/\n onLongPress?: (payload: Partial<MessageTouchableHandlerPayload<StreamChatGenerics>>) => void;\n\n /**\n * You can call methods available on the Message\n * component such as handleEdit, handleDelete, handleAction etc.\n *\n * Source - [Message](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/Message/Message.tsx)\n *\n * By default, we will dismiss the keyboard on press.\n *\n * @param message Message object which was long pressed\n * @param event Event object for onLongPress event\n * */\n onPress?: (payload: Partial<MessageTouchableHandlerPayload<StreamChatGenerics>>) => void;\n onPressIn?: (payload: Partial<MessageTouchableHandlerPayload<StreamChatGenerics>>) => void;\n /**\n * Handler to open the thread on message. This is callback for touch event for replies button.\n *\n * @param message A message object to open the thread upon.\n */\n onThreadSelect?: (message: MessageType<StreamChatGenerics>) => void;\n showUnreadUnderlay?: boolean;\n style?: StyleProp<ViewStyle>;\n };\n\n/**\n * Since this component doesn't consume `messages` from `MessagesContext`,\n * we memoized and broke it up to prevent new messages from re-rendering\n * each individual Message component.\n */\nconst MessageWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessagePropsWithContext<StreamChatGenerics>,\n) => {\n const isMessageTypeDeleted = props.message.type === 'deleted';\n\n const {\n sendReaction,\n channel,\n deleteMessage: deleteMessageFromContext,\n disabled,\n dismissKeyboard,\n dismissKeyboardOnMessageTouch,\n enableLongPress = true,\n enforceUniqueReaction,\n forceAlignMessages = false,\n goToMessage,\n groupStyles = ['bottom'],\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction: handleReactionProp,\n handleRetry,\n handleThreadReply,\n chatContext,\n lastReceivedId,\n members,\n message,\n messageActions: messageActionsProp = defaultMessageActions,\n messageContentOrder: messageContentOrderProp,\n messagesContext,\n MessageSimple,\n onLongPress: onLongPressProp,\n onLongPressMessage: onLongPressMessageProp,\n onPress: onPressProp,\n onPressMessage: onPressMessageProp,\n onPressIn: onPressInProp,\n onPressInMessage: onPressInMessageProp,\n onThreadSelect,\n openThread,\n OverlayReactionList,\n preventPress,\n removeMessage,\n deleteReaction,\n retrySendMessage,\n selectReaction,\n setData,\n setEditingState,\n setOverlay,\n setQuotedMessageState,\n showAvatar,\n showMessageStatus,\n showUnreadUnderlay,\n style,\n supportedReactions,\n t,\n isTargetedMessage,\n threadList = false,\n updateMessage,\n } = props;\n const { client } = chatContext;\n const {\n theme: {\n colors: { bg_gradient_start, targetedMessageBackground },\n messageSimple: { targetedMessageContainer, targetedMessageUnderlay },\n },\n } = useTheme();\n\n const actionsEnabled =\n message.type === 'regular' && message.status === MessageStatusTypes.RECEIVED;\n\n const isMyMessage = client && message && client.userID === message.user?.id;\n\n const handleAction = async (name: string, value: string) => {\n if (message.id) {\n const data = await channel?.sendAction(message.id, { [name]: value });\n if (data?.message) {\n updateMessage(data.message);\n } else {\n removeMessage({\n id: message.id,\n parent_id: message.parent_id,\n });\n }\n }\n };\n\n const onPressQuotedMessage = (quotedMessage: MessageType<StreamChatGenerics>) => {\n if (!goToMessage) return;\n\n goToMessage(quotedMessage.id);\n };\n\n const errorOrFailed = message.type === 'error' || message.status === MessageStatusTypes.FAILED;\n\n const onPress = (error = errorOrFailed) => {\n if (dismissKeyboardOnMessageTouch) {\n Keyboard.dismiss();\n }\n const quotedMessage = message.quoted_message as MessageType<StreamChatGenerics>;\n if (error) {\n showMessageOverlay(false, true);\n } else if (quotedMessage) {\n onPressQuotedMessage(quotedMessage);\n }\n };\n\n const alignment =\n forceAlignMessages && (forceAlignMessages === 'left' || forceAlignMessages === 'right')\n ? forceAlignMessages\n : isMyMessage\n ? 'right'\n : 'left';\n\n /**\n * attachments contain files/images or other attachments\n *\n * if a URL attachment is present with a file/image then we\n * show just the text and markdown should make the link\n * clickable\n */\n const attachments =\n !isMessageTypeDeleted && Array.isArray(message.attachments)\n ? message.attachments.reduce(\n (acc, cur) => {\n if (cur.type === 'file') {\n acc.files.push(cur);\n acc.other = []; // remove other attachments if a file exists\n } else if (cur.type === 'video' && !cur.og_scrape_url && isVideoPackageAvailable()) {\n acc.videos.push({\n image_url: cur.asset_url,\n thumb_url: cur.thumb_url,\n type: 'video',\n });\n acc.other = [];\n } else if (cur.type === 'video' && !cur.og_scrape_url) {\n acc.files.push(cur);\n acc.other = []; // remove other attachments if a file exists\n } else if (cur.type === 'audio') {\n acc.files.push(cur);\n } else if (cur.type === 'image' && !cur.title_link && !cur.og_scrape_url) {\n /**\n * this next if is not combined with the above one for cases where we have\n * an image with no url links at all falling back to being an attachment\n */\n if (cur.image_url || cur.thumb_url) {\n acc.images.push(cur);\n acc.other = []; // remove other attachments if an image exists\n }\n // only add other attachments if there are no files/images\n } else if (!acc.files.length && !acc.images.length && !acc.videos.length) {\n acc.other.push(cur);\n }\n\n return acc;\n },\n {\n files: [] as Attachment<StreamChatGenerics>[],\n images: [] as Attachment<StreamChatGenerics>[],\n other: [] as Attachment<StreamChatGenerics>[],\n videos: [] as Attachment<StreamChatGenerics>[],\n },\n )\n : {\n files: [] as Attachment<StreamChatGenerics>[],\n images: [] as Attachment<StreamChatGenerics>[],\n other: [] as Attachment<StreamChatGenerics>[],\n videos: [] as Attachment<StreamChatGenerics>[],\n };\n /**\n * Check if any actions to prevent long press\n */\n const hasAttachmentActions =\n !isMessageTypeDeleted &&\n Array.isArray(message.attachments) &&\n message.attachments.some((attachment) => attachment.actions && attachment.actions.length);\n\n const messageContentOrder = messageContentOrderProp.filter((content) => {\n if (content === 'quoted_reply') {\n return !!message.quoted_message;\n }\n\n switch (content) {\n case 'attachments':\n return !!attachments.other.length;\n case 'files':\n return !!attachments.files.length;\n case 'gallery':\n return !!attachments.images.length || !!attachments.videos.length;\n case 'text':\n default:\n return !!message.text;\n }\n });\n\n const onlyEmojis =\n !attachments.files.length &&\n !attachments.images.length &&\n !attachments.other.length &&\n !!message.text &&\n emojiRegex.test(message.text);\n\n const onOpenThread = () => {\n if (onThreadSelect) {\n onThreadSelect(message);\n }\n if (openThread) {\n openThread(message);\n }\n };\n\n const hasReactions =\n !isMessageTypeDeleted && !!message.latest_reactions && message.latest_reactions.length > 0;\n\n const clientId = client.userID;\n\n const reactions = hasReactions\n ? supportedReactions.reduce((acc, cur) => {\n const reactionType = cur.type;\n const reactionsOfReactionType = message.latest_reactions?.filter(\n (reaction) => reaction.type === reactionType,\n );\n\n if (reactionsOfReactionType?.length) {\n const hasOwnReaction = reactionsOfReactionType.some(\n (reaction) => reaction.user_id === clientId,\n );\n acc.push({ own: hasOwnReaction, type: reactionType });\n }\n\n return acc;\n }, [] as Reactions)\n : [];\n\n const ownCapabilities = useOwnCapabilitiesContext();\n\n const {\n handleDeleteMessage,\n handleEditMessage,\n handleQuotedReplyMessage,\n handleResendMessage,\n handleToggleBanUser,\n handleToggleMuteUser,\n handleTogglePinMessage,\n handleToggleReaction,\n } = useMessageActionHandlers({\n channel,\n client,\n deleteMessage: deleteMessageFromContext,\n deleteReaction,\n enforceUniqueReaction,\n message,\n retrySendMessage,\n sendReaction,\n setEditingState,\n setQuotedMessageState,\n supportedReactions,\n });\n\n const {\n blockUser,\n copyMessage,\n deleteMessage,\n editMessage,\n flagMessage,\n handleReaction,\n muteUser,\n pinMessage,\n quotedReply,\n retry,\n threadReply,\n unpinMessage,\n } = useMessageActions({\n channel,\n client,\n deleteMessage: deleteMessageFromContext,\n deleteReaction,\n enforceUniqueReaction,\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction: handleReactionProp,\n handleRetry,\n handleThreadReply,\n message,\n onThreadSelect,\n openThread,\n removeMessage,\n retrySendMessage,\n selectReaction,\n sendReaction,\n setEditingState,\n setOverlay,\n setQuotedMessageState,\n supportedReactions,\n t,\n updateMessage,\n });\n\n const { userLanguage } = useTranslationContext();\n\n const showMessageOverlay = async (messageReactions = false, error = errorOrFailed) => {\n await dismissKeyboard();\n\n const isThreadMessage = threadList || !!message.parent_id;\n\n const dismissOverlay = () => setOverlay('none');\n\n const messageActions =\n typeof messageActionsProp !== 'function'\n ? messageActionsProp\n : messageActionsProp({\n blockUser,\n copyMessage,\n deleteMessage,\n dismissOverlay,\n editMessage,\n error,\n flagMessage,\n isMyMessage,\n isThreadMessage,\n message,\n messageReactions,\n muteUser,\n ownCapabilities,\n pinMessage,\n quotedReply,\n retry,\n threadReply,\n unpinMessage,\n });\n\n setData({\n alignment,\n chatContext,\n clientId: client.userID,\n files: attachments.files,\n groupStyles,\n handleReaction: ownCapabilities.sendReaction ? handleReaction : undefined,\n images: attachments.images,\n message,\n messageActions: messageActions?.filter(Boolean) as MessageActionListItemProps[] | undefined,\n messageContext: { ...messageContext, disabled: true, preventPress: true },\n messageReactionTitle: !error && messageReactions ? t('Message Reactions') : undefined,\n messagesContext: { ...messagesContext, messageContentOrder },\n onlyEmojis,\n otherAttachments: attachments.other,\n OverlayReactionList,\n ownCapabilities,\n supportedReactions,\n threadList,\n userLanguage,\n videos: attachments.videos,\n });\n\n setOverlay('message');\n };\n\n const actionHandlers: MessageActionHandlers = {\n deleteMessage: handleDeleteMessage,\n editMessage: handleEditMessage,\n pinMessage: handleTogglePinMessage,\n quotedReply: handleQuotedReplyMessage,\n resendMessage: handleResendMessage,\n showMessageOverlay,\n toggleBanUser: handleToggleBanUser,\n toggleMuteUser: handleToggleMuteUser,\n toggleReaction: handleToggleReaction,\n };\n\n const onLongPressMessage =\n disabled || hasAttachmentActions\n ? () => null\n : onLongPressMessageProp\n ? (payload?: TouchableHandlerPayload) =>\n onLongPressMessageProp({\n actionHandlers,\n defaultHandler: payload?.defaultHandler || showMessageOverlay,\n emitter: payload?.emitter || 'message',\n event: payload?.event,\n message,\n })\n : onLongPressProp\n ? (payload?: TouchableHandlerPayload) =>\n onLongPressProp({\n actionHandlers,\n defaultHandler: payload?.defaultHandler || showMessageOverlay,\n emitter: payload?.emitter || 'message',\n event: payload?.event,\n })\n : enableLongPress\n ? () => {\n triggerHaptic('impactMedium');\n showMessageOverlay(false);\n }\n : () => null;\n\n const messageContext = useCreateMessageContext({\n actionsEnabled,\n alignment,\n channel,\n disabled,\n files: attachments.files,\n goToMessage,\n groupStyles,\n handleAction,\n handleDeleteMessage,\n handleEditMessage,\n handleQuotedReplyMessage,\n handleResendMessage,\n handleToggleBanUser,\n handleToggleMuteUser,\n handleToggleReaction,\n hasReactions,\n images: attachments.images,\n isMyMessage,\n lastGroupMessage: groupStyles?.[0] === 'single' || groupStyles?.[0] === 'bottom',\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n onLongPress: onLongPressMessage,\n onlyEmojis,\n onOpenThread,\n onPress: (payload) => {\n const onPressArgs = {\n actionHandlers,\n additionalInfo: payload.additionalInfo,\n defaultHandler: payload.defaultHandler || onPress,\n emitter: payload.emitter || 'message',\n event: payload.event,\n message,\n };\n\n const handleOnPress = () => {\n if (onPressProp) return onPressProp(onPressArgs);\n if (onPressMessageProp) return onPressMessageProp(onPressArgs);\n if (payload.defaultHandler) return payload.defaultHandler();\n\n return onPress();\n };\n\n handleOnPress();\n },\n onPressIn:\n onPressInProp || onPressInMessageProp\n ? (payload) => {\n const onPressInArgs = {\n actionHandlers,\n defaultHandler: payload.defaultHandler,\n emitter: payload.emitter || 'message',\n event: payload.event,\n message,\n };\n const handleOnpressIn = () => {\n if (onPressInProp) return onPressInProp(onPressInArgs);\n if (onPressInMessageProp) return onPressInMessageProp(onPressInArgs);\n };\n handleOnpressIn();\n }\n : null,\n otherAttachments: attachments.other,\n preventPress,\n reactions,\n showAvatar,\n showMessageOverlay,\n showMessageStatus: typeof showMessageStatus === 'boolean' ? showMessageStatus : isMyMessage,\n threadList,\n videos: attachments.videos,\n });\n\n if (!(isMessageTypeDeleted || messageContentOrder.length)) return null;\n\n return (\n <View\n style={[\n message.pinned && {\n ...targetedMessageContainer,\n backgroundColor: targetedMessageBackground,\n },\n ]}\n testID='message-wrapper'\n >\n <View\n style={[\n style,\n {\n backgroundColor: showUnreadUnderlay ? bg_gradient_start : undefined,\n },\n ]}\n >\n <View\n style={[\n isTargetedMessage\n ? { backgroundColor: targetedMessageBackground, ...targetedMessageUnderlay }\n : {},\n ]}\n >\n <MessageProvider value={messageContext}>\n <MessageSimple />\n </MessageProvider>\n </View>\n </View>\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessagePropsWithContext<StreamChatGenerics>,\n nextProps: MessagePropsWithContext<StreamChatGenerics>,\n) => {\n const {\n chatContext: { mutedUsers: prevMutedUsers },\n goToMessage: prevGoToMessage,\n groupStyles: prevGroupStyles,\n isAttachmentEqual,\n isTargetedMessage: prevIsTargetedMessage,\n lastReceivedId: prevLastReceivedId,\n members: prevMembers,\n message: prevMessage,\n showUnreadUnderlay: prevShowUnreadUnderlay,\n t: prevT,\n } = prevProps;\n const {\n chatContext: { mutedUsers: nextMutedUsers },\n goToMessage: nextGoToMessage,\n groupStyles: nextGroupStyles,\n isTargetedMessage: nextIsTargetedMessage,\n lastReceivedId: nextLastReceivedId,\n members: nextMembers,\n message: nextMessage,\n showUnreadUnderlay: nextShowUnreadUnderlay,\n t: nextT,\n } = nextProps;\n\n const membersEqual = Object.keys(prevMembers).length === Object.keys(nextMembers).length;\n if (!membersEqual) return false;\n\n const repliesEqual = prevMessage.reply_count === nextMessage.reply_count;\n if (!repliesEqual) return false;\n\n const lastReceivedIdChangedAndMatters =\n prevLastReceivedId !== nextLastReceivedId &&\n (prevLastReceivedId === prevMessage.id ||\n prevLastReceivedId === nextMessage.id ||\n nextLastReceivedId === prevMessage.id ||\n nextLastReceivedId === nextMessage.id);\n\n if (lastReceivedIdChangedAndMatters) return false;\n\n const goToMessageChangedAndMatters =\n nextMessage.quoted_message_id && prevGoToMessage !== nextGoToMessage;\n\n if (goToMessageChangedAndMatters) return false;\n\n const groupStylesEqual =\n prevGroupStyles.length === nextGroupStyles.length && prevGroupStyles[0] === nextGroupStyles[0];\n if (!groupStylesEqual) return false;\n\n const isPrevMessageTypeDeleted = prevMessage.type === 'deleted';\n const isNextMessageTypeDeleted = nextMessage.type === 'deleted';\n\n const messageEqual =\n isPrevMessageTypeDeleted === isNextMessageTypeDeleted &&\n (isMessageWithStylesReadByAndDateSeparator(prevMessage) && prevMessage.readBy) ===\n (isMessageWithStylesReadByAndDateSeparator(nextMessage) && nextMessage.readBy) &&\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n prevMessage.text === nextMessage.text &&\n prevMessage.pinned === nextMessage.pinned &&\n `${prevMessage?.updated_at}` === `${nextMessage?.updated_at}`;\n\n if (!messageEqual) return false;\n\n const isPrevQuotedMessageTypeDeleted = prevMessage.quoted_message?.type === 'deleted';\n const isNextQuotedMessageTypeDeleted = nextMessage.quoted_message?.type === 'deleted';\n\n const quotedMessageEqual =\n prevMessage.quoted_message?.id === nextMessage.quoted_message?.id &&\n isPrevQuotedMessageTypeDeleted === isNextQuotedMessageTypeDeleted;\n\n if (!quotedMessageEqual) return false;\n\n const messageUserBannedEqual = prevMessage.user?.banned === nextMessage.user?.banned;\n if (!messageUserBannedEqual) return false;\n\n const prevMessageAttachments = prevMessage.attachments;\n const nextMessageAttachments = nextMessage.attachments;\n const attachmentsEqual =\n (Array.isArray(prevMessageAttachments) &&\n Array.isArray(nextMessageAttachments) &&\n prevMessageAttachments.length === nextMessageAttachments.length &&\n prevMessageAttachments.every((attachment, index) => {\n const attachmentKeysEqual =\n attachment.type === 'image'\n ? attachment.image_url === nextMessageAttachments[index].image_url &&\n attachment.thumb_url === nextMessageAttachments[index].thumb_url\n : attachment.type === nextMessageAttachments[index].type;\n\n if (isAttachmentEqual)\n return (\n attachmentKeysEqual && !!isAttachmentEqual(attachment, nextMessageAttachments[index])\n );\n\n return attachmentKeysEqual;\n })) ||\n prevMessageAttachments === nextMessageAttachments;\n if (!attachmentsEqual) return false;\n\n const latestReactionsEqual =\n Array.isArray(prevMessage.latest_reactions) && Array.isArray(nextMessage.latest_reactions)\n ? prevMessage.latest_reactions.length === nextMessage.latest_reactions.length &&\n prevMessage.latest_reactions.every(\n ({ type }, index) => type === nextMessage.latest_reactions?.[index].type,\n )\n : prevMessage.latest_reactions === nextMessage.latest_reactions;\n if (!latestReactionsEqual) return false;\n\n const mutedUserSame =\n prevMutedUsers.length === nextMutedUsers.length ||\n prevMutedUsers.some((mutedUser) => mutedUser.target.id === prevMessage.user?.id) ===\n nextMutedUsers.some((mutedUser) => mutedUser.target.id === nextMessage.user?.id);\n if (!mutedUserSame) return false;\n\n const showUnreadUnderlayEqual = prevShowUnreadUnderlay === nextShowUnreadUnderlay;\n if (!showUnreadUnderlayEqual) return false;\n\n const tEqual = prevT === nextT;\n if (!tEqual) return false;\n\n const targetedMessageEqual = prevIsTargetedMessage === nextIsTargetedMessage;\n if (!targetedMessageEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessage = React.memo(MessageWithContext, areEqual) as typeof MessageWithContext;\n\nexport type MessageProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessagePropsWithContext<StreamChatGenerics>, 'groupStyles' | 'message'>> &\n Pick<MessagePropsWithContext<StreamChatGenerics>, 'groupStyles' | 'message'>;\n\n/**\n * Message - A high level component which implements all the logic required for a message.\n * The actual rendering of the message is delegated via the \"Message\" property\n *\n * @example ./Message.md\n */\nexport const Message = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageProps<StreamChatGenerics>,\n) => {\n const { channel, disabled, enforceUniqueReaction, members } =\n useChannelContext<StreamChatGenerics>();\n const chatContext = useChatContext<StreamChatGenerics>();\n const { dismissKeyboard } = useKeyboardContext();\n const { setData } = useMessageOverlayContext<StreamChatGenerics>();\n const messagesContext = useMessagesContext<StreamChatGenerics>();\n const { setOverlay } = useOverlayContext();\n const { openThread } = useThreadContext<StreamChatGenerics>();\n const { t } = useTranslationContext();\n\n return (\n <MemoizedMessage<StreamChatGenerics>\n {...messagesContext}\n {...{\n channel,\n chatContext,\n disabled,\n dismissKeyboard,\n enforceUniqueReaction,\n members,\n messagesContext,\n openThread,\n setData,\n setOverlay,\n t,\n }}\n {...props}\n />\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_useCreateMessageContext","_useMessageActionHandlers","_useMessageActions2","_messageActions","_ChannelContext","_ChatContext","_KeyboardContext","_MessageContext","_MessageOverlayContext","_MessagesContext","_OverlayContext","_OwnCapabilitiesContext","_ThemeContext","_ThreadContext","_TranslationContext","_native","_utils","_useMessageList","_this","_jsxFileName","MessageWithContext","props","_message$user","isMessageTypeDeleted","message","type","sendReaction","channel","deleteMessageFromContext","deleteMessage","disabled","dismissKeyboard","dismissKeyboardOnMessageTouch","_props$enableLongPres","enableLongPress","enforceUniqueReaction","_props$forceAlignMess","forceAlignMessages","goToMessage","_props$groupStyles","groupStyles","handleBlock","handleCopy","handleDelete","handleEdit","handleFlag","handleMute","handlePinMessage","handleQuotedReply","handleReactionProp","handleReaction","handleRetry","handleThreadReply","chatContext","lastReceivedId","members","_props$messageActions","messageActions","messageActionsProp","defaultMessageActions","messageContentOrderProp","messageContentOrder","messagesContext","MessageSimple","onLongPressProp","onLongPress","onLongPressMessageProp","onLongPressMessage","onPressProp","onPress","onPressMessageProp","onPressMessage","onPressInProp","onPressIn","onPressInMessageProp","onPressInMessage","onThreadSelect","openThread","OverlayReactionList","preventPress","removeMessage","deleteReaction","retrySendMessage","selectReaction","setData","setEditingState","setOverlay","setQuotedMessageState","showAvatar","showMessageStatus","showUnreadUnderlay","style","supportedReactions","t","isTargetedMessage","_props$threadList","threadList","updateMessage","client","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","bg_gradient_start","targetedMessageBackground","_useTheme$theme$messa","messageSimple","targetedMessageContainer","targetedMessageUnderlay","actionsEnabled","status","MessageStatusTypes","RECEIVED","isMyMessage","userID","user","id","handleAction","_ref","_asyncToGenerator2","_regenerator","mark","_callee","name","value","data","wrap","_callee$","_context","prev","next","sendAction","_defineProperty2","sent","parent_id","stop","_x","_x2","apply","arguments","onPressQuotedMessage","quotedMessage","errorOrFailed","FAILED","error","length","undefined","Keyboard","dismiss","quoted_message","showMessageOverlay","alignment","attachments","Array","isArray","reduce","acc","cur","files","push","other","og_scrape_url","isVideoPackageAvailable","videos","image_url","asset_url","thumb_url","title_link","images","hasAttachmentActions","some","attachment","actions","filter","content","text","onlyEmojis","emojiRegex","test","onOpenThread","hasReactions","latest_reactions","clientId","reactions","_message$latest_react","reactionType","reactionsOfReactionType","reaction","hasOwnReaction","user_id","own","ownCapabilities","useOwnCapabilitiesContext","_useMessageActionHand","useMessageActionHandlers","handleDeleteMessage","handleEditMessage","handleQuotedReplyMessage","handleResendMessage","handleToggleBanUser","handleToggleMuteUser","handleTogglePinMessage","handleToggleReaction","_useMessageActions","useMessageActions","blockUser","copyMessage","editMessage","flagMessage","muteUser","pinMessage","quotedReply","retry","threadReply","unpinMessage","_useTranslationContex","useTranslationContext","userLanguage","_ref2","_callee2","messageReactions","isThreadMessage","dismissOverlay","_args2","_callee2$","_context2","Boolean","messageContext","_extends2","messageReactionTitle","otherAttachments","actionHandlers","resendMessage","toggleBanUser","toggleMuteUser","toggleReaction","payload","defaultHandler","emitter","event","triggerHaptic","useCreateMessageContext","lastGroupMessage","onPressArgs","additionalInfo","handleOnPress","onPressInArgs","handleOnpressIn","createElement","View","pinned","backgroundColor","testID","__self","__source","fileName","lineNumber","columnNumber","MessageProvider","areEqual","prevProps","nextProps","_prevMessage$quoted_m","_nextMessage$quoted_m","_prevMessage$quoted_m2","_nextMessage$quoted_m2","_prevMessage$user","_nextMessage$user","prevMutedUsers","mutedUsers","prevGoToMessage","prevGroupStyles","isAttachmentEqual","prevIsTargetedMessage","prevLastReceivedId","prevMembers","prevMessage","prevShowUnreadUnderlay","prevT","nextMutedUsers","nextGoToMessage","nextGroupStyles","nextIsTargetedMessage","nextLastReceivedId","nextMembers","nextMessage","nextShowUnreadUnderlay","nextT","membersEqual","Object","keys","repliesEqual","reply_count","lastReceivedIdChangedAndMatters","goToMessageChangedAndMatters","quoted_message_id","groupStylesEqual","isPrevMessageTypeDeleted","isNextMessageTypeDeleted","messageEqual","isMessageWithStylesReadByAndDateSeparator","readBy","updated_at","isPrevQuotedMessageTypeDeleted","isNextQuotedMessageTypeDeleted","quotedMessageEqual","messageUserBannedEqual","banned","prevMessageAttachments","nextMessageAttachments","attachmentsEqual","every","index","attachmentKeysEqual","latestReactionsEqual","_ref3","_nextMessage$latest_r","mutedUserSame","mutedUser","_prevMessage$user2","target","_nextMessage$user2","showUnreadUnderlayEqual","tEqual","targetedMessageEqual","MemoizedMessage","React","memo","Message","_useChannelContext","useChannelContext","useChatContext","_useKeyboardContext","useKeyboardContext","_useMessageOverlayCon","useMessageOverlayContext","useMessagesContext","_useOverlayContext","useOverlayContext","_useThreadContext","useThreadContext","_useTranslationContex2","exports"],"sources":["Message.tsx"],"sourcesContent":["import React from 'react';\nimport { GestureResponderEvent, Keyboard, StyleProp, View, ViewStyle } from 'react-native';\n\nimport type { Attachment, UserResponse } from 'stream-chat';\n\nimport { useCreateMessageContext } from './hooks/useCreateMessageContext';\nimport { useMessageActionHandlers } from './hooks/useMessageActionHandlers';\nimport { useMessageActions } from './hooks/useMessageActions';\nimport { messageActions as defaultMessageActions } from './utils/messageActions';\n\nimport {\n ChannelContextValue,\n useChannelContext,\n} from '../../contexts/channelContext/ChannelContext';\nimport { ChatContextValue, useChatContext } from '../../contexts/chatContext/ChatContext';\nimport {\n KeyboardContextValue,\n useKeyboardContext,\n} from '../../contexts/keyboardContext/KeyboardContext';\nimport {\n MessageContextValue,\n MessageProvider,\n Reactions,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessageOverlayContextValue,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { useOwnCapabilitiesContext } from '../../contexts/ownCapabilitiesContext/OwnCapabilitiesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { ThreadContextValue, useThreadContext } from '../../contexts/threadContext/ThreadContext';\nimport {\n TranslationContextValue,\n useTranslationContext,\n} from '../../contexts/translationContext/TranslationContext';\n\nimport { isVideoPackageAvailable, triggerHaptic } from '../../native';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { emojiRegex, MessageStatusTypes } from '../../utils/utils';\n\nimport {\n isMessageWithStylesReadByAndDateSeparator,\n MessageType,\n} from '../MessageList/hooks/useMessageList';\nimport type { MessageActionListItemProps } from '../MessageOverlay/MessageActionListItem';\n\nexport type TouchableEmitter =\n | 'fileAttachment'\n | 'gallery'\n | 'giphy'\n | 'message'\n | 'messageContent'\n | 'messageReplies'\n | 'reactionList';\n\nexport type TextMentionTouchableHandlerPayload<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n emitter: 'textMention';\n additionalInfo?: { user?: UserResponse<StreamChatGenerics> };\n};\n\nexport type UrlTouchableHandlerPayload = {\n emitter: 'textLink' | 'card';\n additionalInfo?: { url?: string };\n};\n\nexport type FileAttachmentTouchableHandlerPayload<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n emitter: 'fileAttachment';\n additionalInfo?: { attachment?: Attachment<StreamChatGenerics> };\n};\n\nexport type TouchableHandlerPayload = {\n defaultHandler?: () => void;\n event?: GestureResponderEvent;\n} & (\n | {\n emitter?: Exclude<TouchableEmitter, 'textMention' | 'textLink' | 'card' | 'fileAttachment'>;\n }\n | TextMentionTouchableHandlerPayload\n | UrlTouchableHandlerPayload\n | FileAttachmentTouchableHandlerPayload\n);\n\nexport type MessageTouchableHandlerPayload<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = TouchableHandlerPayload & {\n actionHandlers?: MessageActionHandlers;\n additionalInfo?: Record<string, unknown>;\n message?: MessageType<StreamChatGenerics>;\n};\n\nexport type MessageActionHandlers = {\n deleteMessage: () => Promise<void>;\n editMessage: () => void;\n pinMessage: () => Promise<void>;\n quotedReply: () => void;\n resendMessage: () => Promise<void>;\n showMessageOverlay: () => void;\n toggleBanUser: () => Promise<void>;\n toggleMuteUser: () => Promise<void>;\n toggleReaction: (reactionType: string) => Promise<void>;\n};\n\nexport type MessagePropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n ChannelContextValue<StreamChatGenerics>,\n 'channel' | 'disabled' | 'enforceUniqueReaction' | 'members'\n> &\n Pick<KeyboardContextValue, 'dismissKeyboard'> &\n Partial<Omit<MessageContextValue<StreamChatGenerics>, 'groupStyles' | 'message'>> &\n Pick<MessageContextValue<StreamChatGenerics>, 'groupStyles' | 'message'> &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'sendReaction'\n | 'deleteMessage'\n | 'dismissKeyboardOnMessageTouch'\n | 'forceAlignMessages'\n | 'handleBlock'\n | 'handleCopy'\n | 'handleDelete'\n | 'handleEdit'\n | 'handleFlag'\n | 'handleMute'\n | 'handlePinMessage'\n | 'handleQuotedReply'\n | 'handleReaction'\n | 'handleRetry'\n | 'handleThreadReply'\n | 'isAttachmentEqual'\n | 'messageActions'\n | 'messageContentOrder'\n | 'MessageSimple'\n | 'onLongPressMessage'\n | 'onPressInMessage'\n | 'onPressMessage'\n | 'OverlayReactionList'\n | 'removeMessage'\n | 'deleteReaction'\n | 'retrySendMessage'\n | 'selectReaction'\n | 'setEditingState'\n | 'setQuotedMessageState'\n | 'supportedReactions'\n | 'updateMessage'\n > &\n Pick<MessageOverlayContextValue<StreamChatGenerics>, 'setData'> &\n Pick<OverlayContextValue, 'setOverlay'> &\n Pick<ThreadContextValue<StreamChatGenerics>, 'openThread'> &\n Pick<TranslationContextValue, 't'> & {\n chatContext: ChatContextValue<StreamChatGenerics>;\n messagesContext: MessagesContextValue<StreamChatGenerics>;\n /**\n * Whether or not users are able to long press messages.\n */\n enableLongPress?: boolean;\n goToMessage?: (messageId: string) => void;\n isTargetedMessage?: boolean;\n /**\n * Array of allowed actions or null on message, this can also be a function returning the array.\n * If all the actions need to be disabled an empty array should be provided as value of prop\n */\n /**\n * You can call methods available on the Message\n * component such as handleEdit, handleDelete, handleAction etc.\n *\n * Source - [Message](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/Message/Message.tsx)\n *\n * By default, we show the overlay with all the message actions on long press.\n *\n * @param message Message object which was long pressed\n * @param event Event object for onLongPress event\n **/\n onLongPress?: (payload: Partial<MessageTouchableHandlerPayload<StreamChatGenerics>>) => void;\n\n /**\n * You can call methods available on the Message\n * component such as handleEdit, handleDelete, handleAction etc.\n *\n * Source - [Message](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/Message/Message.tsx)\n *\n * By default, we will dismiss the keyboard on press.\n *\n * @param message Message object which was long pressed\n * @param event Event object for onLongPress event\n * */\n onPress?: (payload: Partial<MessageTouchableHandlerPayload<StreamChatGenerics>>) => void;\n onPressIn?: (payload: Partial<MessageTouchableHandlerPayload<StreamChatGenerics>>) => void;\n /**\n * Handler to open the thread on message. This is callback for touch event for replies button.\n *\n * @param message A message object to open the thread upon.\n */\n onThreadSelect?: (message: MessageType<StreamChatGenerics>) => void;\n showUnreadUnderlay?: boolean;\n style?: StyleProp<ViewStyle>;\n };\n\n/**\n * Since this component doesn't consume `messages` from `MessagesContext`,\n * we memoized and broke it up to prevent new messages from re-rendering\n * each individual Message component.\n */\nconst MessageWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessagePropsWithContext<StreamChatGenerics>,\n) => {\n const isMessageTypeDeleted = props.message.type === 'deleted';\n\n const {\n sendReaction,\n channel,\n deleteMessage: deleteMessageFromContext,\n disabled,\n dismissKeyboard,\n dismissKeyboardOnMessageTouch,\n enableLongPress = true,\n enforceUniqueReaction,\n forceAlignMessages = false,\n goToMessage,\n groupStyles = ['bottom'],\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction: handleReactionProp,\n handleRetry,\n handleThreadReply,\n chatContext,\n lastReceivedId,\n members,\n message,\n messageActions: messageActionsProp = defaultMessageActions,\n messageContentOrder: messageContentOrderProp,\n messagesContext,\n MessageSimple,\n onLongPress: onLongPressProp,\n onLongPressMessage: onLongPressMessageProp,\n onPress: onPressProp,\n onPressMessage: onPressMessageProp,\n onPressIn: onPressInProp,\n onPressInMessage: onPressInMessageProp,\n onThreadSelect,\n openThread,\n OverlayReactionList,\n preventPress,\n removeMessage,\n deleteReaction,\n retrySendMessage,\n selectReaction,\n setData,\n setEditingState,\n setOverlay,\n setQuotedMessageState,\n showAvatar,\n showMessageStatus,\n showUnreadUnderlay,\n style,\n supportedReactions,\n t,\n isTargetedMessage,\n threadList = false,\n updateMessage,\n } = props;\n const { client } = chatContext;\n const {\n theme: {\n colors: { bg_gradient_start, targetedMessageBackground },\n messageSimple: { targetedMessageContainer, targetedMessageUnderlay },\n },\n } = useTheme();\n\n const actionsEnabled =\n message.type === 'regular' && message.status === MessageStatusTypes.RECEIVED;\n\n const isMyMessage = client && message && client.userID === message.user?.id;\n\n const handleAction = async (name: string, value: string) => {\n if (message.id) {\n const data = await channel?.sendAction(message.id, { [name]: value });\n if (data?.message) {\n updateMessage(data.message);\n } else {\n removeMessage({\n id: message.id,\n parent_id: message.parent_id,\n });\n }\n }\n };\n\n const onPressQuotedMessage = (quotedMessage: MessageType<StreamChatGenerics>) => {\n if (!goToMessage) return;\n\n goToMessage(quotedMessage.id);\n };\n\n const errorOrFailed = message.type === 'error' || message.status === MessageStatusTypes.FAILED;\n\n const onPress = (error = errorOrFailed) => {\n if (dismissKeyboardOnMessageTouch) {\n Keyboard.dismiss();\n }\n const quotedMessage = message.quoted_message as MessageType<StreamChatGenerics>;\n if (error) {\n showMessageOverlay(false, true);\n } else if (quotedMessage) {\n onPressQuotedMessage(quotedMessage);\n }\n };\n\n const alignment =\n forceAlignMessages && (forceAlignMessages === 'left' || forceAlignMessages === 'right')\n ? forceAlignMessages\n : isMyMessage\n ? 'right'\n : 'left';\n\n /**\n * attachments contain files/images or other attachments\n *\n * if a URL attachment is present with a file/image then we\n * show just the text and markdown should make the link\n * clickable\n */\n const attachments =\n !isMessageTypeDeleted && Array.isArray(message.attachments)\n ? message.attachments.reduce(\n (acc, cur) => {\n if (cur.type === 'file') {\n acc.files.push(cur);\n acc.other = []; // remove other attachments if a file exists\n } else if (cur.type === 'video' && !cur.og_scrape_url && isVideoPackageAvailable()) {\n acc.videos.push({\n image_url: cur.asset_url,\n thumb_url: cur.thumb_url,\n type: 'video',\n });\n acc.other = [];\n } else if (cur.type === 'video' && !cur.og_scrape_url) {\n acc.files.push(cur);\n acc.other = []; // remove other attachments if a file exists\n } else if (cur.type === 'audio') {\n acc.files.push(cur);\n } else if (cur.type === 'image' && !cur.title_link && !cur.og_scrape_url) {\n /**\n * this next if is not combined with the above one for cases where we have\n * an image with no url links at all falling back to being an attachment\n */\n if (cur.image_url || cur.thumb_url) {\n acc.images.push(cur);\n acc.other = []; // remove other attachments if an image exists\n }\n // only add other attachments if there are no files/images\n } else if (!acc.files.length && !acc.images.length && !acc.videos.length) {\n acc.other.push(cur);\n }\n\n return acc;\n },\n {\n files: [] as Attachment<StreamChatGenerics>[],\n images: [] as Attachment<StreamChatGenerics>[],\n other: [] as Attachment<StreamChatGenerics>[],\n videos: [] as Attachment<StreamChatGenerics>[],\n },\n )\n : {\n files: [] as Attachment<StreamChatGenerics>[],\n images: [] as Attachment<StreamChatGenerics>[],\n other: [] as Attachment<StreamChatGenerics>[],\n videos: [] as Attachment<StreamChatGenerics>[],\n };\n /**\n * Check if any actions to prevent long press\n */\n const hasAttachmentActions =\n !isMessageTypeDeleted &&\n Array.isArray(message.attachments) &&\n message.attachments.some((attachment) => attachment.actions && attachment.actions.length);\n\n const messageContentOrder = messageContentOrderProp.filter((content) => {\n if (content === 'quoted_reply') {\n return !!message.quoted_message;\n }\n\n switch (content) {\n case 'attachments':\n return !!attachments.other.length;\n case 'files':\n return !!attachments.files.length;\n case 'gallery':\n return !!attachments.images.length || !!attachments.videos.length;\n case 'text':\n default:\n return !!message.text;\n }\n });\n\n const onlyEmojis =\n !attachments.files.length &&\n !attachments.images.length &&\n !attachments.other.length &&\n !!message.text &&\n emojiRegex.test(message.text);\n\n const onOpenThread = () => {\n if (onThreadSelect) {\n onThreadSelect(message);\n }\n if (openThread) {\n openThread(message);\n }\n };\n\n const hasReactions =\n !isMessageTypeDeleted && !!message.latest_reactions && message.latest_reactions.length > 0;\n\n const clientId = client.userID;\n\n const reactions = hasReactions\n ? supportedReactions.reduce((acc, cur) => {\n const reactionType = cur.type;\n const reactionsOfReactionType = message.latest_reactions?.filter(\n (reaction) => reaction.type === reactionType,\n );\n\n if (reactionsOfReactionType?.length) {\n const hasOwnReaction = reactionsOfReactionType.some(\n (reaction) => reaction.user_id === clientId,\n );\n acc.push({ own: hasOwnReaction, type: reactionType });\n }\n\n return acc;\n }, [] as Reactions)\n : [];\n\n const ownCapabilities = useOwnCapabilitiesContext();\n\n const {\n handleDeleteMessage,\n handleEditMessage,\n handleQuotedReplyMessage,\n handleResendMessage,\n handleToggleBanUser,\n handleToggleMuteUser,\n handleTogglePinMessage,\n handleToggleReaction,\n } = useMessageActionHandlers({\n channel,\n client,\n deleteMessage: deleteMessageFromContext,\n deleteReaction,\n enforceUniqueReaction,\n message,\n retrySendMessage,\n sendReaction,\n setEditingState,\n setQuotedMessageState,\n supportedReactions,\n });\n\n const {\n blockUser,\n copyMessage,\n deleteMessage,\n editMessage,\n flagMessage,\n handleReaction,\n muteUser,\n pinMessage,\n quotedReply,\n retry,\n threadReply,\n unpinMessage,\n } = useMessageActions({\n channel,\n client,\n deleteMessage: deleteMessageFromContext,\n deleteReaction,\n enforceUniqueReaction,\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction: handleReactionProp,\n handleRetry,\n handleThreadReply,\n message,\n onThreadSelect,\n openThread,\n removeMessage,\n retrySendMessage,\n selectReaction,\n sendReaction,\n setEditingState,\n setOverlay,\n setQuotedMessageState,\n supportedReactions,\n t,\n updateMessage,\n });\n\n const { userLanguage } = useTranslationContext();\n\n const showMessageOverlay = async (messageReactions = false, error = errorOrFailed) => {\n await dismissKeyboard();\n\n const isThreadMessage = threadList || !!message.parent_id;\n\n const dismissOverlay = () => setOverlay('none');\n\n const messageActions =\n typeof messageActionsProp !== 'function'\n ? messageActionsProp\n : messageActionsProp({\n blockUser,\n copyMessage,\n deleteMessage,\n dismissOverlay,\n editMessage,\n error,\n flagMessage,\n isMyMessage,\n isThreadMessage,\n message,\n messageReactions,\n muteUser,\n ownCapabilities,\n pinMessage,\n quotedReply,\n retry,\n threadReply,\n unpinMessage,\n });\n\n setData({\n alignment,\n chatContext,\n clientId: client.userID,\n files: attachments.files,\n groupStyles,\n handleReaction: ownCapabilities.sendReaction ? handleReaction : undefined,\n images: attachments.images,\n message,\n messageActions: messageActions?.filter(Boolean) as MessageActionListItemProps[] | undefined,\n messageContext: { ...messageContext, disabled: true, preventPress: true },\n messageReactionTitle: !error && messageReactions ? t('Message Reactions') : undefined,\n messagesContext: { ...messagesContext, messageContentOrder },\n onlyEmojis,\n otherAttachments: attachments.other,\n OverlayReactionList,\n ownCapabilities,\n supportedReactions,\n threadList,\n userLanguage,\n videos: attachments.videos,\n });\n\n setOverlay('message');\n };\n\n const actionHandlers: MessageActionHandlers = {\n deleteMessage: handleDeleteMessage,\n editMessage: handleEditMessage,\n pinMessage: handleTogglePinMessage,\n quotedReply: handleQuotedReplyMessage,\n resendMessage: handleResendMessage,\n showMessageOverlay,\n toggleBanUser: handleToggleBanUser,\n toggleMuteUser: handleToggleMuteUser,\n toggleReaction: handleToggleReaction,\n };\n\n const onLongPressMessage =\n disabled || hasAttachmentActions\n ? () => null\n : onLongPressMessageProp\n ? (payload?: TouchableHandlerPayload) =>\n onLongPressMessageProp({\n actionHandlers,\n defaultHandler: payload?.defaultHandler || showMessageOverlay,\n emitter: payload?.emitter || 'message',\n event: payload?.event,\n message,\n })\n : onLongPressProp\n ? (payload?: TouchableHandlerPayload) =>\n onLongPressProp({\n actionHandlers,\n defaultHandler: payload?.defaultHandler || showMessageOverlay,\n emitter: payload?.emitter || 'message',\n event: payload?.event,\n })\n : enableLongPress\n ? () => {\n triggerHaptic('impactMedium');\n showMessageOverlay(false);\n }\n : () => null;\n\n const messageContext = useCreateMessageContext({\n actionsEnabled,\n alignment,\n channel,\n disabled,\n files: attachments.files,\n goToMessage,\n groupStyles,\n handleAction,\n handleDeleteMessage,\n handleEditMessage,\n handleQuotedReplyMessage,\n handleResendMessage,\n handleToggleBanUser,\n handleToggleMuteUser,\n handleToggleReaction,\n hasReactions,\n images: attachments.images,\n isMyMessage,\n lastGroupMessage: groupStyles?.[0] === 'single' || groupStyles?.[0] === 'bottom',\n lastReceivedId,\n members,\n message,\n messageContentOrder,\n onLongPress: onLongPressMessage,\n onlyEmojis,\n onOpenThread,\n onPress: (payload) => {\n const onPressArgs = {\n actionHandlers,\n additionalInfo: payload.additionalInfo,\n defaultHandler: payload.defaultHandler || onPress,\n emitter: payload.emitter || 'message',\n event: payload.event,\n message,\n };\n\n const handleOnPress = () => {\n if (onPressProp) return onPressProp(onPressArgs);\n if (onPressMessageProp) return onPressMessageProp(onPressArgs);\n if (payload.defaultHandler) return payload.defaultHandler();\n\n return onPress();\n };\n\n handleOnPress();\n },\n onPressIn:\n onPressInProp || onPressInMessageProp\n ? (payload) => {\n const onPressInArgs = {\n actionHandlers,\n defaultHandler: payload.defaultHandler,\n emitter: payload.emitter || 'message',\n event: payload.event,\n message,\n };\n const handleOnpressIn = () => {\n if (onPressInProp) return onPressInProp(onPressInArgs);\n if (onPressInMessageProp) return onPressInMessageProp(onPressInArgs);\n };\n handleOnpressIn();\n }\n : null,\n otherAttachments: attachments.other,\n preventPress,\n reactions,\n showAvatar,\n showMessageOverlay,\n showMessageStatus: typeof showMessageStatus === 'boolean' ? showMessageStatus : isMyMessage,\n threadList,\n videos: attachments.videos,\n });\n\n if (!(isMessageTypeDeleted || messageContentOrder.length)) return null;\n\n return (\n <View\n style={[\n message.pinned && {\n ...targetedMessageContainer,\n backgroundColor: targetedMessageBackground,\n },\n ]}\n testID='message-wrapper'\n >\n <View\n style={[\n style,\n {\n backgroundColor: showUnreadUnderlay ? bg_gradient_start : undefined,\n },\n ]}\n >\n <View\n style={[\n isTargetedMessage\n ? { backgroundColor: targetedMessageBackground, ...targetedMessageUnderlay }\n : {},\n ]}\n >\n <MessageProvider value={messageContext}>\n <MessageSimple />\n </MessageProvider>\n </View>\n </View>\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessagePropsWithContext<StreamChatGenerics>,\n nextProps: MessagePropsWithContext<StreamChatGenerics>,\n) => {\n const {\n chatContext: { mutedUsers: prevMutedUsers },\n goToMessage: prevGoToMessage,\n groupStyles: prevGroupStyles,\n isAttachmentEqual,\n isTargetedMessage: prevIsTargetedMessage,\n lastReceivedId: prevLastReceivedId,\n members: prevMembers,\n message: prevMessage,\n showUnreadUnderlay: prevShowUnreadUnderlay,\n t: prevT,\n } = prevProps;\n const {\n chatContext: { mutedUsers: nextMutedUsers },\n goToMessage: nextGoToMessage,\n groupStyles: nextGroupStyles,\n isTargetedMessage: nextIsTargetedMessage,\n lastReceivedId: nextLastReceivedId,\n members: nextMembers,\n message: nextMessage,\n showUnreadUnderlay: nextShowUnreadUnderlay,\n t: nextT,\n } = nextProps;\n\n const membersEqual = Object.keys(prevMembers).length === Object.keys(nextMembers).length;\n if (!membersEqual) return false;\n\n const repliesEqual = prevMessage.reply_count === nextMessage.reply_count;\n if (!repliesEqual) return false;\n\n const lastReceivedIdChangedAndMatters =\n prevLastReceivedId !== nextLastReceivedId &&\n (prevLastReceivedId === prevMessage.id ||\n prevLastReceivedId === nextMessage.id ||\n nextLastReceivedId === prevMessage.id ||\n nextLastReceivedId === nextMessage.id);\n\n if (lastReceivedIdChangedAndMatters) return false;\n\n const goToMessageChangedAndMatters =\n nextMessage.quoted_message_id && prevGoToMessage !== nextGoToMessage;\n\n if (goToMessageChangedAndMatters) return false;\n\n const groupStylesEqual =\n prevGroupStyles.length === nextGroupStyles.length && prevGroupStyles[0] === nextGroupStyles[0];\n if (!groupStylesEqual) return false;\n\n const isPrevMessageTypeDeleted = prevMessage.type === 'deleted';\n const isNextMessageTypeDeleted = nextMessage.type === 'deleted';\n\n const messageEqual =\n isPrevMessageTypeDeleted === isNextMessageTypeDeleted &&\n (isMessageWithStylesReadByAndDateSeparator(prevMessage) && prevMessage.readBy) ===\n (isMessageWithStylesReadByAndDateSeparator(nextMessage) && nextMessage.readBy) &&\n prevMessage.status === nextMessage.status &&\n prevMessage.type === nextMessage.type &&\n prevMessage.text === nextMessage.text &&\n prevMessage.pinned === nextMessage.pinned &&\n `${prevMessage?.updated_at}` === `${nextMessage?.updated_at}`;\n\n if (!messageEqual) return false;\n\n const isPrevQuotedMessageTypeDeleted = prevMessage.quoted_message?.type === 'deleted';\n const isNextQuotedMessageTypeDeleted = nextMessage.quoted_message?.type === 'deleted';\n\n const quotedMessageEqual =\n prevMessage.quoted_message?.id === nextMessage.quoted_message?.id &&\n isPrevQuotedMessageTypeDeleted === isNextQuotedMessageTypeDeleted;\n\n if (!quotedMessageEqual) return false;\n\n const messageUserBannedEqual = prevMessage.user?.banned === nextMessage.user?.banned;\n if (!messageUserBannedEqual) return false;\n\n const prevMessageAttachments = prevMessage.attachments;\n const nextMessageAttachments = nextMessage.attachments;\n const attachmentsEqual =\n (Array.isArray(prevMessageAttachments) &&\n Array.isArray(nextMessageAttachments) &&\n prevMessageAttachments.length === nextMessageAttachments.length &&\n prevMessageAttachments.every((attachment, index) => {\n const attachmentKeysEqual =\n attachment.type === 'image'\n ? attachment.image_url === nextMessageAttachments[index].image_url &&\n attachment.thumb_url === nextMessageAttachments[index].thumb_url\n : attachment.type === nextMessageAttachments[index].type;\n\n if (isAttachmentEqual)\n return (\n attachmentKeysEqual && !!isAttachmentEqual(attachment, nextMessageAttachments[index])\n );\n\n return attachmentKeysEqual;\n })) ||\n prevMessageAttachments === nextMessageAttachments;\n if (!attachmentsEqual) return false;\n\n const latestReactionsEqual =\n Array.isArray(prevMessage.latest_reactions) && Array.isArray(nextMessage.latest_reactions)\n ? prevMessage.latest_reactions.length === nextMessage.latest_reactions.length &&\n prevMessage.latest_reactions.every(\n ({ type }, index) => type === nextMessage.latest_reactions?.[index].type,\n )\n : prevMessage.latest_reactions === nextMessage.latest_reactions;\n if (!latestReactionsEqual) return false;\n\n const mutedUserSame =\n prevMutedUsers.length === nextMutedUsers.length ||\n prevMutedUsers.some((mutedUser) => mutedUser.target.id === prevMessage.user?.id) ===\n nextMutedUsers.some((mutedUser) => mutedUser.target.id === nextMessage.user?.id);\n if (!mutedUserSame) return false;\n\n const showUnreadUnderlayEqual = prevShowUnreadUnderlay === nextShowUnreadUnderlay;\n if (!showUnreadUnderlayEqual) return false;\n\n const tEqual = prevT === nextT;\n if (!tEqual) return false;\n\n const targetedMessageEqual = prevIsTargetedMessage === nextIsTargetedMessage;\n if (!targetedMessageEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessage = React.memo(MessageWithContext, areEqual) as typeof MessageWithContext;\n\nexport type MessageProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessagePropsWithContext<StreamChatGenerics>, 'groupStyles' | 'message'>> &\n Pick<MessagePropsWithContext<StreamChatGenerics>, 'groupStyles' | 'message'>;\n\n/**\n * Message - A high level component which implements all the logic required for a message.\n * The actual rendering of the message is delegated via the \"Message\" property\n *\n * @example ./Message.md\n */\nexport const Message = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageProps<StreamChatGenerics>,\n) => {\n const { channel, disabled, enforceUniqueReaction, members } =\n useChannelContext<StreamChatGenerics>();\n const chatContext = useChatContext<StreamChatGenerics>();\n const { dismissKeyboard } = useKeyboardContext();\n const { setData } = useMessageOverlayContext<StreamChatGenerics>();\n const messagesContext = useMessagesContext<StreamChatGenerics>();\n const { setOverlay } = useOverlayContext();\n const { openThread } = useThreadContext<StreamChatGenerics>();\n const { t } = useTranslationContext();\n\n return (\n <MemoizedMessage<StreamChatGenerics>\n {...messagesContext}\n {...{\n channel,\n chatContext,\n disabled,\n dismissKeyboard,\n enforceUniqueReaction,\n members,\n messagesContext,\n openThread,\n setData,\n setOverlay,\n t,\n }}\n {...props}\n />\n );\n};\n"],"mappings":"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"}
|