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":["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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GalleryImageWithContext","props","ImageComponent","Image","uri","rest","isLocalUrl","makeImageCompatibleUrl","MemoizedGalleryImage","React","memo","prevProps","nextProps","getUrlWithoutParams","GalleryImage","useChatContext"],"sources":["GalleryImage.tsx"],"sourcesContent":["import React from 'react';\nimport { Image, ImageProps } from 'react-native';\n\nimport { ChatContextValue, useChatContext } from '../../contexts/chatContext/ChatContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { getUrlWithoutParams, isLocalUrl, makeImageCompatibleUrl } from '../../utils/utils';\n\nexport type GalleryImageWithContextProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = GalleryImageProps & Pick<ChatContextValue<StreamChatGenerics>, 'ImageComponent'>;\n\nexport const GalleryImageWithContext: React.FC<GalleryImageWithContextProps> = (props) => {\n const { ImageComponent = Image, uri, ...rest } = props;\n\n // Caching image components such as FastImage will not work with local images.\n // This for the case of local uris, we use the default Image component.\n if (!isLocalUrl(uri)) {\n return (\n <ImageComponent\n {...rest}\n accessibilityLabel='Gallery Image'\n source={{\n uri: makeImageCompatibleUrl(uri),\n }}\n />\n );\n }\n\n return (\n <Image\n {...rest}\n accessibilityLabel='Gallery Image'\n source={{\n uri: makeImageCompatibleUrl(uri),\n }}\n />\n );\n};\n\nexport const MemoizedGalleryImage = React.memo(\n GalleryImageWithContext,\n (prevProps, nextProps) =>\n getUrlWithoutParams(prevProps.uri) === getUrlWithoutParams(nextProps.uri),\n);\nexport type GalleryImageProps = Omit<ImageProps, 'height' | 'source'> & {\n uri: string;\n};\n\nexport const GalleryImage = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GalleryImageProps,\n) => {\n const { ImageComponent } = useChatContext<StreamChatGenerics>();\n\n return <MemoizedGalleryImage ImageComponent={ImageComponent} {...props} />;\n};\n"],"mappings":";;;;;;;AAAA;AACA;AAEA;AAGA;AAA4F;AAAA;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ChatContext","_utils","_excluded","_this","_jsxFileName","GalleryImageWithContext","props","_props$ImageComponent","ImageComponent","Image","uri","rest","_objectWithoutProperties2","isLocalUrl","createElement","_extends2","accessibilityLabel","source","makeImageCompatibleUrl","__self","__source","fileName","lineNumber","columnNumber","exports","MemoizedGalleryImage","React","memo","prevProps","nextProps","getUrlWithoutParams","GalleryImage","_useChatContext","useChatContext"],"sources":["GalleryImage.tsx"],"sourcesContent":["import React from 'react';\nimport { Image, ImageProps } from 'react-native';\n\nimport { ChatContextValue, useChatContext } from '../../contexts/chatContext/ChatContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { getUrlWithoutParams, isLocalUrl, makeImageCompatibleUrl } from '../../utils/utils';\n\nexport type GalleryImageWithContextProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = GalleryImageProps & Pick<ChatContextValue<StreamChatGenerics>, 'ImageComponent'>;\n\nexport const GalleryImageWithContext: React.FC<GalleryImageWithContextProps> = (props) => {\n const { ImageComponent = Image, uri, ...rest } = props;\n\n // Caching image components such as FastImage will not work with local images.\n // This for the case of local uris, we use the default Image component.\n if (!isLocalUrl(uri)) {\n return (\n <ImageComponent\n {...rest}\n accessibilityLabel='Gallery Image'\n source={{\n uri: makeImageCompatibleUrl(uri),\n }}\n />\n );\n }\n\n return (\n <Image\n {...rest}\n accessibilityLabel='Gallery Image'\n source={{\n uri: makeImageCompatibleUrl(uri),\n }}\n />\n );\n};\n\nexport const MemoizedGalleryImage = React.memo(\n GalleryImageWithContext,\n (prevProps, nextProps) =>\n getUrlWithoutParams(prevProps.uri) === getUrlWithoutParams(nextProps.uri),\n);\nexport type GalleryImageProps = Omit<ImageProps, 'height' | 'source'> & {\n uri: string;\n};\n\nexport const GalleryImage = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GalleryImageProps,\n) => {\n const { ImageComponent } = useChatContext<StreamChatGenerics>();\n\n return <MemoizedGalleryImage ImageComponent={ImageComponent} {...props} />;\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,YAAA,GAAAF,OAAA;AAGA,IAAAG,MAAA,GAAAH,OAAA;AAA4F,IAAAI,SAAA;AAAA,IAAAC,KAAA;EAAAC,YAAA;AAMrF,IAAMC,uBAA+D,GAAG,SAAlEA,uBAA+DA,CAAIC,KAAK,EAAK;EACxF,IAAAC,qBAAA,GAAiDD,KAAK,CAA9CE,cAAc;IAAdA,cAAc,GAAAD,qBAAA,cAAGE,kBAAK,GAAAF,qBAAA;IAAEG,GAAG,GAAcJ,KAAK,CAAtBI,GAAG;IAAKC,IAAI,OAAAC,yBAAA,aAAKN,KAAK,EAAAJ,SAAA;EAItD,IAAI,CAAC,IAAAW,iBAAU,EAACH,GAAG,CAAC,EAAE;IACpB,OACEd,MAAA,YAAAkB,aAAA,CAACN,cAAc,MAAAO,SAAA,iBACTJ,IAAI;MACRK,kBAAkB,EAAC,eAAe;MAClCC,MAAM,EAAE;QACNP,GAAG,EAAE,IAAAQ,6BAAsB,EAACR,GAAG;MACjC,CAAE;MAAAS,MAAA,EAAAhB,KAAA;MAAAiB,QAAA;QAAAC,QAAA,EAAAjB,YAAA;QAAAkB,UAAA;QAAAC,YAAA;MAAA;IAAA,GACF;EAEN;EAEA,OACE3B,MAAA,YAAAkB,aAAA,CAACf,YAAA,CAAAU,KAAK,MAAAM,SAAA,iBACAJ,IAAI;IACRK,kBAAkB,EAAC,eAAe;IAClCC,MAAM,EAAE;MACNP,GAAG,EAAE,IAAAQ,6BAAsB,EAACR,GAAG;IACjC,CAAE;IAAAS,MAAA,EAAAhB,KAAA;IAAAiB,QAAA;MAAAC,QAAA,EAAAjB,YAAA;MAAAkB,UAAA;MAAAC,YAAA;IAAA;EAAA,GACF;AAEN,CAAC;AAACC,OAAA,CAAAnB,uBAAA,GAAAA,uBAAA;AAEK,IAAMoB,oBAAoB,GAAGC,iBAAK,CAACC,IAAI,CAC5CtB,uBAAuB,EACvB,UAACuB,SAAS,EAAEC,SAAS;EAAA,OACnB,IAAAC,0BAAmB,EAACF,SAAS,CAAClB,GAAG,CAAC,KAAK,IAAAoB,0BAAmB,EAACD,SAAS,CAACnB,GAAG,CAAC;AAAA,EAC5E;AAACc,OAAA,CAAAC,oBAAA,GAAAA,oBAAA;AAKK,IAAMM,YAAY,GAAG,SAAfA,YAAYA,CAGvBzB,KAAwB,EACrB;EACH,IAAA0B,eAAA,GAA2B,IAAAC,2BAAc,GAAsB;IAAvDzB,cAAc,GAAAwB,eAAA,CAAdxB,cAAc;EAEtB,OAAOZ,MAAA,YAAAkB,aAAA,CAACW,oBAAoB,MAAAV,SAAA;IAACP,cAAc,EAAEA;EAAe,GAAKF,KAAK;IAAAa,MAAA,EAAAhB,KAAA;IAAAiB,QAAA;MAAAC,QAAA,EAAAjB,YAAA;MAAAkB,UAAA;MAAAC,YAAA;IAAA;EAAA,GAAI;AAC5E,CAAC;AAACC,OAAA,CAAAO,YAAA,GAAAA,YAAA"}
|