stream-chat-react-native-core 5.8.0-beta.5 → 5.8.0-beta.7
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 +45 -56
- package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
- package/lib/commonjs/components/Attachment/AttachmentActions.js +25 -43
- package/lib/commonjs/components/Attachment/AttachmentActions.js.map +1 -1
- package/lib/commonjs/components/Attachment/AudioAttachment.js +114 -191
- package/lib/commonjs/components/Attachment/AudioAttachment.js.map +1 -1
- package/lib/commonjs/components/Attachment/Card.js +53 -80
- package/lib/commonjs/components/Attachment/Card.js.map +1 -1
- package/lib/commonjs/components/Attachment/FileAttachment.js +30 -57
- package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
- package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +19 -50
- package/lib/commonjs/components/Attachment/FileAttachmentGroup.js.map +1 -1
- package/lib/commonjs/components/Attachment/FileIcon.js +3 -45
- package/lib/commonjs/components/Attachment/FileIcon.js.map +1 -1
- package/lib/commonjs/components/Attachment/Gallery.js +121 -162
- package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
- package/lib/commonjs/components/Attachment/GalleryImage.js +5 -23
- package/lib/commonjs/components/Attachment/GalleryImage.js.map +1 -1
- package/lib/commonjs/components/Attachment/Giphy.js +76 -109
- package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
- package/lib/commonjs/components/Attachment/ImageLoadingFailedIndicator.js +7 -23
- package/lib/commonjs/components/Attachment/ImageLoadingFailedIndicator.js.map +1 -1
- package/lib/commonjs/components/Attachment/ImageLoadingIndicator.js +3 -15
- package/lib/commonjs/components/Attachment/ImageLoadingIndicator.js.map +1 -1
- package/lib/commonjs/components/Attachment/VideoThumbnail.js +10 -20
- package/lib/commonjs/components/Attachment/VideoThumbnail.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js +1 -10
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +8 -24
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +22 -35
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +1 -7
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js +4 -7
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +5 -9
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/types.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/getAspectRatio.js +0 -2
- package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js +12 -14
- package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/getGiphyMimeType.js +0 -2
- package/lib/commonjs/components/Attachment/utils/getGiphyMimeType.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/openUrlSafely.js +19 -33
- package/lib/commonjs/components/Attachment/utils/openUrlSafely.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +74 -123
- package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +4 -18
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerError.js +33 -56
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerError.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +2 -10
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerErrorImage.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js +71 -117
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js +33 -59
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/CameraSelectorIcon.js +2 -10
- package/lib/commonjs/components/AttachmentPicker/components/CameraSelectorIcon.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/FileSelectorIcon.js +2 -10
- package/lib/commonjs/components/AttachmentPicker/components/FileSelectorIcon.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +4 -14
- package/lib/commonjs/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js.map +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/ImageSelectorIcon.js +4 -13
- package/lib/commonjs/components/AttachmentPicker/components/ImageSelectorIcon.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +177 -285
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +6 -24
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +12 -30
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +30 -47
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +21 -49
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
- package/lib/commonjs/components/Avatar/Avatar.js +22 -42
- package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
- package/lib/commonjs/components/Avatar/GroupAvatar.js +15 -33
- package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
- package/lib/commonjs/components/Channel/Channel.js +1136 -1586
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +31 -34
- package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js +40 -43
- package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +81 -84
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +1 -11
- package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js +9 -13
- package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateThreadContext.js +9 -13
- package/lib/commonjs/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateTypingContext.js +0 -3
- package/lib/commonjs/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useTargetedMessage.js +3 -12
- package/lib/commonjs/components/Channel/hooks/useTargetedMessage.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelList.js +71 -110
- package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +2 -12
- package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +12 -24
- package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +9 -20
- package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js +6 -17
- package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +55 -84
- package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
- package/lib/commonjs/components/ChannelList/Skeleton.js +16 -33
- package/lib/commonjs/components/ChannelList/Skeleton.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +28 -50
- package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js +2 -14
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js +2 -14
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js +4 -12
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js +2 -16
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js +28 -49
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js +2 -17
- package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js +28 -50
- package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js +2 -12
- package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js +1 -12
- package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js +29 -34
- package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +141 -219
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/commonjs/components/ChannelList/utils.js +13 -26
- package/lib/commonjs/components/ChannelList/utils.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +3 -19
- package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +14 -44
- package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +4 -15
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +35 -60
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +7 -18
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +10 -24
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js +4 -14
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +7 -17
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js +4 -27
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +12 -36
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js +4 -21
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js +22 -68
- package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
- package/lib/commonjs/components/Chat/Chat.js +26 -69
- package/lib/commonjs/components/Chat/Chat.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/handleEventToSyncDB.js +0 -26
- package/lib/commonjs/components/Chat/hooks/handleEventToSyncDB.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useAppSettings.js +42 -69
- package/lib/commonjs/components/Chat/hooks/useAppSettings.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js +8 -11
- package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useIsOnline.js +19 -50
- package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useMutedUsers.js +3 -11
- package/lib/commonjs/components/Chat/hooks/useMutedUsers.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useSyncDatabase.js +1 -8
- package/lib/commonjs/components/Chat/hooks/useSyncDatabase.js.map +1 -1
- package/lib/commonjs/components/ImageBackground.js +7 -21
- package/lib/commonjs/components/ImageBackground.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/ImageGallery.js +53 -131
- package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +12 -27
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +21 -52
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +79 -125
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +26 -56
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryOverlay.js +12 -32
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryOverlay.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js +14 -27
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +16 -38
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +12 -26
- package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js +15 -52
- package/lib/commonjs/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
- package/lib/commonjs/components/Indicators/EmptyStateIndicator.js +10 -25
- package/lib/commonjs/components/Indicators/EmptyStateIndicator.js.map +1 -1
- package/lib/commonjs/components/Indicators/LoadingDot.js +10 -21
- package/lib/commonjs/components/Indicators/LoadingDot.js.map +1 -1
- package/lib/commonjs/components/Indicators/LoadingDots.js +11 -21
- package/lib/commonjs/components/Indicators/LoadingDots.js.map +1 -1
- package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js +16 -33
- package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js.map +1 -1
- package/lib/commonjs/components/Indicators/LoadingIndicator.js +8 -26
- package/lib/commonjs/components/Indicators/LoadingIndicator.js.map +1 -1
- package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js +9 -67
- package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
- package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +22 -68
- package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js.map +1 -1
- package/lib/commonjs/components/Message/Message.js +246 -335
- package/lib/commonjs/components/Message/Message.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +20 -40
- package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +113 -164
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +27 -49
- package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +55 -68
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +11 -34
- package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +37 -57
- package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +13 -30
- package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +37 -57
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +16 -40
- package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +30 -51
- package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +56 -84
- package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js +23 -37
- package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js +0 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +22 -66
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js +97 -127
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +37 -42
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js +108 -171
- package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useMessageActions.js +141 -225
- package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
- package/lib/commonjs/components/Message/utils/messageActions.js +15 -30
- package/lib/commonjs/components/Message/utils/messageActions.js.map +1 -1
- package/lib/commonjs/components/MessageInput/AttachButton.js +15 -33
- package/lib/commonjs/components/MessageInput/AttachButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/CommandsButton.js +13 -31
- package/lib/commonjs/components/MessageInput/CommandsButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/CooldownTimer.js +8 -20
- package/lib/commonjs/components/MessageInput/CooldownTimer.js.map +1 -1
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js +48 -86
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
- package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +25 -57
- package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
- package/lib/commonjs/components/MessageInput/InputButtons.js +47 -69
- package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
- package/lib/commonjs/components/MessageInput/MessageInput.js +176 -236
- package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +9 -25
- package/lib/commonjs/components/MessageInput/MoreOptionsButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/SendButton.js +15 -33
- package/lib/commonjs/components/MessageInput/SendButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +9 -20
- package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +27 -50
- package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/UploadProgressIndicator.js +9 -28
- package/lib/commonjs/components/MessageInput/UploadProgressIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageInput/components/InputEditingStateHeader.js +14 -34
- package/lib/commonjs/components/MessageInput/components/InputEditingStateHeader.js.map +1 -1
- package/lib/commonjs/components/MessageInput/components/InputGiphySearch.js +20 -41
- package/lib/commonjs/components/MessageInput/components/InputGiphySearch.js.map +1 -1
- package/lib/commonjs/components/MessageInput/components/InputReplyStateHeader.js +14 -34
- package/lib/commonjs/components/MessageInput/components/InputReplyStateHeader.js.map +1 -1
- package/lib/commonjs/components/MessageInput/hooks/useCooldown.js +6 -24
- package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -1
- package/lib/commonjs/components/MessageInput/hooks/useCountdown.js +3 -16
- package/lib/commonjs/components/MessageInput/hooks/useCountdown.js.map +1 -1
- package/lib/commonjs/components/MessageList/DateHeader.js +8 -18
- package/lib/commonjs/components/MessageList/DateHeader.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineDateSeparator.js +9 -22
- package/lib/commonjs/components/MessageList/InlineDateSeparator.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +3 -21
- package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +3 -21
- package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +3 -21
- package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js +10 -26
- package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageList.js +239 -355
- package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageSystem.js +14 -27
- package/lib/commonjs/components/MessageList/MessageSystem.js.map +1 -1
- package/lib/commonjs/components/MessageList/NetworkDownIndicator.js +9 -26
- package/lib/commonjs/components/MessageList/NetworkDownIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/ScrollToBottomButton.js +16 -27
- package/lib/commonjs/components/MessageList/ScrollToBottomButton.js.map +1 -1
- package/lib/commonjs/components/MessageList/TypingIndicator.js +8 -19
- package/lib/commonjs/components/MessageList/TypingIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js +8 -29
- package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js +10 -34
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useTypingString.js +4 -18
- package/lib/commonjs/components/MessageList/hooks/useTypingString.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/filterTypingUsers.js +2 -10
- package/lib/commonjs/components/MessageList/utils/filterTypingUsers.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getDateSeparators.js +3 -11
- package/lib/commonjs/components/MessageList/utils/getDateSeparators.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getGroupStyles.js +5 -18
- package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js +1 -9
- package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getReadStates.js +1 -22
- package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageActionList.js +16 -39
- package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +16 -36
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +75 -127
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +3 -12
- package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +39 -77
- package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +31 -53
- package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js +5 -14
- package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js +2 -5
- package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -1
- package/lib/commonjs/components/ProgressControl/ProgressControl.js +9 -26
- package/lib/commonjs/components/ProgressControl/ProgressControl.js.map +1 -1
- package/lib/commonjs/components/RTLComponents/WritingDirectionAwareText.js +3 -13
- package/lib/commonjs/components/RTLComponents/WritingDirectionAwareText.js.map +1 -1
- package/lib/commonjs/components/Reply/Reply.js +37 -79
- package/lib/commonjs/components/Reply/Reply.js.map +1 -1
- package/lib/commonjs/components/Spinner/Spinner.js +6 -20
- package/lib/commonjs/components/Spinner/Spinner.js.map +1 -1
- package/lib/commonjs/components/Thread/Thread.js +28 -57
- package/lib/commonjs/components/Thread/Thread.js.map +1 -1
- package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +15 -43
- package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
- package/lib/commonjs/components/docs/data.js +0 -7
- package/lib/commonjs/components/docs/data.js.map +1 -1
- package/lib/commonjs/components/index.js +0 -284
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +2 -18
- package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
- package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +20 -50
- package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
- package/lib/commonjs/contexts/channelContext/ChannelContext.js +2 -23
- package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
- package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +2 -23
- package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
- package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +4 -37
- package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
- package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +63 -81
- package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
- package/lib/commonjs/contexts/chatContext/ChatContext.js +2 -23
- package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/commonjs/contexts/debugContext/DebugContext.js +3 -17
- package/lib/commonjs/contexts/debugContext/DebugContext.js.map +1 -1
- package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +7 -32
- package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
- package/lib/commonjs/contexts/index.js +0 -48
- package/lib/commonjs/contexts/index.js.map +1 -1
- package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +2 -20
- package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
- package/lib/commonjs/contexts/messageContext/MessageContext.js +2 -20
- package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +531 -762
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +88 -91
- package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js +19 -44
- package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
- package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +2 -24
- package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
- package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js +3 -12
- package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -1
- package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +40 -52
- package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -1
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js +2 -23
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -20
- package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
- package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +76 -124
- package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +2 -18
- package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -1
- package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -23
- package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
- package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +11 -46
- package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
- package/lib/commonjs/contexts/themeContext/ThemeContext.js +5 -28
- package/lib/commonjs/contexts/themeContext/ThemeContext.js.map +1 -1
- package/lib/commonjs/contexts/themeContext/utils/theme.js +0 -4
- package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/commonjs/contexts/threadContext/ThreadContext.js +2 -23
- package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
- package/lib/commonjs/contexts/translationContext/TranslationContext.js +2 -26
- package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
- package/lib/commonjs/contexts/typingContext/TypingContext.js +2 -23
- 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 +0 -2
- package/lib/commonjs/contexts/utils/getDisplayName.js.map +1 -1
- package/lib/commonjs/contexts/utils/isTestEnvironment.js +0 -2
- package/lib/commonjs/contexts/utils/isTestEnvironment.js.map +1 -1
- package/lib/commonjs/emoji-data/compile.js +2 -4
- 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/emojiNames.js.map +1 -1
- package/lib/commonjs/emoji-data/emojis.js.map +1 -1
- package/lib/commonjs/emoji-data/index.js +1 -7
- package/lib/commonjs/emoji-data/index.js.map +1 -1
- package/lib/commonjs/hooks/index.js +0 -4
- package/lib/commonjs/hooks/index.js.map +1 -1
- package/lib/commonjs/hooks/useAppStateListener.js +0 -7
- package/lib/commonjs/hooks/useAppStateListener.js.map +1 -1
- package/lib/commonjs/hooks/useIsMountedRef.js +0 -3
- package/lib/commonjs/hooks/useIsMountedRef.js.map +1 -1
- package/lib/commonjs/hooks/useLoadingImage.js +7 -16
- package/lib/commonjs/hooks/useLoadingImage.js.map +1 -1
- package/lib/commonjs/hooks/useStreami18n.js +4 -16
- package/lib/commonjs/hooks/useStreami18n.js.map +1 -1
- package/lib/commonjs/hooks/useTranslatedMessage.js +1 -11
- package/lib/commonjs/hooks/useTranslatedMessage.js.map +1 -1
- package/lib/commonjs/icons/ArrowRight.js +1 -8
- package/lib/commonjs/icons/ArrowRight.js.map +1 -1
- package/lib/commonjs/icons/AtMentions.js +1 -8
- package/lib/commonjs/icons/AtMentions.js.map +1 -1
- package/lib/commonjs/icons/Attach.js +1 -8
- package/lib/commonjs/icons/Attach.js.map +1 -1
- package/lib/commonjs/icons/Audio.js +1 -9
- package/lib/commonjs/icons/Audio.js.map +1 -1
- package/lib/commonjs/icons/CSV.js +1 -8
- package/lib/commonjs/icons/CSV.js.map +1 -1
- package/lib/commonjs/icons/Camera.js +1 -8
- package/lib/commonjs/icons/Camera.js.map +1 -1
- package/lib/commonjs/icons/Check.js +1 -8
- package/lib/commonjs/icons/Check.js.map +1 -1
- package/lib/commonjs/icons/CheckAll.js +1 -8
- package/lib/commonjs/icons/CheckAll.js.map +1 -1
- package/lib/commonjs/icons/CheckSend.js +1 -8
- package/lib/commonjs/icons/CheckSend.js.map +1 -1
- package/lib/commonjs/icons/CircleClose.js +1 -8
- package/lib/commonjs/icons/CircleClose.js.map +1 -1
- package/lib/commonjs/icons/CirclePlus.js +1 -8
- package/lib/commonjs/icons/CirclePlus.js.map +1 -1
- package/lib/commonjs/icons/CircleRight.js +1 -8
- package/lib/commonjs/icons/CircleRight.js.map +1 -1
- package/lib/commonjs/icons/Close.js +1 -8
- package/lib/commonjs/icons/Close.js.map +1 -1
- package/lib/commonjs/icons/Copy.js +1 -8
- package/lib/commonjs/icons/Copy.js.map +1 -1
- package/lib/commonjs/icons/CurveLineLeftUp.js +1 -8
- package/lib/commonjs/icons/CurveLineLeftUp.js.map +1 -1
- package/lib/commonjs/icons/DOC.js +1 -9
- package/lib/commonjs/icons/DOC.js.map +1 -1
- package/lib/commonjs/icons/DOCX.js +1 -9
- package/lib/commonjs/icons/DOCX.js.map +1 -1
- package/lib/commonjs/icons/Delete.js +1 -8
- package/lib/commonjs/icons/Delete.js.map +1 -1
- package/lib/commonjs/icons/Down.js +1 -8
- package/lib/commonjs/icons/Down.js.map +1 -1
- package/lib/commonjs/icons/DownloadArrow.js +1 -8
- package/lib/commonjs/icons/DownloadArrow.js.map +1 -1
- package/lib/commonjs/icons/DownloadCloud.js +1 -8
- package/lib/commonjs/icons/DownloadCloud.js.map +1 -1
- package/lib/commonjs/icons/Edit.js +1 -8
- package/lib/commonjs/icons/Edit.js.map +1 -1
- package/lib/commonjs/icons/Error.js +1 -8
- package/lib/commonjs/icons/Error.js.map +1 -1
- package/lib/commonjs/icons/Eye.js +1 -8
- package/lib/commonjs/icons/Eye.js.map +1 -1
- package/lib/commonjs/icons/Flag.js +1 -8
- package/lib/commonjs/icons/Flag.js.map +1 -1
- package/lib/commonjs/icons/Folder.js +1 -8
- package/lib/commonjs/icons/Folder.js.map +1 -1
- package/lib/commonjs/icons/GenericFile.js +1 -9
- package/lib/commonjs/icons/GenericFile.js.map +1 -1
- package/lib/commonjs/icons/GiphyIcon.js +1 -8
- package/lib/commonjs/icons/GiphyIcon.js.map +1 -1
- package/lib/commonjs/icons/Grid.js +1 -8
- package/lib/commonjs/icons/Grid.js.map +1 -1
- package/lib/commonjs/icons/Group.js +1 -8
- package/lib/commonjs/icons/Group.js.map +1 -1
- package/lib/commonjs/icons/HTML.js +1 -8
- package/lib/commonjs/icons/HTML.js.map +1 -1
- package/lib/commonjs/icons/Imgur.js +1 -9
- package/lib/commonjs/icons/Imgur.js.map +1 -1
- package/lib/commonjs/icons/LOLReaction.js +1 -8
- package/lib/commonjs/icons/LOLReaction.js.map +1 -1
- package/lib/commonjs/icons/Lightning.js +1 -8
- package/lib/commonjs/icons/Lightning.js.map +1 -1
- package/lib/commonjs/icons/Link.js +1 -8
- package/lib/commonjs/icons/Link.js.map +1 -1
- package/lib/commonjs/icons/Loading.js +12 -20
- package/lib/commonjs/icons/Loading.js.map +1 -1
- package/lib/commonjs/icons/Logo.js +1 -8
- package/lib/commonjs/icons/Logo.js.map +1 -1
- package/lib/commonjs/icons/LoveReaction.js +1 -8
- package/lib/commonjs/icons/LoveReaction.js.map +1 -1
- package/lib/commonjs/icons/MD.js +1 -8
- package/lib/commonjs/icons/MD.js.map +1 -1
- package/lib/commonjs/icons/MailOpen.js +1 -8
- package/lib/commonjs/icons/MailOpen.js.map +1 -1
- package/lib/commonjs/icons/MenuPointHorizontal.js +1 -8
- package/lib/commonjs/icons/MenuPointHorizontal.js.map +1 -1
- package/lib/commonjs/icons/MenuPointVertical.js +1 -8
- package/lib/commonjs/icons/MenuPointVertical.js.map +1 -1
- package/lib/commonjs/icons/MessageFlag.js +1 -8
- package/lib/commonjs/icons/MessageFlag.js.map +1 -1
- package/lib/commonjs/icons/MessageIcon.js +1 -8
- package/lib/commonjs/icons/MessageIcon.js.map +1 -1
- package/lib/commonjs/icons/Mute.js +1 -8
- package/lib/commonjs/icons/Mute.js.map +1 -1
- package/lib/commonjs/icons/Notification.js +1 -8
- package/lib/commonjs/icons/Notification.js.map +1 -1
- package/lib/commonjs/icons/ODT.js +1 -8
- package/lib/commonjs/icons/ODT.js.map +1 -1
- package/lib/commonjs/icons/PDF.js +1 -8
- package/lib/commonjs/icons/PDF.js.map +1 -1
- package/lib/commonjs/icons/PPT.js +1 -9
- package/lib/commonjs/icons/PPT.js.map +1 -1
- package/lib/commonjs/icons/PPTX.js +1 -9
- package/lib/commonjs/icons/PPTX.js.map +1 -1
- package/lib/commonjs/icons/Pause.js +2 -10
- package/lib/commonjs/icons/Pause.js.map +1 -1
- package/lib/commonjs/icons/Picture.js +1 -8
- package/lib/commonjs/icons/Picture.js.map +1 -1
- package/lib/commonjs/icons/Pin.js +1 -8
- package/lib/commonjs/icons/Pin.js.map +1 -1
- package/lib/commonjs/icons/PinHeader.js +1 -8
- package/lib/commonjs/icons/PinHeader.js.map +1 -1
- package/lib/commonjs/icons/Play.js +1 -8
- package/lib/commonjs/icons/Play.js.map +1 -1
- package/lib/commonjs/icons/RAR.js +1 -8
- package/lib/commonjs/icons/RAR.js.map +1 -1
- package/lib/commonjs/icons/RTF.js +1 -8
- package/lib/commonjs/icons/RTF.js.map +1 -1
- package/lib/commonjs/icons/Recorder.js +1 -8
- package/lib/commonjs/icons/Recorder.js.map +1 -1
- package/lib/commonjs/icons/Refresh.js +1 -8
- package/lib/commonjs/icons/Refresh.js.map +1 -1
- package/lib/commonjs/icons/SEVEN_Z.js +1 -8
- package/lib/commonjs/icons/SEVEN_Z.js.map +1 -1
- package/lib/commonjs/icons/Search.js +1 -8
- package/lib/commonjs/icons/Search.js.map +1 -1
- package/lib/commonjs/icons/SendRight.js +1 -8
- package/lib/commonjs/icons/SendRight.js.map +1 -1
- package/lib/commonjs/icons/SendUp.js +1 -8
- package/lib/commonjs/icons/SendUp.js.map +1 -1
- package/lib/commonjs/icons/Share.js +1 -9
- package/lib/commonjs/icons/Share.js.map +1 -1
- package/lib/commonjs/icons/ShareRightArrow.js +1 -8
- package/lib/commonjs/icons/ShareRightArrow.js.map +1 -1
- package/lib/commonjs/icons/Smile.js +1 -8
- package/lib/commonjs/icons/Smile.js.map +1 -1
- package/lib/commonjs/icons/Sound.js +1 -8
- package/lib/commonjs/icons/Sound.js.map +1 -1
- package/lib/commonjs/icons/TAR.js +1 -8
- package/lib/commonjs/icons/TAR.js.map +1 -1
- package/lib/commonjs/icons/TXT.js +1 -8
- package/lib/commonjs/icons/TXT.js.map +1 -1
- package/lib/commonjs/icons/ThreadReply.js +1 -8
- package/lib/commonjs/icons/ThreadReply.js.map +1 -1
- package/lib/commonjs/icons/ThumbsDownReaction.js +1 -8
- package/lib/commonjs/icons/ThumbsDownReaction.js.map +1 -1
- package/lib/commonjs/icons/ThumbsUpReaction.js +1 -8
- package/lib/commonjs/icons/ThumbsUpReaction.js.map +1 -1
- package/lib/commonjs/icons/Time.js +1 -8
- package/lib/commonjs/icons/Time.js.map +1 -1
- package/lib/commonjs/icons/Unknown.js +1 -8
- package/lib/commonjs/icons/Unknown.js.map +1 -1
- package/lib/commonjs/icons/Unpin.js +1 -8
- package/lib/commonjs/icons/Unpin.js.map +1 -1
- package/lib/commonjs/icons/User.js +1 -8
- package/lib/commonjs/icons/User.js.map +1 -1
- package/lib/commonjs/icons/UserAdd.js +1 -8
- package/lib/commonjs/icons/UserAdd.js.map +1 -1
- package/lib/commonjs/icons/UserAdmin.js +3 -12
- package/lib/commonjs/icons/UserAdmin.js.map +1 -1
- package/lib/commonjs/icons/UserDelete.js +1 -8
- package/lib/commonjs/icons/UserDelete.js.map +1 -1
- package/lib/commonjs/icons/UserMinus.js +1 -8
- package/lib/commonjs/icons/UserMinus.js.map +1 -1
- package/lib/commonjs/icons/Video.js +1 -8
- package/lib/commonjs/icons/Video.js.map +1 -1
- package/lib/commonjs/icons/Warning.js +1 -8
- package/lib/commonjs/icons/Warning.js.map +1 -1
- package/lib/commonjs/icons/WutReaction.js +1 -8
- package/lib/commonjs/icons/WutReaction.js.map +1 -1
- package/lib/commonjs/icons/XLS.js +1 -9
- package/lib/commonjs/icons/XLS.js.map +1 -1
- package/lib/commonjs/icons/XLSX.js +1 -9
- package/lib/commonjs/icons/XLSX.js.map +1 -1
- package/lib/commonjs/icons/ZIP.js +1 -8
- package/lib/commonjs/icons/ZIP.js.map +1 -1
- package/lib/commonjs/icons/index.js +0 -168
- package/lib/commonjs/icons/index.js.map +1 -1
- package/lib/commonjs/icons/utils/base.js +11 -25
- package/lib/commonjs/icons/utils/base.js.map +1 -1
- package/lib/commonjs/index.js +0 -35
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/init.js +0 -3
- 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 +0 -11
- package/lib/commonjs/mock-builders/DB/mock.js.map +1 -1
- package/lib/commonjs/mock-builders/api/channelMocks.js +0 -2
- package/lib/commonjs/mock-builders/api/channelMocks.js.map +1 -1
- package/lib/commonjs/mock-builders/api/deleteMessage.js +0 -4
- package/lib/commonjs/mock-builders/api/deleteMessage.js.map +1 -1
- package/lib/commonjs/mock-builders/api/deleteReaction.js +0 -4
- package/lib/commonjs/mock-builders/api/deleteReaction.js.map +1 -1
- package/lib/commonjs/mock-builders/api/error.js +0 -12
- package/lib/commonjs/mock-builders/api/error.js.map +1 -1
- package/lib/commonjs/mock-builders/api/getOrCreateChannel.js +0 -3
- package/lib/commonjs/mock-builders/api/getOrCreateChannel.js.map +1 -1
- package/lib/commonjs/mock-builders/api/queryChannels.js +0 -3
- package/lib/commonjs/mock-builders/api/queryChannels.js.map +1 -1
- package/lib/commonjs/mock-builders/api/queryMembers.js +0 -3
- package/lib/commonjs/mock-builders/api/queryMembers.js.map +1 -1
- package/lib/commonjs/mock-builders/api/sendMessage.js +0 -4
- package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
- package/lib/commonjs/mock-builders/api/sendReaction.js +0 -4
- package/lib/commonjs/mock-builders/api/sendReaction.js.map +1 -1
- package/lib/commonjs/mock-builders/api/threadReplies.js +0 -3
- package/lib/commonjs/mock-builders/api/threadReplies.js.map +1 -1
- package/lib/commonjs/mock-builders/api/useMockedApis.js +1 -3
- package/lib/commonjs/mock-builders/api/useMockedApis.js.map +1 -1
- package/lib/commonjs/mock-builders/api/utils.js +0 -2
- package/lib/commonjs/mock-builders/api/utils.js.map +1 -1
- package/lib/commonjs/mock-builders/event/channelDeleted.js +0 -2
- package/lib/commonjs/mock-builders/event/channelDeleted.js.map +1 -1
- package/lib/commonjs/mock-builders/event/channelHidden.js +0 -2
- package/lib/commonjs/mock-builders/event/channelHidden.js.map +1 -1
- package/lib/commonjs/mock-builders/event/channelTruncated.js +0 -2
- package/lib/commonjs/mock-builders/event/channelTruncated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/channelUpdated.js +0 -2
- package/lib/commonjs/mock-builders/event/channelUpdated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/connectionChanged.js +0 -2
- package/lib/commonjs/mock-builders/event/connectionChanged.js.map +1 -1
- package/lib/commonjs/mock-builders/event/connectionRecovered.js +0 -2
- package/lib/commonjs/mock-builders/event/connectionRecovered.js.map +1 -1
- package/lib/commonjs/mock-builders/event/memberAdded.js +0 -2
- package/lib/commonjs/mock-builders/event/memberAdded.js.map +1 -1
- package/lib/commonjs/mock-builders/event/memberRemoved.js +0 -2
- package/lib/commonjs/mock-builders/event/memberRemoved.js.map +1 -1
- package/lib/commonjs/mock-builders/event/memberUpdated.js +0 -2
- package/lib/commonjs/mock-builders/event/memberUpdated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/messageDeleted.js +0 -2
- package/lib/commonjs/mock-builders/event/messageDeleted.js.map +1 -1
- package/lib/commonjs/mock-builders/event/messageNew.js +0 -2
- package/lib/commonjs/mock-builders/event/messageNew.js.map +1 -1
- package/lib/commonjs/mock-builders/event/messageRead.js +0 -2
- package/lib/commonjs/mock-builders/event/messageRead.js.map +1 -1
- package/lib/commonjs/mock-builders/event/messageUpdated.js +0 -2
- package/lib/commonjs/mock-builders/event/messageUpdated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/notificationAddedToChannel.js +0 -2
- package/lib/commonjs/mock-builders/event/notificationAddedToChannel.js.map +1 -1
- package/lib/commonjs/mock-builders/event/notificationMessageNew.js +0 -2
- package/lib/commonjs/mock-builders/event/notificationMessageNew.js.map +1 -1
- package/lib/commonjs/mock-builders/event/notificationMutesUpdated.js +0 -4
- package/lib/commonjs/mock-builders/event/notificationMutesUpdated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/notificationRemovedFromChannel.js +0 -2
- package/lib/commonjs/mock-builders/event/notificationRemovedFromChannel.js.map +1 -1
- package/lib/commonjs/mock-builders/event/reactionDeleted.js +0 -2
- package/lib/commonjs/mock-builders/event/reactionDeleted.js.map +1 -1
- package/lib/commonjs/mock-builders/event/reactionNew.js +0 -2
- package/lib/commonjs/mock-builders/event/reactionNew.js.map +1 -1
- package/lib/commonjs/mock-builders/event/reactionUpdated.js +0 -2
- package/lib/commonjs/mock-builders/event/reactionUpdated.js.map +1 -1
- package/lib/commonjs/mock-builders/event/typing.js +0 -2
- package/lib/commonjs/mock-builders/event/typing.js.map +1 -1
- package/lib/commonjs/mock-builders/event/userPresence.js +0 -2
- package/lib/commonjs/mock-builders/event/userPresence.js.map +1 -1
- package/lib/commonjs/mock-builders/event/userUpdated.js +0 -2
- package/lib/commonjs/mock-builders/event/userUpdated.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/attachment.js +0 -24
- package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/channel.js +13 -28
- package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/member.js +0 -5
- package/lib/commonjs/mock-builders/generator/member.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/message.js +0 -8
- package/lib/commonjs/mock-builders/generator/message.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/reaction.js +0 -5
- package/lib/commonjs/mock-builders/generator/reaction.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/user.js +0 -10
- package/lib/commonjs/mock-builders/generator/user.js.map +1 -1
- package/lib/commonjs/mock-builders/mock.js +23 -47
- package/lib/commonjs/mock-builders/mock.js.map +1 -1
- package/lib/commonjs/mock-builders/native/react-native-mock.js.map +1 -1
- package/lib/commonjs/native.js +0 -23
- package/lib/commonjs/native.js.map +1 -1
- package/lib/commonjs/store/QuickSqliteClient.js +2 -49
- package/lib/commonjs/store/QuickSqliteClient.js.map +1 -1
- package/lib/commonjs/store/QuickSqliteClient_v4.js +12 -41
- package/lib/commonjs/store/QuickSqliteClient_v4.js.map +1 -1
- package/lib/commonjs/store/apis/addPendingTask.js +3 -12
- package/lib/commonjs/store/apis/addPendingTask.js.map +1 -1
- package/lib/commonjs/store/apis/deleteChannel.js +2 -8
- package/lib/commonjs/store/apis/deleteChannel.js.map +1 -1
- package/lib/commonjs/store/apis/deleteMember.js +3 -9
- package/lib/commonjs/store/apis/deleteMember.js.map +1 -1
- package/lib/commonjs/store/apis/deleteMessage.js +2 -8
- package/lib/commonjs/store/apis/deleteMessage.js.map +1 -1
- package/lib/commonjs/store/apis/deleteMessagesForChannel.js +2 -8
- package/lib/commonjs/store/apis/deleteMessagesForChannel.js.map +1 -1
- package/lib/commonjs/store/apis/deletePendingTask.js +0 -6
- package/lib/commonjs/store/apis/deletePendingTask.js.map +1 -1
- package/lib/commonjs/store/apis/deleteReaction.js +4 -10
- package/lib/commonjs/store/apis/deleteReaction.js.map +1 -1
- package/lib/commonjs/store/apis/deleteReactions.js +2 -8
- package/lib/commonjs/store/apis/deleteReactions.js.map +1 -1
- package/lib/commonjs/store/apis/getAllChannelIds.js +0 -3
- package/lib/commonjs/store/apis/getAllChannelIds.js.map +1 -1
- package/lib/commonjs/store/apis/getAppSettings.js +0 -7
- package/lib/commonjs/store/apis/getAppSettings.js.map +1 -1
- package/lib/commonjs/store/apis/getChannelMessages.js +1 -8
- package/lib/commonjs/store/apis/getChannelMessages.js.map +1 -1
- package/lib/commonjs/store/apis/getChannels.js +1 -10
- package/lib/commonjs/store/apis/getChannels.js.map +1 -1
- package/lib/commonjs/store/apis/getChannelsForFilterSort.js +2 -10
- package/lib/commonjs/store/apis/getChannelsForFilterSort.js.map +1 -1
- package/lib/commonjs/store/apis/getLastSyncedAt.js +0 -7
- package/lib/commonjs/store/apis/getLastSyncedAt.js.map +1 -1
- package/lib/commonjs/store/apis/getMembers.js +0 -5
- package/lib/commonjs/store/apis/getMembers.js.map +1 -1
- package/lib/commonjs/store/apis/getPendingTasks.js +0 -7
- package/lib/commonjs/store/apis/getPendingTasks.js.map +1 -1
- package/lib/commonjs/store/apis/getReads.js +0 -5
- package/lib/commonjs/store/apis/getReads.js.map +1 -1
- package/lib/commonjs/store/apis/index.js +0 -46
- package/lib/commonjs/store/apis/index.js.map +1 -1
- package/lib/commonjs/store/apis/insertReaction.js +2 -9
- package/lib/commonjs/store/apis/insertReaction.js.map +1 -1
- package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js +1 -9
- package/lib/commonjs/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -1
- package/lib/commonjs/store/apis/queries/selectChannels.js +1 -8
- package/lib/commonjs/store/apis/queries/selectChannels.js.map +1 -1
- package/lib/commonjs/store/apis/queries/selectMembersForChannels.js +0 -6
- package/lib/commonjs/store/apis/queries/selectMembersForChannels.js.map +1 -1
- package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js +0 -6
- package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js.map +1 -1
- package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js +0 -6
- package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js.map +1 -1
- package/lib/commonjs/store/apis/queries/selectReadsForChannels.js +0 -6
- package/lib/commonjs/store/apis/queries/selectReadsForChannels.js.map +1 -1
- package/lib/commonjs/store/apis/updateMessage.js +2 -22
- package/lib/commonjs/store/apis/updateMessage.js.map +1 -1
- package/lib/commonjs/store/apis/updateReaction.js +4 -18
- package/lib/commonjs/store/apis/updateReaction.js.map +1 -1
- package/lib/commonjs/store/apis/upsertAppSettings.js +3 -8
- package/lib/commonjs/store/apis/upsertAppSettings.js.map +1 -1
- package/lib/commonjs/store/apis/upsertChannelData.js +2 -9
- package/lib/commonjs/store/apis/upsertChannelData.js.map +1 -1
- package/lib/commonjs/store/apis/upsertChannels.js +8 -26
- package/lib/commonjs/store/apis/upsertChannels.js.map +1 -1
- package/lib/commonjs/store/apis/upsertCidsForQuery.js +4 -11
- package/lib/commonjs/store/apis/upsertCidsForQuery.js.map +1 -1
- package/lib/commonjs/store/apis/upsertLastSyncedAt.js +1 -6
- package/lib/commonjs/store/apis/upsertLastSyncedAt.js.map +1 -1
- package/lib/commonjs/store/apis/upsertMembers.js +3 -12
- package/lib/commonjs/store/apis/upsertMembers.js.map +1 -1
- package/lib/commonjs/store/apis/upsertMessages.js +2 -16
- package/lib/commonjs/store/apis/upsertMessages.js.map +1 -1
- package/lib/commonjs/store/apis/upsertReads.js +3 -12
- package/lib/commonjs/store/apis/upsertReads.js.map +1 -1
- package/lib/commonjs/store/apis/utils/convertFilterSortToQuery.js +1 -3
- 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 +23 -29
- package/lib/commonjs/store/mappers/mapChannelDataToStorable.js.map +1 -1
- package/lib/commonjs/store/mappers/mapDateTimeToStorable.js +0 -2
- package/lib/commonjs/store/mappers/mapDateTimeToStorable.js.map +1 -1
- package/lib/commonjs/store/mappers/mapMemberToStorable.js +11 -14
- package/lib/commonjs/store/mappers/mapMemberToStorable.js.map +1 -1
- package/lib/commonjs/store/mappers/mapMessageToStorable.js +12 -18
- package/lib/commonjs/store/mappers/mapMessageToStorable.js.map +1 -1
- package/lib/commonjs/store/mappers/mapReactionToStorable.js +6 -12
- package/lib/commonjs/store/mappers/mapReactionToStorable.js.map +1 -1
- package/lib/commonjs/store/mappers/mapReadToStorable.js +3 -6
- package/lib/commonjs/store/mappers/mapReadToStorable.js.map +1 -1
- package/lib/commonjs/store/mappers/mapStorableToChannel.js +23 -27
- package/lib/commonjs/store/mappers/mapStorableToChannel.js.map +1 -1
- package/lib/commonjs/store/mappers/mapStorableToMember.js +11 -14
- package/lib/commonjs/store/mappers/mapStorableToMember.js.map +1 -1
- package/lib/commonjs/store/mappers/mapStorableToMessage.js +8 -17
- package/lib/commonjs/store/mappers/mapStorableToMessage.js.map +1 -1
- package/lib/commonjs/store/mappers/mapStorableToReaction.js +6 -11
- package/lib/commonjs/store/mappers/mapStorableToReaction.js.map +1 -1
- package/lib/commonjs/store/mappers/mapStorableToRead.js +2 -5
- package/lib/commonjs/store/mappers/mapStorableToRead.js.map +1 -1
- package/lib/commonjs/store/mappers/mapStorableToTask.js +4 -6
- package/lib/commonjs/store/mappers/mapStorableToTask.js.map +1 -1
- package/lib/commonjs/store/mappers/mapStorableToUser.js +7 -11
- package/lib/commonjs/store/mappers/mapStorableToUser.js.map +1 -1
- package/lib/commonjs/store/mappers/mapTaskToStorable.js +0 -4
- package/lib/commonjs/store/mappers/mapTaskToStorable.js.map +1 -1
- package/lib/commonjs/store/mappers/mapUserToStorable.js +7 -12
- 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 +0 -5
- package/lib/commonjs/store/sqlite-utils/appendOrderByClause.js.map +1 -1
- package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js +0 -8
- package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js.map +1 -1
- package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js +2 -10
- package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
- package/lib/commonjs/store/sqlite-utils/createDeleteQuery.js +0 -3
- package/lib/commonjs/store/sqlite-utils/createDeleteQuery.js.map +1 -1
- package/lib/commonjs/store/sqlite-utils/createSelectQuery.js +5 -14
- package/lib/commonjs/store/sqlite-utils/createSelectQuery.js.map +1 -1
- package/lib/commonjs/store/sqlite-utils/createUpdateQuery.js +3 -11
- package/lib/commonjs/store/sqlite-utils/createUpdateQuery.js.map +1 -1
- package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js +0 -5
- package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js.map +1 -1
- package/lib/commonjs/store/sqlite-utils/printRow.js +0 -5
- package/lib/commonjs/store/sqlite-utils/printRow.js.map +1 -1
- package/lib/commonjs/store/types.js.map +1 -1
- package/lib/commonjs/test-utils/BetterSqlite.js +0 -11
- package/lib/commonjs/test-utils/BetterSqlite.js.map +1 -1
- package/lib/commonjs/types/types.js.map +1 -1
- package/lib/commonjs/utils/DBSyncManager.js +217 -321
- package/lib/commonjs/utils/DBSyncManager.js.map +1 -1
- package/lib/commonjs/utils/Streami18n.js +74 -181
- package/lib/commonjs/utils/Streami18n.js.map +1 -1
- package/lib/commonjs/utils/addReactionToLocalState.js +4 -21
- package/lib/commonjs/utils/addReactionToLocalState.js.map +1 -1
- package/lib/commonjs/utils/date.js +0 -2
- package/lib/commonjs/utils/date.js.map +1 -1
- package/lib/commonjs/utils/getResizedImageUrl.js +4 -10
- package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -1
- package/lib/commonjs/utils/getUrlOfImageAttachment.js +0 -1
- package/lib/commonjs/utils/getUrlOfImageAttachment.js.map +1 -1
- package/lib/commonjs/utils/patchMessageTextCommand.js +0 -6
- package/lib/commonjs/utils/patchMessageTextCommand.js.map +1 -1
- package/lib/commonjs/utils/removeReactionFromLocalState.js +3 -9
- package/lib/commonjs/utils/removeReactionFromLocalState.js.map +1 -1
- package/lib/commonjs/utils/removeReservedFields.js +0 -4
- package/lib/commonjs/utils/removeReservedFields.js.map +1 -1
- package/lib/commonjs/utils/utils.js +86 -179
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Attachment/Attachment.js +45 -56
- package/lib/module/components/Attachment/Attachment.js.map +1 -1
- package/lib/module/components/Attachment/AttachmentActions.js +25 -43
- package/lib/module/components/Attachment/AttachmentActions.js.map +1 -1
- package/lib/module/components/Attachment/AudioAttachment.js +114 -191
- package/lib/module/components/Attachment/AudioAttachment.js.map +1 -1
- package/lib/module/components/Attachment/Card.js +53 -80
- package/lib/module/components/Attachment/Card.js.map +1 -1
- package/lib/module/components/Attachment/FileAttachment.js +30 -57
- package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
- package/lib/module/components/Attachment/FileAttachmentGroup.js +19 -50
- package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
- package/lib/module/components/Attachment/FileIcon.js +3 -45
- package/lib/module/components/Attachment/FileIcon.js.map +1 -1
- package/lib/module/components/Attachment/Gallery.js +121 -162
- package/lib/module/components/Attachment/Gallery.js.map +1 -1
- package/lib/module/components/Attachment/GalleryImage.js +5 -23
- package/lib/module/components/Attachment/GalleryImage.js.map +1 -1
- package/lib/module/components/Attachment/Giphy.js +76 -109
- package/lib/module/components/Attachment/Giphy.js.map +1 -1
- package/lib/module/components/Attachment/ImageLoadingFailedIndicator.js +7 -23
- package/lib/module/components/Attachment/ImageLoadingFailedIndicator.js.map +1 -1
- package/lib/module/components/Attachment/ImageLoadingIndicator.js +3 -15
- package/lib/module/components/Attachment/ImageLoadingIndicator.js.map +1 -1
- package/lib/module/components/Attachment/VideoThumbnail.js +10 -20
- package/lib/module/components/Attachment/VideoThumbnail.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js +1 -10
- package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +8 -24
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +22 -35
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +1 -7
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js +4 -7
- package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +5 -9
- package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/types.js.map +1 -1
- package/lib/module/components/Attachment/utils/getAspectRatio.js +0 -2
- package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -1
- package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js +12 -14
- package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -1
- package/lib/module/components/Attachment/utils/getGiphyMimeType.js +0 -2
- package/lib/module/components/Attachment/utils/getGiphyMimeType.js.map +1 -1
- package/lib/module/components/Attachment/utils/openUrlSafely.js +19 -33
- package/lib/module/components/Attachment/utils/openUrlSafely.js.map +1 -1
- package/lib/module/components/AttachmentPicker/AttachmentPicker.js +74 -123
- package/lib/module/components/AttachmentPicker/AttachmentPicker.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +4 -18
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerError.js +33 -56
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerError.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +2 -10
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerErrorImage.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js +71 -117
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js +33 -59
- package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/CameraSelectorIcon.js +2 -10
- package/lib/module/components/AttachmentPicker/components/CameraSelectorIcon.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/FileSelectorIcon.js +2 -10
- package/lib/module/components/AttachmentPicker/components/FileSelectorIcon.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +4 -14
- package/lib/module/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js.map +1 -1
- package/lib/module/components/AttachmentPicker/components/ImageSelectorIcon.js +4 -13
- package/lib/module/components/AttachmentPicker/components/ImageSelectorIcon.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +177 -285
- package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +6 -24
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +12 -30
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +30 -47
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +21 -49
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
- package/lib/module/components/Avatar/Avatar.js +22 -42
- package/lib/module/components/Avatar/Avatar.js.map +1 -1
- package/lib/module/components/Avatar/GroupAvatar.js +15 -33
- package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
- package/lib/module/components/Channel/Channel.js +1136 -1586
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateChannelContext.js +31 -34
- package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +40 -43
- package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +81 -84
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +1 -11
- package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js +9 -13
- package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateThreadContext.js +9 -13
- package/lib/module/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateTypingContext.js +0 -3
- package/lib/module/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useTargetedMessage.js +3 -12
- package/lib/module/components/Channel/hooks/useTargetedMessage.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelList.js +71 -110
- package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +2 -12
- package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +12 -24
- package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +9 -20
- package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js +6 -17
- package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListMessenger.js +55 -84
- package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
- package/lib/module/components/ChannelList/Skeleton.js +16 -33
- package/lib/module/components/ChannelList/Skeleton.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +28 -50
- package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js +2 -14
- package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js +2 -14
- package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js +4 -12
- package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js +2 -16
- package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js +28 -49
- package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js +2 -17
- package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js +28 -50
- package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js +2 -12
- package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js +1 -12
- package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js +29 -34
- package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +141 -219
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/module/components/ChannelList/utils.js +13 -26
- package/lib/module/components/ChannelList/utils.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelAvatar.js +3 -19
- package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreview.js +14 -44
- package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +4 -15
- package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +35 -60
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +7 -18
- package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +10 -24
- package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js +4 -14
- package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +7 -17
- package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js +4 -27
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js +12 -36
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js +4 -21
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js +22 -68
- package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
- package/lib/module/components/Chat/Chat.js +26 -69
- package/lib/module/components/Chat/Chat.js.map +1 -1
- package/lib/module/components/Chat/hooks/handleEventToSyncDB.js +0 -26
- package/lib/module/components/Chat/hooks/handleEventToSyncDB.js.map +1 -1
- package/lib/module/components/Chat/hooks/useAppSettings.js +42 -69
- package/lib/module/components/Chat/hooks/useAppSettings.js.map +1 -1
- package/lib/module/components/Chat/hooks/useCreateChatContext.js +8 -11
- package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
- package/lib/module/components/Chat/hooks/useIsOnline.js +19 -50
- package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
- package/lib/module/components/Chat/hooks/useMutedUsers.js +3 -11
- package/lib/module/components/Chat/hooks/useMutedUsers.js.map +1 -1
- package/lib/module/components/Chat/hooks/useSyncDatabase.js +1 -8
- package/lib/module/components/Chat/hooks/useSyncDatabase.js.map +1 -1
- package/lib/module/components/ImageBackground.js +7 -21
- package/lib/module/components/ImageBackground.js.map +1 -1
- package/lib/module/components/ImageGallery/ImageGallery.js +53 -131
- package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +12 -27
- package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
- package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +21 -52
- package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +79 -125
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +26 -56
- package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryOverlay.js +12 -32
- package/lib/module/components/ImageGallery/components/ImageGalleryOverlay.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js +14 -27
- package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGrid.js +16 -38
- package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGridHandle.js +12 -26
- package/lib/module/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
- package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js +15 -52
- package/lib/module/components/ImageGallery/hooks/useImageGalleryGestures.js.map +1 -1
- package/lib/module/components/Indicators/EmptyStateIndicator.js +10 -25
- package/lib/module/components/Indicators/EmptyStateIndicator.js.map +1 -1
- package/lib/module/components/Indicators/LoadingDot.js +10 -21
- package/lib/module/components/Indicators/LoadingDot.js.map +1 -1
- package/lib/module/components/Indicators/LoadingDots.js +11 -21
- package/lib/module/components/Indicators/LoadingDots.js.map +1 -1
- package/lib/module/components/Indicators/LoadingErrorIndicator.js +16 -33
- package/lib/module/components/Indicators/LoadingErrorIndicator.js.map +1 -1
- package/lib/module/components/Indicators/LoadingIndicator.js +8 -26
- package/lib/module/components/Indicators/LoadingIndicator.js.map +1 -1
- package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js +9 -67
- package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
- package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +22 -68
- package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js.map +1 -1
- package/lib/module/components/Message/Message.js +246 -335
- package/lib/module/components/Message/Message.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageAvatar.js +20 -40
- package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageContent.js +113 -164
- package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageDeleted.js +27 -49
- package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageFooter.js +55 -68
- package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +11 -34
- package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageReplies.js +37 -57
- package/lib/module/components/Message/MessageSimple/MessageReplies.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +13 -30
- package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageSimple.js +37 -57
- package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageStatus.js +16 -40
- package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +30 -51
- package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/ReactionList.js +56 -84
- package/lib/module/components/Message/MessageSimple/ReactionList.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/parseLinks.js +23 -37
- package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js +0 -1
- package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/renderText.js +22 -66
- package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/renderText.test.js +97 -127
- package/lib/module/components/Message/MessageSimple/utils/renderText.test.js.map +1 -1
- package/lib/module/components/Message/hooks/useCreateMessageContext.js +37 -42
- package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/module/components/Message/hooks/useMessageActionHandlers.js +108 -171
- package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
- package/lib/module/components/Message/hooks/useMessageActions.js +141 -225
- package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
- package/lib/module/components/Message/utils/messageActions.js +15 -30
- package/lib/module/components/Message/utils/messageActions.js.map +1 -1
- package/lib/module/components/MessageInput/AttachButton.js +15 -33
- package/lib/module/components/MessageInput/AttachButton.js.map +1 -1
- package/lib/module/components/MessageInput/CommandsButton.js +13 -31
- package/lib/module/components/MessageInput/CommandsButton.js.map +1 -1
- package/lib/module/components/MessageInput/CooldownTimer.js +8 -20
- package/lib/module/components/MessageInput/CooldownTimer.js.map +1 -1
- package/lib/module/components/MessageInput/FileUploadPreview.js +48 -86
- package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
- package/lib/module/components/MessageInput/ImageUploadPreview.js +25 -57
- package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
- package/lib/module/components/MessageInput/InputButtons.js +47 -69
- package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
- package/lib/module/components/MessageInput/MessageInput.js +176 -236
- package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/module/components/MessageInput/MoreOptionsButton.js +9 -25
- package/lib/module/components/MessageInput/MoreOptionsButton.js.map +1 -1
- package/lib/module/components/MessageInput/SendButton.js +15 -33
- package/lib/module/components/MessageInput/SendButton.js.map +1 -1
- package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +9 -20
- package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
- package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +27 -50
- package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
- package/lib/module/components/MessageInput/UploadProgressIndicator.js +9 -28
- package/lib/module/components/MessageInput/UploadProgressIndicator.js.map +1 -1
- package/lib/module/components/MessageInput/components/InputEditingStateHeader.js +14 -34
- package/lib/module/components/MessageInput/components/InputEditingStateHeader.js.map +1 -1
- package/lib/module/components/MessageInput/components/InputGiphySearch.js +20 -41
- package/lib/module/components/MessageInput/components/InputGiphySearch.js.map +1 -1
- package/lib/module/components/MessageInput/components/InputReplyStateHeader.js +14 -34
- package/lib/module/components/MessageInput/components/InputReplyStateHeader.js.map +1 -1
- package/lib/module/components/MessageInput/hooks/useCooldown.js +6 -24
- package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -1
- package/lib/module/components/MessageInput/hooks/useCountdown.js +3 -16
- package/lib/module/components/MessageInput/hooks/useCountdown.js.map +1 -1
- package/lib/module/components/MessageList/DateHeader.js +8 -18
- package/lib/module/components/MessageList/DateHeader.js.map +1 -1
- package/lib/module/components/MessageList/InlineDateSeparator.js +9 -22
- package/lib/module/components/MessageList/InlineDateSeparator.js.map +1 -1
- package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +3 -21
- package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
- package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +3 -21
- package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
- package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +3 -21
- package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
- package/lib/module/components/MessageList/InlineUnreadIndicator.js +10 -26
- package/lib/module/components/MessageList/InlineUnreadIndicator.js.map +1 -1
- package/lib/module/components/MessageList/MessageList.js +239 -355
- package/lib/module/components/MessageList/MessageList.js.map +1 -1
- package/lib/module/components/MessageList/MessageSystem.js +14 -27
- package/lib/module/components/MessageList/MessageSystem.js.map +1 -1
- package/lib/module/components/MessageList/NetworkDownIndicator.js +9 -26
- package/lib/module/components/MessageList/NetworkDownIndicator.js.map +1 -1
- package/lib/module/components/MessageList/ScrollToBottomButton.js +16 -27
- package/lib/module/components/MessageList/ScrollToBottomButton.js.map +1 -1
- package/lib/module/components/MessageList/TypingIndicator.js +8 -19
- package/lib/module/components/MessageList/TypingIndicator.js.map +1 -1
- package/lib/module/components/MessageList/TypingIndicatorContainer.js +8 -29
- package/lib/module/components/MessageList/TypingIndicatorContainer.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useMessageList.js +10 -34
- package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useTypingString.js +4 -18
- package/lib/module/components/MessageList/hooks/useTypingString.js.map +1 -1
- package/lib/module/components/MessageList/utils/filterTypingUsers.js +2 -10
- package/lib/module/components/MessageList/utils/filterTypingUsers.js.map +1 -1
- package/lib/module/components/MessageList/utils/getDateSeparators.js +3 -11
- package/lib/module/components/MessageList/utils/getDateSeparators.js.map +1 -1
- package/lib/module/components/MessageList/utils/getGroupStyles.js +5 -18
- package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
- package/lib/module/components/MessageList/utils/getLastReceivedMessage.js +1 -9
- package/lib/module/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
- package/lib/module/components/MessageList/utils/getReadStates.js +1 -22
- package/lib/module/components/MessageList/utils/getReadStates.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageActionList.js +16 -39
- package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageActionListItem.js +16 -36
- package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageOverlay.js +75 -127
- package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/module/components/MessageOverlay/OverlayBackdrop.js +3 -12
- package/lib/module/components/MessageOverlay/OverlayBackdrop.js.map +1 -1
- package/lib/module/components/MessageOverlay/OverlayReactionList.js +39 -77
- package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
- package/lib/module/components/MessageOverlay/OverlayReactions.js +31 -53
- package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
- package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js +5 -14
- package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -1
- package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js +2 -5
- package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -1
- package/lib/module/components/ProgressControl/ProgressControl.js +9 -26
- package/lib/module/components/ProgressControl/ProgressControl.js.map +1 -1
- package/lib/module/components/RTLComponents/WritingDirectionAwareText.js +3 -13
- package/lib/module/components/RTLComponents/WritingDirectionAwareText.js.map +1 -1
- package/lib/module/components/Reply/Reply.js +37 -79
- package/lib/module/components/Reply/Reply.js.map +1 -1
- package/lib/module/components/Spinner/Spinner.js +6 -20
- package/lib/module/components/Spinner/Spinner.js.map +1 -1
- package/lib/module/components/Thread/Thread.js +28 -57
- package/lib/module/components/Thread/Thread.js.map +1 -1
- package/lib/module/components/Thread/components/ThreadFooterComponent.js +15 -43
- package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
- package/lib/module/components/docs/data.js +0 -7
- package/lib/module/components/docs/data.js.map +1 -1
- package/lib/module/components/index.js +0 -284
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +2 -18
- package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
- package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +20 -50
- package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
- package/lib/module/contexts/channelContext/ChannelContext.js +2 -23
- package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
- package/lib/module/contexts/channelsContext/ChannelsContext.js +2 -23
- package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
- package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +4 -37
- package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
- package/lib/module/contexts/channelsStateContext/useChannelState.js +63 -81
- package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
- package/lib/module/contexts/chatContext/ChatContext.js +2 -23
- package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/module/contexts/debugContext/DebugContext.js +3 -17
- package/lib/module/contexts/debugContext/DebugContext.js.map +1 -1
- package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +7 -32
- package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
- package/lib/module/contexts/index.js +0 -48
- package/lib/module/contexts/index.js.map +1 -1
- package/lib/module/contexts/keyboardContext/KeyboardContext.js +2 -20
- package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
- package/lib/module/contexts/messageContext/MessageContext.js +2 -20
- package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/MessageInputContext.js +531 -762
- package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +88 -91
- package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js +19 -44
- package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
- package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +2 -24
- package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
- package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js +3 -12
- package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -1
- package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +40 -52
- package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -1
- package/lib/module/contexts/messagesContext/MessagesContext.js +2 -23
- package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/module/contexts/overlayContext/OverlayContext.js +1 -20
- package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
- package/lib/module/contexts/overlayContext/OverlayProvider.js +76 -124
- package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +2 -18
- package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -1
- package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -23
- package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
- package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +11 -46
- package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
- package/lib/module/contexts/themeContext/ThemeContext.js +5 -28
- package/lib/module/contexts/themeContext/ThemeContext.js.map +1 -1
- package/lib/module/contexts/themeContext/utils/theme.js +0 -4
- package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/module/contexts/threadContext/ThreadContext.js +2 -23
- package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
- package/lib/module/contexts/translationContext/TranslationContext.js +2 -26
- package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
- package/lib/module/contexts/typingContext/TypingContext.js +2 -23
- 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 +0 -2
- package/lib/module/contexts/utils/getDisplayName.js.map +1 -1
- package/lib/module/contexts/utils/isTestEnvironment.js +0 -2
- package/lib/module/contexts/utils/isTestEnvironment.js.map +1 -1
- package/lib/module/emoji-data/compile.js +2 -4
- 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/emojiNames.js.map +1 -1
- package/lib/module/emoji-data/emojis.js.map +1 -1
- package/lib/module/emoji-data/index.js +1 -7
- package/lib/module/emoji-data/index.js.map +1 -1
- package/lib/module/hooks/index.js +0 -4
- package/lib/module/hooks/index.js.map +1 -1
- package/lib/module/hooks/useAppStateListener.js +0 -7
- package/lib/module/hooks/useAppStateListener.js.map +1 -1
- package/lib/module/hooks/useIsMountedRef.js +0 -3
- package/lib/module/hooks/useIsMountedRef.js.map +1 -1
- package/lib/module/hooks/useLoadingImage.js +7 -16
- package/lib/module/hooks/useLoadingImage.js.map +1 -1
- package/lib/module/hooks/useStreami18n.js +4 -16
- package/lib/module/hooks/useStreami18n.js.map +1 -1
- package/lib/module/hooks/useTranslatedMessage.js +1 -11
- package/lib/module/hooks/useTranslatedMessage.js.map +1 -1
- package/lib/module/icons/ArrowRight.js +1 -8
- package/lib/module/icons/ArrowRight.js.map +1 -1
- package/lib/module/icons/AtMentions.js +1 -8
- package/lib/module/icons/AtMentions.js.map +1 -1
- package/lib/module/icons/Attach.js +1 -8
- package/lib/module/icons/Attach.js.map +1 -1
- package/lib/module/icons/Audio.js +1 -9
- package/lib/module/icons/Audio.js.map +1 -1
- package/lib/module/icons/CSV.js +1 -8
- package/lib/module/icons/CSV.js.map +1 -1
- package/lib/module/icons/Camera.js +1 -8
- package/lib/module/icons/Camera.js.map +1 -1
- package/lib/module/icons/Check.js +1 -8
- package/lib/module/icons/Check.js.map +1 -1
- package/lib/module/icons/CheckAll.js +1 -8
- package/lib/module/icons/CheckAll.js.map +1 -1
- package/lib/module/icons/CheckSend.js +1 -8
- package/lib/module/icons/CheckSend.js.map +1 -1
- package/lib/module/icons/CircleClose.js +1 -8
- package/lib/module/icons/CircleClose.js.map +1 -1
- package/lib/module/icons/CirclePlus.js +1 -8
- package/lib/module/icons/CirclePlus.js.map +1 -1
- package/lib/module/icons/CircleRight.js +1 -8
- package/lib/module/icons/CircleRight.js.map +1 -1
- package/lib/module/icons/Close.js +1 -8
- package/lib/module/icons/Close.js.map +1 -1
- package/lib/module/icons/Copy.js +1 -8
- package/lib/module/icons/Copy.js.map +1 -1
- package/lib/module/icons/CurveLineLeftUp.js +1 -8
- package/lib/module/icons/CurveLineLeftUp.js.map +1 -1
- package/lib/module/icons/DOC.js +1 -9
- package/lib/module/icons/DOC.js.map +1 -1
- package/lib/module/icons/DOCX.js +1 -9
- package/lib/module/icons/DOCX.js.map +1 -1
- package/lib/module/icons/Delete.js +1 -8
- package/lib/module/icons/Delete.js.map +1 -1
- package/lib/module/icons/Down.js +1 -8
- package/lib/module/icons/Down.js.map +1 -1
- package/lib/module/icons/DownloadArrow.js +1 -8
- package/lib/module/icons/DownloadArrow.js.map +1 -1
- package/lib/module/icons/DownloadCloud.js +1 -8
- package/lib/module/icons/DownloadCloud.js.map +1 -1
- package/lib/module/icons/Edit.js +1 -8
- package/lib/module/icons/Edit.js.map +1 -1
- package/lib/module/icons/Error.js +1 -8
- package/lib/module/icons/Error.js.map +1 -1
- package/lib/module/icons/Eye.js +1 -8
- package/lib/module/icons/Eye.js.map +1 -1
- package/lib/module/icons/Flag.js +1 -8
- package/lib/module/icons/Flag.js.map +1 -1
- package/lib/module/icons/Folder.js +1 -8
- package/lib/module/icons/Folder.js.map +1 -1
- package/lib/module/icons/GenericFile.js +1 -9
- package/lib/module/icons/GenericFile.js.map +1 -1
- package/lib/module/icons/GiphyIcon.js +1 -8
- package/lib/module/icons/GiphyIcon.js.map +1 -1
- package/lib/module/icons/Grid.js +1 -8
- package/lib/module/icons/Grid.js.map +1 -1
- package/lib/module/icons/Group.js +1 -8
- package/lib/module/icons/Group.js.map +1 -1
- package/lib/module/icons/HTML.js +1 -8
- package/lib/module/icons/HTML.js.map +1 -1
- package/lib/module/icons/Imgur.js +1 -9
- package/lib/module/icons/Imgur.js.map +1 -1
- package/lib/module/icons/LOLReaction.js +1 -8
- package/lib/module/icons/LOLReaction.js.map +1 -1
- package/lib/module/icons/Lightning.js +1 -8
- package/lib/module/icons/Lightning.js.map +1 -1
- package/lib/module/icons/Link.js +1 -8
- package/lib/module/icons/Link.js.map +1 -1
- package/lib/module/icons/Loading.js +12 -20
- package/lib/module/icons/Loading.js.map +1 -1
- package/lib/module/icons/Logo.js +1 -8
- package/lib/module/icons/Logo.js.map +1 -1
- package/lib/module/icons/LoveReaction.js +1 -8
- package/lib/module/icons/LoveReaction.js.map +1 -1
- package/lib/module/icons/MD.js +1 -8
- package/lib/module/icons/MD.js.map +1 -1
- package/lib/module/icons/MailOpen.js +1 -8
- package/lib/module/icons/MailOpen.js.map +1 -1
- package/lib/module/icons/MenuPointHorizontal.js +1 -8
- package/lib/module/icons/MenuPointHorizontal.js.map +1 -1
- package/lib/module/icons/MenuPointVertical.js +1 -8
- package/lib/module/icons/MenuPointVertical.js.map +1 -1
- package/lib/module/icons/MessageFlag.js +1 -8
- package/lib/module/icons/MessageFlag.js.map +1 -1
- package/lib/module/icons/MessageIcon.js +1 -8
- package/lib/module/icons/MessageIcon.js.map +1 -1
- package/lib/module/icons/Mute.js +1 -8
- package/lib/module/icons/Mute.js.map +1 -1
- package/lib/module/icons/Notification.js +1 -8
- package/lib/module/icons/Notification.js.map +1 -1
- package/lib/module/icons/ODT.js +1 -8
- package/lib/module/icons/ODT.js.map +1 -1
- package/lib/module/icons/PDF.js +1 -8
- package/lib/module/icons/PDF.js.map +1 -1
- package/lib/module/icons/PPT.js +1 -9
- package/lib/module/icons/PPT.js.map +1 -1
- package/lib/module/icons/PPTX.js +1 -9
- package/lib/module/icons/PPTX.js.map +1 -1
- package/lib/module/icons/Pause.js +2 -10
- package/lib/module/icons/Pause.js.map +1 -1
- package/lib/module/icons/Picture.js +1 -8
- package/lib/module/icons/Picture.js.map +1 -1
- package/lib/module/icons/Pin.js +1 -8
- package/lib/module/icons/Pin.js.map +1 -1
- package/lib/module/icons/PinHeader.js +1 -8
- package/lib/module/icons/PinHeader.js.map +1 -1
- package/lib/module/icons/Play.js +1 -8
- package/lib/module/icons/Play.js.map +1 -1
- package/lib/module/icons/RAR.js +1 -8
- package/lib/module/icons/RAR.js.map +1 -1
- package/lib/module/icons/RTF.js +1 -8
- package/lib/module/icons/RTF.js.map +1 -1
- package/lib/module/icons/Recorder.js +1 -8
- package/lib/module/icons/Recorder.js.map +1 -1
- package/lib/module/icons/Refresh.js +1 -8
- package/lib/module/icons/Refresh.js.map +1 -1
- package/lib/module/icons/SEVEN_Z.js +1 -8
- package/lib/module/icons/SEVEN_Z.js.map +1 -1
- package/lib/module/icons/Search.js +1 -8
- package/lib/module/icons/Search.js.map +1 -1
- package/lib/module/icons/SendRight.js +1 -8
- package/lib/module/icons/SendRight.js.map +1 -1
- package/lib/module/icons/SendUp.js +1 -8
- package/lib/module/icons/SendUp.js.map +1 -1
- package/lib/module/icons/Share.js +1 -9
- package/lib/module/icons/Share.js.map +1 -1
- package/lib/module/icons/ShareRightArrow.js +1 -8
- package/lib/module/icons/ShareRightArrow.js.map +1 -1
- package/lib/module/icons/Smile.js +1 -8
- package/lib/module/icons/Smile.js.map +1 -1
- package/lib/module/icons/Sound.js +1 -8
- package/lib/module/icons/Sound.js.map +1 -1
- package/lib/module/icons/TAR.js +1 -8
- package/lib/module/icons/TAR.js.map +1 -1
- package/lib/module/icons/TXT.js +1 -8
- package/lib/module/icons/TXT.js.map +1 -1
- package/lib/module/icons/ThreadReply.js +1 -8
- package/lib/module/icons/ThreadReply.js.map +1 -1
- package/lib/module/icons/ThumbsDownReaction.js +1 -8
- package/lib/module/icons/ThumbsDownReaction.js.map +1 -1
- package/lib/module/icons/ThumbsUpReaction.js +1 -8
- package/lib/module/icons/ThumbsUpReaction.js.map +1 -1
- package/lib/module/icons/Time.js +1 -8
- package/lib/module/icons/Time.js.map +1 -1
- package/lib/module/icons/Unknown.js +1 -8
- package/lib/module/icons/Unknown.js.map +1 -1
- package/lib/module/icons/Unpin.js +1 -8
- package/lib/module/icons/Unpin.js.map +1 -1
- package/lib/module/icons/User.js +1 -8
- package/lib/module/icons/User.js.map +1 -1
- package/lib/module/icons/UserAdd.js +1 -8
- package/lib/module/icons/UserAdd.js.map +1 -1
- package/lib/module/icons/UserAdmin.js +3 -12
- package/lib/module/icons/UserAdmin.js.map +1 -1
- package/lib/module/icons/UserDelete.js +1 -8
- package/lib/module/icons/UserDelete.js.map +1 -1
- package/lib/module/icons/UserMinus.js +1 -8
- package/lib/module/icons/UserMinus.js.map +1 -1
- package/lib/module/icons/Video.js +1 -8
- package/lib/module/icons/Video.js.map +1 -1
- package/lib/module/icons/Warning.js +1 -8
- package/lib/module/icons/Warning.js.map +1 -1
- package/lib/module/icons/WutReaction.js +1 -8
- package/lib/module/icons/WutReaction.js.map +1 -1
- package/lib/module/icons/XLS.js +1 -9
- package/lib/module/icons/XLS.js.map +1 -1
- package/lib/module/icons/XLSX.js +1 -9
- package/lib/module/icons/XLSX.js.map +1 -1
- package/lib/module/icons/ZIP.js +1 -8
- package/lib/module/icons/ZIP.js.map +1 -1
- package/lib/module/icons/index.js +0 -168
- package/lib/module/icons/index.js.map +1 -1
- package/lib/module/icons/utils/base.js +11 -25
- package/lib/module/icons/utils/base.js.map +1 -1
- package/lib/module/index.js +0 -35
- package/lib/module/index.js.map +1 -1
- package/lib/module/init.js +0 -3
- 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 +0 -11
- package/lib/module/mock-builders/DB/mock.js.map +1 -1
- package/lib/module/mock-builders/api/channelMocks.js +0 -2
- package/lib/module/mock-builders/api/channelMocks.js.map +1 -1
- package/lib/module/mock-builders/api/deleteMessage.js +0 -4
- package/lib/module/mock-builders/api/deleteMessage.js.map +1 -1
- package/lib/module/mock-builders/api/deleteReaction.js +0 -4
- package/lib/module/mock-builders/api/deleteReaction.js.map +1 -1
- package/lib/module/mock-builders/api/error.js +0 -12
- package/lib/module/mock-builders/api/error.js.map +1 -1
- package/lib/module/mock-builders/api/getOrCreateChannel.js +0 -3
- package/lib/module/mock-builders/api/getOrCreateChannel.js.map +1 -1
- package/lib/module/mock-builders/api/queryChannels.js +0 -3
- package/lib/module/mock-builders/api/queryChannels.js.map +1 -1
- package/lib/module/mock-builders/api/queryMembers.js +0 -3
- package/lib/module/mock-builders/api/queryMembers.js.map +1 -1
- package/lib/module/mock-builders/api/sendMessage.js +0 -4
- package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
- package/lib/module/mock-builders/api/sendReaction.js +0 -4
- package/lib/module/mock-builders/api/sendReaction.js.map +1 -1
- package/lib/module/mock-builders/api/threadReplies.js +0 -3
- package/lib/module/mock-builders/api/threadReplies.js.map +1 -1
- package/lib/module/mock-builders/api/useMockedApis.js +1 -3
- package/lib/module/mock-builders/api/useMockedApis.js.map +1 -1
- package/lib/module/mock-builders/api/utils.js +0 -2
- package/lib/module/mock-builders/api/utils.js.map +1 -1
- package/lib/module/mock-builders/event/channelDeleted.js +0 -2
- package/lib/module/mock-builders/event/channelDeleted.js.map +1 -1
- package/lib/module/mock-builders/event/channelHidden.js +0 -2
- package/lib/module/mock-builders/event/channelHidden.js.map +1 -1
- package/lib/module/mock-builders/event/channelTruncated.js +0 -2
- package/lib/module/mock-builders/event/channelTruncated.js.map +1 -1
- package/lib/module/mock-builders/event/channelUpdated.js +0 -2
- package/lib/module/mock-builders/event/channelUpdated.js.map +1 -1
- package/lib/module/mock-builders/event/connectionChanged.js +0 -2
- package/lib/module/mock-builders/event/connectionChanged.js.map +1 -1
- package/lib/module/mock-builders/event/connectionRecovered.js +0 -2
- package/lib/module/mock-builders/event/connectionRecovered.js.map +1 -1
- package/lib/module/mock-builders/event/memberAdded.js +0 -2
- package/lib/module/mock-builders/event/memberAdded.js.map +1 -1
- package/lib/module/mock-builders/event/memberRemoved.js +0 -2
- package/lib/module/mock-builders/event/memberRemoved.js.map +1 -1
- package/lib/module/mock-builders/event/memberUpdated.js +0 -2
- package/lib/module/mock-builders/event/memberUpdated.js.map +1 -1
- package/lib/module/mock-builders/event/messageDeleted.js +0 -2
- package/lib/module/mock-builders/event/messageDeleted.js.map +1 -1
- package/lib/module/mock-builders/event/messageNew.js +0 -2
- package/lib/module/mock-builders/event/messageNew.js.map +1 -1
- package/lib/module/mock-builders/event/messageRead.js +0 -2
- package/lib/module/mock-builders/event/messageRead.js.map +1 -1
- package/lib/module/mock-builders/event/messageUpdated.js +0 -2
- package/lib/module/mock-builders/event/messageUpdated.js.map +1 -1
- package/lib/module/mock-builders/event/notificationAddedToChannel.js +0 -2
- package/lib/module/mock-builders/event/notificationAddedToChannel.js.map +1 -1
- package/lib/module/mock-builders/event/notificationMessageNew.js +0 -2
- package/lib/module/mock-builders/event/notificationMessageNew.js.map +1 -1
- package/lib/module/mock-builders/event/notificationMutesUpdated.js +0 -4
- package/lib/module/mock-builders/event/notificationMutesUpdated.js.map +1 -1
- package/lib/module/mock-builders/event/notificationRemovedFromChannel.js +0 -2
- package/lib/module/mock-builders/event/notificationRemovedFromChannel.js.map +1 -1
- package/lib/module/mock-builders/event/reactionDeleted.js +0 -2
- package/lib/module/mock-builders/event/reactionDeleted.js.map +1 -1
- package/lib/module/mock-builders/event/reactionNew.js +0 -2
- package/lib/module/mock-builders/event/reactionNew.js.map +1 -1
- package/lib/module/mock-builders/event/reactionUpdated.js +0 -2
- package/lib/module/mock-builders/event/reactionUpdated.js.map +1 -1
- package/lib/module/mock-builders/event/typing.js +0 -2
- package/lib/module/mock-builders/event/typing.js.map +1 -1
- package/lib/module/mock-builders/event/userPresence.js +0 -2
- package/lib/module/mock-builders/event/userPresence.js.map +1 -1
- package/lib/module/mock-builders/event/userUpdated.js +0 -2
- package/lib/module/mock-builders/event/userUpdated.js.map +1 -1
- package/lib/module/mock-builders/generator/attachment.js +0 -24
- package/lib/module/mock-builders/generator/attachment.js.map +1 -1
- package/lib/module/mock-builders/generator/channel.js +13 -28
- package/lib/module/mock-builders/generator/channel.js.map +1 -1
- package/lib/module/mock-builders/generator/member.js +0 -5
- package/lib/module/mock-builders/generator/member.js.map +1 -1
- package/lib/module/mock-builders/generator/message.js +0 -8
- package/lib/module/mock-builders/generator/message.js.map +1 -1
- package/lib/module/mock-builders/generator/reaction.js +0 -5
- package/lib/module/mock-builders/generator/reaction.js.map +1 -1
- package/lib/module/mock-builders/generator/user.js +0 -10
- package/lib/module/mock-builders/generator/user.js.map +1 -1
- package/lib/module/mock-builders/mock.js +23 -47
- package/lib/module/mock-builders/mock.js.map +1 -1
- package/lib/module/mock-builders/native/react-native-mock.js.map +1 -1
- package/lib/module/native.js +0 -23
- package/lib/module/native.js.map +1 -1
- package/lib/module/store/QuickSqliteClient.js +2 -49
- package/lib/module/store/QuickSqliteClient.js.map +1 -1
- package/lib/module/store/QuickSqliteClient_v4.js +12 -41
- package/lib/module/store/QuickSqliteClient_v4.js.map +1 -1
- package/lib/module/store/apis/addPendingTask.js +3 -12
- package/lib/module/store/apis/addPendingTask.js.map +1 -1
- package/lib/module/store/apis/deleteChannel.js +2 -8
- package/lib/module/store/apis/deleteChannel.js.map +1 -1
- package/lib/module/store/apis/deleteMember.js +3 -9
- package/lib/module/store/apis/deleteMember.js.map +1 -1
- package/lib/module/store/apis/deleteMessage.js +2 -8
- package/lib/module/store/apis/deleteMessage.js.map +1 -1
- package/lib/module/store/apis/deleteMessagesForChannel.js +2 -8
- package/lib/module/store/apis/deleteMessagesForChannel.js.map +1 -1
- package/lib/module/store/apis/deletePendingTask.js +0 -6
- package/lib/module/store/apis/deletePendingTask.js.map +1 -1
- package/lib/module/store/apis/deleteReaction.js +4 -10
- package/lib/module/store/apis/deleteReaction.js.map +1 -1
- package/lib/module/store/apis/deleteReactions.js +2 -8
- package/lib/module/store/apis/deleteReactions.js.map +1 -1
- package/lib/module/store/apis/getAllChannelIds.js +0 -3
- package/lib/module/store/apis/getAllChannelIds.js.map +1 -1
- package/lib/module/store/apis/getAppSettings.js +0 -7
- package/lib/module/store/apis/getAppSettings.js.map +1 -1
- package/lib/module/store/apis/getChannelMessages.js +1 -8
- package/lib/module/store/apis/getChannelMessages.js.map +1 -1
- package/lib/module/store/apis/getChannels.js +1 -10
- package/lib/module/store/apis/getChannels.js.map +1 -1
- package/lib/module/store/apis/getChannelsForFilterSort.js +2 -10
- package/lib/module/store/apis/getChannelsForFilterSort.js.map +1 -1
- package/lib/module/store/apis/getLastSyncedAt.js +0 -7
- package/lib/module/store/apis/getLastSyncedAt.js.map +1 -1
- package/lib/module/store/apis/getMembers.js +0 -5
- package/lib/module/store/apis/getMembers.js.map +1 -1
- package/lib/module/store/apis/getPendingTasks.js +0 -7
- package/lib/module/store/apis/getPendingTasks.js.map +1 -1
- package/lib/module/store/apis/getReads.js +0 -5
- package/lib/module/store/apis/getReads.js.map +1 -1
- package/lib/module/store/apis/index.js +0 -46
- package/lib/module/store/apis/index.js.map +1 -1
- package/lib/module/store/apis/insertReaction.js +2 -9
- package/lib/module/store/apis/insertReaction.js.map +1 -1
- package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js +1 -9
- package/lib/module/store/apis/queries/selectChannelIdsForFilterSort.js.map +1 -1
- package/lib/module/store/apis/queries/selectChannels.js +1 -8
- package/lib/module/store/apis/queries/selectChannels.js.map +1 -1
- package/lib/module/store/apis/queries/selectMembersForChannels.js +0 -6
- package/lib/module/store/apis/queries/selectMembersForChannels.js.map +1 -1
- package/lib/module/store/apis/queries/selectMessagesForChannels.js +0 -6
- package/lib/module/store/apis/queries/selectMessagesForChannels.js.map +1 -1
- package/lib/module/store/apis/queries/selectReactionsForMessages.js +0 -6
- package/lib/module/store/apis/queries/selectReactionsForMessages.js.map +1 -1
- package/lib/module/store/apis/queries/selectReadsForChannels.js +0 -6
- package/lib/module/store/apis/queries/selectReadsForChannels.js.map +1 -1
- package/lib/module/store/apis/updateMessage.js +2 -22
- package/lib/module/store/apis/updateMessage.js.map +1 -1
- package/lib/module/store/apis/updateReaction.js +4 -18
- package/lib/module/store/apis/updateReaction.js.map +1 -1
- package/lib/module/store/apis/upsertAppSettings.js +3 -8
- package/lib/module/store/apis/upsertAppSettings.js.map +1 -1
- package/lib/module/store/apis/upsertChannelData.js +2 -9
- package/lib/module/store/apis/upsertChannelData.js.map +1 -1
- package/lib/module/store/apis/upsertChannels.js +8 -26
- package/lib/module/store/apis/upsertChannels.js.map +1 -1
- package/lib/module/store/apis/upsertCidsForQuery.js +4 -11
- package/lib/module/store/apis/upsertCidsForQuery.js.map +1 -1
- package/lib/module/store/apis/upsertLastSyncedAt.js +1 -6
- package/lib/module/store/apis/upsertLastSyncedAt.js.map +1 -1
- package/lib/module/store/apis/upsertMembers.js +3 -12
- package/lib/module/store/apis/upsertMembers.js.map +1 -1
- package/lib/module/store/apis/upsertMessages.js +2 -16
- package/lib/module/store/apis/upsertMessages.js.map +1 -1
- package/lib/module/store/apis/upsertReads.js +3 -12
- package/lib/module/store/apis/upsertReads.js.map +1 -1
- package/lib/module/store/apis/utils/convertFilterSortToQuery.js +1 -3
- 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 +23 -29
- package/lib/module/store/mappers/mapChannelDataToStorable.js.map +1 -1
- package/lib/module/store/mappers/mapDateTimeToStorable.js +0 -2
- package/lib/module/store/mappers/mapDateTimeToStorable.js.map +1 -1
- package/lib/module/store/mappers/mapMemberToStorable.js +11 -14
- package/lib/module/store/mappers/mapMemberToStorable.js.map +1 -1
- package/lib/module/store/mappers/mapMessageToStorable.js +12 -18
- package/lib/module/store/mappers/mapMessageToStorable.js.map +1 -1
- package/lib/module/store/mappers/mapReactionToStorable.js +6 -12
- package/lib/module/store/mappers/mapReactionToStorable.js.map +1 -1
- package/lib/module/store/mappers/mapReadToStorable.js +3 -6
- package/lib/module/store/mappers/mapReadToStorable.js.map +1 -1
- package/lib/module/store/mappers/mapStorableToChannel.js +23 -27
- package/lib/module/store/mappers/mapStorableToChannel.js.map +1 -1
- package/lib/module/store/mappers/mapStorableToMember.js +11 -14
- package/lib/module/store/mappers/mapStorableToMember.js.map +1 -1
- package/lib/module/store/mappers/mapStorableToMessage.js +8 -17
- package/lib/module/store/mappers/mapStorableToMessage.js.map +1 -1
- package/lib/module/store/mappers/mapStorableToReaction.js +6 -11
- package/lib/module/store/mappers/mapStorableToReaction.js.map +1 -1
- package/lib/module/store/mappers/mapStorableToRead.js +2 -5
- package/lib/module/store/mappers/mapStorableToRead.js.map +1 -1
- package/lib/module/store/mappers/mapStorableToTask.js +4 -6
- package/lib/module/store/mappers/mapStorableToTask.js.map +1 -1
- package/lib/module/store/mappers/mapStorableToUser.js +7 -11
- package/lib/module/store/mappers/mapStorableToUser.js.map +1 -1
- package/lib/module/store/mappers/mapTaskToStorable.js +0 -4
- package/lib/module/store/mappers/mapTaskToStorable.js.map +1 -1
- package/lib/module/store/mappers/mapUserToStorable.js +7 -12
- 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 +0 -5
- package/lib/module/store/sqlite-utils/appendOrderByClause.js.map +1 -1
- package/lib/module/store/sqlite-utils/appendWhereCluase.js +0 -8
- package/lib/module/store/sqlite-utils/appendWhereCluase.js.map +1 -1
- package/lib/module/store/sqlite-utils/createCreateTableQuery.js +2 -10
- package/lib/module/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
- package/lib/module/store/sqlite-utils/createDeleteQuery.js +0 -3
- package/lib/module/store/sqlite-utils/createDeleteQuery.js.map +1 -1
- package/lib/module/store/sqlite-utils/createSelectQuery.js +5 -14
- package/lib/module/store/sqlite-utils/createSelectQuery.js.map +1 -1
- package/lib/module/store/sqlite-utils/createUpdateQuery.js +3 -11
- package/lib/module/store/sqlite-utils/createUpdateQuery.js.map +1 -1
- package/lib/module/store/sqlite-utils/createUpsertQuery.js +0 -5
- package/lib/module/store/sqlite-utils/createUpsertQuery.js.map +1 -1
- package/lib/module/store/sqlite-utils/printRow.js +0 -5
- package/lib/module/store/sqlite-utils/printRow.js.map +1 -1
- package/lib/module/store/types.js.map +1 -1
- package/lib/module/test-utils/BetterSqlite.js +0 -11
- package/lib/module/test-utils/BetterSqlite.js.map +1 -1
- package/lib/module/types/types.js.map +1 -1
- package/lib/module/utils/DBSyncManager.js +217 -321
- package/lib/module/utils/DBSyncManager.js.map +1 -1
- package/lib/module/utils/Streami18n.js +74 -181
- package/lib/module/utils/Streami18n.js.map +1 -1
- package/lib/module/utils/addReactionToLocalState.js +4 -21
- package/lib/module/utils/addReactionToLocalState.js.map +1 -1
- package/lib/module/utils/date.js +0 -2
- package/lib/module/utils/date.js.map +1 -1
- package/lib/module/utils/getResizedImageUrl.js +4 -10
- package/lib/module/utils/getResizedImageUrl.js.map +1 -1
- package/lib/module/utils/getUrlOfImageAttachment.js +0 -1
- package/lib/module/utils/getUrlOfImageAttachment.js.map +1 -1
- package/lib/module/utils/patchMessageTextCommand.js +0 -6
- package/lib/module/utils/patchMessageTextCommand.js.map +1 -1
- package/lib/module/utils/removeReactionFromLocalState.js +3 -9
- package/lib/module/utils/removeReactionFromLocalState.js.map +1 -1
- package/lib/module/utils/removeReservedFields.js +0 -4
- package/lib/module/utils/removeReservedFields.js.map +1 -1
- package/lib/module/utils/utils.js +86 -179
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Attachment/Attachment.d.ts +1 -0
- package/lib/typescript/components/Attachment/AttachmentActions.d.ts +1 -0
- package/lib/typescript/components/Attachment/AudioAttachment.d.ts +1 -0
- package/lib/typescript/components/Attachment/Card.d.ts +1 -0
- package/lib/typescript/components/Attachment/FileAttachment.d.ts +1 -0
- package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts +1 -0
- package/lib/typescript/components/Attachment/Gallery.d.ts +1 -0
- package/lib/typescript/components/Attachment/Giphy.d.ts +1 -0
- package/lib/typescript/components/Attachment/ImageLoadingFailedIndicator.d.ts +1 -0
- package/lib/typescript/components/Attachment/ImageLoadingIndicator.d.ts +1 -0
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteInput.d.ts +1 -0
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.d.ts +1 -0
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionHeader.d.ts +1 -0
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionItem.d.ts +1 -0
- package/lib/typescript/components/ChannelList/ChannelListMessenger.d.ts +1 -0
- package/lib/typescript/components/ChannelPreview/ChannelAvatar.d.ts +1 -0
- package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +1 -0
- package/lib/typescript/components/ChannelPreview/ChannelPreviewMessage.d.ts +1 -0
- package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts +1 -0
- package/lib/typescript/components/ChannelPreview/ChannelPreviewMutedStatus.d.ts +1 -0
- package/lib/typescript/components/ChannelPreview/ChannelPreviewStatus.d.ts +1 -0
- package/lib/typescript/components/ChannelPreview/ChannelPreviewTitle.d.ts +1 -0
- package/lib/typescript/components/ChannelPreview/ChannelPreviewUnreadCount.d.ts +1 -0
- package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +1 -0
- package/lib/typescript/components/Message/Message.d.ts +1 -0
- package/lib/typescript/components/Message/MessageSimple/MessageAvatar.d.ts +1 -0
- package/lib/typescript/components/Message/MessageSimple/MessagePinnedHeader.d.ts +1 -0
- package/lib/typescript/components/Message/MessageSimple/MessageReplies.d.ts +1 -0
- package/lib/typescript/components/Message/MessageSimple/MessageRepliesAvatars.d.ts +1 -0
- package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts +1 -0
- package/lib/typescript/components/Message/MessageSimple/MessageStatus.d.ts +1 -0
- package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts +1 -0
- package/lib/typescript/components/Message/MessageSimple/ReactionList.d.ts +1 -0
- package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +1 -0
- package/lib/typescript/components/MessageInput/AttachButton.d.ts +1 -0
- package/lib/typescript/components/MessageInput/CommandsButton.d.ts +1 -0
- package/lib/typescript/components/MessageInput/CooldownTimer.d.ts +1 -0
- package/lib/typescript/components/MessageInput/FileUploadPreview.d.ts +1 -0
- package/lib/typescript/components/MessageInput/ImageUploadPreview.d.ts +1 -0
- package/lib/typescript/components/MessageInput/InputButtons.d.ts +1 -0
- package/lib/typescript/components/MessageInput/MessageInput.d.ts +1 -0
- package/lib/typescript/components/MessageInput/MoreOptionsButton.d.ts +1 -0
- package/lib/typescript/components/MessageInput/SendButton.d.ts +1 -0
- package/lib/typescript/components/MessageInput/SendMessageDisallowedIndicator.d.ts +1 -0
- package/lib/typescript/components/MessageInput/components/InputEditingStateHeader.d.ts +1 -0
- package/lib/typescript/components/MessageInput/components/InputGiphySearch.d.ts +1 -0
- package/lib/typescript/components/MessageInput/components/InputReplyStateHeader.d.ts +1 -0
- package/lib/typescript/components/MessageList/MessageSystem.d.ts +1 -0
- package/lib/typescript/components/MessageList/NetworkDownIndicator.d.ts +1 -0
- package/lib/typescript/components/MessageList/TypingIndicator.d.ts +1 -0
- package/lib/typescript/components/MessageOverlay/MessageActionList.d.ts +1 -0
- package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts +1 -0
- package/lib/typescript/components/MessageOverlay/OverlayBackdrop.d.ts +1 -0
- package/lib/typescript/components/Reply/Reply.d.ts +1 -0
- package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts +1 -0
- package/package.json +7 -4
- package/src/components/MessageInput/__tests__/__snapshots__/AttachButton.test.js.snap +6 -0
- package/src/components/MessageInput/__tests__/__snapshots__/SendButton.test.js.snap +12 -0
- package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +9 -0
- package/src/version.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["MessageInputContext.tsx"],"names":["MessageInputContext","React","createContext","DEFAULT_BASE_CONTEXT_VALUE","MessageInputProvider","children","value","closePicker","openPicker","selectedPicker","setSelectedPicker","appSettings","client","enableOfflineSupport","getFileUploadConfig","fileConfig","app","file_upload_config","undefined","blockedFileExtensionTypes","blocked_file_extensions","blockedFileMimeTypes","blocked_mime_types","getImageUploadConfig","imageConfig","image_upload_config","blockedImageExtensionTypes","blockedImageMimeTypes","channelCapabities","channel","giphyEnabled","thread","t","inputBoxRef","sending","asyncIds","setAsyncIds","asyncUploads","setAsyncUploads","giphyActive","setGiphyActive","sendThreadMessageInChannel","setSendThreadMessageInChannel","editing","hasFilePicker","hasImagePicker","initialValue","fileUploads","imageUploads","mentionedUsers","numberOfUploads","setFileUploads","setImageUploads","setMentionedUsers","setNumberOfUploads","setShowMoreOptions","setText","showMoreOptions","text","cooldownEndsAt","endsAt","startCooldown","start","threadId","id","appendText","newText","prevText","isValidMessage","trim","imagesAndFiles","file","state","FileState","NOT_SUPPORTED","UPLOAD_FAILED","UPLOADING","onChange","current","sendTypingEvents","keystroke","onChangeText","openCommandsPicker","focus","openMentionsPicker","openAttachmentPicker","Keyboard","dismiss","pickFile","closeAttachmentPicker","toggleAttachmentPicker","onSelectItem","item","prevMentionedUsers","pickDocument","console","log","maxNumberOfFiles","Alert","alert","result","MEGA_BYTES_TO_BYTES","MAX_FILE_SIZE_TO_UPLOAD_IN_MB","cancelled","docs","totalFileSize","reduce","acc","doc","Number","size","forEach","uploadNewFile","removeFile","some","prevFileUploads","filter","prevNumberOfUploads","removeImage","image","prevImageUploads","resetInput","pendingAttachments","length","mapImageUploadToAttachment","mime_type","filename","fallback","name","image_url","url","original_height","height","original_width","width","originalFile","type","mapFileUploadToAttachment","startsWith","asset_url","uri","duration","file_size","title","thumb_url","sendMessage","sendLinks","match","urlRegex","clear","attachments","push","sendImageAsync","prevAsyncIds","UPLOADED","FINISHED","updatedMessage","mentioned_users","quoted_message","clearEditingState","updateMessagePromise","editMessage","then","parent_id","quoted_message_id","quotedMessage","show_in_channel","clearQuotedMessageState","_error","setQuotedMessageState","slice","sendMessageAsync","splice","indexOf","prevAsyncUploads","setInputBoxRef","ref","setInputRef","getTriggerSettings","triggerSettings","autoCompleteTriggerSettings","onMentionSelectItem","updateMessage","regExcondition","getUploadSetStateAction","fileState","extraData","uploads","prevUploads","map","prevUpload","handleFileOrImageUploadError","error","isImageError","Error","test","message","uploadFile","newFile","response","doDocUploadRequest","sendFile","uploadImage","newImage","getLocalUri","source","compressImageQuality","compressedUri","replace","contentType","doImageUploadRequest","sendImage","res","includes","newImageUploads","Object","keys","mimeType","isBlockedFileExtension","fileExtensionType","isBlockedFileMimeType","paused","progress","Promise","all","concat","uploadNewImage","isBlockedImageMimeType","isBlockedImageExtension","imageExtensionType","imageState","messageInputContext","openFilePicker","useMessageInputContext","contextValue","withMessageInputContext","Component","WithMessageInputContextComponent","props","displayName"],"mappings":"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","sourcesContent":["import React, { PropsWithChildren, useContext, useEffect, useRef, useState } from 'react';\n\nimport { Alert, Keyboard } from 'react-native';\n\nimport type { TextInput, TextInputProps } from 'react-native';\n\nimport uniq from 'lodash/uniq';\nimport { lookup } from 'mime-types';\nimport {\n Attachment,\n logChatPromiseExecution,\n SendFileAPIResponse,\n StreamChat,\n Message as StreamMessage,\n UserFilters,\n UserOptions,\n UserResponse,\n UserSort,\n} from 'stream-chat';\n\nimport { useCreateMessageInputContext } from './hooks/useCreateMessageInputContext';\nimport { isEditingBoolean, useMessageDetailsForState } from './hooks/useMessageDetailsForState';\n\nimport type { AttachButtonProps } from '../../components/MessageInput/AttachButton';\nimport type { CommandsButtonProps } from '../../components/MessageInput/CommandsButton';\nimport type { InputEditingStateHeaderProps } from '../../components/MessageInput/components/InputEditingStateHeader';\nimport type { InputGiphySearchProps } from '../../components/MessageInput/components/InputGiphySearch';\nimport type { InputReplyStateHeaderProps } from '../../components/MessageInput/components/InputReplyStateHeader';\nimport type { CooldownTimerProps } from '../../components/MessageInput/CooldownTimer';\nimport type { FileUploadPreviewProps } from '../../components/MessageInput/FileUploadPreview';\nimport { useCooldown } from '../../components/MessageInput/hooks/useCooldown';\nimport type { ImageUploadPreviewProps } from '../../components/MessageInput/ImageUploadPreview';\nimport type { InputButtonsProps } from '../../components/MessageInput/InputButtons';\nimport type { MessageInputProps } from '../../components/MessageInput/MessageInput';\nimport type { MoreOptionsButtonProps } from '../../components/MessageInput/MoreOptionsButton';\nimport type { SendButtonProps } from '../../components/MessageInput/SendButton';\nimport type { UploadProgressIndicatorProps } from '../../components/MessageInput/UploadProgressIndicator';\nimport type { MessageType } from '../../components/MessageList/hooks/useMessageList';\nimport { compressImage, getLocalAssetUri, pickDocument } from '../../native';\nimport type { Asset, DefaultStreamChatGenerics, File, UnknownType } from '../../types/types';\nimport { removeReservedFields } from '../../utils/removeReservedFields';\nimport {\n ACITriggerSettings,\n ACITriggerSettingsParams,\n FileState,\n FileStateValue,\n generateRandomId,\n TriggerSettings,\n urlRegex,\n} from '../../utils/utils';\nimport { useAttachmentPickerContext } from '../attachmentPickerContext/AttachmentPickerContext';\nimport { ChannelContextValue, useChannelContext } from '../channelContext/ChannelContext';\nimport { useChatContext } from '../chatContext/ChatContext';\nimport { useOwnCapabilitiesContext } from '../ownCapabilitiesContext/OwnCapabilitiesContext';\nimport { useThreadContext } from '../threadContext/ThreadContext';\nimport { useTranslationContext } from '../translationContext/TranslationContext';\nimport { DEFAULT_BASE_CONTEXT_VALUE } from '../utils/defaultBaseContextValue';\n\nimport { getDisplayName } from '../utils/getDisplayName';\nimport { isTestEnvironment } from '../utils/isTestEnvironment';\n\nexport type FileUpload = {\n file: File;\n id: string;\n state: FileStateValue;\n duration?: number;\n paused?: boolean;\n progress?: number;\n thumb_url?: string;\n url?: string;\n};\n\nexport type ImageUpload = {\n file: Partial<Asset> & {\n name?: string;\n };\n id: string;\n state: FileStateValue;\n height?: number;\n url?: string;\n width?: number;\n};\n\nexport type MentionAllAppUsersQuery<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n filters?: UserFilters<StreamChatGenerics>;\n options?: UserOptions;\n sort?: UserSort<StreamChatGenerics>;\n};\n\nexport type LocalMessageInputContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n appendText: (newText: string) => void;\n asyncIds: string[];\n asyncUploads: {\n [key: string]: {\n state: string;\n url: string;\n };\n };\n closeAttachmentPicker: () => void;\n /** The time at which the active cooldown will end */\n cooldownEndsAt: Date;\n /**\n * An array of file objects which are set for upload. It has the following structure:\n *\n * ```json\n * [\n * {\n * \"file\": // File object,\n * \"id\": \"randomly_generated_temp_id_1\",\n * \"state\": \"uploading\" // or \"finished\",\n * \"url\": \"https://url1.com\",\n * },\n * {\n * \"file\": // File object,\n * \"id\": \"randomly_generated_temp_id_2\",\n * \"state\": \"uploading\" // or \"finished\",\n * \"url\": \"https://url1.com\",\n * },\n * ]\n * ```\n *\n */\n fileUploads: FileUpload[];\n giphyActive: boolean;\n /**\n * An array of image objects which are set for upload. It has the following structure:\n *\n * ```json\n * [\n * {\n * \"file\": // File object,\n * \"id\": \"randomly_generated_temp_id_1\",\n * \"state\": \"uploading\" // or \"finished\",\n * },\n * {\n * \"file\": // File object,\n * \"id\": \"randomly_generated_temp_id_2\",\n * \"state\": \"uploading\" // or \"finished\",\n * },\n * ]\n * ```\n *\n */\n imageUploads: ImageUpload[];\n inputBoxRef: React.MutableRefObject<TextInput | null>;\n isValidMessage: () => boolean;\n mentionedUsers: string[];\n numberOfUploads: number;\n onChange: (newText: string) => void;\n onSelectItem: (item: UserResponse<StreamChatGenerics>) => void;\n openAttachmentPicker: () => void;\n openCommandsPicker: () => void;\n openFilePicker: () => void;\n openMentionsPicker: () => void;\n pickFile: () => Promise<void>;\n /**\n * Function for removing a file from the upload preview\n *\n * @param id string ID of file in `fileUploads` object in state of MessageInput\n */\n removeFile: (id: string) => void;\n /**\n * Function for removing an image from the upload preview\n *\n * @param id string ID of image in `imageUploads` object in state of MessageInput\n */\n removeImage: (id: string) => void;\n resetInput: (pendingAttachments?: Attachment<StreamChatGenerics>[]) => void;\n selectedPicker: string | undefined;\n sending: React.MutableRefObject<boolean>;\n sendMessage: () => Promise<void>;\n sendMessageAsync: (id: string) => void;\n sendThreadMessageInChannel: boolean;\n setAsyncIds: React.Dispatch<React.SetStateAction<string[]>>;\n setAsyncUploads: React.Dispatch<\n React.SetStateAction<{\n [key: string]: {\n state: string;\n url: string;\n };\n }>\n >;\n setFileUploads: React.Dispatch<React.SetStateAction<FileUpload[]>>;\n setGiphyActive: React.Dispatch<React.SetStateAction<boolean>>;\n setImageUploads: React.Dispatch<React.SetStateAction<ImageUpload[]>>;\n /**\n * Ref callback to set reference on input box\n */\n setInputBoxRef: (ref: TextInput | null) => void;\n setMentionedUsers: React.Dispatch<React.SetStateAction<string[]>>;\n setNumberOfUploads: React.Dispatch<React.SetStateAction<number>>;\n setSendThreadMessageInChannel: React.Dispatch<React.SetStateAction<boolean>>;\n setShowMoreOptions: React.Dispatch<React.SetStateAction<boolean>>;\n setText: React.Dispatch<React.SetStateAction<string>>;\n showMoreOptions: boolean;\n /**\n * Text value of the TextInput\n */\n text: string;\n toggleAttachmentPicker: () => void;\n /**\n * Mapping of input triggers to the outputs to be displayed by the AutoCompleteInput\n */\n triggerSettings: TriggerSettings<StreamChatGenerics>;\n updateMessage: () => Promise<void>;\n /** Function for attempting to upload a file */\n uploadFile: ({ newFile }: { newFile: FileUpload }) => Promise<void>;\n /** Function for attempting to upload an image */\n uploadImage: ({ newImage }: { newImage: ImageUpload }) => Promise<void>;\n uploadNewFile: (file: File) => Promise<void>;\n uploadNewImage: (image: Partial<Asset>) => Promise<void>;\n};\n\nexport type InputMessageInputContextValue<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n /**\n * Custom UI component for attach button.\n *\n * Defaults to and accepts same props as: [AttachButton](https://getstream.io/chat/docs/sdk/reactnative/ui-components/attach-button/)\n */\n AttachButton: React.ComponentType<AttachButtonProps<StreamChatGenerics>>;\n\n clearEditingState: () => void;\n clearQuotedMessageState: () => void;\n /**\n * Custom UI component for commands button.\n *\n * Defaults to and accepts same props as: [CommandsButton](https://getstream.io/chat/docs/sdk/reactnative/ui-components/commands-button/)\n */\n CommandsButton: React.ComponentType<CommandsButtonProps<StreamChatGenerics>>;\n /**\n * Custom UI component to display the remaining cooldown a user will have to wait before\n * being allowed to send another message. This component is displayed in place of the\n * send button for the MessageInput component.\n *\n * **default** [CooldownTimer](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/MessageInput/CooldownTimer.tsx)\n */\n CooldownTimer: React.ComponentType<CooldownTimerProps>;\n editing: boolean | MessageType<StreamChatGenerics>;\n editMessage: StreamChat<StreamChatGenerics>['updateMessage'];\n\n /**\n * Custom UI component for FileUploadPreview.\n * Defaults to and accepts same props as: https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/MessageInput/FileUploadPreview.tsx\n */\n FileUploadPreview: React.ComponentType<FileUploadPreviewProps<StreamChatGenerics>>;\n\n /** When false, CommandsButton will be hidden */\n hasCommands: boolean;\n /** When false, FileSelectorIcon will be hidden */\n hasFilePicker: boolean;\n /** When false, ImageSelectorIcon will be hidden */\n hasImagePicker: boolean;\n /**\n * Custom UI component for ImageUploadPreview.\n * Defaults to and accepts same props as: https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/MessageInput/ImageUploadPreview.tsx\n */\n ImageUploadPreview: React.ComponentType<ImageUploadPreviewProps<StreamChatGenerics>>;\n InputEditingStateHeader: React.ComponentType<InputEditingStateHeaderProps<StreamChatGenerics>>;\n InputGiphySearch: React.ComponentType<InputGiphySearchProps<StreamChatGenerics>>;\n InputReplyStateHeader: React.ComponentType<InputReplyStateHeaderProps<StreamChatGenerics>>;\n /** Limit on allowed number of files to attach at a time. */\n maxNumberOfFiles: number;\n /**\n * Custom UI component for more options button.\n *\n * Defaults to and accepts same props as: [MoreOptionsButton](https://getstream.io/chat/docs/sdk/reactnative/ui-components/more-options-button/)\n */\n MoreOptionsButton: React.ComponentType<MoreOptionsButtonProps<StreamChatGenerics>>;\n /** Limit on the number of lines in the text input before scrolling */\n numberOfLines: number;\n quotedMessage: boolean | MessageType<StreamChatGenerics>;\n /**\n * Custom UI component for send button.\n *\n * Defaults to and accepts same props as: [SendButton](https://getstream.io/chat/docs/sdk/reactnative/ui-components/send-button/)\n */\n SendButton: React.ComponentType<SendButtonProps<StreamChatGenerics>>;\n sendImageAsync: boolean;\n sendMessage: (message: Partial<StreamMessage<StreamChatGenerics>>) => Promise<void>;\n setQuotedMessageState: (message: MessageType<StreamChatGenerics>) => void;\n /**\n * Custom UI component to render checkbox with text (\"Also send to channel\") in Thread's input box.\n * When ticked, message will also be sent in parent channel.\n */\n ShowThreadMessageInChannelButton: React.ComponentType<{\n threadList?: boolean;\n }>;\n /**\n * Custom UI component to render upload progress indicator on attachment preview.\n *\n * **Default** [UploadProgressIndicator](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/MessageInput/UploadProgressIndicator.tsx)\n */\n UploadProgressIndicator: React.ComponentType<UploadProgressIndicatorProps>;\n /**\n * Additional props for underlying TextInput component. These props will be forwarded as it is to TextInput component.\n *\n * @see See https://reactnative.dev/docs/textinput#reference\n */\n additionalTextInputProps?: TextInputProps;\n /** Max number of suggestions to display in autocomplete list. Defaults to 10. */\n autoCompleteSuggestionsLimit?: number;\n /**\n * Mapping of input triggers to the outputs to be displayed by the AutoCompleteInput\n */\n autoCompleteTriggerSettings?: (\n settings: ACITriggerSettingsParams<StreamChatGenerics>,\n ) => TriggerSettings<StreamChatGenerics>;\n /**\n * Compress image with quality (from 0 to 1, where 1 is best quality).\n * On iOS, values larger than 0.8 don't produce a noticeable quality increase in most images,\n * while a value of 0.8 will reduce the file size by about half or less compared to a value of 1.\n * Image picker defaults to 0.8 for iOS and 1 for Android\n */\n compressImageQuality?: number;\n /**\n * Override file upload request\n *\n * @param file File object - { uri: '', name: '' }\n * @param channel Current channel object\n *\n * @overrideType Function\n */\n doDocUploadRequest?: (\n file: {\n name: string;\n size?: string | number;\n type?: string;\n uri?: string;\n },\n channel: ChannelContextValue<StreamChatGenerics>['channel'],\n ) => Promise<SendFileAPIResponse>;\n /**\n * Override image upload request\n *\n * @param file File object - { uri: '' }\n * @param channel Current channel object\n *\n * @overrideType Function\n */\n doImageUploadRequest?: (\n file: {\n name?: string;\n uri?: string;\n },\n channel: ChannelContextValue<StreamChatGenerics>['channel'],\n ) => Promise<SendFileAPIResponse>;\n\n /** Initial value to set on input */\n initialValue?: string;\n /**\n * Custom UI component for AutoCompleteInput.\n * Has access to all of [MessageInputContext](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/contexts/messageInputContext/MessageInputContext.tsx)\n */\n Input?: React.ComponentType<\n Omit<MessageInputProps<StreamChatGenerics>, 'Input'> &\n InputButtonsProps<StreamChatGenerics> & {\n getUsers: () => UserResponse<StreamChatGenerics>[];\n }\n >;\n /**\n * Custom UI component to override buttons on left side of input box\n * Defaults to [InputButtons](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/MessageInput/InputButtons.tsx),\n * which contain following components/buttons:\n *\n * - AttachButton\n * - CommandsButtom\n *\n * You have access to following prop functions:\n *\n * - closeAttachmentPicker\n * - openAttachmentPicker\n * - openCommandsPicker\n * - toggleAttachmentPicker\n */\n InputButtons?: React.ComponentType<InputButtonsProps<StreamChatGenerics>>;\n maxMessageLength?: number;\n mentionAllAppUsersEnabled?: boolean;\n /** Object containing filters/sort/options overrides for an @mention user query */\n mentionAllAppUsersQuery?: MentionAllAppUsersQuery<StreamChatGenerics>;\n /**\n * Callback that is called when the text input's text changes. Changed text is passed as a single string argument to the callback handler.\n */\n onChangeText?: (newText: string) => void;\n SendMessageDisallowedIndicator?: React.ComponentType;\n /**\n * ref for input setter function\n *\n * @param ref [Ref object](https://reactjs.org/docs/refs-and-the-dom.html) for underling `TextInput` component.\n *\n * @overrideType Function\n */\n setInputRef?: (ref: TextInput | null) => void;\n};\n\nexport type MessageInputContextValue<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = LocalMessageInputContext<StreamChatGenerics> &\n Omit<InputMessageInputContextValue<StreamChatGenerics>, 'sendMessage'>;\n\nexport const MessageInputContext = React.createContext(\n DEFAULT_BASE_CONTEXT_VALUE as MessageInputContextValue,\n);\n\nexport const MessageInputProvider = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n children,\n value,\n}: PropsWithChildren<{\n value: InputMessageInputContextValue<StreamChatGenerics>;\n}>) => {\n const { closePicker, openPicker, selectedPicker, setSelectedPicker } =\n useAttachmentPickerContext();\n const { appSettings, client, enableOfflineSupport } = useChatContext<StreamChatGenerics>();\n\n const getFileUploadConfig = () => {\n const fileConfig = appSettings?.app?.file_upload_config;\n if (fileConfig !== null || fileConfig !== undefined) {\n return fileConfig;\n } else {\n return {};\n }\n };\n\n const blockedFileExtensionTypes = getFileUploadConfig()?.blocked_file_extensions;\n const blockedFileMimeTypes = getFileUploadConfig()?.blocked_mime_types;\n\n const getImageUploadConfig = () => {\n const imageConfig = appSettings?.app?.image_upload_config;\n if (imageConfig !== null || imageConfig !== undefined) {\n return imageConfig;\n }\n return {};\n };\n\n const blockedImageExtensionTypes = getImageUploadConfig()?.blocked_file_extensions;\n const blockedImageMimeTypes = getImageUploadConfig()?.blocked_mime_types;\n\n const channelCapabities = useOwnCapabilitiesContext();\n\n const { channel, giphyEnabled } = useChannelContext<StreamChatGenerics>();\n const { thread } = useThreadContext<StreamChatGenerics>();\n const { t } = useTranslationContext();\n const inputBoxRef = useRef<TextInput | null>(null);\n const sending = useRef(false);\n\n const [asyncIds, setAsyncIds] = useState<string[]>([]);\n const [asyncUploads, setAsyncUploads] = useState<{\n [key: string]: {\n state: string;\n url: string;\n };\n }>({});\n const [giphyActive, setGiphyActive] = useState(false);\n const [sendThreadMessageInChannel, setSendThreadMessageInChannel] = useState(false);\n const { editing, hasFilePicker, hasImagePicker, initialValue } = value;\n const {\n fileUploads,\n imageUploads,\n mentionedUsers,\n numberOfUploads,\n setFileUploads,\n setImageUploads,\n setMentionedUsers,\n setNumberOfUploads,\n setShowMoreOptions,\n setText,\n showMoreOptions,\n text,\n } = useMessageDetailsForState<StreamChatGenerics>(editing, initialValue);\n const { endsAt: cooldownEndsAt, start: startCooldown } = useCooldown<StreamChatGenerics>();\n\n const threadId = thread?.id;\n useEffect(() => {\n setSendThreadMessageInChannel(false);\n }, [threadId]);\n\n const appendText = (newText: string) => {\n setText((prevText) => `${prevText}${newText}`);\n };\n\n /** Checks if the message is valid or not. Accordingly we can enable/disable send button */\n const isValidMessage = () => {\n if (text && text.trim()) {\n return true;\n }\n\n const imagesAndFiles = [...imageUploads, ...fileUploads];\n if (enableOfflineSupport) {\n // Allow only if none of the attachments have unsupported status\n for (const file of imagesAndFiles) {\n if (file.state === FileState.NOT_SUPPORTED) {\n return false;\n }\n }\n\n return true;\n }\n\n for (const file of imagesAndFiles) {\n if (!file || file.state === FileState.UPLOAD_FAILED) {\n continue;\n }\n if (file.state === FileState.UPLOADING) {\n // TODO: show error to user that they should wait until image is uploaded\n return false;\n }\n\n return true;\n }\n\n return false;\n };\n\n const onChange = (newText: string) => {\n if (sending.current) {\n return;\n }\n setText(newText);\n\n if (newText && channel && channelCapabities.sendTypingEvents) {\n logChatPromiseExecution(channel.keystroke(thread?.id), 'start typing event');\n }\n\n if (value.onChangeText) {\n value.onChangeText(newText);\n }\n };\n\n const openCommandsPicker = () => {\n appendText('/');\n if (inputBoxRef.current) {\n inputBoxRef.current.focus();\n }\n };\n\n const openMentionsPicker = () => {\n appendText('@');\n if (inputBoxRef.current) {\n inputBoxRef.current.focus();\n }\n };\n\n const openAttachmentPicker = () => {\n if (hasImagePicker) {\n Keyboard.dismiss();\n setSelectedPicker('images');\n openPicker();\n } else if (hasFilePicker) {\n pickFile();\n }\n };\n\n const closeAttachmentPicker = () => {\n setSelectedPicker(undefined);\n closePicker();\n };\n\n const toggleAttachmentPicker = () => {\n if (selectedPicker) {\n closeAttachmentPicker();\n } else {\n openAttachmentPicker();\n }\n };\n\n const onSelectItem = (item: UserResponse<StreamChatGenerics>) => {\n setMentionedUsers((prevMentionedUsers) => [...prevMentionedUsers, item.id]);\n };\n\n const pickFile = async () => {\n if (pickDocument === null) {\n console.log(\n 'The file picker is not installed. Check our Getting Started documentation to install it.',\n );\n return;\n }\n\n if (numberOfUploads >= value.maxNumberOfFiles) {\n Alert.alert('Maximum number of files reached');\n return;\n }\n\n const result = await pickDocument({\n maxNumberOfFiles: value.maxNumberOfFiles - numberOfUploads,\n });\n\n const MEGA_BYTES_TO_BYTES = 1024 * 1024;\n const MAX_FILE_SIZE_TO_UPLOAD_IN_MB = 100;\n\n if (!result.cancelled && result.docs) {\n const totalFileSize = result.docs.reduce((acc, doc) => acc + Number(doc.size), 0);\n if (totalFileSize / MEGA_BYTES_TO_BYTES > MAX_FILE_SIZE_TO_UPLOAD_IN_MB) {\n Alert.alert(\n `Maximum file size upload limit reached, please upload files below ${MAX_FILE_SIZE_TO_UPLOAD_IN_MB}MB.`,\n );\n } else {\n result.docs.forEach((doc) => {\n /**\n * TODO: The current tight coupling of images to the image\n * picker does not allow images picked from the file picker\n * to be rendered in a preview via the uploadNewImage call.\n * This should be updated alongside allowing image a file\n * uploads together.\n */\n uploadNewFile(doc);\n });\n }\n }\n };\n\n const removeFile = (id: string) => {\n if (fileUploads.some((file) => file.id === id)) {\n setFileUploads((prevFileUploads) => prevFileUploads.filter((file) => file.id !== id));\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads - 1);\n }\n };\n\n const removeImage = (id: string) => {\n if (imageUploads.some((image) => image.id === id)) {\n setImageUploads((prevImageUploads) => prevImageUploads.filter((image) => image.id !== id));\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads - 1);\n }\n };\n\n const resetInput = (pendingAttachments: Attachment<StreamChatGenerics>[] = []) => {\n setFileUploads([]);\n setGiphyActive(false);\n setShowMoreOptions(true);\n setImageUploads([]);\n setMentionedUsers([]);\n setNumberOfUploads(\n (prevNumberOfUploads) => prevNumberOfUploads - (pendingAttachments?.length || 0),\n );\n setText('');\n };\n\n const mapImageUploadToAttachment = (image: ImageUpload) => {\n const mime_type: string | boolean = lookup(image.file.filename as string);\n return {\n fallback: image.file.name,\n image_url: image.url,\n mime_type: mime_type ? mime_type : undefined,\n original_height: image.height,\n original_width: image.width,\n originalFile: image.file,\n type: 'image',\n } as Attachment;\n };\n\n const mapFileUploadToAttachment = (file: FileUpload) => {\n const mime_type: string | boolean = lookup(file.file.name as string);\n if (file.file.type?.startsWith('image/')) {\n return {\n fallback: file.file.name,\n image_url: file.url,\n mime_type: mime_type ? mime_type : undefined,\n originalFile: file.file,\n type: 'image',\n };\n } else if (file.file.type?.startsWith('audio/')) {\n return {\n asset_url: file.url || file.file.uri,\n duration: file.file.duration,\n file_size: file.file.size,\n mime_type: file.file.type,\n originalFile: file.file,\n title: file.file.name,\n type: 'audio',\n };\n } else if (file.file.type?.startsWith('video/')) {\n return {\n asset_url: file.url || file.file.uri,\n duration: file.file.duration,\n file_size: file.file.size,\n mime_type: file.file.type,\n originalFile: file.file,\n thumb_url: file.thumb_url,\n title: file.file.name,\n type: 'video',\n };\n } else {\n return {\n asset_url: file.url || file.file.uri,\n file_size: file.file.size,\n mime_type: file.file.type,\n originalFile: file.file,\n title: file.file.name,\n type: 'file',\n };\n }\n };\n\n // TODO: Figure out why this is async, as it doesn't await any promise.\n // eslint-disable-next-line require-await\n const sendMessage = async () => {\n if (sending.current) {\n return;\n }\n\n if (!channelCapabities.sendLinks && !!text.match(urlRegex)) {\n Alert.alert(t('Links are disabled'), t('Sending links is not allowed in this conversation'));\n\n return;\n }\n\n sending.current = true;\n\n startCooldown();\n\n const prevText = giphyEnabled && giphyActive ? `/giphy ${text}` : text;\n setText('');\n if (inputBoxRef.current) {\n inputBoxRef.current.clear();\n }\n\n const attachments = [] as Attachment<StreamChatGenerics>[];\n for (const image of imageUploads) {\n if (enableOfflineSupport) {\n if (image.state === FileState.NOT_SUPPORTED) {\n return;\n }\n attachments.push(mapImageUploadToAttachment(image));\n continue;\n }\n\n if ((!image || image.state === FileState.UPLOAD_FAILED) && !enableOfflineSupport) {\n continue;\n }\n\n if (image.state === FileState.UPLOADING) {\n // TODO: show error to user that they should wait until image is uploaded\n if (value.sendImageAsync) {\n /**\n * If user hit send before image uploaded, push ID into a queue to later\n * be matched with the successful CDN response\n */\n setAsyncIds((prevAsyncIds) => [...prevAsyncIds, image.id]);\n } else {\n sending.current = false;\n return setText(prevText);\n }\n }\n\n // To get the mime type of the image from the file name and send it as an response for an image\n if (image.state === FileState.UPLOADED || image.state === FileState.FINISHED) {\n attachments.push(mapImageUploadToAttachment(image));\n }\n }\n\n for (const file of fileUploads) {\n if (enableOfflineSupport) {\n if (file.state === FileState.NOT_SUPPORTED) {\n return;\n }\n attachments.push(mapFileUploadToAttachment(file));\n continue;\n }\n\n if (!file || file.state === FileState.UPLOAD_FAILED) {\n continue;\n }\n\n if (file.state === FileState.UPLOADING) {\n // TODO: show error to user that they should wait until image is uploaded\n sending.current = false;\n return;\n }\n\n if (file.state === FileState.UPLOADED || file.state === FileState.FINISHED) {\n attachments.push(mapFileUploadToAttachment(file));\n }\n }\n\n // Disallow sending message if its empty.\n if (!prevText && attachments.length === 0) {\n sending.current = false;\n return;\n }\n\n if (value.editing && !isEditingBoolean(value.editing)) {\n const updatedMessage = {\n ...value.editing,\n attachments,\n mentioned_users: mentionedUsers,\n quoted_message: undefined,\n text: prevText,\n } as Parameters<StreamChat<StreamChatGenerics>['updateMessage']>[0];\n\n // TODO: Remove this line and show an error when submit fails\n value.clearEditingState();\n\n const updateMessagePromise = value\n .editMessage(\n // @ts-ignore\n removeReservedFields(updatedMessage),\n )\n .then(value.clearEditingState);\n resetInput(attachments);\n logChatPromiseExecution(updateMessagePromise, 'update message');\n\n sending.current = false;\n } else {\n try {\n value.sendMessage({\n attachments,\n mentioned_users: uniq(mentionedUsers),\n /** Parent message id - in case of thread */\n parent_id: thread?.id,\n quoted_message_id:\n typeof value.quotedMessage === 'boolean' ? undefined : value.quotedMessage.id,\n show_in_channel: sendThreadMessageInChannel || undefined,\n text: prevText,\n } as unknown as StreamMessage<StreamChatGenerics>);\n\n value.clearQuotedMessageState();\n sending.current = false;\n resetInput(attachments);\n } catch (_error) {\n sending.current = false;\n if (value.quotedMessage && typeof value.quotedMessage !== 'boolean') {\n value.setQuotedMessageState(value.quotedMessage);\n }\n setText(prevText.slice(giphyEnabled && giphyActive ? 7 : 0)); // 7 because of '/giphy ' length\n console.log('Failed to send message');\n }\n }\n };\n\n const sendMessageAsync = (id: string) => {\n const image = asyncUploads[id];\n if (!image || image.state === FileState.UPLOAD_FAILED) {\n return;\n }\n\n if (image.state === FileState.UPLOADED || image.state === FileState.FINISHED) {\n const attachments = [\n {\n image_url: image.url,\n type: 'image',\n },\n ] as StreamMessage<StreamChatGenerics>['attachments'];\n\n startCooldown();\n try {\n value.sendMessage({\n attachments,\n mentioned_users: [],\n parent_id: thread?.id,\n quoted_message_id:\n typeof value.quotedMessage === 'boolean' ? undefined : value.quotedMessage.id,\n show_in_channel: sendThreadMessageInChannel || undefined,\n text: '',\n } as unknown as Partial<StreamMessage<StreamChatGenerics>>);\n\n setAsyncIds((prevAsyncIds) => prevAsyncIds.splice(prevAsyncIds.indexOf(id), 1));\n setAsyncUploads((prevAsyncUploads) => {\n delete prevAsyncUploads[id];\n return prevAsyncUploads;\n });\n\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads - 1);\n } catch (_error) {\n console.log('Failed');\n }\n }\n };\n\n const setInputBoxRef = (ref: TextInput | null) => {\n inputBoxRef.current = ref;\n if (value.setInputRef) {\n value.setInputRef(ref);\n }\n };\n\n const getTriggerSettings = () => {\n let triggerSettings: TriggerSettings<StreamChatGenerics> = {};\n if (channel) {\n if (value.autoCompleteTriggerSettings) {\n triggerSettings = value.autoCompleteTriggerSettings({\n channel,\n client,\n onMentionSelectItem: onSelectItem,\n });\n } else {\n triggerSettings = ACITriggerSettings<StreamChatGenerics>({\n channel,\n client,\n onMentionSelectItem: onSelectItem,\n });\n }\n }\n return triggerSettings;\n };\n\n const triggerSettings = getTriggerSettings();\n\n const updateMessage = async () => {\n try {\n if (!isEditingBoolean(value.editing)) {\n await client.updateMessage({\n ...value.editing,\n quoted_message: undefined,\n text: giphyEnabled && giphyActive ? `/giphy ${text}` : text,\n } as Parameters<StreamChat<StreamChatGenerics>['updateMessage']>[0]);\n }\n\n resetInput();\n value.clearEditingState();\n } catch (error) {\n console.log(error);\n }\n };\n\n const regExcondition = /File (extension \\.\\w{2,4}|type \\S+) is not supported/;\n\n const getUploadSetStateAction = <UploadType extends ImageUpload | FileUpload>(\n id: string,\n fileState: FileStateValue,\n extraData: Partial<UploadType> = {},\n ): React.SetStateAction<UploadType[]> => {\n const uploads: (prevUploads: UploadType[]) => UploadType[] = (prevUploads: UploadType[]) =>\n prevUploads.map((prevUpload) => {\n if (prevUpload.id === id) {\n return {\n ...prevUpload,\n ...extraData,\n state: fileState,\n };\n }\n return prevUpload;\n });\n\n return uploads;\n };\n\n const handleFileOrImageUploadError = (error: unknown, isImageError: boolean, id: string) => {\n if (isImageError) {\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads - 1);\n if (error instanceof Error) {\n if (regExcondition.test(error.message)) {\n return setImageUploads(getUploadSetStateAction(id, FileState.NOT_SUPPORTED));\n }\n\n return setImageUploads(getUploadSetStateAction(id, FileState.UPLOAD_FAILED));\n }\n } else {\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads - 1);\n\n if (error instanceof Error) {\n if (regExcondition.test(error.message)) {\n return setFileUploads(getUploadSetStateAction(id, FileState.NOT_SUPPORTED));\n }\n return setFileUploads(getUploadSetStateAction(id, FileState.UPLOAD_FAILED));\n }\n }\n };\n\n const uploadFile = async ({ newFile }: { newFile: FileUpload }) => {\n const { file, id } = newFile;\n\n setFileUploads(getUploadSetStateAction(id, FileState.UPLOADING));\n\n let response: Partial<SendFileAPIResponse> = {};\n try {\n if (value.doDocUploadRequest) {\n response = await value.doDocUploadRequest(file, channel);\n } else if (channel && file.uri) {\n response = await channel.sendFile(file.uri, file.name, file.type);\n }\n const extraData: Partial<FileUpload> = { thumb_url: response.thumb_url, url: response.file };\n setFileUploads(getUploadSetStateAction(id, FileState.UPLOADED, extraData));\n } catch (error: unknown) {\n handleFileOrImageUploadError(error, false, id);\n }\n };\n\n const uploadImage = async ({ newImage }: { newImage: ImageUpload }) => {\n const { file, id } = newImage || {};\n\n if (!file) {\n return;\n }\n\n let response = {} as SendFileAPIResponse;\n\n try {\n /**\n * Expo now uses the assets-library which is also how remote\n * native files are presented. We now return a file id from Expo\n * only, if that file id exits we call getLocalAssetUri to download\n * the asset for expo before uploading it. We do the same for native\n * if the uri includes assets-library, this uses the CameraRoll.save\n * function to also create a local uri.\n */\n const getLocalUri = async () => {\n if (file.id) {\n return await getLocalAssetUri(file.id);\n } else if (file.uri?.match(/assets-library/)) {\n return await getLocalAssetUri(file.uri);\n }\n return file.uri;\n };\n const uri = file.name || (await getLocalUri()) || '';\n /**\n * We skip compression if:\n * - the file is from the camera as that should already be compressed\n * - the file has not height/width value to maintain for compression\n * - the compressImageQuality number is not present or is 1 (meaning no compression)\n */\n const compressedUri = await (file.source === 'camera' ||\n !file.height ||\n !file.width ||\n typeof value.compressImageQuality !== 'number' ||\n value.compressImageQuality === 1\n ? uri\n : compressImage({\n compressImageQuality: value.compressImageQuality,\n height: file.height,\n uri,\n width: file.width,\n }));\n const filename = uri.replace(/^(file:\\/\\/|content:\\/\\/|assets-library:\\/\\/)/, '');\n const contentType = lookup(filename) || 'multipart/form-data';\n if (value.doImageUploadRequest) {\n response = await value.doImageUploadRequest(file, channel);\n } else if (compressedUri && channel) {\n if (value.sendImageAsync) {\n channel.sendImage(compressedUri, file.filename, contentType).then((res) => {\n if (asyncIds.includes(id)) {\n // Evaluates to true if user hit send before image successfully uploaded\n setAsyncUploads((prevAsyncUploads) => {\n prevAsyncUploads[id] = {\n ...prevAsyncUploads[id],\n state: FileState.UPLOADED,\n url: res.file,\n };\n return prevAsyncUploads;\n });\n } else {\n const newImageUploads = getUploadSetStateAction<ImageUpload>(id, FileState.UPLOADED, {\n url: res.file,\n });\n setImageUploads(newImageUploads);\n }\n });\n } else {\n response = await channel.sendImage(compressedUri, file.filename, contentType);\n }\n }\n\n if (Object.keys(response).length) {\n const newImageUploads = getUploadSetStateAction<ImageUpload>(id, FileState.UPLOADED, {\n height: file.height,\n url: response.file,\n width: file.width,\n });\n setImageUploads(newImageUploads);\n }\n } catch (error) {\n handleFileOrImageUploadError(error, true, id);\n }\n };\n\n const uploadNewFile = async (file: {\n name: string;\n size?: number | string;\n type?: string;\n uri?: string;\n }) => {\n const id: string = generateRandomId();\n const mimeType: string | boolean = lookup(file.name);\n\n const isBlockedFileExtension: boolean | undefined = blockedFileExtensionTypes?.some(\n (fileExtensionType: string) => file.name?.includes(fileExtensionType),\n );\n const isBlockedFileMimeType: boolean | undefined = blockedFileMimeTypes?.some(\n (mimeType: string) => file.name?.includes(mimeType),\n );\n\n const fileState =\n isBlockedFileExtension || isBlockedFileMimeType\n ? FileState.NOT_SUPPORTED\n : FileState.UPLOADING;\n\n const newFile: FileUpload = {\n duration: 0,\n file: { ...file, type: mimeType || file?.type },\n id,\n paused: true,\n progress: 0,\n state: fileState,\n };\n\n await Promise.all([\n setFileUploads((prevFileUploads) => prevFileUploads.concat([newFile])),\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads + 1),\n ]);\n\n if (!isBlockedFileExtension) {\n uploadFile({ newFile });\n }\n };\n\n const uploadNewImage = async (image: Partial<Asset>) => {\n const id = generateRandomId();\n\n const isBlockedImageMimeType = blockedImageMimeTypes?.some((mimeType: string) =>\n image.uri?.includes(mimeType),\n );\n\n const isBlockedImageExtension = blockedImageExtensionTypes?.some((imageExtensionType: string) =>\n image.uri?.includes(imageExtensionType),\n );\n\n const imageState =\n isBlockedImageExtension || isBlockedImageMimeType\n ? FileState.NOT_SUPPORTED\n : FileState.UPLOADING;\n\n const newImage: ImageUpload = {\n file: image,\n height: image.height,\n id,\n state: imageState,\n url: image.uri,\n width: image.width,\n };\n\n await Promise.all([\n setImageUploads((prevImageUploads) => prevImageUploads.concat([newImage])),\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads + 1),\n ]);\n\n if (!isBlockedImageExtension) {\n uploadImage({ newImage });\n }\n };\n\n const messageInputContext = useCreateMessageInputContext({\n appendText,\n asyncIds,\n asyncUploads,\n closeAttachmentPicker,\n cooldownEndsAt,\n fileUploads,\n giphyActive,\n imageUploads,\n inputBoxRef,\n isValidMessage,\n mentionedUsers,\n numberOfUploads,\n onChange,\n onSelectItem,\n openAttachmentPicker,\n openCommandsPicker,\n openFilePicker: pickFile,\n openMentionsPicker,\n pickFile,\n removeFile,\n removeImage,\n resetInput,\n selectedPicker,\n sending,\n sendMessageAsync,\n sendThreadMessageInChannel,\n setAsyncIds,\n setAsyncUploads,\n setFileUploads,\n setGiphyActive,\n setImageUploads,\n setInputBoxRef,\n setMentionedUsers,\n setNumberOfUploads,\n setSendThreadMessageInChannel,\n setShowMoreOptions,\n setText,\n showMoreOptions,\n text,\n thread,\n toggleAttachmentPicker,\n triggerSettings,\n updateMessage,\n uploadFile,\n uploadImage,\n uploadNewFile,\n uploadNewImage,\n ...value,\n sendMessage, // overriding the originally passed in sendMessage\n });\n\n return (\n <MessageInputContext.Provider\n value={messageInputContext as unknown as MessageInputContextValue}\n >\n {children}\n </MessageInputContext.Provider>\n );\n};\n\nexport const useMessageInputContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>() => {\n const contextValue = useContext(\n MessageInputContext,\n ) as unknown as MessageInputContextValue<StreamChatGenerics>;\n\n if (contextValue === DEFAULT_BASE_CONTEXT_VALUE && !isTestEnvironment()) {\n throw new Error(\n `The useMessageInputContext hook was called outside of the MessageInputContext provider. Make sure you have configured Channel component correctly - https://getstream.io/chat/docs/sdk/reactnative/basics/hello_stream_chat/#channel`,\n );\n }\n\n return contextValue;\n};\n\n/**\n * Typescript currently does not support partial inference so if MessageInputContext\n * typing is desired while using the HOC withMessageInputContext the Props for the\n * wrapped component must be provided as the first generic.\n */\nexport const withMessageInputContext = <\n P extends UnknownType,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n Component: React.ComponentType<P>,\n): React.FC<Omit<P, keyof MessageInputContextValue<StreamChatGenerics>>> => {\n const WithMessageInputContextComponent = (\n props: Omit<P, keyof MessageInputContextValue<StreamChatGenerics>>,\n ) => {\n const messageInputContext = useMessageInputContext<StreamChatGenerics>();\n\n return <Component {...(props as P)} {...messageInputContext} />;\n };\n WithMessageInputContextComponent.displayName = `WithMessageInputContext${getDisplayName(\n Component,\n )}`;\n return WithMessageInputContextComponent;\n};\n"]}
|
|
1
|
+
{"version":3,"names":["MessageInputContext","React","createContext","DEFAULT_BASE_CONTEXT_VALUE","MessageInputProvider","children","value","useAttachmentPickerContext","closePicker","openPicker","selectedPicker","setSelectedPicker","useChatContext","appSettings","client","enableOfflineSupport","getFileUploadConfig","fileConfig","app","file_upload_config","undefined","blockedFileExtensionTypes","blocked_file_extensions","blockedFileMimeTypes","blocked_mime_types","getImageUploadConfig","imageConfig","image_upload_config","blockedImageExtensionTypes","blockedImageMimeTypes","channelCapabities","useOwnCapabilitiesContext","useChannelContext","channel","giphyEnabled","useThreadContext","thread","useTranslationContext","t","inputBoxRef","useRef","sending","useState","asyncIds","setAsyncIds","asyncUploads","setAsyncUploads","giphyActive","setGiphyActive","sendThreadMessageInChannel","setSendThreadMessageInChannel","editing","hasFilePicker","hasImagePicker","initialValue","useMessageDetailsForState","fileUploads","imageUploads","mentionedUsers","numberOfUploads","setFileUploads","setImageUploads","setMentionedUsers","setNumberOfUploads","setShowMoreOptions","setText","showMoreOptions","text","useCooldown","cooldownEndsAt","endsAt","startCooldown","start","threadId","id","useEffect","appendText","newText","prevText","isValidMessage","trim","imagesAndFiles","file","state","FileState","NOT_SUPPORTED","UPLOAD_FAILED","UPLOADING","onChange","current","sendTypingEvents","logChatPromiseExecution","keystroke","onChangeText","openCommandsPicker","focus","openMentionsPicker","openAttachmentPicker","Keyboard","dismiss","pickFile","closeAttachmentPicker","toggleAttachmentPicker","onSelectItem","item","prevMentionedUsers","pickDocument","console","log","maxNumberOfFiles","Alert","alert","result","MEGA_BYTES_TO_BYTES","MAX_FILE_SIZE_TO_UPLOAD_IN_MB","cancelled","docs","totalFileSize","reduce","acc","doc","Number","size","forEach","uploadNewFile","removeFile","some","prevFileUploads","filter","prevNumberOfUploads","removeImage","image","prevImageUploads","resetInput","pendingAttachments","length","mapImageUploadToAttachment","mime_type","lookup","filename","fallback","name","image_url","url","original_height","height","original_width","width","originalFile","type","mapFileUploadToAttachment","startsWith","asset_url","uri","duration","file_size","title","thumb_url","sendMessage","sendLinks","match","urlRegex","clear","attachments","push","sendImageAsync","prevAsyncIds","UPLOADED","FINISHED","isEditingBoolean","updatedMessage","mentioned_users","quoted_message","clearEditingState","updateMessagePromise","editMessage","removeReservedFields","then","uniq","parent_id","quoted_message_id","quotedMessage","show_in_channel","clearQuotedMessageState","_error","setQuotedMessageState","slice","sendMessageAsync","splice","indexOf","prevAsyncUploads","setInputBoxRef","ref","setInputRef","getTriggerSettings","triggerSettings","autoCompleteTriggerSettings","onMentionSelectItem","ACITriggerSettings","updateMessage","regExcondition","getUploadSetStateAction","fileState","extraData","uploads","prevUploads","map","prevUpload","handleFileOrImageUploadError","error","isImageError","Error","test","message","uploadFile","newFile","response","doDocUploadRequest","sendFile","uploadImage","newImage","getLocalUri","getLocalAssetUri","source","compressImageQuality","compressImage","compressedUri","replace","contentType","doImageUploadRequest","sendImage","res","includes","newImageUploads","Object","keys","generateRandomId","mimeType","isBlockedFileExtension","fileExtensionType","isBlockedFileMimeType","paused","progress","Promise","all","concat","uploadNewImage","isBlockedImageMimeType","isBlockedImageExtension","imageExtensionType","imageState","messageInputContext","useCreateMessageInputContext","openFilePicker","useMessageInputContext","contextValue","useContext","isTestEnvironment","withMessageInputContext","Component","WithMessageInputContextComponent","props","displayName","getDisplayName"],"sources":["MessageInputContext.tsx"],"sourcesContent":["import React, { PropsWithChildren, useContext, useEffect, useRef, useState } from 'react';\n\nimport { Alert, Keyboard } from 'react-native';\n\nimport type { TextInput, TextInputProps } from 'react-native';\n\nimport uniq from 'lodash/uniq';\nimport { lookup } from 'mime-types';\nimport {\n Attachment,\n logChatPromiseExecution,\n SendFileAPIResponse,\n StreamChat,\n Message as StreamMessage,\n UserFilters,\n UserOptions,\n UserResponse,\n UserSort,\n} from 'stream-chat';\n\nimport { useCreateMessageInputContext } from './hooks/useCreateMessageInputContext';\nimport { isEditingBoolean, useMessageDetailsForState } from './hooks/useMessageDetailsForState';\n\nimport type { AttachButtonProps } from '../../components/MessageInput/AttachButton';\nimport type { CommandsButtonProps } from '../../components/MessageInput/CommandsButton';\nimport type { InputEditingStateHeaderProps } from '../../components/MessageInput/components/InputEditingStateHeader';\nimport type { InputGiphySearchProps } from '../../components/MessageInput/components/InputGiphySearch';\nimport type { InputReplyStateHeaderProps } from '../../components/MessageInput/components/InputReplyStateHeader';\nimport type { CooldownTimerProps } from '../../components/MessageInput/CooldownTimer';\nimport type { FileUploadPreviewProps } from '../../components/MessageInput/FileUploadPreview';\nimport { useCooldown } from '../../components/MessageInput/hooks/useCooldown';\nimport type { ImageUploadPreviewProps } from '../../components/MessageInput/ImageUploadPreview';\nimport type { InputButtonsProps } from '../../components/MessageInput/InputButtons';\nimport type { MessageInputProps } from '../../components/MessageInput/MessageInput';\nimport type { MoreOptionsButtonProps } from '../../components/MessageInput/MoreOptionsButton';\nimport type { SendButtonProps } from '../../components/MessageInput/SendButton';\nimport type { UploadProgressIndicatorProps } from '../../components/MessageInput/UploadProgressIndicator';\nimport type { MessageType } from '../../components/MessageList/hooks/useMessageList';\nimport { compressImage, getLocalAssetUri, pickDocument } from '../../native';\nimport type { Asset, DefaultStreamChatGenerics, File, UnknownType } from '../../types/types';\nimport { removeReservedFields } from '../../utils/removeReservedFields';\nimport {\n ACITriggerSettings,\n ACITriggerSettingsParams,\n FileState,\n FileStateValue,\n generateRandomId,\n TriggerSettings,\n urlRegex,\n} from '../../utils/utils';\nimport { useAttachmentPickerContext } from '../attachmentPickerContext/AttachmentPickerContext';\nimport { ChannelContextValue, useChannelContext } from '../channelContext/ChannelContext';\nimport { useChatContext } from '../chatContext/ChatContext';\nimport { useOwnCapabilitiesContext } from '../ownCapabilitiesContext/OwnCapabilitiesContext';\nimport { useThreadContext } from '../threadContext/ThreadContext';\nimport { useTranslationContext } from '../translationContext/TranslationContext';\nimport { DEFAULT_BASE_CONTEXT_VALUE } from '../utils/defaultBaseContextValue';\n\nimport { getDisplayName } from '../utils/getDisplayName';\nimport { isTestEnvironment } from '../utils/isTestEnvironment';\n\nexport type FileUpload = {\n file: File;\n id: string;\n state: FileStateValue;\n duration?: number;\n paused?: boolean;\n progress?: number;\n thumb_url?: string;\n url?: string;\n};\n\nexport type ImageUpload = {\n file: Partial<Asset> & {\n name?: string;\n };\n id: string;\n state: FileStateValue;\n height?: number;\n url?: string;\n width?: number;\n};\n\nexport type MentionAllAppUsersQuery<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n filters?: UserFilters<StreamChatGenerics>;\n options?: UserOptions;\n sort?: UserSort<StreamChatGenerics>;\n};\n\nexport type LocalMessageInputContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n appendText: (newText: string) => void;\n asyncIds: string[];\n asyncUploads: {\n [key: string]: {\n state: string;\n url: string;\n };\n };\n closeAttachmentPicker: () => void;\n /** The time at which the active cooldown will end */\n cooldownEndsAt: Date;\n /**\n * An array of file objects which are set for upload. It has the following structure:\n *\n * ```json\n * [\n * {\n * \"file\": // File object,\n * \"id\": \"randomly_generated_temp_id_1\",\n * \"state\": \"uploading\" // or \"finished\",\n * \"url\": \"https://url1.com\",\n * },\n * {\n * \"file\": // File object,\n * \"id\": \"randomly_generated_temp_id_2\",\n * \"state\": \"uploading\" // or \"finished\",\n * \"url\": \"https://url1.com\",\n * },\n * ]\n * ```\n *\n */\n fileUploads: FileUpload[];\n giphyActive: boolean;\n /**\n * An array of image objects which are set for upload. It has the following structure:\n *\n * ```json\n * [\n * {\n * \"file\": // File object,\n * \"id\": \"randomly_generated_temp_id_1\",\n * \"state\": \"uploading\" // or \"finished\",\n * },\n * {\n * \"file\": // File object,\n * \"id\": \"randomly_generated_temp_id_2\",\n * \"state\": \"uploading\" // or \"finished\",\n * },\n * ]\n * ```\n *\n */\n imageUploads: ImageUpload[];\n inputBoxRef: React.MutableRefObject<TextInput | null>;\n isValidMessage: () => boolean;\n mentionedUsers: string[];\n numberOfUploads: number;\n onChange: (newText: string) => void;\n onSelectItem: (item: UserResponse<StreamChatGenerics>) => void;\n openAttachmentPicker: () => void;\n openCommandsPicker: () => void;\n openFilePicker: () => void;\n openMentionsPicker: () => void;\n pickFile: () => Promise<void>;\n /**\n * Function for removing a file from the upload preview\n *\n * @param id string ID of file in `fileUploads` object in state of MessageInput\n */\n removeFile: (id: string) => void;\n /**\n * Function for removing an image from the upload preview\n *\n * @param id string ID of image in `imageUploads` object in state of MessageInput\n */\n removeImage: (id: string) => void;\n resetInput: (pendingAttachments?: Attachment<StreamChatGenerics>[]) => void;\n selectedPicker: string | undefined;\n sending: React.MutableRefObject<boolean>;\n sendMessage: () => Promise<void>;\n sendMessageAsync: (id: string) => void;\n sendThreadMessageInChannel: boolean;\n setAsyncIds: React.Dispatch<React.SetStateAction<string[]>>;\n setAsyncUploads: React.Dispatch<\n React.SetStateAction<{\n [key: string]: {\n state: string;\n url: string;\n };\n }>\n >;\n setFileUploads: React.Dispatch<React.SetStateAction<FileUpload[]>>;\n setGiphyActive: React.Dispatch<React.SetStateAction<boolean>>;\n setImageUploads: React.Dispatch<React.SetStateAction<ImageUpload[]>>;\n /**\n * Ref callback to set reference on input box\n */\n setInputBoxRef: (ref: TextInput | null) => void;\n setMentionedUsers: React.Dispatch<React.SetStateAction<string[]>>;\n setNumberOfUploads: React.Dispatch<React.SetStateAction<number>>;\n setSendThreadMessageInChannel: React.Dispatch<React.SetStateAction<boolean>>;\n setShowMoreOptions: React.Dispatch<React.SetStateAction<boolean>>;\n setText: React.Dispatch<React.SetStateAction<string>>;\n showMoreOptions: boolean;\n /**\n * Text value of the TextInput\n */\n text: string;\n toggleAttachmentPicker: () => void;\n /**\n * Mapping of input triggers to the outputs to be displayed by the AutoCompleteInput\n */\n triggerSettings: TriggerSettings<StreamChatGenerics>;\n updateMessage: () => Promise<void>;\n /** Function for attempting to upload a file */\n uploadFile: ({ newFile }: { newFile: FileUpload }) => Promise<void>;\n /** Function for attempting to upload an image */\n uploadImage: ({ newImage }: { newImage: ImageUpload }) => Promise<void>;\n uploadNewFile: (file: File) => Promise<void>;\n uploadNewImage: (image: Partial<Asset>) => Promise<void>;\n};\n\nexport type InputMessageInputContextValue<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n /**\n * Custom UI component for attach button.\n *\n * Defaults to and accepts same props as: [AttachButton](https://getstream.io/chat/docs/sdk/reactnative/ui-components/attach-button/)\n */\n AttachButton: React.ComponentType<AttachButtonProps<StreamChatGenerics>>;\n\n clearEditingState: () => void;\n clearQuotedMessageState: () => void;\n /**\n * Custom UI component for commands button.\n *\n * Defaults to and accepts same props as: [CommandsButton](https://getstream.io/chat/docs/sdk/reactnative/ui-components/commands-button/)\n */\n CommandsButton: React.ComponentType<CommandsButtonProps<StreamChatGenerics>>;\n /**\n * Custom UI component to display the remaining cooldown a user will have to wait before\n * being allowed to send another message. This component is displayed in place of the\n * send button for the MessageInput component.\n *\n * **default** [CooldownTimer](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/MessageInput/CooldownTimer.tsx)\n */\n CooldownTimer: React.ComponentType<CooldownTimerProps>;\n editing: boolean | MessageType<StreamChatGenerics>;\n editMessage: StreamChat<StreamChatGenerics>['updateMessage'];\n\n /**\n * Custom UI component for FileUploadPreview.\n * Defaults to and accepts same props as: https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/MessageInput/FileUploadPreview.tsx\n */\n FileUploadPreview: React.ComponentType<FileUploadPreviewProps<StreamChatGenerics>>;\n\n /** When false, CommandsButton will be hidden */\n hasCommands: boolean;\n /** When false, FileSelectorIcon will be hidden */\n hasFilePicker: boolean;\n /** When false, ImageSelectorIcon will be hidden */\n hasImagePicker: boolean;\n /**\n * Custom UI component for ImageUploadPreview.\n * Defaults to and accepts same props as: https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/MessageInput/ImageUploadPreview.tsx\n */\n ImageUploadPreview: React.ComponentType<ImageUploadPreviewProps<StreamChatGenerics>>;\n InputEditingStateHeader: React.ComponentType<InputEditingStateHeaderProps<StreamChatGenerics>>;\n InputGiphySearch: React.ComponentType<InputGiphySearchProps<StreamChatGenerics>>;\n InputReplyStateHeader: React.ComponentType<InputReplyStateHeaderProps<StreamChatGenerics>>;\n /** Limit on allowed number of files to attach at a time. */\n maxNumberOfFiles: number;\n /**\n * Custom UI component for more options button.\n *\n * Defaults to and accepts same props as: [MoreOptionsButton](https://getstream.io/chat/docs/sdk/reactnative/ui-components/more-options-button/)\n */\n MoreOptionsButton: React.ComponentType<MoreOptionsButtonProps<StreamChatGenerics>>;\n /** Limit on the number of lines in the text input before scrolling */\n numberOfLines: number;\n quotedMessage: boolean | MessageType<StreamChatGenerics>;\n /**\n * Custom UI component for send button.\n *\n * Defaults to and accepts same props as: [SendButton](https://getstream.io/chat/docs/sdk/reactnative/ui-components/send-button/)\n */\n SendButton: React.ComponentType<SendButtonProps<StreamChatGenerics>>;\n sendImageAsync: boolean;\n sendMessage: (message: Partial<StreamMessage<StreamChatGenerics>>) => Promise<void>;\n setQuotedMessageState: (message: MessageType<StreamChatGenerics>) => void;\n /**\n * Custom UI component to render checkbox with text (\"Also send to channel\") in Thread's input box.\n * When ticked, message will also be sent in parent channel.\n */\n ShowThreadMessageInChannelButton: React.ComponentType<{\n threadList?: boolean;\n }>;\n /**\n * Custom UI component to render upload progress indicator on attachment preview.\n *\n * **Default** [UploadProgressIndicator](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/MessageInput/UploadProgressIndicator.tsx)\n */\n UploadProgressIndicator: React.ComponentType<UploadProgressIndicatorProps>;\n /**\n * Additional props for underlying TextInput component. These props will be forwarded as it is to TextInput component.\n *\n * @see See https://reactnative.dev/docs/textinput#reference\n */\n additionalTextInputProps?: TextInputProps;\n /** Max number of suggestions to display in autocomplete list. Defaults to 10. */\n autoCompleteSuggestionsLimit?: number;\n /**\n * Mapping of input triggers to the outputs to be displayed by the AutoCompleteInput\n */\n autoCompleteTriggerSettings?: (\n settings: ACITriggerSettingsParams<StreamChatGenerics>,\n ) => TriggerSettings<StreamChatGenerics>;\n /**\n * Compress image with quality (from 0 to 1, where 1 is best quality).\n * On iOS, values larger than 0.8 don't produce a noticeable quality increase in most images,\n * while a value of 0.8 will reduce the file size by about half or less compared to a value of 1.\n * Image picker defaults to 0.8 for iOS and 1 for Android\n */\n compressImageQuality?: number;\n /**\n * Override file upload request\n *\n * @param file File object - { uri: '', name: '' }\n * @param channel Current channel object\n *\n * @overrideType Function\n */\n doDocUploadRequest?: (\n file: {\n name: string;\n size?: string | number;\n type?: string;\n uri?: string;\n },\n channel: ChannelContextValue<StreamChatGenerics>['channel'],\n ) => Promise<SendFileAPIResponse>;\n /**\n * Override image upload request\n *\n * @param file File object - { uri: '' }\n * @param channel Current channel object\n *\n * @overrideType Function\n */\n doImageUploadRequest?: (\n file: {\n name?: string;\n uri?: string;\n },\n channel: ChannelContextValue<StreamChatGenerics>['channel'],\n ) => Promise<SendFileAPIResponse>;\n\n /** Initial value to set on input */\n initialValue?: string;\n /**\n * Custom UI component for AutoCompleteInput.\n * Has access to all of [MessageInputContext](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/contexts/messageInputContext/MessageInputContext.tsx)\n */\n Input?: React.ComponentType<\n Omit<MessageInputProps<StreamChatGenerics>, 'Input'> &\n InputButtonsProps<StreamChatGenerics> & {\n getUsers: () => UserResponse<StreamChatGenerics>[];\n }\n >;\n /**\n * Custom UI component to override buttons on left side of input box\n * Defaults to [InputButtons](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/MessageInput/InputButtons.tsx),\n * which contain following components/buttons:\n *\n * - AttachButton\n * - CommandsButtom\n *\n * You have access to following prop functions:\n *\n * - closeAttachmentPicker\n * - openAttachmentPicker\n * - openCommandsPicker\n * - toggleAttachmentPicker\n */\n InputButtons?: React.ComponentType<InputButtonsProps<StreamChatGenerics>>;\n maxMessageLength?: number;\n mentionAllAppUsersEnabled?: boolean;\n /** Object containing filters/sort/options overrides for an @mention user query */\n mentionAllAppUsersQuery?: MentionAllAppUsersQuery<StreamChatGenerics>;\n /**\n * Callback that is called when the text input's text changes. Changed text is passed as a single string argument to the callback handler.\n */\n onChangeText?: (newText: string) => void;\n SendMessageDisallowedIndicator?: React.ComponentType;\n /**\n * ref for input setter function\n *\n * @param ref [Ref object](https://reactjs.org/docs/refs-and-the-dom.html) for underling `TextInput` component.\n *\n * @overrideType Function\n */\n setInputRef?: (ref: TextInput | null) => void;\n};\n\nexport type MessageInputContextValue<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = LocalMessageInputContext<StreamChatGenerics> &\n Omit<InputMessageInputContextValue<StreamChatGenerics>, 'sendMessage'>;\n\nexport const MessageInputContext = React.createContext(\n DEFAULT_BASE_CONTEXT_VALUE as MessageInputContextValue,\n);\n\nexport const MessageInputProvider = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n children,\n value,\n}: PropsWithChildren<{\n value: InputMessageInputContextValue<StreamChatGenerics>;\n}>) => {\n const { closePicker, openPicker, selectedPicker, setSelectedPicker } =\n useAttachmentPickerContext();\n const { appSettings, client, enableOfflineSupport } = useChatContext<StreamChatGenerics>();\n\n const getFileUploadConfig = () => {\n const fileConfig = appSettings?.app?.file_upload_config;\n if (fileConfig !== null || fileConfig !== undefined) {\n return fileConfig;\n } else {\n return {};\n }\n };\n\n const blockedFileExtensionTypes = getFileUploadConfig()?.blocked_file_extensions;\n const blockedFileMimeTypes = getFileUploadConfig()?.blocked_mime_types;\n\n const getImageUploadConfig = () => {\n const imageConfig = appSettings?.app?.image_upload_config;\n if (imageConfig !== null || imageConfig !== undefined) {\n return imageConfig;\n }\n return {};\n };\n\n const blockedImageExtensionTypes = getImageUploadConfig()?.blocked_file_extensions;\n const blockedImageMimeTypes = getImageUploadConfig()?.blocked_mime_types;\n\n const channelCapabities = useOwnCapabilitiesContext();\n\n const { channel, giphyEnabled } = useChannelContext<StreamChatGenerics>();\n const { thread } = useThreadContext<StreamChatGenerics>();\n const { t } = useTranslationContext();\n const inputBoxRef = useRef<TextInput | null>(null);\n const sending = useRef(false);\n\n const [asyncIds, setAsyncIds] = useState<string[]>([]);\n const [asyncUploads, setAsyncUploads] = useState<{\n [key: string]: {\n state: string;\n url: string;\n };\n }>({});\n const [giphyActive, setGiphyActive] = useState(false);\n const [sendThreadMessageInChannel, setSendThreadMessageInChannel] = useState(false);\n const { editing, hasFilePicker, hasImagePicker, initialValue } = value;\n const {\n fileUploads,\n imageUploads,\n mentionedUsers,\n numberOfUploads,\n setFileUploads,\n setImageUploads,\n setMentionedUsers,\n setNumberOfUploads,\n setShowMoreOptions,\n setText,\n showMoreOptions,\n text,\n } = useMessageDetailsForState<StreamChatGenerics>(editing, initialValue);\n const { endsAt: cooldownEndsAt, start: startCooldown } = useCooldown<StreamChatGenerics>();\n\n const threadId = thread?.id;\n useEffect(() => {\n setSendThreadMessageInChannel(false);\n }, [threadId]);\n\n const appendText = (newText: string) => {\n setText((prevText) => `${prevText}${newText}`);\n };\n\n /** Checks if the message is valid or not. Accordingly we can enable/disable send button */\n const isValidMessage = () => {\n if (text && text.trim()) {\n return true;\n }\n\n const imagesAndFiles = [...imageUploads, ...fileUploads];\n if (enableOfflineSupport) {\n // Allow only if none of the attachments have unsupported status\n for (const file of imagesAndFiles) {\n if (file.state === FileState.NOT_SUPPORTED) {\n return false;\n }\n }\n\n return true;\n }\n\n for (const file of imagesAndFiles) {\n if (!file || file.state === FileState.UPLOAD_FAILED) {\n continue;\n }\n if (file.state === FileState.UPLOADING) {\n // TODO: show error to user that they should wait until image is uploaded\n return false;\n }\n\n return true;\n }\n\n return false;\n };\n\n const onChange = (newText: string) => {\n if (sending.current) {\n return;\n }\n setText(newText);\n\n if (newText && channel && channelCapabities.sendTypingEvents) {\n logChatPromiseExecution(channel.keystroke(thread?.id), 'start typing event');\n }\n\n if (value.onChangeText) {\n value.onChangeText(newText);\n }\n };\n\n const openCommandsPicker = () => {\n appendText('/');\n if (inputBoxRef.current) {\n inputBoxRef.current.focus();\n }\n };\n\n const openMentionsPicker = () => {\n appendText('@');\n if (inputBoxRef.current) {\n inputBoxRef.current.focus();\n }\n };\n\n const openAttachmentPicker = () => {\n if (hasImagePicker) {\n Keyboard.dismiss();\n setSelectedPicker('images');\n openPicker();\n } else if (hasFilePicker) {\n pickFile();\n }\n };\n\n const closeAttachmentPicker = () => {\n setSelectedPicker(undefined);\n closePicker();\n };\n\n const toggleAttachmentPicker = () => {\n if (selectedPicker) {\n closeAttachmentPicker();\n } else {\n openAttachmentPicker();\n }\n };\n\n const onSelectItem = (item: UserResponse<StreamChatGenerics>) => {\n setMentionedUsers((prevMentionedUsers) => [...prevMentionedUsers, item.id]);\n };\n\n const pickFile = async () => {\n if (pickDocument === null) {\n console.log(\n 'The file picker is not installed. Check our Getting Started documentation to install it.',\n );\n return;\n }\n\n if (numberOfUploads >= value.maxNumberOfFiles) {\n Alert.alert('Maximum number of files reached');\n return;\n }\n\n const result = await pickDocument({\n maxNumberOfFiles: value.maxNumberOfFiles - numberOfUploads,\n });\n\n const MEGA_BYTES_TO_BYTES = 1024 * 1024;\n const MAX_FILE_SIZE_TO_UPLOAD_IN_MB = 100;\n\n if (!result.cancelled && result.docs) {\n const totalFileSize = result.docs.reduce((acc, doc) => acc + Number(doc.size), 0);\n if (totalFileSize / MEGA_BYTES_TO_BYTES > MAX_FILE_SIZE_TO_UPLOAD_IN_MB) {\n Alert.alert(\n `Maximum file size upload limit reached, please upload files below ${MAX_FILE_SIZE_TO_UPLOAD_IN_MB}MB.`,\n );\n } else {\n result.docs.forEach((doc) => {\n /**\n * TODO: The current tight coupling of images to the image\n * picker does not allow images picked from the file picker\n * to be rendered in a preview via the uploadNewImage call.\n * This should be updated alongside allowing image a file\n * uploads together.\n */\n uploadNewFile(doc);\n });\n }\n }\n };\n\n const removeFile = (id: string) => {\n if (fileUploads.some((file) => file.id === id)) {\n setFileUploads((prevFileUploads) => prevFileUploads.filter((file) => file.id !== id));\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads - 1);\n }\n };\n\n const removeImage = (id: string) => {\n if (imageUploads.some((image) => image.id === id)) {\n setImageUploads((prevImageUploads) => prevImageUploads.filter((image) => image.id !== id));\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads - 1);\n }\n };\n\n const resetInput = (pendingAttachments: Attachment<StreamChatGenerics>[] = []) => {\n setFileUploads([]);\n setGiphyActive(false);\n setShowMoreOptions(true);\n setImageUploads([]);\n setMentionedUsers([]);\n setNumberOfUploads(\n (prevNumberOfUploads) => prevNumberOfUploads - (pendingAttachments?.length || 0),\n );\n setText('');\n };\n\n const mapImageUploadToAttachment = (image: ImageUpload) => {\n const mime_type: string | boolean = lookup(image.file.filename as string);\n return {\n fallback: image.file.name,\n image_url: image.url,\n mime_type: mime_type ? mime_type : undefined,\n original_height: image.height,\n original_width: image.width,\n originalFile: image.file,\n type: 'image',\n } as Attachment;\n };\n\n const mapFileUploadToAttachment = (file: FileUpload) => {\n const mime_type: string | boolean = lookup(file.file.name as string);\n if (file.file.type?.startsWith('image/')) {\n return {\n fallback: file.file.name,\n image_url: file.url,\n mime_type: mime_type ? mime_type : undefined,\n originalFile: file.file,\n type: 'image',\n };\n } else if (file.file.type?.startsWith('audio/')) {\n return {\n asset_url: file.url || file.file.uri,\n duration: file.file.duration,\n file_size: file.file.size,\n mime_type: file.file.type,\n originalFile: file.file,\n title: file.file.name,\n type: 'audio',\n };\n } else if (file.file.type?.startsWith('video/')) {\n return {\n asset_url: file.url || file.file.uri,\n duration: file.file.duration,\n file_size: file.file.size,\n mime_type: file.file.type,\n originalFile: file.file,\n thumb_url: file.thumb_url,\n title: file.file.name,\n type: 'video',\n };\n } else {\n return {\n asset_url: file.url || file.file.uri,\n file_size: file.file.size,\n mime_type: file.file.type,\n originalFile: file.file,\n title: file.file.name,\n type: 'file',\n };\n }\n };\n\n // TODO: Figure out why this is async, as it doesn't await any promise.\n // eslint-disable-next-line require-await\n const sendMessage = async () => {\n if (sending.current) {\n return;\n }\n\n if (!channelCapabities.sendLinks && !!text.match(urlRegex)) {\n Alert.alert(t('Links are disabled'), t('Sending links is not allowed in this conversation'));\n\n return;\n }\n\n sending.current = true;\n\n startCooldown();\n\n const prevText = giphyEnabled && giphyActive ? `/giphy ${text}` : text;\n setText('');\n if (inputBoxRef.current) {\n inputBoxRef.current.clear();\n }\n\n const attachments = [] as Attachment<StreamChatGenerics>[];\n for (const image of imageUploads) {\n if (enableOfflineSupport) {\n if (image.state === FileState.NOT_SUPPORTED) {\n return;\n }\n attachments.push(mapImageUploadToAttachment(image));\n continue;\n }\n\n if ((!image || image.state === FileState.UPLOAD_FAILED) && !enableOfflineSupport) {\n continue;\n }\n\n if (image.state === FileState.UPLOADING) {\n // TODO: show error to user that they should wait until image is uploaded\n if (value.sendImageAsync) {\n /**\n * If user hit send before image uploaded, push ID into a queue to later\n * be matched with the successful CDN response\n */\n setAsyncIds((prevAsyncIds) => [...prevAsyncIds, image.id]);\n } else {\n sending.current = false;\n return setText(prevText);\n }\n }\n\n // To get the mime type of the image from the file name and send it as an response for an image\n if (image.state === FileState.UPLOADED || image.state === FileState.FINISHED) {\n attachments.push(mapImageUploadToAttachment(image));\n }\n }\n\n for (const file of fileUploads) {\n if (enableOfflineSupport) {\n if (file.state === FileState.NOT_SUPPORTED) {\n return;\n }\n attachments.push(mapFileUploadToAttachment(file));\n continue;\n }\n\n if (!file || file.state === FileState.UPLOAD_FAILED) {\n continue;\n }\n\n if (file.state === FileState.UPLOADING) {\n // TODO: show error to user that they should wait until image is uploaded\n sending.current = false;\n return;\n }\n\n if (file.state === FileState.UPLOADED || file.state === FileState.FINISHED) {\n attachments.push(mapFileUploadToAttachment(file));\n }\n }\n\n // Disallow sending message if its empty.\n if (!prevText && attachments.length === 0) {\n sending.current = false;\n return;\n }\n\n if (value.editing && !isEditingBoolean(value.editing)) {\n const updatedMessage = {\n ...value.editing,\n attachments,\n mentioned_users: mentionedUsers,\n quoted_message: undefined,\n text: prevText,\n } as Parameters<StreamChat<StreamChatGenerics>['updateMessage']>[0];\n\n // TODO: Remove this line and show an error when submit fails\n value.clearEditingState();\n\n const updateMessagePromise = value\n .editMessage(\n // @ts-ignore\n removeReservedFields(updatedMessage),\n )\n .then(value.clearEditingState);\n resetInput(attachments);\n logChatPromiseExecution(updateMessagePromise, 'update message');\n\n sending.current = false;\n } else {\n try {\n value.sendMessage({\n attachments,\n mentioned_users: uniq(mentionedUsers),\n /** Parent message id - in case of thread */\n parent_id: thread?.id,\n quoted_message_id:\n typeof value.quotedMessage === 'boolean' ? undefined : value.quotedMessage.id,\n show_in_channel: sendThreadMessageInChannel || undefined,\n text: prevText,\n } as unknown as StreamMessage<StreamChatGenerics>);\n\n value.clearQuotedMessageState();\n sending.current = false;\n resetInput(attachments);\n } catch (_error) {\n sending.current = false;\n if (value.quotedMessage && typeof value.quotedMessage !== 'boolean') {\n value.setQuotedMessageState(value.quotedMessage);\n }\n setText(prevText.slice(giphyEnabled && giphyActive ? 7 : 0)); // 7 because of '/giphy ' length\n console.log('Failed to send message');\n }\n }\n };\n\n const sendMessageAsync = (id: string) => {\n const image = asyncUploads[id];\n if (!image || image.state === FileState.UPLOAD_FAILED) {\n return;\n }\n\n if (image.state === FileState.UPLOADED || image.state === FileState.FINISHED) {\n const attachments = [\n {\n image_url: image.url,\n type: 'image',\n },\n ] as StreamMessage<StreamChatGenerics>['attachments'];\n\n startCooldown();\n try {\n value.sendMessage({\n attachments,\n mentioned_users: [],\n parent_id: thread?.id,\n quoted_message_id:\n typeof value.quotedMessage === 'boolean' ? undefined : value.quotedMessage.id,\n show_in_channel: sendThreadMessageInChannel || undefined,\n text: '',\n } as unknown as Partial<StreamMessage<StreamChatGenerics>>);\n\n setAsyncIds((prevAsyncIds) => prevAsyncIds.splice(prevAsyncIds.indexOf(id), 1));\n setAsyncUploads((prevAsyncUploads) => {\n delete prevAsyncUploads[id];\n return prevAsyncUploads;\n });\n\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads - 1);\n } catch (_error) {\n console.log('Failed');\n }\n }\n };\n\n const setInputBoxRef = (ref: TextInput | null) => {\n inputBoxRef.current = ref;\n if (value.setInputRef) {\n value.setInputRef(ref);\n }\n };\n\n const getTriggerSettings = () => {\n let triggerSettings: TriggerSettings<StreamChatGenerics> = {};\n if (channel) {\n if (value.autoCompleteTriggerSettings) {\n triggerSettings = value.autoCompleteTriggerSettings({\n channel,\n client,\n onMentionSelectItem: onSelectItem,\n });\n } else {\n triggerSettings = ACITriggerSettings<StreamChatGenerics>({\n channel,\n client,\n onMentionSelectItem: onSelectItem,\n });\n }\n }\n return triggerSettings;\n };\n\n const triggerSettings = getTriggerSettings();\n\n const updateMessage = async () => {\n try {\n if (!isEditingBoolean(value.editing)) {\n await client.updateMessage({\n ...value.editing,\n quoted_message: undefined,\n text: giphyEnabled && giphyActive ? `/giphy ${text}` : text,\n } as Parameters<StreamChat<StreamChatGenerics>['updateMessage']>[0]);\n }\n\n resetInput();\n value.clearEditingState();\n } catch (error) {\n console.log(error);\n }\n };\n\n const regExcondition = /File (extension \\.\\w{2,4}|type \\S+) is not supported/;\n\n const getUploadSetStateAction = <UploadType extends ImageUpload | FileUpload>(\n id: string,\n fileState: FileStateValue,\n extraData: Partial<UploadType> = {},\n ): React.SetStateAction<UploadType[]> => {\n const uploads: (prevUploads: UploadType[]) => UploadType[] = (prevUploads: UploadType[]) =>\n prevUploads.map((prevUpload) => {\n if (prevUpload.id === id) {\n return {\n ...prevUpload,\n ...extraData,\n state: fileState,\n };\n }\n return prevUpload;\n });\n\n return uploads;\n };\n\n const handleFileOrImageUploadError = (error: unknown, isImageError: boolean, id: string) => {\n if (isImageError) {\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads - 1);\n if (error instanceof Error) {\n if (regExcondition.test(error.message)) {\n return setImageUploads(getUploadSetStateAction(id, FileState.NOT_SUPPORTED));\n }\n\n return setImageUploads(getUploadSetStateAction(id, FileState.UPLOAD_FAILED));\n }\n } else {\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads - 1);\n\n if (error instanceof Error) {\n if (regExcondition.test(error.message)) {\n return setFileUploads(getUploadSetStateAction(id, FileState.NOT_SUPPORTED));\n }\n return setFileUploads(getUploadSetStateAction(id, FileState.UPLOAD_FAILED));\n }\n }\n };\n\n const uploadFile = async ({ newFile }: { newFile: FileUpload }) => {\n const { file, id } = newFile;\n\n setFileUploads(getUploadSetStateAction(id, FileState.UPLOADING));\n\n let response: Partial<SendFileAPIResponse> = {};\n try {\n if (value.doDocUploadRequest) {\n response = await value.doDocUploadRequest(file, channel);\n } else if (channel && file.uri) {\n response = await channel.sendFile(file.uri, file.name, file.type);\n }\n const extraData: Partial<FileUpload> = { thumb_url: response.thumb_url, url: response.file };\n setFileUploads(getUploadSetStateAction(id, FileState.UPLOADED, extraData));\n } catch (error: unknown) {\n handleFileOrImageUploadError(error, false, id);\n }\n };\n\n const uploadImage = async ({ newImage }: { newImage: ImageUpload }) => {\n const { file, id } = newImage || {};\n\n if (!file) {\n return;\n }\n\n let response = {} as SendFileAPIResponse;\n\n try {\n /**\n * Expo now uses the assets-library which is also how remote\n * native files are presented. We now return a file id from Expo\n * only, if that file id exits we call getLocalAssetUri to download\n * the asset for expo before uploading it. We do the same for native\n * if the uri includes assets-library, this uses the CameraRoll.save\n * function to also create a local uri.\n */\n const getLocalUri = async () => {\n if (file.id) {\n return await getLocalAssetUri(file.id);\n } else if (file.uri?.match(/assets-library/)) {\n return await getLocalAssetUri(file.uri);\n }\n return file.uri;\n };\n const uri = file.name || (await getLocalUri()) || '';\n /**\n * We skip compression if:\n * - the file is from the camera as that should already be compressed\n * - the file has not height/width value to maintain for compression\n * - the compressImageQuality number is not present or is 1 (meaning no compression)\n */\n const compressedUri = await (file.source === 'camera' ||\n !file.height ||\n !file.width ||\n typeof value.compressImageQuality !== 'number' ||\n value.compressImageQuality === 1\n ? uri\n : compressImage({\n compressImageQuality: value.compressImageQuality,\n height: file.height,\n uri,\n width: file.width,\n }));\n const filename = uri.replace(/^(file:\\/\\/|content:\\/\\/|assets-library:\\/\\/)/, '');\n const contentType = lookup(filename) || 'multipart/form-data';\n if (value.doImageUploadRequest) {\n response = await value.doImageUploadRequest(file, channel);\n } else if (compressedUri && channel) {\n if (value.sendImageAsync) {\n channel.sendImage(compressedUri, file.filename, contentType).then((res) => {\n if (asyncIds.includes(id)) {\n // Evaluates to true if user hit send before image successfully uploaded\n setAsyncUploads((prevAsyncUploads) => {\n prevAsyncUploads[id] = {\n ...prevAsyncUploads[id],\n state: FileState.UPLOADED,\n url: res.file,\n };\n return prevAsyncUploads;\n });\n } else {\n const newImageUploads = getUploadSetStateAction<ImageUpload>(id, FileState.UPLOADED, {\n url: res.file,\n });\n setImageUploads(newImageUploads);\n }\n });\n } else {\n response = await channel.sendImage(compressedUri, file.filename, contentType);\n }\n }\n\n if (Object.keys(response).length) {\n const newImageUploads = getUploadSetStateAction<ImageUpload>(id, FileState.UPLOADED, {\n height: file.height,\n url: response.file,\n width: file.width,\n });\n setImageUploads(newImageUploads);\n }\n } catch (error) {\n handleFileOrImageUploadError(error, true, id);\n }\n };\n\n const uploadNewFile = async (file: {\n name: string;\n size?: number | string;\n type?: string;\n uri?: string;\n }) => {\n const id: string = generateRandomId();\n const mimeType: string | boolean = lookup(file.name);\n\n const isBlockedFileExtension: boolean | undefined = blockedFileExtensionTypes?.some(\n (fileExtensionType: string) => file.name?.includes(fileExtensionType),\n );\n const isBlockedFileMimeType: boolean | undefined = blockedFileMimeTypes?.some(\n (mimeType: string) => file.name?.includes(mimeType),\n );\n\n const fileState =\n isBlockedFileExtension || isBlockedFileMimeType\n ? FileState.NOT_SUPPORTED\n : FileState.UPLOADING;\n\n const newFile: FileUpload = {\n duration: 0,\n file: { ...file, type: mimeType || file?.type },\n id,\n paused: true,\n progress: 0,\n state: fileState,\n };\n\n await Promise.all([\n setFileUploads((prevFileUploads) => prevFileUploads.concat([newFile])),\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads + 1),\n ]);\n\n if (!isBlockedFileExtension) {\n uploadFile({ newFile });\n }\n };\n\n const uploadNewImage = async (image: Partial<Asset>) => {\n const id = generateRandomId();\n\n const isBlockedImageMimeType = blockedImageMimeTypes?.some((mimeType: string) =>\n image.uri?.includes(mimeType),\n );\n\n const isBlockedImageExtension = blockedImageExtensionTypes?.some((imageExtensionType: string) =>\n image.uri?.includes(imageExtensionType),\n );\n\n const imageState =\n isBlockedImageExtension || isBlockedImageMimeType\n ? FileState.NOT_SUPPORTED\n : FileState.UPLOADING;\n\n const newImage: ImageUpload = {\n file: image,\n height: image.height,\n id,\n state: imageState,\n url: image.uri,\n width: image.width,\n };\n\n await Promise.all([\n setImageUploads((prevImageUploads) => prevImageUploads.concat([newImage])),\n setNumberOfUploads((prevNumberOfUploads) => prevNumberOfUploads + 1),\n ]);\n\n if (!isBlockedImageExtension) {\n uploadImage({ newImage });\n }\n };\n\n const messageInputContext = useCreateMessageInputContext({\n appendText,\n asyncIds,\n asyncUploads,\n closeAttachmentPicker,\n cooldownEndsAt,\n fileUploads,\n giphyActive,\n imageUploads,\n inputBoxRef,\n isValidMessage,\n mentionedUsers,\n numberOfUploads,\n onChange,\n onSelectItem,\n openAttachmentPicker,\n openCommandsPicker,\n openFilePicker: pickFile,\n openMentionsPicker,\n pickFile,\n removeFile,\n removeImage,\n resetInput,\n selectedPicker,\n sending,\n sendMessageAsync,\n sendThreadMessageInChannel,\n setAsyncIds,\n setAsyncUploads,\n setFileUploads,\n setGiphyActive,\n setImageUploads,\n setInputBoxRef,\n setMentionedUsers,\n setNumberOfUploads,\n setSendThreadMessageInChannel,\n setShowMoreOptions,\n setText,\n showMoreOptions,\n text,\n thread,\n toggleAttachmentPicker,\n triggerSettings,\n updateMessage,\n uploadFile,\n uploadImage,\n uploadNewFile,\n uploadNewImage,\n ...value,\n sendMessage, // overriding the originally passed in sendMessage\n });\n\n return (\n <MessageInputContext.Provider\n value={messageInputContext as unknown as MessageInputContextValue}\n >\n {children}\n </MessageInputContext.Provider>\n );\n};\n\nexport const useMessageInputContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>() => {\n const contextValue = useContext(\n MessageInputContext,\n ) as unknown as MessageInputContextValue<StreamChatGenerics>;\n\n if (contextValue === DEFAULT_BASE_CONTEXT_VALUE && !isTestEnvironment()) {\n throw new Error(\n `The useMessageInputContext hook was called outside of the MessageInputContext provider. Make sure you have configured Channel component correctly - https://getstream.io/chat/docs/sdk/reactnative/basics/hello_stream_chat/#channel`,\n );\n }\n\n return contextValue;\n};\n\n/**\n * Typescript currently does not support partial inference so if MessageInputContext\n * typing is desired while using the HOC withMessageInputContext the Props for the\n * wrapped component must be provided as the first generic.\n */\nexport const withMessageInputContext = <\n P extends UnknownType,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n Component: React.ComponentType<P>,\n): React.FC<Omit<P, keyof MessageInputContextValue<StreamChatGenerics>>> => {\n const WithMessageInputContextComponent = (\n props: Omit<P, keyof MessageInputContextValue<StreamChatGenerics>>,\n ) => {\n const messageInputContext = useMessageInputContext<StreamChatGenerics>();\n\n return <Component {...(props as P)} {...messageInputContext} />;\n };\n WithMessageInputContextComponent.displayName = `WithMessageInputContext${getDisplayName(\n Component,\n )}`;\n return WithMessageInputContextComponent;\n};\n"],"mappings":"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"}
|
|
@@ -2,102 +2,100 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
2
2
|
value: true
|
|
3
3
|
});
|
|
4
4
|
exports.useCreateMessageInputContext = void 0;
|
|
5
|
-
|
|
6
5
|
var _react = require("react");
|
|
7
|
-
|
|
8
6
|
var useCreateMessageInputContext = function useCreateMessageInputContext(_ref) {
|
|
9
7
|
var additionalTextInputProps = _ref.additionalTextInputProps,
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
8
|
+
appendText = _ref.appendText,
|
|
9
|
+
asyncIds = _ref.asyncIds,
|
|
10
|
+
asyncUploads = _ref.asyncUploads,
|
|
11
|
+
AttachButton = _ref.AttachButton,
|
|
12
|
+
autoCompleteSuggestionsLimit = _ref.autoCompleteSuggestionsLimit,
|
|
13
|
+
clearEditingState = _ref.clearEditingState,
|
|
14
|
+
clearQuotedMessageState = _ref.clearQuotedMessageState,
|
|
15
|
+
closeAttachmentPicker = _ref.closeAttachmentPicker,
|
|
16
|
+
CommandsButton = _ref.CommandsButton,
|
|
17
|
+
compressImageQuality = _ref.compressImageQuality,
|
|
18
|
+
cooldownEndsAt = _ref.cooldownEndsAt,
|
|
19
|
+
CooldownTimer = _ref.CooldownTimer,
|
|
20
|
+
doDocUploadRequest = _ref.doDocUploadRequest,
|
|
21
|
+
doImageUploadRequest = _ref.doImageUploadRequest,
|
|
22
|
+
editing = _ref.editing,
|
|
23
|
+
editMessage = _ref.editMessage,
|
|
24
|
+
FileUploadPreview = _ref.FileUploadPreview,
|
|
25
|
+
fileUploads = _ref.fileUploads,
|
|
26
|
+
giphyActive = _ref.giphyActive,
|
|
27
|
+
hasCommands = _ref.hasCommands,
|
|
28
|
+
hasFilePicker = _ref.hasFilePicker,
|
|
29
|
+
hasImagePicker = _ref.hasImagePicker,
|
|
30
|
+
ImageUploadPreview = _ref.ImageUploadPreview,
|
|
31
|
+
imageUploads = _ref.imageUploads,
|
|
32
|
+
initialValue = _ref.initialValue,
|
|
33
|
+
Input = _ref.Input,
|
|
34
|
+
inputBoxRef = _ref.inputBoxRef,
|
|
35
|
+
InputButtons = _ref.InputButtons,
|
|
36
|
+
InputEditingStateHeader = _ref.InputEditingStateHeader,
|
|
37
|
+
InputGiphySearch = _ref.InputGiphySearch,
|
|
38
|
+
InputReplyStateHeader = _ref.InputReplyStateHeader,
|
|
39
|
+
isValidMessage = _ref.isValidMessage,
|
|
40
|
+
maxMessageLength = _ref.maxMessageLength,
|
|
41
|
+
maxNumberOfFiles = _ref.maxNumberOfFiles,
|
|
42
|
+
mentionAllAppUsersEnabled = _ref.mentionAllAppUsersEnabled,
|
|
43
|
+
mentionAllAppUsersQuery = _ref.mentionAllAppUsersQuery,
|
|
44
|
+
mentionedUsers = _ref.mentionedUsers,
|
|
45
|
+
MoreOptionsButton = _ref.MoreOptionsButton,
|
|
46
|
+
numberOfLines = _ref.numberOfLines,
|
|
47
|
+
numberOfUploads = _ref.numberOfUploads,
|
|
48
|
+
onChange = _ref.onChange,
|
|
49
|
+
onChangeText = _ref.onChangeText,
|
|
50
|
+
onSelectItem = _ref.onSelectItem,
|
|
51
|
+
openAttachmentPicker = _ref.openAttachmentPicker,
|
|
52
|
+
openCommandsPicker = _ref.openCommandsPicker,
|
|
53
|
+
openFilePicker = _ref.openFilePicker,
|
|
54
|
+
openMentionsPicker = _ref.openMentionsPicker,
|
|
55
|
+
pickFile = _ref.pickFile,
|
|
56
|
+
quotedMessage = _ref.quotedMessage,
|
|
57
|
+
removeFile = _ref.removeFile,
|
|
58
|
+
removeImage = _ref.removeImage,
|
|
59
|
+
resetInput = _ref.resetInput,
|
|
60
|
+
selectedPicker = _ref.selectedPicker,
|
|
61
|
+
SendButton = _ref.SendButton,
|
|
62
|
+
sendImageAsync = _ref.sendImageAsync,
|
|
63
|
+
sending = _ref.sending,
|
|
64
|
+
sendMessage = _ref.sendMessage,
|
|
65
|
+
sendMessageAsync = _ref.sendMessageAsync,
|
|
66
|
+
SendMessageDisallowedIndicator = _ref.SendMessageDisallowedIndicator,
|
|
67
|
+
sendThreadMessageInChannel = _ref.sendThreadMessageInChannel,
|
|
68
|
+
setAsyncIds = _ref.setAsyncIds,
|
|
69
|
+
setAsyncUploads = _ref.setAsyncUploads,
|
|
70
|
+
setFileUploads = _ref.setFileUploads,
|
|
71
|
+
setGiphyActive = _ref.setGiphyActive,
|
|
72
|
+
setImageUploads = _ref.setImageUploads,
|
|
73
|
+
setInputBoxRef = _ref.setInputBoxRef,
|
|
74
|
+
setInputRef = _ref.setInputRef,
|
|
75
|
+
setMentionedUsers = _ref.setMentionedUsers,
|
|
76
|
+
setNumberOfUploads = _ref.setNumberOfUploads,
|
|
77
|
+
setQuotedMessageState = _ref.setQuotedMessageState,
|
|
78
|
+
setSendThreadMessageInChannel = _ref.setSendThreadMessageInChannel,
|
|
79
|
+
setShowMoreOptions = _ref.setShowMoreOptions,
|
|
80
|
+
setText = _ref.setText,
|
|
81
|
+
showMoreOptions = _ref.showMoreOptions,
|
|
82
|
+
ShowThreadMessageInChannelButton = _ref.ShowThreadMessageInChannelButton,
|
|
83
|
+
text = _ref.text,
|
|
84
|
+
thread = _ref.thread,
|
|
85
|
+
toggleAttachmentPicker = _ref.toggleAttachmentPicker,
|
|
86
|
+
triggerSettings = _ref.triggerSettings,
|
|
87
|
+
updateMessage = _ref.updateMessage,
|
|
88
|
+
uploadFile = _ref.uploadFile,
|
|
89
|
+
uploadImage = _ref.uploadImage,
|
|
90
|
+
uploadNewFile = _ref.uploadNewFile,
|
|
91
|
+
uploadNewImage = _ref.uploadNewImage,
|
|
92
|
+
UploadProgressIndicator = _ref.UploadProgressIndicator;
|
|
95
93
|
var editingExists = !!editing;
|
|
96
94
|
var fileUploadsValue = fileUploads.map(function (_ref2) {
|
|
97
95
|
var duration = _ref2.duration,
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
96
|
+
paused = _ref2.paused,
|
|
97
|
+
progress = _ref2.progress,
|
|
98
|
+
state = _ref2.state;
|
|
101
99
|
return state + "," + paused + "," + progress + "," + duration;
|
|
102
100
|
}).join();
|
|
103
101
|
var imageUploadsValue = imageUploads.map(function (_ref3) {
|
|
@@ -198,6 +196,5 @@ var useCreateMessageInputContext = function useCreateMessageInputContext(_ref) {
|
|
|
198
196
|
}, [cooldownEndsAt, editingExists, fileUploadsValue, giphyActive, imageUploadsValue, maxMessageLength, mentionedUsersLength, quotedMessageId, selectedPicker, sendThreadMessageInChannel, showMoreOptions, text, threadId]);
|
|
199
197
|
return messageInputContext;
|
|
200
198
|
};
|
|
201
|
-
|
|
202
199
|
exports.useCreateMessageInputContext = useCreateMessageInputContext;
|
|
203
200
|
//# sourceMappingURL=useCreateMessageInputContext.js.map
|