stream-chat-react-native-core 5.11.2 → 5.11.3-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 +15 -33
- 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 +1 -7
- 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/VideoThumbnail.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.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/buildGallery/buildThumbnail.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.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/getGiphyMimeType.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/openUrlSafely.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +1 -7
- 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.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 +1 -7
- 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/handleEventToSyncDB.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 +2 -14
- 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 +1 -7
- 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/parseLinks.test.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 +1 -7
- 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/Message/utils/messageActions.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 +1 -7
- 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 +1 -7
- package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
- package/lib/commonjs/components/MessageInput/MessageInput.js +2 -14
- 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/MessageInput/hooks/useCountdown.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 +4 -28
- 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/filterTypingUsers.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/getLastReceivedMessage.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/components/index.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/index.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 +8 -8
- 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 +1 -7
- 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/themeContext/utils/theme.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/contexts/utils/defaultBaseContextValue.js.map +1 -1
- package/lib/commonjs/contexts/utils/getDisplayName.js.map +1 -1
- package/lib/commonjs/contexts/utils/isTestEnvironment.js.map +1 -1
- package/lib/commonjs/emoji-data/compile.js.map +1 -1
- package/lib/commonjs/emoji-data/compiled.js.map +1 -1
- package/lib/commonjs/emoji-data/index.js.map +1 -1
- package/lib/commonjs/hooks/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/index.js.map +1 -1
- package/lib/commonjs/icons/utils/base.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/init.js.map +1 -1
- package/lib/commonjs/mock-builders/DB/consts.js.map +1 -1
- package/lib/commonjs/mock-builders/DB/mock.js.map +1 -1
- package/lib/commonjs/mock-builders/api/channelMocks.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/error.js.map +1 -1
- package/lib/commonjs/mock-builders/api/getOrCreateChannel.js.map +1 -1
- package/lib/commonjs/mock-builders/api/queryChannels.js.map +1 -1
- package/lib/commonjs/mock-builders/api/queryMembers.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/threadReplies.js.map +1 -1
- package/lib/commonjs/mock-builders/api/useMockedApis.js.map +1 -1
- package/lib/commonjs/mock-builders/api/utils.js.map +1 -1
- package/lib/commonjs/mock-builders/event/channelDeleted.js.map +1 -1
- package/lib/commonjs/mock-builders/event/channelHidden.js.map +1 -1
- package/lib/commonjs/mock-builders/event/channelTruncated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/channelUpdated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/connectionChanged.js.map +1 -1
- package/lib/commonjs/mock-builders/event/connectionRecovered.js.map +1 -1
- package/lib/commonjs/mock-builders/event/memberAdded.js.map +1 -1
- package/lib/commonjs/mock-builders/event/memberRemoved.js.map +1 -1
- package/lib/commonjs/mock-builders/event/memberUpdated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/messageDeleted.js.map +1 -1
- package/lib/commonjs/mock-builders/event/messageNew.js.map +1 -1
- package/lib/commonjs/mock-builders/event/messageRead.js.map +1 -1
- package/lib/commonjs/mock-builders/event/messageUpdated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/notificationAddedToChannel.js.map +1 -1
- package/lib/commonjs/mock-builders/event/notificationMessageNew.js.map +1 -1
- package/lib/commonjs/mock-builders/event/notificationMutesUpdated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/notificationRemovedFromChannel.js.map +1 -1
- package/lib/commonjs/mock-builders/event/reactionDeleted.js.map +1 -1
- package/lib/commonjs/mock-builders/event/reactionNew.js.map +1 -1
- package/lib/commonjs/mock-builders/event/reactionUpdated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/typing.js.map +1 -1
- package/lib/commonjs/mock-builders/event/userPresence.js.map +1 -1
- package/lib/commonjs/mock-builders/event/userUpdated.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/QuickSqliteClient_v4.js.map +1 -1
- package/lib/commonjs/store/apis/addPendingTask.js.map +1 -1
- package/lib/commonjs/store/apis/deleteChannel.js.map +1 -1
- package/lib/commonjs/store/apis/deleteMember.js.map +1 -1
- package/lib/commonjs/store/apis/deleteMessage.js.map +1 -1
- package/lib/commonjs/store/apis/deleteMessagesForChannel.js.map +1 -1
- package/lib/commonjs/store/apis/deletePendingTask.js.map +1 -1
- package/lib/commonjs/store/apis/deleteReaction.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/getChannels.js.map +1 -1
- package/lib/commonjs/store/apis/getChannelsForFilterSort.js.map +1 -1
- package/lib/commonjs/store/apis/getLastSyncedAt.js.map +1 -1
- package/lib/commonjs/store/apis/getMembers.js.map +1 -1
- package/lib/commonjs/store/apis/getPendingTasks.js.map +1 -1
- package/lib/commonjs/store/apis/getReads.js.map +1 -1
- package/lib/commonjs/store/apis/index.js.map +1 -1
- package/lib/commonjs/store/apis/insertReaction.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/upsertAppSettings.js.map +1 -1
- package/lib/commonjs/store/apis/upsertChannelData.js.map +1 -1
- package/lib/commonjs/store/apis/upsertChannels.js.map +1 -1
- package/lib/commonjs/store/apis/upsertCidsForQuery.js.map +1 -1
- package/lib/commonjs/store/apis/upsertLastSyncedAt.js.map +1 -1
- package/lib/commonjs/store/apis/upsertMembers.js.map +1 -1
- package/lib/commonjs/store/apis/upsertMessages.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/constants.js.map +1 -1
- package/lib/commonjs/store/mappers/mapChannelDataToStorable.js.map +1 -1
- package/lib/commonjs/store/mappers/mapDateTimeToStorable.js.map +1 -1
- package/lib/commonjs/store/mappers/mapMemberToStorable.js.map +1 -1
- package/lib/commonjs/store/mappers/mapMessageToStorable.js.map +1 -1
- package/lib/commonjs/store/mappers/mapReactionToStorable.js.map +1 -1
- package/lib/commonjs/store/mappers/mapReadToStorable.js.map +1 -1
- package/lib/commonjs/store/mappers/mapStorableToChannel.js.map +1 -1
- package/lib/commonjs/store/mappers/mapStorableToMember.js.map +1 -1
- package/lib/commonjs/store/mappers/mapStorableToMessage.js.map +1 -1
- package/lib/commonjs/store/mappers/mapStorableToReaction.js.map +1 -1
- package/lib/commonjs/store/mappers/mapStorableToRead.js.map +1 -1
- package/lib/commonjs/store/mappers/mapStorableToTask.js.map +1 -1
- package/lib/commonjs/store/mappers/mapStorableToUser.js.map +1 -1
- package/lib/commonjs/store/mappers/mapTaskToStorable.js.map +1 -1
- package/lib/commonjs/store/mappers/mapUserToStorable.js.map +1 -1
- package/lib/commonjs/store/schema.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/store/sqlite-utils/createDeleteQuery.js.map +1 -1
- package/lib/commonjs/store/sqlite-utils/createSelectQuery.js.map +1 -1
- package/lib/commonjs/store/sqlite-utils/createUpdateQuery.js.map +1 -1
- package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js.map +1 -1
- package/lib/commonjs/store/sqlite-utils/printRow.js.map +1 -1
- package/lib/commonjs/test-utils/BetterSqlite.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/getUrlOfImageAttachment.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/removeReservedFields.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 +15 -33
- 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 +1 -7
- 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/VideoThumbnail.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildGallery.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/buildGallery/buildThumbnail.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.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/getGiphyMimeType.js.map +1 -1
- package/lib/module/components/Attachment/utils/openUrlSafely.js.map +1 -1
- package/lib/module/components/AttachmentPicker/AttachmentPicker.js +1 -7
- 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.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 +1 -7
- 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/handleEventToSyncDB.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 +2 -14
- 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 +1 -7
- 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/parseLinks.test.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 +1 -7
- 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/Message/utils/messageActions.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 +1 -7
- 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 +1 -7
- package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
- package/lib/module/components/MessageInput/MessageInput.js +2 -14
- 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/MessageInput/hooks/useCountdown.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 +4 -28
- 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/filterTypingUsers.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/getLastReceivedMessage.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/components/index.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/index.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 +8 -8
- 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 +1 -7
- 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/themeContext/utils/theme.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/contexts/utils/defaultBaseContextValue.js.map +1 -1
- package/lib/module/contexts/utils/getDisplayName.js.map +1 -1
- package/lib/module/contexts/utils/isTestEnvironment.js.map +1 -1
- package/lib/module/emoji-data/compile.js.map +1 -1
- package/lib/module/emoji-data/compiled.js.map +1 -1
- package/lib/module/emoji-data/index.js.map +1 -1
- package/lib/module/hooks/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/index.js.map +1 -1
- package/lib/module/icons/utils/base.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/init.js.map +1 -1
- package/lib/module/mock-builders/DB/consts.js.map +1 -1
- package/lib/module/mock-builders/DB/mock.js.map +1 -1
- package/lib/module/mock-builders/api/channelMocks.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/error.js.map +1 -1
- package/lib/module/mock-builders/api/getOrCreateChannel.js.map +1 -1
- package/lib/module/mock-builders/api/queryChannels.js.map +1 -1
- package/lib/module/mock-builders/api/queryMembers.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/threadReplies.js.map +1 -1
- package/lib/module/mock-builders/api/useMockedApis.js.map +1 -1
- package/lib/module/mock-builders/api/utils.js.map +1 -1
- package/lib/module/mock-builders/event/channelDeleted.js.map +1 -1
- package/lib/module/mock-builders/event/channelHidden.js.map +1 -1
- package/lib/module/mock-builders/event/channelTruncated.js.map +1 -1
- package/lib/module/mock-builders/event/channelUpdated.js.map +1 -1
- package/lib/module/mock-builders/event/connectionChanged.js.map +1 -1
- package/lib/module/mock-builders/event/connectionRecovered.js.map +1 -1
- package/lib/module/mock-builders/event/memberAdded.js.map +1 -1
- package/lib/module/mock-builders/event/memberRemoved.js.map +1 -1
- package/lib/module/mock-builders/event/memberUpdated.js.map +1 -1
- package/lib/module/mock-builders/event/messageDeleted.js.map +1 -1
- package/lib/module/mock-builders/event/messageNew.js.map +1 -1
- package/lib/module/mock-builders/event/messageRead.js.map +1 -1
- package/lib/module/mock-builders/event/messageUpdated.js.map +1 -1
- package/lib/module/mock-builders/event/notificationAddedToChannel.js.map +1 -1
- package/lib/module/mock-builders/event/notificationMessageNew.js.map +1 -1
- package/lib/module/mock-builders/event/notificationMutesUpdated.js.map +1 -1
- package/lib/module/mock-builders/event/notificationRemovedFromChannel.js.map +1 -1
- package/lib/module/mock-builders/event/reactionDeleted.js.map +1 -1
- package/lib/module/mock-builders/event/reactionNew.js.map +1 -1
- package/lib/module/mock-builders/event/reactionUpdated.js.map +1 -1
- package/lib/module/mock-builders/event/typing.js.map +1 -1
- package/lib/module/mock-builders/event/userPresence.js.map +1 -1
- package/lib/module/mock-builders/event/userUpdated.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/QuickSqliteClient_v4.js.map +1 -1
- package/lib/module/store/apis/addPendingTask.js.map +1 -1
- package/lib/module/store/apis/deleteChannel.js.map +1 -1
- package/lib/module/store/apis/deleteMember.js.map +1 -1
- package/lib/module/store/apis/deleteMessage.js.map +1 -1
- package/lib/module/store/apis/deleteMessagesForChannel.js.map +1 -1
- package/lib/module/store/apis/deletePendingTask.js.map +1 -1
- package/lib/module/store/apis/deleteReaction.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/getChannels.js.map +1 -1
- package/lib/module/store/apis/getChannelsForFilterSort.js.map +1 -1
- package/lib/module/store/apis/getLastSyncedAt.js.map +1 -1
- package/lib/module/store/apis/getMembers.js.map +1 -1
- package/lib/module/store/apis/getPendingTasks.js.map +1 -1
- package/lib/module/store/apis/getReads.js.map +1 -1
- package/lib/module/store/apis/index.js.map +1 -1
- package/lib/module/store/apis/insertReaction.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/upsertAppSettings.js.map +1 -1
- package/lib/module/store/apis/upsertChannelData.js.map +1 -1
- package/lib/module/store/apis/upsertChannels.js.map +1 -1
- package/lib/module/store/apis/upsertCidsForQuery.js.map +1 -1
- package/lib/module/store/apis/upsertLastSyncedAt.js.map +1 -1
- package/lib/module/store/apis/upsertMembers.js.map +1 -1
- package/lib/module/store/apis/upsertMessages.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/constants.js.map +1 -1
- package/lib/module/store/mappers/mapChannelDataToStorable.js.map +1 -1
- package/lib/module/store/mappers/mapDateTimeToStorable.js.map +1 -1
- package/lib/module/store/mappers/mapMemberToStorable.js.map +1 -1
- package/lib/module/store/mappers/mapMessageToStorable.js.map +1 -1
- package/lib/module/store/mappers/mapReactionToStorable.js.map +1 -1
- package/lib/module/store/mappers/mapReadToStorable.js.map +1 -1
- package/lib/module/store/mappers/mapStorableToChannel.js.map +1 -1
- package/lib/module/store/mappers/mapStorableToMember.js.map +1 -1
- package/lib/module/store/mappers/mapStorableToMessage.js.map +1 -1
- package/lib/module/store/mappers/mapStorableToReaction.js.map +1 -1
- package/lib/module/store/mappers/mapStorableToRead.js.map +1 -1
- package/lib/module/store/mappers/mapStorableToTask.js.map +1 -1
- package/lib/module/store/mappers/mapStorableToUser.js.map +1 -1
- package/lib/module/store/mappers/mapTaskToStorable.js.map +1 -1
- package/lib/module/store/mappers/mapUserToStorable.js.map +1 -1
- package/lib/module/store/schema.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/store/sqlite-utils/createDeleteQuery.js.map +1 -1
- package/lib/module/store/sqlite-utils/createSelectQuery.js.map +1 -1
- package/lib/module/store/sqlite-utils/createUpdateQuery.js.map +1 -1
- package/lib/module/store/sqlite-utils/createUpsertQuery.js.map +1 -1
- package/lib/module/store/sqlite-utils/printRow.js.map +1 -1
- package/lib/module/test-utils/BetterSqlite.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/getUrlOfImageAttachment.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/removeReservedFields.js.map +1 -1
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/package.json +1 -1
- package/src/components/Attachment/Attachment.tsx +1 -4
- package/src/version.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["styles","StyleSheet","create","authorName","fontSize","fontWeight","authorNameContainer","borderTopRightRadius","paddingHorizontal","paddingTop","authorNameFooter","padding","authorNameMask","bottom","left","position","cardCover","alignItems","borderRadius","height","justifyContent","marginHorizontal","cardFooter","flexDirection","container","overflow","width","description","playButtonStyle","elevation","title","CardWithContext","props","additionalTouchableProps","author_name","CardCover","CardFooter","CardHeader","ImageComponent","Image","image_url","og_scrape_url","onLongPress","onPress","onPressIn","preventPress","stylesProp","text","thumb_url","type","useTheme","theme","colors","accent_blue","black","blue_alice","transparent","white","messageSimple","card","authorNameFooterContainer","cover","footer","titleStyle","footerStyle","noURI","roundedView","playIcon","uri","defaultOnPress","openUrlSafely","isVideoCard","event","additionalInfo","url","emitter","defaultHandler","makeImageCompatibleUrl","backgroundColor","color","borderLeftColor","MemoizedCard","React","memo","Card","useChatContext","useMessageContext","message","useMessagesContext","id","updated_at","channelId","cid","messageId","displayName"],"sources":["Card.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Image,\n ImageStyle,\n StyleProp,\n StyleSheet,\n Text,\n TextStyle,\n TouchableOpacity,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport { openUrlSafely } from './utils/openUrlSafely';\n\nimport { ChatContextValue, useChatContext } from '../../contexts/chatContext/ChatContext';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Play } from '../../icons/Play';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { makeImageCompatibleUrl } from '../../utils/utils';\nimport { ImageBackground } from '../ImageBackground';\n\nconst styles = StyleSheet.create({\n authorName: { fontSize: 14.5, fontWeight: '600' },\n authorNameContainer: {\n borderTopRightRadius: 15,\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n authorNameFooter: {\n fontSize: 14.5,\n fontWeight: '600',\n padding: 8,\n },\n authorNameMask: {\n bottom: 0,\n left: 2,\n position: 'absolute',\n },\n cardCover: {\n alignItems: 'center',\n borderRadius: 8,\n height: 140,\n justifyContent: 'center',\n marginHorizontal: 2,\n },\n cardFooter: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n padding: 10,\n },\n container: {\n overflow: 'hidden',\n width: 256,\n },\n description: {\n fontSize: 12,\n marginHorizontal: 8,\n },\n playButtonStyle: {\n alignItems: 'center',\n borderRadius: 50,\n elevation: 2,\n height: 36,\n justifyContent: 'center',\n width: 36,\n },\n title: {\n fontSize: 12,\n marginHorizontal: 8,\n },\n});\n\nexport type CardPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Attachment<StreamChatGenerics> &\n Pick<ChatContextValue, 'ImageComponent'> &\n Pick<\n MessageContextValue<StreamChatGenerics>,\n 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'\n > &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n 'additionalTouchableProps' | 'CardCover' | 'CardFooter' | 'CardHeader'\n > & {\n channelId: string | undefined;\n messageId: string | undefined;\n styles?: Partial<{\n authorName: StyleProp<TextStyle>;\n authorNameContainer: StyleProp<ViewStyle>;\n authorNameFooter: StyleProp<TextStyle>;\n authorNameFooterContainer: StyleProp<ViewStyle>;\n authorNameMask: StyleProp<ViewStyle>;\n cardCover: StyleProp<ImageStyle>;\n cardFooter: StyleProp<ViewStyle>;\n container: StyleProp<ViewStyle>;\n description: StyleProp<TextStyle>;\n title: StyleProp<TextStyle>;\n }>;\n };\n\nconst CardWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: CardPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n author_name,\n CardCover,\n CardFooter,\n CardHeader,\n ImageComponent = Image,\n image_url,\n og_scrape_url,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n styles: stylesProp = {},\n text,\n thumb_url,\n title,\n type,\n } = props;\n\n const {\n theme: {\n colors: { accent_blue, black, blue_alice, transparent, white },\n messageSimple: {\n card: {\n authorName,\n authorNameContainer,\n authorNameFooter,\n authorNameFooterContainer,\n authorNameMask,\n container,\n cover,\n footer: { description, title: titleStyle, ...footerStyle },\n noURI,\n playButtonStyle: { roundedView },\n playIcon: { height, width },\n },\n },\n },\n } = useTheme();\n\n const uri = image_url || thumb_url;\n\n const defaultOnPress = () => openUrlSafely(og_scrape_url || uri);\n\n const isVideoCard = type === 'video' && og_scrape_url;\n\n return (\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n additionalInfo: { url: og_scrape_url },\n emitter: 'card',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n additionalInfo: { url: og_scrape_url },\n defaultHandler: defaultOnPress,\n emitter: 'card',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n additionalInfo: { url: og_scrape_url },\n defaultHandler: defaultOnPress,\n emitter: 'card',\n event,\n });\n }\n }}\n style={[styles.container, container, stylesProp.container]}\n testID='card-attachment'\n {...additionalTouchableProps}\n >\n {CardHeader && <CardHeader {...props} />}\n {CardCover && <CardCover {...props} />}\n {uri && !CardCover && (\n <View>\n <ImageBackground\n ImageComponent={ImageComponent}\n imageStyle={styles.cardCover}\n resizeMode='cover'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.cardCover, cover, stylesProp.cardCover]}\n >\n {isVideoCard ? (\n <View style={[styles.playButtonStyle, roundedView, { backgroundColor: white }]}>\n <Play height={height} pathFill={black} width={width} />\n </View>\n ) : null}\n </ImageBackground>\n {author_name && (\n <View style={[styles.authorNameMask, authorNameMask, stylesProp.authorNameMask]}>\n <View\n style={[\n styles.authorNameContainer,\n { backgroundColor: blue_alice },\n authorNameContainer,\n stylesProp.authorNameContainer,\n ]}\n >\n <Text\n style={[\n styles.authorName,\n { color: accent_blue },\n authorName,\n stylesProp.authorName,\n ]}\n >\n {author_name}\n </Text>\n </View>\n </View>\n )}\n </View>\n )}\n {CardFooter ? (\n <CardFooter {...props} />\n ) : (\n <View style={[styles.cardFooter, footerStyle, stylesProp.cardFooter]}>\n <View\n style={[\n authorNameFooterContainer,\n { backgroundColor: transparent },\n !uri ? { borderLeftColor: accent_blue, ...noURI } : {},\n stylesProp.authorNameFooterContainer,\n ]}\n >\n {!uri && author_name && (\n <Text\n style={[\n styles.authorNameFooter,\n { color: accent_blue },\n authorNameFooter,\n stylesProp.authorNameFooter,\n ]}\n >\n {author_name}\n </Text>\n )}\n {title && (\n <Text\n numberOfLines={1}\n style={[styles.title, { color: black }, titleStyle, stylesProp.title]}\n >\n {title}\n </Text>\n )}\n {text && (\n <Text\n numberOfLines={3}\n style={[styles.description, { color: black }, description, stylesProp.description]}\n >\n {text}\n </Text>\n )}\n </View>\n </View>\n )}\n </TouchableOpacity>\n );\n};\n\nconst MemoizedCard = React.memo(CardWithContext, () => true) as typeof CardWithContext;\n\nexport type CardProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Attachment<StreamChatGenerics> &\n Partial<\n Pick<ChatContextValue<StreamChatGenerics>, 'ImageComponent'> &\n Pick<MessageContextValue<StreamChatGenerics>, 'onLongPress' | 'onPress' | 'onPressIn'> &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n 'additionalTouchableProps' | 'CardCover' | 'CardFooter' | 'CardHeader'\n >\n >;\n\n/**\n * UI component for card in attachments.\n */\nexport const Card = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: CardProps<StreamChatGenerics>,\n) => {\n const { ImageComponent } = useChatContext<StreamChatGenerics>();\n const { message, onLongPress, onPress, onPressIn, preventPress } =\n useMessageContext<StreamChatGenerics>();\n const { additionalTouchableProps, CardCover, CardFooter, CardHeader } =\n useMessagesContext<StreamChatGenerics>();\n\n return (\n <MemoizedCard\n key={`${message?.id}${message?.updated_at}`} // press listeners must change on message update, updating key ensures this\n {...{\n additionalTouchableProps,\n CardCover,\n CardFooter,\n CardHeader,\n channelId: message.cid,\n ImageComponent,\n messageId: message.id,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n }}\n {...props}\n />\n );\n};\n\nCard.displayName = 'Card{messageSimple{card}}';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_openUrlSafely","_ChatContext","_MessageContext","_MessagesContext","_ThemeContext","_Play","_utils","_ImageBackground","_excluded","_this","_jsxFileName","styles","StyleSheet","create","authorName","fontSize","fontWeight","authorNameContainer","borderTopRightRadius","paddingHorizontal","paddingTop","authorNameFooter","padding","authorNameMask","bottom","left","position","cardCover","alignItems","borderRadius","height","justifyContent","marginHorizontal","cardFooter","flexDirection","container","overflow","width","description","playButtonStyle","elevation","title","CardWithContext","props","additionalTouchableProps","author_name","CardCover","CardFooter","CardHeader","_props$ImageComponent","ImageComponent","Image","image_url","og_scrape_url","onLongPress","onPress","onPressIn","preventPress","_props$styles","stylesProp","text","thumb_url","type","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_blue","black","blue_alice","transparent","white","_useTheme$theme$messa","messageSimple","card","authorNameFooterContainer","cover","_useTheme$theme$messa2","footer","titleStyle","footerStyle","_objectWithoutProperties2","noURI","roundedView","_useTheme$theme$messa3","playIcon","uri","defaultOnPress","openUrlSafely","isVideoCard","createElement","TouchableOpacity","_extends2","disabled","event","additionalInfo","url","emitter","defaultHandler","style","testID","__self","__source","fileName","lineNumber","columnNumber","View","ImageBackground","imageStyle","resizeMode","source","makeImageCompatibleUrl","backgroundColor","Play","pathFill","Text","color","borderLeftColor","numberOfLines","MemoizedCard","React","memo","Card","_useChatContext","useChatContext","_useMessageContext","useMessageContext","message","_useMessagesContext","useMessagesContext","key","id","updated_at","channelId","cid","messageId","exports","displayName"],"sources":["Card.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Image,\n ImageStyle,\n StyleProp,\n StyleSheet,\n Text,\n TextStyle,\n TouchableOpacity,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport { openUrlSafely } from './utils/openUrlSafely';\n\nimport { ChatContextValue, useChatContext } from '../../contexts/chatContext/ChatContext';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Play } from '../../icons/Play';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { makeImageCompatibleUrl } from '../../utils/utils';\nimport { ImageBackground } from '../ImageBackground';\n\nconst styles = StyleSheet.create({\n authorName: { fontSize: 14.5, fontWeight: '600' },\n authorNameContainer: {\n borderTopRightRadius: 15,\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n authorNameFooter: {\n fontSize: 14.5,\n fontWeight: '600',\n padding: 8,\n },\n authorNameMask: {\n bottom: 0,\n left: 2,\n position: 'absolute',\n },\n cardCover: {\n alignItems: 'center',\n borderRadius: 8,\n height: 140,\n justifyContent: 'center',\n marginHorizontal: 2,\n },\n cardFooter: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n padding: 10,\n },\n container: {\n overflow: 'hidden',\n width: 256,\n },\n description: {\n fontSize: 12,\n marginHorizontal: 8,\n },\n playButtonStyle: {\n alignItems: 'center',\n borderRadius: 50,\n elevation: 2,\n height: 36,\n justifyContent: 'center',\n width: 36,\n },\n title: {\n fontSize: 12,\n marginHorizontal: 8,\n },\n});\n\nexport type CardPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Attachment<StreamChatGenerics> &\n Pick<ChatContextValue, 'ImageComponent'> &\n Pick<\n MessageContextValue<StreamChatGenerics>,\n 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'\n > &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n 'additionalTouchableProps' | 'CardCover' | 'CardFooter' | 'CardHeader'\n > & {\n channelId: string | undefined;\n messageId: string | undefined;\n styles?: Partial<{\n authorName: StyleProp<TextStyle>;\n authorNameContainer: StyleProp<ViewStyle>;\n authorNameFooter: StyleProp<TextStyle>;\n authorNameFooterContainer: StyleProp<ViewStyle>;\n authorNameMask: StyleProp<ViewStyle>;\n cardCover: StyleProp<ImageStyle>;\n cardFooter: StyleProp<ViewStyle>;\n container: StyleProp<ViewStyle>;\n description: StyleProp<TextStyle>;\n title: StyleProp<TextStyle>;\n }>;\n };\n\nconst CardWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: CardPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n author_name,\n CardCover,\n CardFooter,\n CardHeader,\n ImageComponent = Image,\n image_url,\n og_scrape_url,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n styles: stylesProp = {},\n text,\n thumb_url,\n title,\n type,\n } = props;\n\n const {\n theme: {\n colors: { accent_blue, black, blue_alice, transparent, white },\n messageSimple: {\n card: {\n authorName,\n authorNameContainer,\n authorNameFooter,\n authorNameFooterContainer,\n authorNameMask,\n container,\n cover,\n footer: { description, title: titleStyle, ...footerStyle },\n noURI,\n playButtonStyle: { roundedView },\n playIcon: { height, width },\n },\n },\n },\n } = useTheme();\n\n const uri = image_url || thumb_url;\n\n const defaultOnPress = () => openUrlSafely(og_scrape_url || uri);\n\n const isVideoCard = type === 'video' && og_scrape_url;\n\n return (\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n additionalInfo: { url: og_scrape_url },\n emitter: 'card',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n additionalInfo: { url: og_scrape_url },\n defaultHandler: defaultOnPress,\n emitter: 'card',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n additionalInfo: { url: og_scrape_url },\n defaultHandler: defaultOnPress,\n emitter: 'card',\n event,\n });\n }\n }}\n style={[styles.container, container, stylesProp.container]}\n testID='card-attachment'\n {...additionalTouchableProps}\n >\n {CardHeader && <CardHeader {...props} />}\n {CardCover && <CardCover {...props} />}\n {uri && !CardCover && (\n <View>\n <ImageBackground\n ImageComponent={ImageComponent}\n imageStyle={styles.cardCover}\n resizeMode='cover'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.cardCover, cover, stylesProp.cardCover]}\n >\n {isVideoCard ? (\n <View style={[styles.playButtonStyle, roundedView, { backgroundColor: white }]}>\n <Play height={height} pathFill={black} width={width} />\n </View>\n ) : null}\n </ImageBackground>\n {author_name && (\n <View style={[styles.authorNameMask, authorNameMask, stylesProp.authorNameMask]}>\n <View\n style={[\n styles.authorNameContainer,\n { backgroundColor: blue_alice },\n authorNameContainer,\n stylesProp.authorNameContainer,\n ]}\n >\n <Text\n style={[\n styles.authorName,\n { color: accent_blue },\n authorName,\n stylesProp.authorName,\n ]}\n >\n {author_name}\n </Text>\n </View>\n </View>\n )}\n </View>\n )}\n {CardFooter ? (\n <CardFooter {...props} />\n ) : (\n <View style={[styles.cardFooter, footerStyle, stylesProp.cardFooter]}>\n <View\n style={[\n authorNameFooterContainer,\n { backgroundColor: transparent },\n !uri ? { borderLeftColor: accent_blue, ...noURI } : {},\n stylesProp.authorNameFooterContainer,\n ]}\n >\n {!uri && author_name && (\n <Text\n style={[\n styles.authorNameFooter,\n { color: accent_blue },\n authorNameFooter,\n stylesProp.authorNameFooter,\n ]}\n >\n {author_name}\n </Text>\n )}\n {title && (\n <Text\n numberOfLines={1}\n style={[styles.title, { color: black }, titleStyle, stylesProp.title]}\n >\n {title}\n </Text>\n )}\n {text && (\n <Text\n numberOfLines={3}\n style={[styles.description, { color: black }, description, stylesProp.description]}\n >\n {text}\n </Text>\n )}\n </View>\n </View>\n )}\n </TouchableOpacity>\n );\n};\n\nconst MemoizedCard = React.memo(CardWithContext, () => true) as typeof CardWithContext;\n\nexport type CardProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Attachment<StreamChatGenerics> &\n Partial<\n Pick<ChatContextValue<StreamChatGenerics>, 'ImageComponent'> &\n Pick<MessageContextValue<StreamChatGenerics>, 'onLongPress' | 'onPress' | 'onPressIn'> &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n 'additionalTouchableProps' | 'CardCover' | 'CardFooter' | 'CardHeader'\n >\n >;\n\n/**\n * UI component for card in attachments.\n */\nexport const Card = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: CardProps<StreamChatGenerics>,\n) => {\n const { ImageComponent } = useChatContext<StreamChatGenerics>();\n const { message, onLongPress, onPress, onPressIn, preventPress } =\n useMessageContext<StreamChatGenerics>();\n const { additionalTouchableProps, CardCover, CardFooter, CardHeader } =\n useMessagesContext<StreamChatGenerics>();\n\n return (\n <MemoizedCard\n key={`${message?.id}${message?.updated_at}`} // press listeners must change on message update, updating key ensures this\n {...{\n additionalTouchableProps,\n CardCover,\n CardFooter,\n CardHeader,\n channelId: message.cid,\n ImageComponent,\n messageId: message.id,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n }}\n {...props}\n />\n );\n};\n\nCard.displayName = 'Card{messageSimple{card}}';\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["styles","StyleSheet","create","container","alignItems","borderRadius","flexDirection","padding","details","maxWidth","vw","paddingLeft","size","fontSize","title","fontWeight","FileAttachmentWithContext","props","additionalTouchableProps","attachment","attachmentSize","AttachmentActions","FileAttachmentIcon","onLongPress","onPress","onPressIn","preventPress","stylesProp","useTheme","theme","colors","black","grey","white","messageSimple","file","fileSize","defaultOnPress","openUrlSafely","asset_url","event","additionalInfo","emitter","defaultHandler","backgroundColor","mime_type","color","getFileSizeDisplayText","file_size","actions","length","FileAttachment","useMessageContext","useMessagesContext","AttachmentActionsDefault","FileIconDefault","parseFloat","Math","floor","displayName"],"sources":["FileAttachment.tsx"],"sourcesContent":["import React from 'react';\nimport {\n StyleProp,\n StyleSheet,\n Text,\n TextStyle,\n TouchableOpacity,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport { openUrlSafely } from './utils/openUrlSafely';\n\nimport { AttachmentActions as AttachmentActionsDefault } from '../../components/Attachment/AttachmentActions';\nimport { FileIcon as FileIconDefault } from '../../components/Attachment/FileIcon';\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { vw } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n borderRadius: 12,\n flexDirection: 'row',\n padding: 8,\n },\n details: {\n maxWidth: vw(60),\n paddingLeft: 16,\n },\n size: {\n fontSize: 12,\n },\n title: {\n fontSize: 14,\n fontWeight: '700',\n },\n});\n\nexport type FileAttachmentPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'\n> &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n 'additionalTouchableProps' | 'AttachmentActions' | 'FileAttachmentIcon'\n > & {\n /** The attachment to render */\n attachment: Attachment<StreamChatGenerics>;\n attachmentSize?: number;\n styles?: Partial<{\n container: StyleProp<ViewStyle>;\n details: StyleProp<ViewStyle>;\n size: StyleProp<TextStyle>;\n title: StyleProp<TextStyle>;\n }>;\n };\n\nconst FileAttachmentWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileAttachmentPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n attachment,\n attachmentSize,\n AttachmentActions,\n FileAttachmentIcon,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n styles: stylesProp = {},\n } = props;\n\n const {\n theme: {\n colors: { black, grey, white },\n messageSimple: {\n file: { container, details, fileSize, title },\n },\n },\n } = useTheme();\n\n const defaultOnPress = () => openUrlSafely(attachment.asset_url);\n\n return (\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n additionalInfo: { attachment },\n emitter: 'fileAttachment',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n additionalInfo: { attachment },\n defaultHandler: defaultOnPress,\n emitter: 'fileAttachment',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n additionalInfo: { attachment },\n defaultHandler: defaultOnPress,\n emitter: 'fileAttachment',\n event,\n });\n }\n }}\n testID='file-attachment'\n {...additionalTouchableProps}\n >\n <View style={[styles.container, { backgroundColor: white }, container, stylesProp.container]}>\n <FileAttachmentIcon mimeType={attachment.mime_type} size={attachmentSize} />\n <View style={[styles.details, details, stylesProp.details]}>\n <Text numberOfLines={2} style={[styles.title, { color: black }, title, stylesProp.title]}>\n {attachment.title}\n </Text>\n <Text style={[styles.size, { color: grey }, fileSize, stylesProp.size]}>\n {getFileSizeDisplayText(attachment.file_size)}\n </Text>\n </View>\n </View>\n {attachment.actions?.length ? <AttachmentActions {...attachment} /> : null}\n </TouchableOpacity>\n );\n};\n\nexport type FileAttachmentProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<FileAttachmentPropsWithContext<StreamChatGenerics>, 'attachment'>> &\n Pick<FileAttachmentPropsWithContext<StreamChatGenerics>, 'attachment'>;\n\nexport const FileAttachment = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileAttachmentProps<StreamChatGenerics>,\n) => {\n const { onLongPress, onPress, onPressIn, preventPress } = useMessageContext<StreamChatGenerics>();\n const {\n additionalTouchableProps,\n AttachmentActions = AttachmentActionsDefault,\n FileAttachmentIcon = FileIconDefault,\n } = useMessagesContext<StreamChatGenerics>();\n\n return (\n <FileAttachmentWithContext\n {...{\n additionalTouchableProps,\n AttachmentActions,\n FileAttachmentIcon,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n }}\n {...props}\n />\n );\n};\n\nexport const getFileSizeDisplayText = (size?: number | string) => {\n if (!size) return;\n if (typeof size === 'string') {\n size = parseFloat(size);\n }\n\n if (size < 1000 * 1000) {\n return `${Math.floor(Math.floor(size / 10) / 100)} KB`;\n }\n\n return `${Math.floor(Math.floor(size / 10000) / 100)} MB`;\n};\n\nFileAttachment.displayName = 'FileAttachment{messageSimple{file}}';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_openUrlSafely","_AttachmentActions","_FileIcon","_MessageContext","_MessagesContext","_ThemeContext","_utils","_this","_jsxFileName","styles","StyleSheet","create","container","alignItems","borderRadius","flexDirection","padding","details","maxWidth","vw","paddingLeft","size","fontSize","title","fontWeight","FileAttachmentWithContext","props","_attachment$actions","additionalTouchableProps","attachment","attachmentSize","AttachmentActions","FileAttachmentIcon","onLongPress","onPress","onPressIn","preventPress","_props$styles","stylesProp","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","black","grey","white","_useTheme$theme$messa","messageSimple","file","fileSize","defaultOnPress","openUrlSafely","asset_url","createElement","TouchableOpacity","_extends2","disabled","event","additionalInfo","emitter","defaultHandler","testID","__self","__source","fileName","lineNumber","columnNumber","View","style","backgroundColor","mimeType","mime_type","Text","numberOfLines","color","getFileSizeDisplayText","file_size","actions","length","FileAttachment","_useMessageContext","useMessageContext","_useMessagesContext","useMessagesContext","_useMessagesContext$A","AttachmentActionsDefault","_useMessagesContext$F","FileIconDefault","exports","parseFloat","Math","floor","displayName"],"sources":["FileAttachment.tsx"],"sourcesContent":["import React from 'react';\nimport {\n StyleProp,\n StyleSheet,\n Text,\n TextStyle,\n TouchableOpacity,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport { openUrlSafely } from './utils/openUrlSafely';\n\nimport { AttachmentActions as AttachmentActionsDefault } from '../../components/Attachment/AttachmentActions';\nimport { FileIcon as FileIconDefault } from '../../components/Attachment/FileIcon';\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { vw } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n borderRadius: 12,\n flexDirection: 'row',\n padding: 8,\n },\n details: {\n maxWidth: vw(60),\n paddingLeft: 16,\n },\n size: {\n fontSize: 12,\n },\n title: {\n fontSize: 14,\n fontWeight: '700',\n },\n});\n\nexport type FileAttachmentPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'\n> &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n 'additionalTouchableProps' | 'AttachmentActions' | 'FileAttachmentIcon'\n > & {\n /** The attachment to render */\n attachment: Attachment<StreamChatGenerics>;\n attachmentSize?: number;\n styles?: Partial<{\n container: StyleProp<ViewStyle>;\n details: StyleProp<ViewStyle>;\n size: StyleProp<TextStyle>;\n title: StyleProp<TextStyle>;\n }>;\n };\n\nconst FileAttachmentWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileAttachmentPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n attachment,\n attachmentSize,\n AttachmentActions,\n FileAttachmentIcon,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n styles: stylesProp = {},\n } = props;\n\n const {\n theme: {\n colors: { black, grey, white },\n messageSimple: {\n file: { container, details, fileSize, title },\n },\n },\n } = useTheme();\n\n const defaultOnPress = () => openUrlSafely(attachment.asset_url);\n\n return (\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n additionalInfo: { attachment },\n emitter: 'fileAttachment',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n additionalInfo: { attachment },\n defaultHandler: defaultOnPress,\n emitter: 'fileAttachment',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n additionalInfo: { attachment },\n defaultHandler: defaultOnPress,\n emitter: 'fileAttachment',\n event,\n });\n }\n }}\n testID='file-attachment'\n {...additionalTouchableProps}\n >\n <View style={[styles.container, { backgroundColor: white }, container, stylesProp.container]}>\n <FileAttachmentIcon mimeType={attachment.mime_type} size={attachmentSize} />\n <View style={[styles.details, details, stylesProp.details]}>\n <Text numberOfLines={2} style={[styles.title, { color: black }, title, stylesProp.title]}>\n {attachment.title}\n </Text>\n <Text style={[styles.size, { color: grey }, fileSize, stylesProp.size]}>\n {getFileSizeDisplayText(attachment.file_size)}\n </Text>\n </View>\n </View>\n {attachment.actions?.length ? <AttachmentActions {...attachment} /> : null}\n </TouchableOpacity>\n );\n};\n\nexport type FileAttachmentProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<FileAttachmentPropsWithContext<StreamChatGenerics>, 'attachment'>> &\n Pick<FileAttachmentPropsWithContext<StreamChatGenerics>, 'attachment'>;\n\nexport const FileAttachment = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileAttachmentProps<StreamChatGenerics>,\n) => {\n const { onLongPress, onPress, onPressIn, preventPress } = useMessageContext<StreamChatGenerics>();\n const {\n additionalTouchableProps,\n AttachmentActions = AttachmentActionsDefault,\n FileAttachmentIcon = FileIconDefault,\n } = useMessagesContext<StreamChatGenerics>();\n\n return (\n <FileAttachmentWithContext\n {...{\n additionalTouchableProps,\n AttachmentActions,\n FileAttachmentIcon,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n }}\n {...props}\n />\n );\n};\n\nexport const getFileSizeDisplayText = (size?: number | string) => {\n if (!size) return;\n if (typeof size === 'string') {\n size = parseFloat(size);\n }\n\n if (size < 1000 * 1000) {\n return `${Math.floor(Math.floor(size / 10) / 100)} KB`;\n }\n\n return `${Math.floor(Math.floor(size / 10000) / 100)} MB`;\n};\n\nFileAttachment.displayName = 'FileAttachment{messageSimple{file}}';\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAYA,IAAAE,cAAA,GAAAF,OAAA;AAEA,IAAAG,kBAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,eAAA,GAAAL,OAAA;AAIA,IAAAM,gBAAA,GAAAN,OAAA;AAIA,IAAAO,aAAA,GAAAP,OAAA;AAEA,IAAAQ,MAAA,GAAAR,OAAA;AAAuC,IAAAS,KAAA;EAAAC,YAAA;AAEvC,IAAMC,MAAM,GAAGC,uBAAU,CAACC,MAAM,CAAC;EAC/BC,SAAS,EAAE;IACTC,UAAU,EAAE,QAAQ;IACpBC,YAAY,EAAE,EAAE;IAChBC,aAAa,EAAE,KAAK;IACpBC,OAAO,EAAE;EACX,CAAC;EACDC,OAAO,EAAE;IACPC,QAAQ,EAAE,IAAAC,SAAE,EAAC,EAAE,CAAC;IAChBC,WAAW,EAAE;EACf,CAAC;EACDC,IAAI,EAAE;IACJC,QAAQ,EAAE;EACZ,CAAC;EACDC,KAAK,EAAE;IACLD,QAAQ,EAAE,EAAE;IACZE,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAuBF,IAAMC,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAG7BC,KAAyD,EACtD;EAAA,IAAAC,mBAAA;EACH,IACEC,wBAAwB,GAUtBF,KAAK,CAVPE,wBAAwB;IACxBC,UAAU,GASRH,KAAK,CATPG,UAAU;IACVC,cAAc,GAQZJ,KAAK,CARPI,cAAc;IACdC,iBAAiB,GAOfL,KAAK,CAPPK,iBAAiB;IACjBC,kBAAkB,GAMhBN,KAAK,CANPM,kBAAkB;IAClBC,YAAW,GAKTP,KAAK,CALPO,WAAW;IACXC,QAAO,GAILR,KAAK,CAJPQ,OAAO;IACPC,UAAS,GAGPT,KAAK,CAHPS,SAAS;IACTC,YAAY,GAEVV,KAAK,CAFPU,YAAY;IAAAC,aAAA,GAEVX,KAAK,CADPjB,MAAM;IAAE6B,UAAU,GAAAD,aAAA,cAAG,CAAC,CAAC,GAAAA,aAAA;EAGzB,IAAAE,SAAA,GAOI,IAAAC,sBAAQ,GAAE;IAAAC,eAAA,GAAAF,SAAA,CANZG,KAAK;IAAAC,qBAAA,GAAAF,eAAA,CACHG,MAAM;IAAIC,KAAK,GAAAF,qBAAA,CAALE,KAAK;IAAEC,IAAI,GAAAH,qBAAA,CAAJG,IAAI;IAAEC,KAAK,GAAAJ,qBAAA,CAALI,KAAK;IAAAC,qBAAA,GAAAP,eAAA,CAC5BQ,aAAa,CACXC,IAAI;IAAItC,SAAS,GAAAoC,qBAAA,CAATpC,SAAS;IAAEK,OAAO,GAAA+B,qBAAA,CAAP/B,OAAO;IAAEkC,QAAQ,GAAAH,qBAAA,CAARG,QAAQ;IAAE5B,KAAK,GAAAyB,qBAAA,CAALzB,KAAK;EAKjD,IAAM6B,cAAc,GAAG,SAAjBA,cAAcA,CAAA;IAAA,OAAS,IAAAC,4BAAa,EAACxB,UAAU,CAACyB,SAAS,CAAC;EAAA;EAEhE,OACE1D,MAAA,YAAA2D,aAAA,CAACxD,YAAA,CAAAyD,gBAAgB,MAAAC,SAAA;IACfC,QAAQ,EAAEtB,YAAa;IACvBH,WAAW,EAAE,SAAAA,YAAC0B,KAAK,EAAK;MACtB,IAAI1B,YAAW,EAAE;QACfA,YAAW,CAAC;UACV2B,cAAc,EAAE;YAAE/B,UAAU,EAAVA;UAAW,CAAC;UAC9BgC,OAAO,EAAE,gBAAgB;UACzBF,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;IACF,CAAE;IACFzB,OAAO,EAAE,SAAAA,QAACyB,KAAK,EAAK;MAClB,IAAIzB,QAAO,EAAE;QACXA,QAAO,CAAC;UACN0B,cAAc,EAAE;YAAE/B,UAAU,EAAVA;UAAW,CAAC;UAC9BiC,cAAc,EAAEV,cAAc;UAC9BS,OAAO,EAAE,gBAAgB;UACzBF,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;IACF,CAAE;IACFxB,SAAS,EAAE,SAAAA,UAACwB,KAAK,EAAK;MACpB,IAAIxB,UAAS,EAAE;QACbA,UAAS,CAAC;UACRyB,cAAc,EAAE;YAAE/B,UAAU,EAAVA;UAAW,CAAC;UAC9BiC,cAAc,EAAEV,cAAc;UAC9BS,OAAO,EAAE,gBAAgB;UACzBF,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;IACF,CAAE;IACFI,MAAM,EAAC;EAAiB,GACpBnC,wBAAwB;IAAAoC,MAAA,EAAAzD,KAAA;IAAA0D,QAAA;MAAAC,QAAA,EAAA1D,YAAA;MAAA2D,UAAA;MAAAC,YAAA;IAAA;EAAA,IAE5BxE,MAAA,YAAA2D,aAAA,CAACxD,YAAA,CAAAsE,IAAI;IAACC,KAAK,EAAE,CAAC7D,MAAM,CAACG,SAAS,EAAE;MAAE2D,eAAe,EAAExB;IAAM,CAAC,EAAEnC,SAAS,EAAE0B,UAAU,CAAC1B,SAAS,CAAE;IAAAoD,MAAA,EAAAzD,KAAA;IAAA0D,QAAA;MAAAC,QAAA,EAAA1D,YAAA;MAAA2D,UAAA;MAAAC,YAAA;IAAA;EAAA,GAC3FxE,MAAA,YAAA2D,aAAA,CAACvB,kBAAkB;IAACwC,QAAQ,EAAE3C,UAAU,CAAC4C,SAAU;IAACpD,IAAI,EAAES,cAAe;IAAAkC,MAAA,EAAAzD,KAAA;IAAA0D,QAAA;MAAAC,QAAA,EAAA1D,YAAA;MAAA2D,UAAA;MAAAC,YAAA;IAAA;EAAA,EAAG,EAC5ExE,MAAA,YAAA2D,aAAA,CAACxD,YAAA,CAAAsE,IAAI;IAACC,KAAK,EAAE,CAAC7D,MAAM,CAACQ,OAAO,EAAEA,OAAO,EAAEqB,UAAU,CAACrB,OAAO,CAAE;IAAA+C,MAAA,EAAAzD,KAAA;IAAA0D,QAAA;MAAAC,QAAA,EAAA1D,YAAA;MAAA2D,UAAA;MAAAC,YAAA;IAAA;EAAA,GACzDxE,MAAA,YAAA2D,aAAA,CAACxD,YAAA,CAAA2E,IAAI;IAACC,aAAa,EAAE,CAAE;IAACL,KAAK,EAAE,CAAC7D,MAAM,CAACc,KAAK,EAAE;MAAEqD,KAAK,EAAE/B;IAAM,CAAC,EAAEtB,KAAK,EAAEe,UAAU,CAACf,KAAK,CAAE;IAAAyC,MAAA,EAAAzD,KAAA;IAAA0D,QAAA;MAAAC,QAAA,EAAA1D,YAAA;MAAA2D,UAAA;MAAAC,YAAA;IAAA;EAAA,GACtFvC,UAAU,CAACN,KAAK,CACZ,EACP3B,MAAA,YAAA2D,aAAA,CAACxD,YAAA,CAAA2E,IAAI;IAACJ,KAAK,EAAE,CAAC7D,MAAM,CAACY,IAAI,EAAE;MAAEuD,KAAK,EAAE9B;IAAK,CAAC,EAAEK,QAAQ,EAAEb,UAAU,CAACjB,IAAI,CAAE;IAAA2C,MAAA,EAAAzD,KAAA;IAAA0D,QAAA;MAAAC,QAAA,EAAA1D,YAAA;MAAA2D,UAAA;MAAAC,YAAA;IAAA;EAAA,GACpES,sBAAsB,CAAChD,UAAU,CAACiD,SAAS,CAAC,CACxC,CACF,CACF,EACN,CAAAnD,mBAAA,GAAAE,UAAU,CAACkD,OAAO,aAAlBpD,mBAAA,CAAoBqD,MAAM,GAAGpF,MAAA,YAAA2D,aAAA,CAACxB,iBAAiB,MAAA0B,SAAA,iBAAK5B,UAAU;IAAAmC,MAAA,EAAAzD,KAAA;IAAA0D,QAAA;MAAAC,QAAA,EAAA1D,YAAA;MAAA2D,UAAA;MAAAC,YAAA;IAAA;EAAA,GAAI,GAAG,IAAI,CACzD;AAEvB,CAAC;AAOM,IAAMa,cAAc,GAAG,SAAjBA,cAAcA,CAGzBvD,KAA8C,EAC3C;EACH,IAAAwD,kBAAA,GAA0D,IAAAC,iCAAiB,GAAsB;IAAzFlD,WAAW,GAAAiD,kBAAA,CAAXjD,WAAW;IAAEC,OAAO,GAAAgD,kBAAA,CAAPhD,OAAO;IAAEC,SAAS,GAAA+C,kBAAA,CAAT/C,SAAS;IAAEC,YAAY,GAAA8C,kBAAA,CAAZ9C,YAAY;EACrD,IAAAgD,mBAAA,GAII,IAAAC,mCAAkB,GAAsB;IAH1CzD,wBAAwB,GAAAwD,mBAAA,CAAxBxD,wBAAwB;IAAA0D,qBAAA,GAAAF,mBAAA,CACxBrD,iBAAiB;IAAjBA,iBAAiB,GAAAuD,qBAAA,cAAGC,oCAAwB,GAAAD,qBAAA;IAAAE,qBAAA,GAAAJ,mBAAA,CAC5CpD,kBAAkB;IAAlBA,kBAAkB,GAAAwD,qBAAA,cAAGC,kBAAe,GAAAD,qBAAA;EAGtC,OACE5F,MAAA,YAAA2D,aAAA,CAAC9B,yBAAyB,MAAAgC,SAAA;IAEtB7B,wBAAwB,EAAxBA,wBAAwB;IACxBG,iBAAiB,EAAjBA,iBAAiB;IACjBC,kBAAkB,EAAlBA,kBAAkB;IAClBC,WAAW,EAAXA,WAAW;IACXC,OAAO,EAAPA,OAAO;IACPC,SAAS,EAATA,SAAS;IACTC,YAAY,EAAZA;EAAY,GAEVV,KAAK;IAAAsC,MAAA,EAAAzD,KAAA;IAAA0D,QAAA;MAAAC,QAAA,EAAA1D,YAAA;MAAA2D,UAAA;MAAAC,YAAA;IAAA;EAAA,GACT;AAEN,CAAC;AAACsB,OAAA,CAAAT,cAAA,GAAAA,cAAA;AAEK,IAAMJ,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAIxD,IAAsB,EAAK;EAChE,IAAI,CAACA,IAAI,EAAE;EACX,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5BA,IAAI,GAAGsE,UAAU,CAACtE,IAAI,CAAC;EACzB;EAEA,IAAIA,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE;IACtB,OAAUuE,IAAI,CAACC,KAAK,CAACD,IAAI,CAACC,KAAK,CAACxE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;EACnD;EAEA,OAAUuE,IAAI,CAACC,KAAK,CAACD,IAAI,CAACC,KAAK,CAACxE,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;AACtD,CAAC;AAACqE,OAAA,CAAAb,sBAAA,GAAAA,sBAAA;AAEFI,cAAc,CAACa,WAAW,GAAG,qCAAqC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FILE_PREVIEW_HEIGHT","styles","StyleSheet","create","container","padding","fileContainer","borderRadius","borderWidth","flexDirection","height","justifyContent","paddingLeft","paddingRight","FileAttachmentGroupWithContext","props","Attachment","AudioAttachment","files","messageId","stylesProp","useState","filesToDisplay","setFilesToDisplay","useEffect","map","file","duration","paused","progress","onLoad","index","prevFilesToDisplay","fileToDisplay","id","toString","onProgress","currentTime","hasEnd","prevFileUploads","fileUpload","onPlayPause","pausedStatus","useTheme","theme","colors","grey_whisper","white","messageSimple","fileAttachmentGroup","paddingBottom","length","attachmentContainer","type","isAudioPackageAvailable","marginBottom","backgroundColor","borderColor","width","name","title","uri","asset_url","areEqual","prevProps","nextProps","prevFiles","nextFiles","MemoizedFileAttachmentGroup","React","memo","FileAttachmentGroup","propFiles","useMessageContext","contextFiles","useMessagesContext","AttachmentDefault","displayName"],"sources":["FileAttachmentGroup.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport { Attachment as AttachmentDefault } from './Attachment';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\n\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { isAudioPackageAvailable } from '../../native';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\nconst FILE_PREVIEW_HEIGHT = 60;\n\nconst styles = StyleSheet.create({\n container: {\n padding: 4,\n },\n fileContainer: {\n borderRadius: 12,\n borderWidth: 1,\n flexDirection: 'row',\n height: FILE_PREVIEW_HEIGHT,\n justifyContent: 'space-between',\n paddingLeft: 8,\n paddingRight: 8,\n },\n});\n\nexport type FileAttachmentGroupPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<MessageContextValue<StreamChatGenerics>, 'files'> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'Attachment' | 'AudioAttachment'> & {\n /**\n * The unique id for the message with file attachments\n */\n messageId: string;\n styles?: Partial<{\n attachmentContainer: StyleProp<ViewStyle>;\n container: StyleProp<ViewStyle>;\n }>;\n };\n\ntype FilesToDisplayType<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Attachment<StreamChatGenerics> & {\n duration: number;\n paused: boolean;\n progress: number;\n};\n\nconst FileAttachmentGroupWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileAttachmentGroupPropsWithContext<StreamChatGenerics>,\n) => {\n const { Attachment, AudioAttachment, files, messageId, styles: stylesProp = {} } = props;\n const [filesToDisplay, setFilesToDisplay] = useState<FilesToDisplayType[]>([]);\n\n useEffect(() => {\n setFilesToDisplay(files.map((file) => ({ ...file, duration: 0, paused: true, progress: 0 })));\n }, [files]);\n\n // Handler triggered when an audio is loaded in the message input. The initial state is defined for the audio here and the duration is set.\n const onLoad = (index: string, duration: number) => {\n setFilesToDisplay((prevFilesToDisplay) =>\n prevFilesToDisplay.map((fileToDisplay, id) => ({\n ...fileToDisplay,\n duration: id.toString() === index ? duration : fileToDisplay.duration,\n })),\n );\n };\n\n // The handler which is triggered when the audio progresses/ the thumb is dragged in the progress control. The progressed duration is set here.\n const onProgress = (index: string, currentTime?: number, hasEnd?: boolean) => {\n setFilesToDisplay((prevFileUploads) =>\n prevFileUploads.map((fileUpload, id) => ({\n ...fileUpload,\n progress:\n id.toString() === index\n ? hasEnd\n ? 1\n : currentTime\n ? currentTime / (fileUpload.duration as number)\n : 0\n : fileUpload.progress,\n })),\n );\n };\n\n // The handler which controls or sets the paused/played state of the audio.\n const onPlayPause = (index: string, pausedStatus?: boolean) => {\n if (pausedStatus === false) {\n // If the status is false we set the audio with the index as playing and the others as paused.\n setFilesToDisplay((prevFileUploads) =>\n prevFileUploads.map((fileUpload, id) => ({\n ...fileUpload,\n paused: id.toString() === index ? false : true,\n })),\n );\n } else {\n // If the status is true we simply set all the audio's paused state as true.\n setFilesToDisplay((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n paused: true,\n })),\n );\n }\n };\n\n const {\n theme: {\n colors: { grey_whisper, white },\n messageSimple: {\n fileAttachmentGroup: { container },\n },\n },\n } = useTheme();\n\n return (\n <View style={[styles.container, container, stylesProp.container]}>\n {filesToDisplay.map((file, index) => (\n <View\n key={`${messageId}-${index}`}\n style={[\n { paddingBottom: index !== files.length - 1 ? 4 : 0 },\n stylesProp.attachmentContainer,\n ]}\n >\n {file.type === 'audio' && isAudioPackageAvailable() ? (\n <View\n accessibilityLabel='audio-attachment-preview'\n style={[\n styles.fileContainer,\n index === filesToDisplay.length - 1\n ? {\n marginBottom: 0,\n }\n : {},\n {\n backgroundColor: white,\n borderColor: grey_whisper,\n width: -16,\n },\n ]}\n >\n <AudioAttachment\n item={{\n duration: file.duration,\n file: { name: file.title as string, uri: file.asset_url },\n id: index.toString(),\n paused: file.paused,\n progress: file.progress,\n }}\n onLoad={onLoad}\n onPlayPause={onPlayPause}\n onProgress={onProgress}\n testID='audio-attachment-preview'\n />\n </View>\n ) : (\n <Attachment attachment={file} />\n )}\n </View>\n ))}\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: FileAttachmentGroupPropsWithContext<StreamChatGenerics>,\n nextProps: FileAttachmentGroupPropsWithContext<StreamChatGenerics>,\n) => {\n const { files: prevFiles } = prevProps;\n const { files: nextFiles } = nextProps;\n\n return prevFiles.length === nextFiles.length;\n};\n\nconst MemoizedFileAttachmentGroup = React.memo(\n FileAttachmentGroupWithContext,\n areEqual,\n) as typeof FileAttachmentGroupWithContext;\n\nexport type FileAttachmentGroupProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<FileAttachmentGroupPropsWithContext<StreamChatGenerics>, 'messageId'>> &\n Pick<FileAttachmentGroupPropsWithContext<StreamChatGenerics>, 'messageId'>;\n\nexport const FileAttachmentGroup = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileAttachmentGroupProps<StreamChatGenerics>,\n) => {\n const { files: propFiles, messageId } = props;\n\n const { files: contextFiles } = useMessageContext<StreamChatGenerics>();\n\n const { Attachment = AttachmentDefault, AudioAttachment } =\n useMessagesContext<StreamChatGenerics>();\n\n const files = propFiles || contextFiles;\n\n if (!files.length) return null;\n\n return (\n <MemoizedFileAttachmentGroup\n {...{\n Attachment,\n AudioAttachment,\n files,\n messageId,\n }}\n />\n );\n};\n\nFileAttachmentGroup.displayName = 'FileAttachmentGroup{messageSimple{fileAttachmentGroup}}';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_Attachment","_MessageContext","_MessagesContext","_ThemeContext","_native","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","FILE_PREVIEW_HEIGHT","styles","StyleSheet","create","container","padding","fileContainer","borderRadius","borderWidth","flexDirection","height","justifyContent","paddingLeft","paddingRight","FileAttachmentGroupWithContext","props","Attachment","AudioAttachment","files","messageId","_props$styles","stylesProp","_useState","useState","_useState2","_slicedToArray2","filesToDisplay","setFilesToDisplay","useEffect","map","file","_extends2","duration","paused","progress","onLoad","index","prevFilesToDisplay","fileToDisplay","id","toString","onProgress","currentTime","hasEnd","prevFileUploads","fileUpload","onPlayPause","pausedStatus","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","grey_whisper","white","messageSimple","fileAttachmentGroup","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","paddingBottom","length","attachmentContainer","type","isAudioPackageAvailable","accessibilityLabel","marginBottom","backgroundColor","borderColor","width","item","name","title","uri","asset_url","testID","attachment","areEqual","prevProps","nextProps","prevFiles","nextFiles","MemoizedFileAttachmentGroup","React","memo","FileAttachmentGroup","propFiles","_useMessageContext","useMessageContext","contextFiles","_useMessagesContext","useMessagesContext","_useMessagesContext$A","AttachmentDefault","exports","displayName"],"sources":["FileAttachmentGroup.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport { Attachment as AttachmentDefault } from './Attachment';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\n\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { isAudioPackageAvailable } from '../../native';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\nconst FILE_PREVIEW_HEIGHT = 60;\n\nconst styles = StyleSheet.create({\n container: {\n padding: 4,\n },\n fileContainer: {\n borderRadius: 12,\n borderWidth: 1,\n flexDirection: 'row',\n height: FILE_PREVIEW_HEIGHT,\n justifyContent: 'space-between',\n paddingLeft: 8,\n paddingRight: 8,\n },\n});\n\nexport type FileAttachmentGroupPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<MessageContextValue<StreamChatGenerics>, 'files'> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'Attachment' | 'AudioAttachment'> & {\n /**\n * The unique id for the message with file attachments\n */\n messageId: string;\n styles?: Partial<{\n attachmentContainer: StyleProp<ViewStyle>;\n container: StyleProp<ViewStyle>;\n }>;\n };\n\ntype FilesToDisplayType<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Attachment<StreamChatGenerics> & {\n duration: number;\n paused: boolean;\n progress: number;\n};\n\nconst FileAttachmentGroupWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileAttachmentGroupPropsWithContext<StreamChatGenerics>,\n) => {\n const { Attachment, AudioAttachment, files, messageId, styles: stylesProp = {} } = props;\n const [filesToDisplay, setFilesToDisplay] = useState<FilesToDisplayType[]>([]);\n\n useEffect(() => {\n setFilesToDisplay(files.map((file) => ({ ...file, duration: 0, paused: true, progress: 0 })));\n }, [files]);\n\n // Handler triggered when an audio is loaded in the message input. The initial state is defined for the audio here and the duration is set.\n const onLoad = (index: string, duration: number) => {\n setFilesToDisplay((prevFilesToDisplay) =>\n prevFilesToDisplay.map((fileToDisplay, id) => ({\n ...fileToDisplay,\n duration: id.toString() === index ? duration : fileToDisplay.duration,\n })),\n );\n };\n\n // The handler which is triggered when the audio progresses/ the thumb is dragged in the progress control. The progressed duration is set here.\n const onProgress = (index: string, currentTime?: number, hasEnd?: boolean) => {\n setFilesToDisplay((prevFileUploads) =>\n prevFileUploads.map((fileUpload, id) => ({\n ...fileUpload,\n progress:\n id.toString() === index\n ? hasEnd\n ? 1\n : currentTime\n ? currentTime / (fileUpload.duration as number)\n : 0\n : fileUpload.progress,\n })),\n );\n };\n\n // The handler which controls or sets the paused/played state of the audio.\n const onPlayPause = (index: string, pausedStatus?: boolean) => {\n if (pausedStatus === false) {\n // If the status is false we set the audio with the index as playing and the others as paused.\n setFilesToDisplay((prevFileUploads) =>\n prevFileUploads.map((fileUpload, id) => ({\n ...fileUpload,\n paused: id.toString() === index ? false : true,\n })),\n );\n } else {\n // If the status is true we simply set all the audio's paused state as true.\n setFilesToDisplay((prevFileUploads) =>\n prevFileUploads.map((fileUpload) => ({\n ...fileUpload,\n paused: true,\n })),\n );\n }\n };\n\n const {\n theme: {\n colors: { grey_whisper, white },\n messageSimple: {\n fileAttachmentGroup: { container },\n },\n },\n } = useTheme();\n\n return (\n <View style={[styles.container, container, stylesProp.container]}>\n {filesToDisplay.map((file, index) => (\n <View\n key={`${messageId}-${index}`}\n style={[\n { paddingBottom: index !== files.length - 1 ? 4 : 0 },\n stylesProp.attachmentContainer,\n ]}\n >\n {file.type === 'audio' && isAudioPackageAvailable() ? (\n <View\n accessibilityLabel='audio-attachment-preview'\n style={[\n styles.fileContainer,\n index === filesToDisplay.length - 1\n ? {\n marginBottom: 0,\n }\n : {},\n {\n backgroundColor: white,\n borderColor: grey_whisper,\n width: -16,\n },\n ]}\n >\n <AudioAttachment\n item={{\n duration: file.duration,\n file: { name: file.title as string, uri: file.asset_url },\n id: index.toString(),\n paused: file.paused,\n progress: file.progress,\n }}\n onLoad={onLoad}\n onPlayPause={onPlayPause}\n onProgress={onProgress}\n testID='audio-attachment-preview'\n />\n </View>\n ) : (\n <Attachment attachment={file} />\n )}\n </View>\n ))}\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: FileAttachmentGroupPropsWithContext<StreamChatGenerics>,\n nextProps: FileAttachmentGroupPropsWithContext<StreamChatGenerics>,\n) => {\n const { files: prevFiles } = prevProps;\n const { files: nextFiles } = nextProps;\n\n return prevFiles.length === nextFiles.length;\n};\n\nconst MemoizedFileAttachmentGroup = React.memo(\n FileAttachmentGroupWithContext,\n areEqual,\n) as typeof FileAttachmentGroupWithContext;\n\nexport type FileAttachmentGroupProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<FileAttachmentGroupPropsWithContext<StreamChatGenerics>, 'messageId'>> &\n Pick<FileAttachmentGroupPropsWithContext<StreamChatGenerics>, 'messageId'>;\n\nexport const FileAttachmentGroup = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: FileAttachmentGroupProps<StreamChatGenerics>,\n) => {\n const { files: propFiles, messageId } = props;\n\n const { files: contextFiles } = useMessageContext<StreamChatGenerics>();\n\n const { Attachment = AttachmentDefault, AudioAttachment } =\n useMessagesContext<StreamChatGenerics>();\n\n const files = propFiles || contextFiles;\n\n if (!files.length) return null;\n\n return (\n <MemoizedFileAttachmentGroup\n {...{\n Attachment,\n AudioAttachment,\n files,\n messageId,\n }}\n />\n );\n};\n\nFileAttachmentGroup.displayName = 'FileAttachmentGroup{messageSimple{fileAttachmentGroup}}';\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["audioFileTypes","docMimeTypes","docXMimeTypes","excelMimeTypes","excelXMimeTypes","odtMimeTypes","powerpointMimeTypes","powerpointXMimeTypes","tarFileTypes","zipFileTypes","videoFileTypes","mimeTypeToIconMap","PDF","RTF","RAR","SEVEN_Z","CSV","HTML","MD","TXT","type","Audio","DOC","DOCX","XLS","XLSX","ODT","PPT","PPTX","TAR","ZIP","Video","mimeTypeToIcon","mimeType","GenericFile","Icon","FileIcon","size","useTheme","icon","theme","messageSimple","file","height","width","displayName"],"sources":["FileIcon.tsx"],"sourcesContent":["import React from 'react';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport { Audio } from '../../icons/Audio';\nimport { CSV } from '../../icons/CSV';\nimport { DOC } from '../../icons/DOC';\nimport { DOCX } from '../../icons/DOCX';\nimport { GenericFile } from '../../icons/GenericFile';\nimport { HTML } from '../../icons/HTML';\nimport { MD } from '../../icons/MD';\nimport { ODT } from '../../icons/ODT';\nimport { PDF } from '../../icons/PDF';\nimport { PPT } from '../../icons/PPT';\nimport { PPTX } from '../../icons/PPTX';\nimport { RAR } from '../../icons/RAR';\nimport { RTF } from '../../icons/RTF';\nimport { SEVEN_Z } from '../../icons/SEVEN_Z';\nimport { TAR } from '../../icons/TAR';\nimport { TXT } from '../../icons/TXT';\nimport type { IconProps } from '../../icons/utils/base';\nimport { Video } from '../../icons/Video';\nimport { XLS } from '../../icons/XLS';\nimport { XLSX } from '../../icons/XLSX';\nimport { ZIP } from '../../icons/ZIP';\n\n// https://www.iana.org/assignments/media-types/media-types.xhtml#audio\nconst audioFileTypes = [\n 'audio/1d-interleaved-parityfec',\n 'audio/32kadpcm',\n 'audio/3gpp',\n 'audio/3gpp2',\n 'audio/aac',\n 'audio/ac3',\n 'audio/AMR',\n 'audio/AMR-WB',\n 'audio/amr-wb+',\n 'audio/aptx',\n 'audio/asc',\n 'audio/ATRAC-ADVANCED-LOSSLESS',\n 'audio/ATRAC-X',\n 'audio/ATRAC3',\n 'audio/basic',\n 'audio/BV16',\n 'audio/BV32',\n 'audio/clearmode',\n 'audio/CN',\n 'audio/DAT12',\n 'audio/dls',\n 'audio/dsr-es201108',\n 'audio/dsr-es202050',\n 'audio/dsr-es202211',\n 'audio/dsr-es202212',\n 'audio/DV',\n 'audio/DVI4',\n 'audio/eac3',\n 'audio/encaprtp',\n 'audio/EVRC',\n 'audio/EVRC-QCP',\n 'audio/EVRC0',\n 'audio/EVRC1',\n 'audio/EVRCB',\n 'audio/EVRCB0',\n 'audio/EVRCB1',\n 'audio/EVRCNW',\n 'audio/EVRCNW0',\n 'audio/EVRCNW1',\n 'audio/EVRCWB',\n 'audio/EVRCWB0',\n 'audio/EVRCWB1',\n 'audio/EVS',\n 'audio/example',\n 'audio/flexfec',\n 'audio/fwdred',\n 'audio/G711-0',\n 'audio/G719',\n 'audio/G7221',\n 'audio/G722',\n 'audio/G723',\n 'audio/G726-16',\n 'audio/G726-24',\n 'audio/G726-32',\n 'audio/G726-40',\n 'audio/G728',\n 'audio/G729',\n 'audio/G7291',\n 'audio/G729D',\n 'audio/G729E',\n 'audio/GSM',\n 'audio/GSM-EFR',\n 'audio/GSM-HR-08',\n 'audio/iLBC',\n 'audio/ip-mr_v2.5',\n 'audio/L8',\n 'audio/L16',\n 'audio/L20',\n 'audio/L24',\n 'audio/LPC',\n 'audio/MELP',\n 'audio/MELP600',\n 'audio/MELP1200',\n 'audio/MELP2400',\n 'audio/mhas',\n 'audio/mobile-xmf',\n 'audio/MPA',\n 'audio/mp4',\n 'audio/MP4A-LATM',\n 'audio/mpa-robust',\n 'audio/mpeg',\n 'audio/mpeg4-generic',\n 'audio/ogg',\n 'audio/opus',\n 'audio/parityfec',\n 'audio/PCMA',\n 'audio/PCMA-WB',\n 'audio/PCMU',\n 'audio/PCMU-WB',\n 'audio/prs.sid',\n 'audio/raptorfec',\n 'audio/RED',\n 'audio/rtp-enc-aescm128',\n 'audio/rtploopback',\n 'audio/rtp-midi',\n 'audio/rtx',\n 'audio/SMV',\n 'audio/SMV0',\n 'audio/SMV-QCP',\n 'audio/sofa',\n 'audio/sp-midi',\n 'audio/speex',\n 'audio/t140c',\n 'audio/t38',\n 'audio/telephone-event',\n 'audio/TETRA_ACELP',\n 'audio/TETRA_ACELP_BB',\n 'audio/tone',\n 'audio/TSVCIS',\n 'audio/UEMCLIP',\n 'audio/ulpfec',\n 'audio/usac',\n 'audio/VDVI',\n 'audio/VMR-WB',\n 'audio/vnd.3gpp.iufp',\n 'audio/vnd.4SB',\n 'audio/vnd.audiokoz',\n 'audio/vnd.CELP',\n 'audio/vnd.cisco.nse',\n 'audio/vnd.cmles.radio-events',\n 'audio/vnd.cns.anp1',\n 'audio/vnd.cns.inf1',\n 'audio/vnd.dece.audio',\n 'audio/vnd.digital-winds',\n 'audio/vnd.dlna.adts',\n 'audio/vnd.dolby.heaac.1',\n 'audio/vnd.dolby.heaac.2',\n 'audio/vnd.dolby.mlp',\n 'audio/vnd.dolby.mps',\n 'audio/vnd.dolby.pl2',\n 'audio/vnd.dolby.pl2x',\n 'audio/vnd.dolby.pl2z',\n 'audio/vnd.dolby.pulse.1',\n 'audio/vnd.dra',\n 'audio/vnd.dts',\n 'audio/vnd.dts.hd',\n 'audio/vnd.dts.uhd',\n 'audio/vnd.dvb.file',\n 'audio/vnd.everad.plj',\n 'audio/vnd.hns.audio',\n 'audio/vnd.lucent.voice',\n 'audio/vnd.ms-playready.media.pya',\n 'audio/vnd.nokia.mobile-xmf',\n 'audio/vnd.nortel.vbk',\n 'audio/vnd.nuera.ecelp4800',\n 'audio/vnd.nuera.ecelp7470',\n 'audio/vnd.nuera.ecelp9600',\n 'audio/vnd.octel.sbc',\n 'audio/vnd.presonus.multitrack',\n 'audio/vnd.qcelp',\n 'audio/vnd.rhetorex.32kadpcm',\n 'audio/vnd.rip',\n 'audio/vnd.sealedmedia.softseal.mpeg',\n 'audio/vnd.vmx.cvsd',\n 'audio/vorbis',\n 'audio/vorbis-config',\n];\n\n// Partially based on:\n// https://stackoverflow.com/a/4212908/2570866\n\nconst docMimeTypes = [\n // Microsoft Word\n // .doc .dot\n 'application/msword',\n // .doc .dot\n 'application/msword-template',\n\n // LibreOffice/OpenOffice Writer\n // .odt\n 'application/vnd.oasis.opendocument.text',\n // .ott\n 'application/vnd.oasis.opendocument.text-template',\n // .fodt\n 'application/vnd.oasis.opendocument.text-flat-xml',\n // .uot\n // NOTE: firefox doesn't know mimetype so maybe ignore\n];\n\nconst docXMimeTypes = [\n // Microsoft Word\n // .docx\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n // .dotx (no test)\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',\n // .docm\n 'application/vnd.ms-word.document.macroEnabled.12',\n // .dotm (no test)\n 'application/vnd.ms-word.template.macroEnabled.12',\n];\n\nconst excelMimeTypes = [\n // Microsoft Excel\n // .xls .xlt .xla (no test for .xla)\n 'application/vnd.ms-excel',\n\n // LibreOffice/OpenOffice Calc\n // .ods\n 'application/vnd.oasis.opendocument.spreadsheet',\n // .ots\n 'application/vnd.oasis.opendocument.spreadsheet-template',\n // .fods\n 'application/vnd.oasis.opendocument.spreadsheet-flat-xml',\n];\n\nconst excelXMimeTypes = [\n // .xlsx\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n // .xltx (no test)\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.template',\n // .xlsm\n 'application/vnd.ms-excel.sheet.macroEnabled.12',\n // .xltm (no test)\n 'application/vnd.ms-excel.template.macroEnabled.12',\n // .xlam (no test)\n 'application/vnd.ms-excel.addin.macroEnabled.12',\n // .xlsb (no test)\n 'application/vnd.ms-excel.addin.macroEnabled.12',\n];\n\nconst odtMimeTypes = [\n // LibreOffice/OpenOffice Writer\n // .odt\n 'application/vnd.oasis.opendocument.text',\n // .ott\n 'application/vnd.oasis.opendocument.text-template',\n // .fodt\n 'application/vnd.oasis.opendocument.text-flat-xml',\n];\n\nconst powerpointMimeTypes = [\n // Microsoft Word\n // .ppt .pot .pps .ppa (no test for .ppa)\n 'application/vnd.ms-powerpoint',\n\n // LibreOffice/OpenOffice Writer\n // .odp\n 'application/vnd.oasis.opendocument.presentation',\n // .otp\n 'application/vnd.oasis.opendocument.presentation-template',\n // .fodp\n 'application/vnd.oasis.opendocument.presentation-flat-xml',\n // .uop\n // NOTE: firefox doesn't know mimetype so maybe ignore\n];\n\nconst powerpointXMimeTypes = [\n // .pptx\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n // .potx (no test)\n 'application/vnd.openxmlformats-officedocument.presentationml.template',\n // .ppsx\n 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',\n // .ppam\n 'application/vnd.ms-powerpoint.addin.macroEnabled.12',\n // .pptm\n 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',\n // .potm\n 'application/vnd.ms-powerpoint.template.macroEnabled.12',\n // .ppsm\n 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12',\n];\n\nconst tarFileTypes = [\n // .ar\n 'application/x-archive',\n // .tar\n 'application/x-tar',\n // .tar.gz\n 'application/gzip',\n // .tar.Z\n 'application/x-compress',\n // .tar.bz2\n 'application/x-bzip',\n // .tar.lz\n 'application/x-lzip',\n // .tar.lz4\n 'application/x-lz4',\n // .tar.lzma\n 'application/x-lzma',\n // .tar.lzo (no test)\n 'application/x-lzop',\n // .tar.xz\n 'application/x-xz',\n // .war\n 'application/x-webarchive',\n];\n\nconst zipFileTypes = [\n // .gzip\n 'application/gzip',\n // .zip\n 'application/zip',\n];\n\nconst videoFileTypes = [\n 'video/3g2',\n 'video/3gp',\n 'video/aaf',\n 'video/asf',\n 'video/avchd',\n 'video/avi',\n 'video/drc',\n 'video/flv',\n 'video/m2v',\n 'video/m3u8',\n 'video/m4p',\n 'video/m4v',\n 'video/mkv',\n 'video/mng',\n 'video/mov',\n 'video/mp2',\n 'video/mp4',\n 'video/mpe',\n 'video/mpeg',\n 'video/mpg',\n 'video/mpv',\n 'video/mxf',\n 'video/nsv',\n 'video/ogg',\n 'video/ogv',\n 'video/qt',\n 'video/rm',\n 'video/rmvb',\n 'video/roq',\n 'video/svi',\n 'video/vob',\n 'video/webm',\n 'video/wmv',\n 'video/yuv',\n 'video/quicktime',\n 'video/webm',\n 'video/x-flv',\n];\n\nconst mimeTypeToIconMap: Record<string, React.FC<IconProps>> = {\n 'application/pdf': PDF, // .pdf\n 'application/rtf': RTF, // .rtf\n 'application/vnd.rar': RAR, // .rar\n 'application/x-7z-compressed': SEVEN_Z, // .z7\n 'text/csv': CSV, // .csv\n 'text/html': HTML, // .html .htm\n 'text/markdown': MD, // .md\n 'text/plain': TXT, // .txt\n};\n\nfor (const type of audioFileTypes) {\n mimeTypeToIconMap[type] = Audio;\n}\n\nfor (const type of docMimeTypes) {\n mimeTypeToIconMap[type] = DOC;\n}\n\nfor (const type of docXMimeTypes) {\n mimeTypeToIconMap[type] = DOCX;\n}\n\nfor (const type of excelMimeTypes) {\n mimeTypeToIconMap[type] = XLS;\n}\n\nfor (const type of excelXMimeTypes) {\n mimeTypeToIconMap[type] = XLSX;\n}\n\nfor (const type of odtMimeTypes) {\n mimeTypeToIconMap[type] = ODT;\n}\n\nfor (const type of powerpointMimeTypes) {\n mimeTypeToIconMap[type] = PPT;\n}\n\nfor (const type of powerpointXMimeTypes) {\n mimeTypeToIconMap[type] = PPTX;\n}\n\nfor (const type of tarFileTypes) {\n mimeTypeToIconMap[type] = TAR;\n}\n\nfor (const type of zipFileTypes) {\n mimeTypeToIconMap[type] = ZIP;\n}\n\nfor (const type of videoFileTypes) {\n mimeTypeToIconMap[type] = Video;\n}\n\nfunction mimeTypeToIcon(mimeType?: string): React.FC<IconProps> {\n if (!mimeType) return GenericFile;\n\n const Icon = mimeTypeToIconMap[mimeType];\n if (Icon) return Icon;\n\n return GenericFile;\n}\n\nexport type FileIconProps = {\n mimeType?: string;\n size?: number;\n};\n\nexport const FileIcon: React.FC<FileIconProps> = ({ mimeType, size }) => {\n const {\n theme: {\n messageSimple: {\n file: { icon },\n },\n },\n } = useTheme();\n\n const Icon = mimeTypeToIcon(mimeType);\n\n return <Icon {...(size ? { height: size, width: size } : {})} {...icon} />;\n};\n\nFileIcon.displayName = 'FileIcon{messageSimple{file{icon}}}';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_ThemeContext","_Audio","_CSV","_DOC","_DOCX","_GenericFile","_HTML","_MD","_ODT","_PDF","_PPT","_PPTX","_RAR","_RTF","_SEVEN_Z","_TAR","_TXT","_Video","_XLS","_XLSX","_ZIP","_this","_jsxFileName","audioFileTypes","docMimeTypes","docXMimeTypes","excelMimeTypes","excelXMimeTypes","odtMimeTypes","powerpointMimeTypes","powerpointXMimeTypes","tarFileTypes","zipFileTypes","videoFileTypes","mimeTypeToIconMap","PDF","RTF","RAR","SEVEN_Z","CSV","HTML","MD","TXT","_i","_audioFileTypes","length","type","Audio","_i2","_docMimeTypes","DOC","_i3","_docXMimeTypes","DOCX","_i4","_excelMimeTypes","XLS","_i5","_excelXMimeTypes","XLSX","_i6","_odtMimeTypes","ODT","_i7","_powerpointMimeTypes","PPT","_i8","_powerpointXMimeTypes","PPTX","_i9","_tarFileTypes","TAR","_i10","_zipFileTypes","ZIP","_i11","_videoFileTypes","Video","mimeTypeToIcon","mimeType","GenericFile","Icon","FileIcon","_ref","size","_useTheme","useTheme","icon","theme","messageSimple","file","createElement","_extends2","height","width","__self","__source","fileName","lineNumber","columnNumber","exports","displayName"],"sources":["FileIcon.tsx"],"sourcesContent":["import React from 'react';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport { Audio } from '../../icons/Audio';\nimport { CSV } from '../../icons/CSV';\nimport { DOC } from '../../icons/DOC';\nimport { DOCX } from '../../icons/DOCX';\nimport { GenericFile } from '../../icons/GenericFile';\nimport { HTML } from '../../icons/HTML';\nimport { MD } from '../../icons/MD';\nimport { ODT } from '../../icons/ODT';\nimport { PDF } from '../../icons/PDF';\nimport { PPT } from '../../icons/PPT';\nimport { PPTX } from '../../icons/PPTX';\nimport { RAR } from '../../icons/RAR';\nimport { RTF } from '../../icons/RTF';\nimport { SEVEN_Z } from '../../icons/SEVEN_Z';\nimport { TAR } from '../../icons/TAR';\nimport { TXT } from '../../icons/TXT';\nimport type { IconProps } from '../../icons/utils/base';\nimport { Video } from '../../icons/Video';\nimport { XLS } from '../../icons/XLS';\nimport { XLSX } from '../../icons/XLSX';\nimport { ZIP } from '../../icons/ZIP';\n\n// https://www.iana.org/assignments/media-types/media-types.xhtml#audio\nconst audioFileTypes = [\n 'audio/1d-interleaved-parityfec',\n 'audio/32kadpcm',\n 'audio/3gpp',\n 'audio/3gpp2',\n 'audio/aac',\n 'audio/ac3',\n 'audio/AMR',\n 'audio/AMR-WB',\n 'audio/amr-wb+',\n 'audio/aptx',\n 'audio/asc',\n 'audio/ATRAC-ADVANCED-LOSSLESS',\n 'audio/ATRAC-X',\n 'audio/ATRAC3',\n 'audio/basic',\n 'audio/BV16',\n 'audio/BV32',\n 'audio/clearmode',\n 'audio/CN',\n 'audio/DAT12',\n 'audio/dls',\n 'audio/dsr-es201108',\n 'audio/dsr-es202050',\n 'audio/dsr-es202211',\n 'audio/dsr-es202212',\n 'audio/DV',\n 'audio/DVI4',\n 'audio/eac3',\n 'audio/encaprtp',\n 'audio/EVRC',\n 'audio/EVRC-QCP',\n 'audio/EVRC0',\n 'audio/EVRC1',\n 'audio/EVRCB',\n 'audio/EVRCB0',\n 'audio/EVRCB1',\n 'audio/EVRCNW',\n 'audio/EVRCNW0',\n 'audio/EVRCNW1',\n 'audio/EVRCWB',\n 'audio/EVRCWB0',\n 'audio/EVRCWB1',\n 'audio/EVS',\n 'audio/example',\n 'audio/flexfec',\n 'audio/fwdred',\n 'audio/G711-0',\n 'audio/G719',\n 'audio/G7221',\n 'audio/G722',\n 'audio/G723',\n 'audio/G726-16',\n 'audio/G726-24',\n 'audio/G726-32',\n 'audio/G726-40',\n 'audio/G728',\n 'audio/G729',\n 'audio/G7291',\n 'audio/G729D',\n 'audio/G729E',\n 'audio/GSM',\n 'audio/GSM-EFR',\n 'audio/GSM-HR-08',\n 'audio/iLBC',\n 'audio/ip-mr_v2.5',\n 'audio/L8',\n 'audio/L16',\n 'audio/L20',\n 'audio/L24',\n 'audio/LPC',\n 'audio/MELP',\n 'audio/MELP600',\n 'audio/MELP1200',\n 'audio/MELP2400',\n 'audio/mhas',\n 'audio/mobile-xmf',\n 'audio/MPA',\n 'audio/mp4',\n 'audio/MP4A-LATM',\n 'audio/mpa-robust',\n 'audio/mpeg',\n 'audio/mpeg4-generic',\n 'audio/ogg',\n 'audio/opus',\n 'audio/parityfec',\n 'audio/PCMA',\n 'audio/PCMA-WB',\n 'audio/PCMU',\n 'audio/PCMU-WB',\n 'audio/prs.sid',\n 'audio/raptorfec',\n 'audio/RED',\n 'audio/rtp-enc-aescm128',\n 'audio/rtploopback',\n 'audio/rtp-midi',\n 'audio/rtx',\n 'audio/SMV',\n 'audio/SMV0',\n 'audio/SMV-QCP',\n 'audio/sofa',\n 'audio/sp-midi',\n 'audio/speex',\n 'audio/t140c',\n 'audio/t38',\n 'audio/telephone-event',\n 'audio/TETRA_ACELP',\n 'audio/TETRA_ACELP_BB',\n 'audio/tone',\n 'audio/TSVCIS',\n 'audio/UEMCLIP',\n 'audio/ulpfec',\n 'audio/usac',\n 'audio/VDVI',\n 'audio/VMR-WB',\n 'audio/vnd.3gpp.iufp',\n 'audio/vnd.4SB',\n 'audio/vnd.audiokoz',\n 'audio/vnd.CELP',\n 'audio/vnd.cisco.nse',\n 'audio/vnd.cmles.radio-events',\n 'audio/vnd.cns.anp1',\n 'audio/vnd.cns.inf1',\n 'audio/vnd.dece.audio',\n 'audio/vnd.digital-winds',\n 'audio/vnd.dlna.adts',\n 'audio/vnd.dolby.heaac.1',\n 'audio/vnd.dolby.heaac.2',\n 'audio/vnd.dolby.mlp',\n 'audio/vnd.dolby.mps',\n 'audio/vnd.dolby.pl2',\n 'audio/vnd.dolby.pl2x',\n 'audio/vnd.dolby.pl2z',\n 'audio/vnd.dolby.pulse.1',\n 'audio/vnd.dra',\n 'audio/vnd.dts',\n 'audio/vnd.dts.hd',\n 'audio/vnd.dts.uhd',\n 'audio/vnd.dvb.file',\n 'audio/vnd.everad.plj',\n 'audio/vnd.hns.audio',\n 'audio/vnd.lucent.voice',\n 'audio/vnd.ms-playready.media.pya',\n 'audio/vnd.nokia.mobile-xmf',\n 'audio/vnd.nortel.vbk',\n 'audio/vnd.nuera.ecelp4800',\n 'audio/vnd.nuera.ecelp7470',\n 'audio/vnd.nuera.ecelp9600',\n 'audio/vnd.octel.sbc',\n 'audio/vnd.presonus.multitrack',\n 'audio/vnd.qcelp',\n 'audio/vnd.rhetorex.32kadpcm',\n 'audio/vnd.rip',\n 'audio/vnd.sealedmedia.softseal.mpeg',\n 'audio/vnd.vmx.cvsd',\n 'audio/vorbis',\n 'audio/vorbis-config',\n];\n\n// Partially based on:\n// https://stackoverflow.com/a/4212908/2570866\n\nconst docMimeTypes = [\n // Microsoft Word\n // .doc .dot\n 'application/msword',\n // .doc .dot\n 'application/msword-template',\n\n // LibreOffice/OpenOffice Writer\n // .odt\n 'application/vnd.oasis.opendocument.text',\n // .ott\n 'application/vnd.oasis.opendocument.text-template',\n // .fodt\n 'application/vnd.oasis.opendocument.text-flat-xml',\n // .uot\n // NOTE: firefox doesn't know mimetype so maybe ignore\n];\n\nconst docXMimeTypes = [\n // Microsoft Word\n // .docx\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n // .dotx (no test)\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',\n // .docm\n 'application/vnd.ms-word.document.macroEnabled.12',\n // .dotm (no test)\n 'application/vnd.ms-word.template.macroEnabled.12',\n];\n\nconst excelMimeTypes = [\n // Microsoft Excel\n // .xls .xlt .xla (no test for .xla)\n 'application/vnd.ms-excel',\n\n // LibreOffice/OpenOffice Calc\n // .ods\n 'application/vnd.oasis.opendocument.spreadsheet',\n // .ots\n 'application/vnd.oasis.opendocument.spreadsheet-template',\n // .fods\n 'application/vnd.oasis.opendocument.spreadsheet-flat-xml',\n];\n\nconst excelXMimeTypes = [\n // .xlsx\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n // .xltx (no test)\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.template',\n // .xlsm\n 'application/vnd.ms-excel.sheet.macroEnabled.12',\n // .xltm (no test)\n 'application/vnd.ms-excel.template.macroEnabled.12',\n // .xlam (no test)\n 'application/vnd.ms-excel.addin.macroEnabled.12',\n // .xlsb (no test)\n 'application/vnd.ms-excel.addin.macroEnabled.12',\n];\n\nconst odtMimeTypes = [\n // LibreOffice/OpenOffice Writer\n // .odt\n 'application/vnd.oasis.opendocument.text',\n // .ott\n 'application/vnd.oasis.opendocument.text-template',\n // .fodt\n 'application/vnd.oasis.opendocument.text-flat-xml',\n];\n\nconst powerpointMimeTypes = [\n // Microsoft Word\n // .ppt .pot .pps .ppa (no test for .ppa)\n 'application/vnd.ms-powerpoint',\n\n // LibreOffice/OpenOffice Writer\n // .odp\n 'application/vnd.oasis.opendocument.presentation',\n // .otp\n 'application/vnd.oasis.opendocument.presentation-template',\n // .fodp\n 'application/vnd.oasis.opendocument.presentation-flat-xml',\n // .uop\n // NOTE: firefox doesn't know mimetype so maybe ignore\n];\n\nconst powerpointXMimeTypes = [\n // .pptx\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n // .potx (no test)\n 'application/vnd.openxmlformats-officedocument.presentationml.template',\n // .ppsx\n 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',\n // .ppam\n 'application/vnd.ms-powerpoint.addin.macroEnabled.12',\n // .pptm\n 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',\n // .potm\n 'application/vnd.ms-powerpoint.template.macroEnabled.12',\n // .ppsm\n 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12',\n];\n\nconst tarFileTypes = [\n // .ar\n 'application/x-archive',\n // .tar\n 'application/x-tar',\n // .tar.gz\n 'application/gzip',\n // .tar.Z\n 'application/x-compress',\n // .tar.bz2\n 'application/x-bzip',\n // .tar.lz\n 'application/x-lzip',\n // .tar.lz4\n 'application/x-lz4',\n // .tar.lzma\n 'application/x-lzma',\n // .tar.lzo (no test)\n 'application/x-lzop',\n // .tar.xz\n 'application/x-xz',\n // .war\n 'application/x-webarchive',\n];\n\nconst zipFileTypes = [\n // .gzip\n 'application/gzip',\n // .zip\n 'application/zip',\n];\n\nconst videoFileTypes = [\n 'video/3g2',\n 'video/3gp',\n 'video/aaf',\n 'video/asf',\n 'video/avchd',\n 'video/avi',\n 'video/drc',\n 'video/flv',\n 'video/m2v',\n 'video/m3u8',\n 'video/m4p',\n 'video/m4v',\n 'video/mkv',\n 'video/mng',\n 'video/mov',\n 'video/mp2',\n 'video/mp4',\n 'video/mpe',\n 'video/mpeg',\n 'video/mpg',\n 'video/mpv',\n 'video/mxf',\n 'video/nsv',\n 'video/ogg',\n 'video/ogv',\n 'video/qt',\n 'video/rm',\n 'video/rmvb',\n 'video/roq',\n 'video/svi',\n 'video/vob',\n 'video/webm',\n 'video/wmv',\n 'video/yuv',\n 'video/quicktime',\n 'video/webm',\n 'video/x-flv',\n];\n\nconst mimeTypeToIconMap: Record<string, React.FC<IconProps>> = {\n 'application/pdf': PDF, // .pdf\n 'application/rtf': RTF, // .rtf\n 'application/vnd.rar': RAR, // .rar\n 'application/x-7z-compressed': SEVEN_Z, // .z7\n 'text/csv': CSV, // .csv\n 'text/html': HTML, // .html .htm\n 'text/markdown': MD, // .md\n 'text/plain': TXT, // .txt\n};\n\nfor (const type of audioFileTypes) {\n mimeTypeToIconMap[type] = Audio;\n}\n\nfor (const type of docMimeTypes) {\n mimeTypeToIconMap[type] = DOC;\n}\n\nfor (const type of docXMimeTypes) {\n mimeTypeToIconMap[type] = DOCX;\n}\n\nfor (const type of excelMimeTypes) {\n mimeTypeToIconMap[type] = XLS;\n}\n\nfor (const type of excelXMimeTypes) {\n mimeTypeToIconMap[type] = XLSX;\n}\n\nfor (const type of odtMimeTypes) {\n mimeTypeToIconMap[type] = ODT;\n}\n\nfor (const type of powerpointMimeTypes) {\n mimeTypeToIconMap[type] = PPT;\n}\n\nfor (const type of powerpointXMimeTypes) {\n mimeTypeToIconMap[type] = PPTX;\n}\n\nfor (const type of tarFileTypes) {\n mimeTypeToIconMap[type] = TAR;\n}\n\nfor (const type of zipFileTypes) {\n mimeTypeToIconMap[type] = ZIP;\n}\n\nfor (const type of videoFileTypes) {\n mimeTypeToIconMap[type] = Video;\n}\n\nfunction mimeTypeToIcon(mimeType?: string): React.FC<IconProps> {\n if (!mimeType) return GenericFile;\n\n const Icon = mimeTypeToIconMap[mimeType];\n if (Icon) return Icon;\n\n return GenericFile;\n}\n\nexport type FileIconProps = {\n mimeType?: string;\n size?: number;\n};\n\nexport const FileIcon: React.FC<FileIconProps> = ({ mimeType, size }) => {\n const {\n theme: {\n messageSimple: {\n file: { icon },\n },\n },\n } = useTheme();\n\n const Icon = mimeTypeToIcon(mimeType);\n\n return <Icon {...(size ? { height: size, width: size } : {})} {...icon} />;\n};\n\nFileIcon.displayName = 'FileIcon{messageSimple{file{icon}}}';\n"],"mappings":"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"}
|
|
@@ -387,13 +387,7 @@ var GalleryImageThumbnail = function GalleryImageThumbnail(_ref2) {
|
|
|
387
387
|
lineNumber: 474,
|
|
388
388
|
columnNumber: 9
|
|
389
389
|
}
|
|
390
|
-
}) : _react["default"].createElement(_react["default"].Fragment, {
|
|
391
|
-
__source: {
|
|
392
|
-
fileName: _jsxFileName,
|
|
393
|
-
lineNumber: 476,
|
|
394
|
-
columnNumber: 9
|
|
395
|
-
}
|
|
396
|
-
}, _react["default"].createElement(_GalleryImage.GalleryImage, {
|
|
390
|
+
}) : _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_GalleryImage.GalleryImage, {
|
|
397
391
|
onError: function onError(error) {
|
|
398
392
|
console.warn(error);
|
|
399
393
|
setLoadingImage(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["styles","StyleSheet","create","errorTextSize","fontSize","galleryContainer","borderTopLeftRadius","borderTopRightRadius","flexDirection","flexWrap","overflow","imageContainer","alignItems","display","justifyContent","padding","imageContainerStyle","flex","imageLoadingErrorIndicatorStyle","bottom","left","position","imageLoadingIndicatorContainer","height","width","imageLoadingIndicatorStyle","moreImagesContainer","margin","moreImagesText","color","fontWeight","GalleryWithContext","props","additionalTouchableProps","alignment","groupStyles","hasThreadReplies","ImageLoadingFailedIndicator","ImageLoadingIndicator","images","legacyImageViewerSwipeBehaviour","message","onLongPress","onPress","onPressIn","preventPress","setMessages","setOverlay","setSelectedMessage","threadList","videos","VideoThumbnail","useTheme","theme","messageSimple","gallery","galleryItemColumn","gridHeight","gridWidth","maxHeight","maxWidth","minHeight","minWidth","sizeConfig","imagesAndVideos","imagesAndVideosValue","length","map","i","image_url","thumb_url","join","useMemo","buildGallery","invertedDirections","thumbnailGrid","numOfColumns","rows","colIndex","numOfRows","thumbnail","rowIndex","borderRadius","getGalleryImageBorderRadius","messageText","text","undefined","GalleryThumbnail","overlay","colors","image","openImageViewer","messageId","id","url","defaultOnPress","type","isVideoPackageAvailable","openUrlSafely","event","emitter","defaultHandler","absoluteFillObject","backgroundColor","GalleryImageThumbnail","useLoadingImage","isLoadingImage","isLoadingImageError","setLoadingImage","setLoadingImageError","error","console","warn","resizeMode","areEqual","prevProps","nextProps","prevGroupStyles","prevHasThreadReplies","prevImages","prevMessage","prevVideos","nextGroupStyles","nextHasThreadReplies","nextImages","nextMessage","nextVideos","messageEqual","updated_at","groupStylesEqual","hasThreadRepliesEqual","imagesEqual","every","index","getUrlWithoutParams","videosEqual","MemoizedGallery","React","memo","Gallery","propAdditionalTouchableProps","propAlignment","propGroupStyles","PropImageLoadingFailedIndicator","PropImageLoadingIndicator","propImages","propMessage","propOnLongPress","propOnPress","propOnPressIn","propPreventPress","propSetOverlay","propSetSelectedMessage","propThreadList","propVideos","PropVideoThumbnail","useImageGalleryContext","contextSetSelectedMessage","useMessageContext","contextAlignment","contextGroupStyles","contextImages","contextMessage","contextOnLongPress","contextOnPress","contextOnPressIn","contextPreventPress","contextThreadList","contextVideos","useMessagesContext","contextAdditionalTouchableProps","ContextImageLoadingFailedIndicator","ContextImageLoadingIndicator","ContextVideoThumnbnail","useOverlayContext","contextSetOverlay","channelId","cid","reply_count","displayName"],"sources":["Gallery.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport { GalleryImage } from './GalleryImage';\nimport { buildGallery } from './utils/buildGallery/buildGallery';\n\nimport type { Thumbnail } from './utils/buildGallery/types';\nimport { getGalleryImageBorderRadius } from './utils/getGalleryImageBorderRadius';\n\nimport { openUrlSafely } from './utils/openUrlSafely';\n\nimport type { MessageType } from '../../components/MessageList/hooks/useMessageList';\nimport {\n ImageGalleryContextValue,\n useImageGalleryContext,\n} from '../../contexts/imageGalleryContext/ImageGalleryContext';\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useLoadingImage } from '../../hooks/useLoadingImage';\nimport { isVideoPackageAvailable } from '../../native';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { getUrlWithoutParams } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n errorTextSize: { fontSize: 10 },\n galleryContainer: {\n borderTopLeftRadius: 13,\n borderTopRightRadius: 13,\n flexDirection: 'row',\n flexWrap: 'wrap',\n overflow: 'hidden',\n },\n imageContainer: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n padding: 1,\n },\n imageContainerStyle: { alignItems: 'center', flex: 1, justifyContent: 'center' },\n imageLoadingErrorIndicatorStyle: {\n bottom: 4,\n left: 4,\n position: 'absolute',\n },\n imageLoadingIndicatorContainer: {\n height: '100%',\n justifyContent: 'center',\n position: 'absolute',\n width: '100%',\n },\n imageLoadingIndicatorStyle: {\n alignItems: 'center',\n justifyContent: 'center',\n position: 'absolute',\n },\n moreImagesContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n margin: 1,\n },\n moreImagesText: { color: '#FFFFFF', fontSize: 26, fontWeight: '700' },\n});\n\nexport type GalleryPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ImageGalleryContextValue<StreamChatGenerics>, 'setSelectedMessage' | 'setMessages'> &\n Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'alignment'\n | 'groupStyles'\n | 'images'\n | 'videos'\n | 'onLongPress'\n | 'onPress'\n | 'onPressIn'\n | 'preventPress'\n | 'threadList'\n > &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'additionalTouchableProps'\n | 'legacyImageViewerSwipeBehaviour'\n | 'VideoThumbnail'\n | 'ImageLoadingIndicator'\n | 'ImageLoadingFailedIndicator'\n > &\n Pick<OverlayContextValue, 'setOverlay'> & {\n channelId: string | undefined;\n hasThreadReplies?: boolean;\n /**\n * `message` prop has been introduced here as part of `legacyImageViewerSwipeBehaviour` prop.\n * https://github.com/GetStream/stream-chat-react-native/commit/d5eac6193047916f140efe8e396a671675c9a63f\n * messageId and messageText may seem redundant now, but to avoid breaking change as part\n * of minor release, we are keeping those props.\n *\n * Also `message` type should ideally be imported from MessageContextValue and not be explicitely mentioned\n * here, but due to some circular dependencies within the SDK, it causes \"excessive deep nesting\" issue with\n * typescript within Channel component. We should take it as a mini-project and resolve all these circular imports.\n *\n * TODO: Fix circular dependencies of imports\n */\n message?: MessageType<StreamChatGenerics>;\n };\n\nconst GalleryWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GalleryPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n alignment,\n groupStyles,\n hasThreadReplies,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n images,\n legacyImageViewerSwipeBehaviour,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setMessages,\n setOverlay,\n setSelectedMessage,\n threadList,\n videos,\n VideoThumbnail,\n } = props;\n\n const {\n theme: {\n messageSimple: {\n gallery: {\n galleryContainer,\n galleryItemColumn,\n gridHeight,\n gridWidth,\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n },\n },\n },\n } = useTheme();\n\n const sizeConfig = {\n gridHeight,\n gridWidth,\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n };\n\n const imagesAndVideos = [...(images || []), ...(videos || [])];\n const imagesAndVideosValue = `${images?.length}${videos?.length}${images\n ?.map((i) => `${i.image_url}${i.thumb_url}`)\n .join('')}${videos?.map((i) => `${i.image_url}${i.thumb_url}`).join('')}`;\n\n const { height, invertedDirections, thumbnailGrid, width } = useMemo(\n () =>\n buildGallery({\n images: imagesAndVideos,\n sizeConfig,\n }),\n [imagesAndVideosValue],\n );\n\n if (!imagesAndVideos?.length) return null;\n const numOfColumns = thumbnailGrid.length;\n\n return (\n <View\n style={[\n styles.galleryContainer,\n {\n height,\n width,\n },\n galleryContainer,\n {\n flexDirection: invertedDirections ? 'column' : 'row',\n },\n ]}\n testID='gallery-container'\n >\n {thumbnailGrid.map((rows, colIndex) => {\n const numOfRows = rows.length;\n return (\n <View\n key={`gallery-${invertedDirections ? 'row' : 'column'}-${colIndex}`}\n style={[\n {\n flexDirection: invertedDirections ? 'row' : 'column',\n },\n galleryItemColumn,\n ]}\n testID={`gallery-${invertedDirections ? 'row' : 'column'}-${colIndex}`}\n >\n {rows.map((thumbnail, rowIndex) => {\n const borderRadius = getGalleryImageBorderRadius({\n alignment,\n colIndex,\n groupStyles,\n hasThreadReplies,\n height,\n invertedDirections,\n messageText: message?.text,\n numOfColumns,\n numOfRows,\n rowIndex,\n sizeConfig,\n threadList,\n width,\n });\n\n if (message === undefined) {\n return null;\n }\n\n return (\n <GalleryThumbnail\n additionalTouchableProps={additionalTouchableProps}\n borderRadius={borderRadius}\n colIndex={colIndex}\n ImageLoadingFailedIndicator={ImageLoadingFailedIndicator}\n ImageLoadingIndicator={ImageLoadingIndicator}\n imagesAndVideos={imagesAndVideos}\n invertedDirections={invertedDirections || false}\n key={rowIndex}\n legacyImageViewerSwipeBehaviour={legacyImageViewerSwipeBehaviour}\n message={message}\n numOfColumns={numOfColumns}\n numOfRows={numOfRows}\n onLongPress={onLongPress}\n onPress={onPress}\n onPressIn={onPressIn}\n preventPress={preventPress}\n rowIndex={rowIndex}\n setMessages={setMessages}\n setOverlay={setOverlay}\n setSelectedMessage={setSelectedMessage}\n thumbnail={thumbnail}\n VideoThumbnail={VideoThumbnail}\n />\n );\n })}\n </View>\n );\n })}\n </View>\n );\n};\n\ntype GalleryThumbnailProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n borderRadius: {\n borderBottomLeftRadius: number;\n borderBottomRightRadius: number;\n borderTopLeftRadius: number;\n borderTopRightRadius: number;\n };\n colIndex: number;\n imagesAndVideos: Attachment<StreamChatGenerics>[];\n invertedDirections: boolean;\n message: MessageType<StreamChatGenerics>;\n numOfColumns: number;\n numOfRows: number;\n rowIndex: number;\n thumbnail: Thumbnail;\n} & Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'additionalTouchableProps'\n | 'legacyImageViewerSwipeBehaviour'\n | 'VideoThumbnail'\n | 'ImageLoadingIndicator'\n | 'ImageLoadingFailedIndicator'\n> &\n Pick<ImageGalleryContextValue<StreamChatGenerics>, 'setSelectedMessage' | 'setMessages'> &\n Pick<\n MessageContextValue<StreamChatGenerics>,\n 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'\n > &\n Pick<OverlayContextValue, 'setOverlay'>;\n\nconst GalleryThumbnail = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n additionalTouchableProps,\n borderRadius,\n colIndex,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n imagesAndVideos,\n invertedDirections,\n legacyImageViewerSwipeBehaviour,\n message,\n numOfColumns,\n numOfRows,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n rowIndex,\n setMessages,\n setOverlay,\n setSelectedMessage,\n thumbnail,\n VideoThumbnail,\n}: GalleryThumbnailProps<StreamChatGenerics>) => {\n const {\n theme: {\n colors: { overlay },\n messageSimple: {\n gallery: { image, imageContainer, moreImagesContainer, moreImagesText },\n },\n },\n } = useTheme();\n\n const openImageViewer = () => {\n if (!legacyImageViewerSwipeBehaviour && message) {\n // Added if-else to keep the logic readable, instead of DRY.\n // if - legacyImageViewerSwipeBehaviour is disabled\n // else - legacyImageViewerSwipeBehaviour is enabled\n setMessages([message]);\n setSelectedMessage({ messageId: message.id, url: thumbnail.url });\n setOverlay('gallery');\n } else if (legacyImageViewerSwipeBehaviour) {\n setSelectedMessage({ messageId: message?.id, url: thumbnail.url });\n setOverlay('gallery');\n }\n };\n\n const defaultOnPress = () => {\n if (thumbnail.type === 'video' && !isVideoPackageAvailable()) {\n // This condition is kinda unreachable, since we render videos as file attachment if the video\n // library is not installed. But doesn't hurt to have extra safeguard, in case of some customizations.\n openUrlSafely(thumbnail.url);\n } else {\n openImageViewer();\n }\n };\n\n return (\n <TouchableOpacity\n activeOpacity={0.8}\n disabled={preventPress}\n key={`gallery-item-${message.id}/${colIndex}/${rowIndex}/${imagesAndVideos.length}`}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'gallery',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: defaultOnPress,\n emitter: 'gallery',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n defaultHandler: defaultOnPress,\n emitter: 'gallery',\n event,\n });\n }\n }}\n style={[\n styles.imageContainer,\n {\n height: thumbnail.height,\n width: thumbnail.width,\n },\n imageContainer,\n ]}\n testID={`gallery-${invertedDirections ? 'row' : 'column'}-${colIndex}-item-${rowIndex}`}\n {...additionalTouchableProps}\n >\n {thumbnail.type === 'video' ? (\n <VideoThumbnail\n style={[\n borderRadius,\n image,\n {\n height: thumbnail.height - 1,\n width: thumbnail.width - 1,\n },\n ]}\n thumb_url={thumbnail.thumb_url}\n />\n ) : (\n <View style={styles.imageContainerStyle}>\n <GalleryImageThumbnail\n borderRadius={borderRadius}\n ImageLoadingFailedIndicator={ImageLoadingFailedIndicator}\n ImageLoadingIndicator={ImageLoadingIndicator}\n thumbnail={thumbnail}\n />\n </View>\n )}\n {colIndex === numOfColumns - 1 && rowIndex === numOfRows - 1 && imagesAndVideos.length > 4 ? (\n <View\n style={[\n StyleSheet.absoluteFillObject,\n styles.moreImagesContainer,\n { backgroundColor: overlay },\n moreImagesContainer,\n ]}\n >\n <Text style={[styles.moreImagesText, moreImagesText]}>\n {`+${imagesAndVideos.length - 4}`}\n </Text>\n </View>\n ) : null}\n </TouchableOpacity>\n );\n};\n\nconst GalleryImageThumbnail = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n borderRadius,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n thumbnail,\n}: Pick<\n GalleryThumbnailProps<StreamChatGenerics>,\n 'ImageLoadingFailedIndicator' | 'ImageLoadingIndicator' | 'thumbnail' | 'borderRadius'\n>) => {\n const { isLoadingImage, isLoadingImageError, setLoadingImage, setLoadingImageError } =\n useLoadingImage();\n\n const {\n theme: {\n messageSimple: {\n gallery: { image },\n },\n },\n } = useTheme();\n\n return (\n <View\n style={{\n height: thumbnail.height - 1,\n width: thumbnail.width - 1,\n }}\n >\n {isLoadingImageError ? (\n <ImageLoadingFailedIndicator style={[styles.imageLoadingErrorIndicatorStyle]} />\n ) : (\n <>\n <GalleryImage\n onError={(error) => {\n console.warn(error);\n setLoadingImage(false);\n setLoadingImageError(true);\n }}\n onLoadEnd={() => setLoadingImage(false)}\n onLoadStart={() => setLoadingImage(true)}\n resizeMode={thumbnail.resizeMode}\n style={[\n borderRadius,\n image,\n {\n height: thumbnail.height - 1,\n width: thumbnail.width - 1,\n },\n ]}\n uri={thumbnail.url}\n />\n {isLoadingImage && (\n <View style={[styles.imageLoadingIndicatorContainer]}>\n <ImageLoadingIndicator style={styles.imageLoadingIndicatorStyle} />\n </View>\n )}\n </>\n )}\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: GalleryPropsWithContext<StreamChatGenerics>,\n nextProps: GalleryPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n groupStyles: prevGroupStyles,\n hasThreadReplies: prevHasThreadReplies,\n images: prevImages,\n message: prevMessage,\n videos: prevVideos,\n } = prevProps;\n const {\n groupStyles: nextGroupStyles,\n hasThreadReplies: nextHasThreadReplies,\n images: nextImages,\n message: nextMessage,\n videos: nextVideos,\n } = nextProps;\n\n const messageEqual =\n prevMessage?.id === nextMessage?.id &&\n `${prevMessage?.updated_at}` === `${nextMessage?.updated_at}`;\n if (!messageEqual) return false;\n\n const groupStylesEqual =\n prevGroupStyles.length === nextGroupStyles.length && prevGroupStyles[0] === nextGroupStyles[0];\n if (!groupStylesEqual) return false;\n\n const hasThreadRepliesEqual = prevHasThreadReplies === nextHasThreadReplies;\n if (!hasThreadRepliesEqual) return false;\n\n const imagesEqual =\n prevImages.length === nextImages.length &&\n prevImages.every(\n (image, index) =>\n getUrlWithoutParams(image.image_url) === getUrlWithoutParams(nextImages[index].image_url) &&\n getUrlWithoutParams(image.thumb_url) === getUrlWithoutParams(nextImages[index].thumb_url),\n );\n if (!imagesEqual) return false;\n\n const videosEqual =\n prevVideos.length === nextVideos.length &&\n prevVideos.every(\n (image, index) =>\n getUrlWithoutParams(image.image_url) === getUrlWithoutParams(nextVideos[index].image_url) &&\n getUrlWithoutParams(image.thumb_url) === getUrlWithoutParams(nextVideos[index].thumb_url),\n );\n if (!videosEqual) return false;\n\n return true;\n};\n\nconst MemoizedGallery = React.memo(GalleryWithContext, areEqual) as typeof GalleryWithContext;\n\nexport type GalleryProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<GalleryPropsWithContext<StreamChatGenerics>>;\n\n/**\n * UI component for card in attachments.\n */\nexport const Gallery = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GalleryProps<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps: propAdditionalTouchableProps,\n alignment: propAlignment,\n groupStyles: propGroupStyles,\n hasThreadReplies,\n ImageLoadingFailedIndicator: PropImageLoadingFailedIndicator,\n ImageLoadingIndicator: PropImageLoadingIndicator,\n images: propImages,\n message: propMessage,\n onLongPress: propOnLongPress,\n onPress: propOnPress,\n onPressIn: propOnPressIn,\n preventPress: propPreventPress,\n setOverlay: propSetOverlay,\n setSelectedMessage: propSetSelectedMessage,\n threadList: propThreadList,\n videos: propVideos,\n VideoThumbnail: PropVideoThumbnail,\n } = props;\n\n const { setMessages, setSelectedMessage: contextSetSelectedMessage } =\n useImageGalleryContext<StreamChatGenerics>();\n const {\n alignment: contextAlignment,\n groupStyles: contextGroupStyles,\n images: contextImages,\n message: contextMessage,\n onLongPress: contextOnLongPress,\n onPress: contextOnPress,\n onPressIn: contextOnPressIn,\n preventPress: contextPreventPress,\n threadList: contextThreadList,\n videos: contextVideos,\n } = useMessageContext<StreamChatGenerics>();\n const {\n additionalTouchableProps: contextAdditionalTouchableProps,\n ImageLoadingFailedIndicator: ContextImageLoadingFailedIndicator,\n ImageLoadingIndicator: ContextImageLoadingIndicator,\n legacyImageViewerSwipeBehaviour,\n VideoThumbnail: ContextVideoThumnbnail,\n } = useMessagesContext<StreamChatGenerics>();\n const { setOverlay: contextSetOverlay } = useOverlayContext();\n\n const images = propImages || contextImages;\n const videos = propVideos || contextVideos;\n const message = propMessage || contextMessage;\n\n if (!images.length && !videos.length) return null;\n\n const additionalTouchableProps = propAdditionalTouchableProps || contextAdditionalTouchableProps;\n const alignment = propAlignment || contextAlignment;\n const groupStyles = propGroupStyles || contextGroupStyles;\n const onLongPress = propOnLongPress || contextOnLongPress;\n const onPressIn = propOnPressIn || contextOnPressIn;\n const onPress = propOnPress || contextOnPress;\n const preventPress =\n typeof propPreventPress === 'boolean' ? propPreventPress : contextPreventPress;\n const setSelectedMessage = propSetSelectedMessage || contextSetSelectedMessage;\n const setOverlay = propSetOverlay || contextSetOverlay;\n const threadList = propThreadList || contextThreadList;\n const VideoThumbnail = PropVideoThumbnail || ContextVideoThumnbnail;\n const ImageLoadingFailedIndicator =\n PropImageLoadingFailedIndicator || ContextImageLoadingFailedIndicator;\n const ImageLoadingIndicator = PropImageLoadingIndicator || ContextImageLoadingIndicator;\n\n return (\n <MemoizedGallery\n {...{\n additionalTouchableProps,\n alignment,\n channelId: message?.cid,\n groupStyles,\n hasThreadReplies: hasThreadReplies || !!message?.reply_count,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n images,\n legacyImageViewerSwipeBehaviour,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setMessages,\n setOverlay,\n setSelectedMessage,\n threadList,\n videos,\n VideoThumbnail,\n }}\n />\n );\n};\n\nGallery.displayName = 'Gallery{messageSimple{gallery}}';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_GalleryImage","_buildGallery","_getGalleryImageBorderRadius","_openUrlSafely","_ImageGalleryContext","_MessageContext","_MessagesContext","_OverlayContext","_ThemeContext","_useLoadingImage2","_native","_utils","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","styles","StyleSheet","create","errorTextSize","fontSize","galleryContainer","borderTopLeftRadius","borderTopRightRadius","flexDirection","flexWrap","overflow","imageContainer","alignItems","display","justifyContent","padding","imageContainerStyle","flex","imageLoadingErrorIndicatorStyle","bottom","left","position","imageLoadingIndicatorContainer","height","width","imageLoadingIndicatorStyle","moreImagesContainer","margin","moreImagesText","color","fontWeight","GalleryWithContext","props","additionalTouchableProps","alignment","groupStyles","hasThreadReplies","ImageLoadingFailedIndicator","ImageLoadingIndicator","images","legacyImageViewerSwipeBehaviour","message","onLongPress","onPress","onPressIn","preventPress","setMessages","setOverlay","setSelectedMessage","threadList","videos","VideoThumbnail","_useTheme","useTheme","_useTheme$theme$messa","theme","messageSimple","gallery","galleryItemColumn","gridHeight","gridWidth","maxHeight","maxWidth","minHeight","minWidth","sizeConfig","imagesAndVideos","concat","_toConsumableArray2","imagesAndVideosValue","length","map","i","image_url","thumb_url","join","_useMemo","useMemo","buildGallery","invertedDirections","thumbnailGrid","numOfColumns","createElement","View","style","testID","__self","__source","fileName","lineNumber","columnNumber","rows","colIndex","numOfRows","thumbnail","rowIndex","borderRadius","getGalleryImageBorderRadius","messageText","text","undefined","GalleryThumbnail","_ref","_useTheme2","_useTheme2$theme","overlay","colors","_useTheme2$theme$mess","image","openImageViewer","messageId","id","url","defaultOnPress","type","isVideoPackageAvailable","openUrlSafely","TouchableOpacity","_extends2","activeOpacity","disabled","event","emitter","defaultHandler","GalleryImageThumbnail","absoluteFillObject","backgroundColor","Text","_ref2","_useLoadingImage","useLoadingImage","isLoadingImage","isLoadingImageError","setLoadingImage","setLoadingImageError","_useTheme3","Fragment","GalleryImage","onError","error","console","warn","onLoadEnd","onLoadStart","resizeMode","uri","areEqual","prevProps","nextProps","prevGroupStyles","prevHasThreadReplies","prevImages","prevMessage","prevVideos","nextGroupStyles","nextHasThreadReplies","nextImages","nextMessage","nextVideos","messageEqual","updated_at","groupStylesEqual","hasThreadRepliesEqual","imagesEqual","every","index","getUrlWithoutParams","videosEqual","MemoizedGallery","React","memo","Gallery","propAdditionalTouchableProps","propAlignment","propGroupStyles","PropImageLoadingFailedIndicator","PropImageLoadingIndicator","propImages","propMessage","propOnLongPress","propOnPress","propOnPressIn","propPreventPress","propSetOverlay","propSetSelectedMessage","propThreadList","propVideos","PropVideoThumbnail","_useImageGalleryConte","useImageGalleryContext","contextSetSelectedMessage","_useMessageContext","useMessageContext","contextAlignment","contextGroupStyles","contextImages","contextMessage","contextOnLongPress","contextOnPress","contextOnPressIn","contextPreventPress","contextThreadList","contextVideos","_useMessagesContext","useMessagesContext","contextAdditionalTouchableProps","ContextImageLoadingFailedIndicator","ContextImageLoadingIndicator","ContextVideoThumnbnail","_useOverlayContext","useOverlayContext","contextSetOverlay","channelId","cid","reply_count","exports","displayName"],"sources":["Gallery.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport { GalleryImage } from './GalleryImage';\nimport { buildGallery } from './utils/buildGallery/buildGallery';\n\nimport type { Thumbnail } from './utils/buildGallery/types';\nimport { getGalleryImageBorderRadius } from './utils/getGalleryImageBorderRadius';\n\nimport { openUrlSafely } from './utils/openUrlSafely';\n\nimport type { MessageType } from '../../components/MessageList/hooks/useMessageList';\nimport {\n ImageGalleryContextValue,\n useImageGalleryContext,\n} from '../../contexts/imageGalleryContext/ImageGalleryContext';\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useLoadingImage } from '../../hooks/useLoadingImage';\nimport { isVideoPackageAvailable } from '../../native';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { getUrlWithoutParams } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n errorTextSize: { fontSize: 10 },\n galleryContainer: {\n borderTopLeftRadius: 13,\n borderTopRightRadius: 13,\n flexDirection: 'row',\n flexWrap: 'wrap',\n overflow: 'hidden',\n },\n imageContainer: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n padding: 1,\n },\n imageContainerStyle: { alignItems: 'center', flex: 1, justifyContent: 'center' },\n imageLoadingErrorIndicatorStyle: {\n bottom: 4,\n left: 4,\n position: 'absolute',\n },\n imageLoadingIndicatorContainer: {\n height: '100%',\n justifyContent: 'center',\n position: 'absolute',\n width: '100%',\n },\n imageLoadingIndicatorStyle: {\n alignItems: 'center',\n justifyContent: 'center',\n position: 'absolute',\n },\n moreImagesContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n margin: 1,\n },\n moreImagesText: { color: '#FFFFFF', fontSize: 26, fontWeight: '700' },\n});\n\nexport type GalleryPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ImageGalleryContextValue<StreamChatGenerics>, 'setSelectedMessage' | 'setMessages'> &\n Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'alignment'\n | 'groupStyles'\n | 'images'\n | 'videos'\n | 'onLongPress'\n | 'onPress'\n | 'onPressIn'\n | 'preventPress'\n | 'threadList'\n > &\n Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'additionalTouchableProps'\n | 'legacyImageViewerSwipeBehaviour'\n | 'VideoThumbnail'\n | 'ImageLoadingIndicator'\n | 'ImageLoadingFailedIndicator'\n > &\n Pick<OverlayContextValue, 'setOverlay'> & {\n channelId: string | undefined;\n hasThreadReplies?: boolean;\n /**\n * `message` prop has been introduced here as part of `legacyImageViewerSwipeBehaviour` prop.\n * https://github.com/GetStream/stream-chat-react-native/commit/d5eac6193047916f140efe8e396a671675c9a63f\n * messageId and messageText may seem redundant now, but to avoid breaking change as part\n * of minor release, we are keeping those props.\n *\n * Also `message` type should ideally be imported from MessageContextValue and not be explicitely mentioned\n * here, but due to some circular dependencies within the SDK, it causes \"excessive deep nesting\" issue with\n * typescript within Channel component. We should take it as a mini-project and resolve all these circular imports.\n *\n * TODO: Fix circular dependencies of imports\n */\n message?: MessageType<StreamChatGenerics>;\n };\n\nconst GalleryWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GalleryPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n alignment,\n groupStyles,\n hasThreadReplies,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n images,\n legacyImageViewerSwipeBehaviour,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setMessages,\n setOverlay,\n setSelectedMessage,\n threadList,\n videos,\n VideoThumbnail,\n } = props;\n\n const {\n theme: {\n messageSimple: {\n gallery: {\n galleryContainer,\n galleryItemColumn,\n gridHeight,\n gridWidth,\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n },\n },\n },\n } = useTheme();\n\n const sizeConfig = {\n gridHeight,\n gridWidth,\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n };\n\n const imagesAndVideos = [...(images || []), ...(videos || [])];\n const imagesAndVideosValue = `${images?.length}${videos?.length}${images\n ?.map((i) => `${i.image_url}${i.thumb_url}`)\n .join('')}${videos?.map((i) => `${i.image_url}${i.thumb_url}`).join('')}`;\n\n const { height, invertedDirections, thumbnailGrid, width } = useMemo(\n () =>\n buildGallery({\n images: imagesAndVideos,\n sizeConfig,\n }),\n [imagesAndVideosValue],\n );\n\n if (!imagesAndVideos?.length) return null;\n const numOfColumns = thumbnailGrid.length;\n\n return (\n <View\n style={[\n styles.galleryContainer,\n {\n height,\n width,\n },\n galleryContainer,\n {\n flexDirection: invertedDirections ? 'column' : 'row',\n },\n ]}\n testID='gallery-container'\n >\n {thumbnailGrid.map((rows, colIndex) => {\n const numOfRows = rows.length;\n return (\n <View\n key={`gallery-${invertedDirections ? 'row' : 'column'}-${colIndex}`}\n style={[\n {\n flexDirection: invertedDirections ? 'row' : 'column',\n },\n galleryItemColumn,\n ]}\n testID={`gallery-${invertedDirections ? 'row' : 'column'}-${colIndex}`}\n >\n {rows.map((thumbnail, rowIndex) => {\n const borderRadius = getGalleryImageBorderRadius({\n alignment,\n colIndex,\n groupStyles,\n hasThreadReplies,\n height,\n invertedDirections,\n messageText: message?.text,\n numOfColumns,\n numOfRows,\n rowIndex,\n sizeConfig,\n threadList,\n width,\n });\n\n if (message === undefined) {\n return null;\n }\n\n return (\n <GalleryThumbnail\n additionalTouchableProps={additionalTouchableProps}\n borderRadius={borderRadius}\n colIndex={colIndex}\n ImageLoadingFailedIndicator={ImageLoadingFailedIndicator}\n ImageLoadingIndicator={ImageLoadingIndicator}\n imagesAndVideos={imagesAndVideos}\n invertedDirections={invertedDirections || false}\n key={rowIndex}\n legacyImageViewerSwipeBehaviour={legacyImageViewerSwipeBehaviour}\n message={message}\n numOfColumns={numOfColumns}\n numOfRows={numOfRows}\n onLongPress={onLongPress}\n onPress={onPress}\n onPressIn={onPressIn}\n preventPress={preventPress}\n rowIndex={rowIndex}\n setMessages={setMessages}\n setOverlay={setOverlay}\n setSelectedMessage={setSelectedMessage}\n thumbnail={thumbnail}\n VideoThumbnail={VideoThumbnail}\n />\n );\n })}\n </View>\n );\n })}\n </View>\n );\n};\n\ntype GalleryThumbnailProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n borderRadius: {\n borderBottomLeftRadius: number;\n borderBottomRightRadius: number;\n borderTopLeftRadius: number;\n borderTopRightRadius: number;\n };\n colIndex: number;\n imagesAndVideos: Attachment<StreamChatGenerics>[];\n invertedDirections: boolean;\n message: MessageType<StreamChatGenerics>;\n numOfColumns: number;\n numOfRows: number;\n rowIndex: number;\n thumbnail: Thumbnail;\n} & Pick<\n MessagesContextValue<StreamChatGenerics>,\n | 'additionalTouchableProps'\n | 'legacyImageViewerSwipeBehaviour'\n | 'VideoThumbnail'\n | 'ImageLoadingIndicator'\n | 'ImageLoadingFailedIndicator'\n> &\n Pick<ImageGalleryContextValue<StreamChatGenerics>, 'setSelectedMessage' | 'setMessages'> &\n Pick<\n MessageContextValue<StreamChatGenerics>,\n 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'\n > &\n Pick<OverlayContextValue, 'setOverlay'>;\n\nconst GalleryThumbnail = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n additionalTouchableProps,\n borderRadius,\n colIndex,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n imagesAndVideos,\n invertedDirections,\n legacyImageViewerSwipeBehaviour,\n message,\n numOfColumns,\n numOfRows,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n rowIndex,\n setMessages,\n setOverlay,\n setSelectedMessage,\n thumbnail,\n VideoThumbnail,\n}: GalleryThumbnailProps<StreamChatGenerics>) => {\n const {\n theme: {\n colors: { overlay },\n messageSimple: {\n gallery: { image, imageContainer, moreImagesContainer, moreImagesText },\n },\n },\n } = useTheme();\n\n const openImageViewer = () => {\n if (!legacyImageViewerSwipeBehaviour && message) {\n // Added if-else to keep the logic readable, instead of DRY.\n // if - legacyImageViewerSwipeBehaviour is disabled\n // else - legacyImageViewerSwipeBehaviour is enabled\n setMessages([message]);\n setSelectedMessage({ messageId: message.id, url: thumbnail.url });\n setOverlay('gallery');\n } else if (legacyImageViewerSwipeBehaviour) {\n setSelectedMessage({ messageId: message?.id, url: thumbnail.url });\n setOverlay('gallery');\n }\n };\n\n const defaultOnPress = () => {\n if (thumbnail.type === 'video' && !isVideoPackageAvailable()) {\n // This condition is kinda unreachable, since we render videos as file attachment if the video\n // library is not installed. But doesn't hurt to have extra safeguard, in case of some customizations.\n openUrlSafely(thumbnail.url);\n } else {\n openImageViewer();\n }\n };\n\n return (\n <TouchableOpacity\n activeOpacity={0.8}\n disabled={preventPress}\n key={`gallery-item-${message.id}/${colIndex}/${rowIndex}/${imagesAndVideos.length}`}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'gallery',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: defaultOnPress,\n emitter: 'gallery',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n defaultHandler: defaultOnPress,\n emitter: 'gallery',\n event,\n });\n }\n }}\n style={[\n styles.imageContainer,\n {\n height: thumbnail.height,\n width: thumbnail.width,\n },\n imageContainer,\n ]}\n testID={`gallery-${invertedDirections ? 'row' : 'column'}-${colIndex}-item-${rowIndex}`}\n {...additionalTouchableProps}\n >\n {thumbnail.type === 'video' ? (\n <VideoThumbnail\n style={[\n borderRadius,\n image,\n {\n height: thumbnail.height - 1,\n width: thumbnail.width - 1,\n },\n ]}\n thumb_url={thumbnail.thumb_url}\n />\n ) : (\n <View style={styles.imageContainerStyle}>\n <GalleryImageThumbnail\n borderRadius={borderRadius}\n ImageLoadingFailedIndicator={ImageLoadingFailedIndicator}\n ImageLoadingIndicator={ImageLoadingIndicator}\n thumbnail={thumbnail}\n />\n </View>\n )}\n {colIndex === numOfColumns - 1 && rowIndex === numOfRows - 1 && imagesAndVideos.length > 4 ? (\n <View\n style={[\n StyleSheet.absoluteFillObject,\n styles.moreImagesContainer,\n { backgroundColor: overlay },\n moreImagesContainer,\n ]}\n >\n <Text style={[styles.moreImagesText, moreImagesText]}>\n {`+${imagesAndVideos.length - 4}`}\n </Text>\n </View>\n ) : null}\n </TouchableOpacity>\n );\n};\n\nconst GalleryImageThumbnail = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n borderRadius,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n thumbnail,\n}: Pick<\n GalleryThumbnailProps<StreamChatGenerics>,\n 'ImageLoadingFailedIndicator' | 'ImageLoadingIndicator' | 'thumbnail' | 'borderRadius'\n>) => {\n const { isLoadingImage, isLoadingImageError, setLoadingImage, setLoadingImageError } =\n useLoadingImage();\n\n const {\n theme: {\n messageSimple: {\n gallery: { image },\n },\n },\n } = useTheme();\n\n return (\n <View\n style={{\n height: thumbnail.height - 1,\n width: thumbnail.width - 1,\n }}\n >\n {isLoadingImageError ? (\n <ImageLoadingFailedIndicator style={[styles.imageLoadingErrorIndicatorStyle]} />\n ) : (\n <>\n <GalleryImage\n onError={(error) => {\n console.warn(error);\n setLoadingImage(false);\n setLoadingImageError(true);\n }}\n onLoadEnd={() => setLoadingImage(false)}\n onLoadStart={() => setLoadingImage(true)}\n resizeMode={thumbnail.resizeMode}\n style={[\n borderRadius,\n image,\n {\n height: thumbnail.height - 1,\n width: thumbnail.width - 1,\n },\n ]}\n uri={thumbnail.url}\n />\n {isLoadingImage && (\n <View style={[styles.imageLoadingIndicatorContainer]}>\n <ImageLoadingIndicator style={styles.imageLoadingIndicatorStyle} />\n </View>\n )}\n </>\n )}\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: GalleryPropsWithContext<StreamChatGenerics>,\n nextProps: GalleryPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n groupStyles: prevGroupStyles,\n hasThreadReplies: prevHasThreadReplies,\n images: prevImages,\n message: prevMessage,\n videos: prevVideos,\n } = prevProps;\n const {\n groupStyles: nextGroupStyles,\n hasThreadReplies: nextHasThreadReplies,\n images: nextImages,\n message: nextMessage,\n videos: nextVideos,\n } = nextProps;\n\n const messageEqual =\n prevMessage?.id === nextMessage?.id &&\n `${prevMessage?.updated_at}` === `${nextMessage?.updated_at}`;\n if (!messageEqual) return false;\n\n const groupStylesEqual =\n prevGroupStyles.length === nextGroupStyles.length && prevGroupStyles[0] === nextGroupStyles[0];\n if (!groupStylesEqual) return false;\n\n const hasThreadRepliesEqual = prevHasThreadReplies === nextHasThreadReplies;\n if (!hasThreadRepliesEqual) return false;\n\n const imagesEqual =\n prevImages.length === nextImages.length &&\n prevImages.every(\n (image, index) =>\n getUrlWithoutParams(image.image_url) === getUrlWithoutParams(nextImages[index].image_url) &&\n getUrlWithoutParams(image.thumb_url) === getUrlWithoutParams(nextImages[index].thumb_url),\n );\n if (!imagesEqual) return false;\n\n const videosEqual =\n prevVideos.length === nextVideos.length &&\n prevVideos.every(\n (image, index) =>\n getUrlWithoutParams(image.image_url) === getUrlWithoutParams(nextVideos[index].image_url) &&\n getUrlWithoutParams(image.thumb_url) === getUrlWithoutParams(nextVideos[index].thumb_url),\n );\n if (!videosEqual) return false;\n\n return true;\n};\n\nconst MemoizedGallery = React.memo(GalleryWithContext, areEqual) as typeof GalleryWithContext;\n\nexport type GalleryProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<GalleryPropsWithContext<StreamChatGenerics>>;\n\n/**\n * UI component for card in attachments.\n */\nexport const Gallery = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GalleryProps<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps: propAdditionalTouchableProps,\n alignment: propAlignment,\n groupStyles: propGroupStyles,\n hasThreadReplies,\n ImageLoadingFailedIndicator: PropImageLoadingFailedIndicator,\n ImageLoadingIndicator: PropImageLoadingIndicator,\n images: propImages,\n message: propMessage,\n onLongPress: propOnLongPress,\n onPress: propOnPress,\n onPressIn: propOnPressIn,\n preventPress: propPreventPress,\n setOverlay: propSetOverlay,\n setSelectedMessage: propSetSelectedMessage,\n threadList: propThreadList,\n videos: propVideos,\n VideoThumbnail: PropVideoThumbnail,\n } = props;\n\n const { setMessages, setSelectedMessage: contextSetSelectedMessage } =\n useImageGalleryContext<StreamChatGenerics>();\n const {\n alignment: contextAlignment,\n groupStyles: contextGroupStyles,\n images: contextImages,\n message: contextMessage,\n onLongPress: contextOnLongPress,\n onPress: contextOnPress,\n onPressIn: contextOnPressIn,\n preventPress: contextPreventPress,\n threadList: contextThreadList,\n videos: contextVideos,\n } = useMessageContext<StreamChatGenerics>();\n const {\n additionalTouchableProps: contextAdditionalTouchableProps,\n ImageLoadingFailedIndicator: ContextImageLoadingFailedIndicator,\n ImageLoadingIndicator: ContextImageLoadingIndicator,\n legacyImageViewerSwipeBehaviour,\n VideoThumbnail: ContextVideoThumnbnail,\n } = useMessagesContext<StreamChatGenerics>();\n const { setOverlay: contextSetOverlay } = useOverlayContext();\n\n const images = propImages || contextImages;\n const videos = propVideos || contextVideos;\n const message = propMessage || contextMessage;\n\n if (!images.length && !videos.length) return null;\n\n const additionalTouchableProps = propAdditionalTouchableProps || contextAdditionalTouchableProps;\n const alignment = propAlignment || contextAlignment;\n const groupStyles = propGroupStyles || contextGroupStyles;\n const onLongPress = propOnLongPress || contextOnLongPress;\n const onPressIn = propOnPressIn || contextOnPressIn;\n const onPress = propOnPress || contextOnPress;\n const preventPress =\n typeof propPreventPress === 'boolean' ? propPreventPress : contextPreventPress;\n const setSelectedMessage = propSetSelectedMessage || contextSetSelectedMessage;\n const setOverlay = propSetOverlay || contextSetOverlay;\n const threadList = propThreadList || contextThreadList;\n const VideoThumbnail = PropVideoThumbnail || ContextVideoThumnbnail;\n const ImageLoadingFailedIndicator =\n PropImageLoadingFailedIndicator || ContextImageLoadingFailedIndicator;\n const ImageLoadingIndicator = PropImageLoadingIndicator || ContextImageLoadingIndicator;\n\n return (\n <MemoizedGallery\n {...{\n additionalTouchableProps,\n alignment,\n channelId: message?.cid,\n groupStyles,\n hasThreadReplies: hasThreadReplies || !!message?.reply_count,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n images,\n legacyImageViewerSwipeBehaviour,\n message,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n setMessages,\n setOverlay,\n setSelectedMessage,\n threadList,\n videos,\n VideoThumbnail,\n }}\n />\n );\n};\n\nGallery.displayName = 'Gallery{messageSimple{gallery}}';\n"],"mappings":"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"}
|