stream-chat-react-native-core 3.8.2 → 3.9.0-next.1
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/Channel/Channel.js +42 -30
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js +28 -23
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Channel/Channel.js +42 -30
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/MessageInput/FileUploadPreview.js +28 -23
- package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/{src/components → components}/Attachment/Attachment.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Attachment/AttachmentActions.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Attachment/Card.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Attachment/FileAttachment.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Attachment/FileAttachmentGroup.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Attachment/FileIcon.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Attachment/Gallery.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Attachment/Giphy.d.ts +0 -0
- package/lib/typescript/{src/components → components}/AttachmentPicker/AttachmentPicker.d.ts +0 -0
- package/lib/typescript/{src/components → components}/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.d.ts +0 -0
- package/lib/typescript/{src/components → components}/AttachmentPicker/components/AttachmentPickerError.d.ts +0 -0
- package/lib/typescript/{src/components → components}/AttachmentPicker/components/AttachmentPickerErrorImage.d.ts +0 -0
- package/lib/typescript/{src/components → components}/AttachmentPicker/components/AttachmentSelectionBar.d.ts +0 -0
- package/lib/typescript/{src/components → components}/AttachmentPicker/components/CameraSelectorIcon.d.ts +0 -0
- package/lib/typescript/{src/components → components}/AttachmentPicker/components/FileSelectorIcon.d.ts +0 -0
- package/lib/typescript/{src/components → components}/AttachmentPicker/components/ImageOverlaySelectedComponent.d.ts +0 -0
- package/lib/typescript/{src/components → components}/AttachmentPicker/components/ImageSelectorIcon.d.ts +0 -0
- package/lib/typescript/{src/components → components}/AutoCompleteInput/AutoCompleteInput.d.ts +0 -0
- package/lib/typescript/{src/components → components}/AutoCompleteInput/CommandsHeader.d.ts +0 -0
- package/lib/typescript/{src/components → components}/AutoCompleteInput/CommandsItem.d.ts +0 -0
- package/lib/typescript/{src/components → components}/AutoCompleteInput/EmojisHeader.d.ts +0 -0
- package/lib/typescript/{src/components → components}/AutoCompleteInput/EmojisItem.d.ts +0 -0
- package/lib/typescript/{src/components → components}/AutoCompleteInput/MentionsItem.d.ts +0 -0
- package/lib/typescript/{src/components → components}/AutoCompleteInput/SuggestionsList.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Avatar/Avatar.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Avatar/GroupAvatar.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Channel/Channel.d.ts +1 -0
- package/lib/typescript/{src/components → components}/Channel/hooks/useCreateChannelContext.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Channel/hooks/useCreateInputMessageInputContext.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Channel/hooks/useCreateMessagesContext.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Channel/hooks/useCreatePaginatedMessageListContext.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Channel/hooks/useCreateThreadContext.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Channel/hooks/useCreateTypingContext.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Channel/hooks/useTargetedMessage.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelList/ChannelList.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelList/ChannelListFooterLoadingIndicator.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelList/ChannelListHeaderErrorIndicator.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelList/ChannelListHeaderNetworkDownIndicator.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelList/ChannelListLoadingIndicator.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelList/ChannelListMessenger.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelList/Skeleton.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelList/hooks/listeners/useAddedToChannelNotification.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelList/hooks/listeners/useChannelDeleted.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelList/hooks/listeners/useChannelHidden.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelList/hooks/listeners/useChannelTruncated.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelList/hooks/listeners/useChannelUpdated.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelList/hooks/listeners/useChannelVisible.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelList/hooks/listeners/useConnectionRecovered.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelList/hooks/listeners/useNewMessage.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelList/hooks/listeners/useNewMessageNotification.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelList/hooks/listeners/useRemovedFromChannelNotification.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelList/hooks/listeners/useUserPresence.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelList/hooks/useCreateChannelsContext.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelList/hooks/usePaginatedChannels.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelList/utils.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelPreview/ChannelAvatar.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelPreview/ChannelPreview.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelPreview/ChannelPreviewMessage.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelPreview/ChannelPreviewMessenger.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelPreview/ChannelPreviewStatus.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelPreview/ChannelPreviewTitle.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelPreview/ChannelPreviewUnreadCount.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelPreview/hooks/useChannelPreviewDisplayName.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelPreview/hooks/useChannelPreviewDisplayPresence.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ChannelPreview/hooks/useLatestMessagePreview.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Chat/Chat.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Chat/hooks/useCreateChatContext.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Chat/hooks/useIsOnline.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Chat/hooks/useMutedUsers.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ImageGallery/ImageGallery.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ImageGallery/components/AnimatedGalleryImage.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ImageGallery/components/ImageGalleryFooter.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ImageGallery/components/ImageGalleryHeader.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ImageGallery/components/ImageGalleryOverlay.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ImageGallery/components/ImageGrid.d.ts +0 -0
- package/lib/typescript/{src/components → components}/ImageGallery/components/ImageGridHandle.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Indicators/EmptyStateIndicator.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Indicators/LoadingDot.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Indicators/LoadingDots.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Indicators/LoadingErrorIndicator.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Indicators/LoadingIndicator.d.ts +0 -0
- package/lib/typescript/{src/components → components}/KeyboardCompatibleView/KeyboardCompatibleView.d.ts +0 -0
- package/lib/typescript/{src/components → components}/KeyboardCompatibleView/KeyboardCompatibleViewFC.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Message/Message.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Message/MessageSimple/MessageAvatar.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Message/MessageSimple/MessageContent.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Message/MessageSimple/MessageDeleted.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Message/MessageSimple/MessageFooter.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Message/MessageSimple/MessageReplies.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Message/MessageSimple/MessageRepliesAvatars.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Message/MessageSimple/MessageSimple.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Message/MessageSimple/MessageStatus.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Message/MessageSimple/MessageTextContainer.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Message/MessageSimple/ReactionList.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Message/MessageSimple/utils/renderText.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Message/hooks/useCreateMessageContext.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Message/utils/messageActions.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Message/utils/removeReservedFields.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageInput/AttachButton.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageInput/CommandsButton.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageInput/FileUploadPreview.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageInput/ImageUploadPreview.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageInput/InputButtons.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageInput/MessageInput.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageInput/MoreOptionsButton.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageInput/SendButton.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageInput/ShowThreadMessageInChannelButton.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageInput/UploadProgressIndicator.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageList/DateHeader.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageList/InlineDateSeparator.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageList/InlineLoadingMoreIndicator.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageList/InlineLoadingMoreRecentIndicator.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageList/InlineLoadingMoreThreadIndicator.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageList/InlineUnreadIndicator.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageList/MessageList.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageList/MessageSystem.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageList/NetworkDownIndicator.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageList/ScrollToBottomButton.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageList/TypingIndicator.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageList/TypingIndicatorContainer.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageList/hooks/useMessageList.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageList/hooks/useTypingString.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageList/utils/filterTypingUsers.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageList/utils/getDateSeparators.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageList/utils/getGroupStyles.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageList/utils/getLastReceivedMessage.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageList/utils/getReadStates.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageOverlay/MessageActions.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageOverlay/MessageOverlay.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageOverlay/OverlayReactionList.d.ts +0 -0
- package/lib/typescript/{src/components → components}/MessageOverlay/OverlayReactions.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Reply/Reply.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Spinner/Spinner.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Thread/Thread.d.ts +0 -0
- package/lib/typescript/{src/components → components}/Thread/components/ThreadFooterComponent.d.ts +0 -0
- package/lib/typescript/{src/components → components}/index.d.ts +0 -0
- package/lib/typescript/{src/contexts → contexts}/attachmentPickerContext/AttachmentPickerContext.d.ts +0 -0
- package/lib/typescript/{src/contexts → contexts}/channelContext/ChannelContext.d.ts +0 -0
- package/lib/typescript/{src/contexts → contexts}/channelsContext/ChannelsContext.d.ts +0 -0
- package/lib/typescript/{src/contexts → contexts}/chatContext/ChatContext.d.ts +0 -0
- package/lib/typescript/{src/contexts → contexts}/imageGalleryContext/ImageGalleryContext.d.ts +0 -0
- package/lib/typescript/{src/contexts → contexts}/index.d.ts +0 -0
- package/lib/typescript/{src/contexts → contexts}/keyboardContext/KeyboardContext.d.ts +0 -0
- package/lib/typescript/{src/contexts → contexts}/messageContext/MessageContext.d.ts +0 -0
- package/lib/typescript/{src/contexts → contexts}/messageInputContext/MessageInputContext.d.ts +0 -0
- package/lib/typescript/{src/contexts → contexts}/messageInputContext/hooks/useCreateMessageInputContext.d.ts +0 -0
- package/lib/typescript/{src/contexts → contexts}/messageInputContext/hooks/useMessageDetailsForState.d.ts +0 -0
- package/lib/typescript/{src/contexts → contexts}/messageOverlayContext/MessageOverlayContext.d.ts +0 -0
- package/lib/typescript/{src/contexts → contexts}/messagesContext/MessagesContext.d.ts +0 -0
- package/lib/typescript/{src/contexts → contexts}/overlayContext/OverlayContext.d.ts +0 -0
- package/lib/typescript/{src/contexts → contexts}/overlayContext/OverlayProvider.d.ts +0 -0
- package/lib/typescript/{src/contexts → contexts}/paginatedMessageListContext/PaginatedMessageListContext.d.ts +0 -0
- package/lib/typescript/{src/contexts → contexts}/suggestionsContext/SuggestionsContext.d.ts +0 -0
- package/lib/typescript/{src/contexts → contexts}/themeContext/ThemeContext.d.ts +0 -0
- package/lib/typescript/{src/contexts → contexts}/themeContext/utils/theme.d.ts +0 -0
- package/lib/typescript/{src/contexts → contexts}/threadContext/ThreadContext.d.ts +0 -0
- package/lib/typescript/{src/contexts → contexts}/translationContext/TranslationContext.d.ts +0 -0
- package/lib/typescript/{src/contexts → contexts}/typingContext/TypingContext.d.ts +0 -0
- package/lib/typescript/{src/contexts → contexts}/utils/getDisplayName.d.ts +0 -0
- package/lib/typescript/{src/emoji-data → emoji-data}/compiled.d.ts +0 -0
- package/lib/typescript/{src/emoji-data → emoji-data}/emojiNames.d.ts +0 -0
- package/lib/typescript/{src/emoji-data → emoji-data}/emojis.d.ts +0 -0
- package/lib/typescript/{src/hooks → hooks}/index.d.ts +0 -0
- package/lib/typescript/{src/hooks → hooks}/useAppStateListener.d.ts +0 -0
- package/lib/typescript/{src/hooks → hooks}/useStreami18n.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/ArrowRight.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/AtMentions.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Attach.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Audio.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/CSV.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Camera.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Check.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/CheckAll.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/CheckSend.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/CircleClose.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/CirclePlus.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/CircleRight.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Close.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Copy.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/CurveLineLeftUp.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/DOC.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/DOCX.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Delete.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Down.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/DownloadArrow.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/DownloadCloud.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Edit.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Error.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Eye.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Flag.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Folder.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/GenericFile.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/GiphyIcon.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Grid.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Group.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/HTML.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Imgur.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/LOLReaction.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Left.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Lightning.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Link.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Loading.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Logo.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/LoveReaction.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/MD.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/MailOpen.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/MenuPointHorizontal.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/MenuPointVertical.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/MessageFlag.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/MessageIcon.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Mute.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Notification.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/ODT.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/PDF.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/PPT.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/PPTX.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Picture.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/RAR.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/RTF.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Refresh.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Right.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/SEVEN_Z.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Search.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/SendRight.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/SendUp.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Share.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/ShareRightArrow.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Smile.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Sound.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/TAR.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/TXT.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/ThreadReply.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/ThumbsDownReaction.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/ThumbsUpReaction.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Time.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/Unknown.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/User.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/UserAdd.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/UserDelete.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/UserMinus.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/WutReaction.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/XLS.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/XLSX.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/ZIP.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/index.d.ts +0 -0
- package/lib/typescript/{src/icons → icons}/utils/base.d.ts +0 -0
- package/lib/typescript/{src/index.d.ts → index.d.ts} +0 -0
- package/lib/typescript/{src/native.d.ts → native.d.ts} +0 -0
- package/lib/typescript/{src/types → types}/types.d.ts +0 -0
- package/lib/typescript/{src/utils → utils}/Streami18n.d.ts +0 -0
- package/lib/typescript/{src/utils → utils}/utils.d.ts +0 -0
- package/package.json +1 -1
- package/src/components/Channel/Channel.tsx +114 -67
- package/src/components/MessageInput/FileUploadPreview.tsx +68 -58
- package/src/components/MessageInput/__tests__/__snapshots__/FileUploadPreview.test.js.snap +778 -730
- package/src/version.json +1 -1
- package/lib/commonjs/components/Channel/utils/debounce.js +0 -20
- package/lib/commonjs/components/Channel/utils/debounce.js.map +0 -1
- package/lib/commonjs/components/Channel/utils/throttle.js +0 -20
- package/lib/commonjs/components/Channel/utils/throttle.js.map +0 -1
- package/lib/module/components/Channel/utils/debounce.js +0 -20
- package/lib/module/components/Channel/utils/debounce.js.map +0 -1
- package/lib/module/components/Channel/utils/throttle.js +0 -20
- package/lib/module/components/Channel/utils/throttle.js.map +0 -1
- package/lib/typescript/__mocks__/react-native.d.ts +0 -6
- package/lib/typescript/src/components/Channel/utils/debounce.d.ts +0 -2
- package/lib/typescript/src/components/Channel/utils/throttle.d.ts +0 -2
- package/src/components/Channel/utils/debounce.ts +0 -12
- package/src/components/Channel/utils/throttle.ts +0 -12
|
@@ -41,7 +41,11 @@ var FILE_PREVIEW_HEIGHT = 60;
|
|
|
41
41
|
var styles = _reactNative.StyleSheet.create({
|
|
42
42
|
dismiss: {
|
|
43
43
|
borderRadius: 24,
|
|
44
|
-
height: 24
|
|
44
|
+
height: 24,
|
|
45
|
+
position: 'absolute',
|
|
46
|
+
right: 14,
|
|
47
|
+
top: 4,
|
|
48
|
+
width: 24
|
|
45
49
|
},
|
|
46
50
|
fileContainer: {
|
|
47
51
|
borderRadius: 12,
|
|
@@ -110,7 +114,8 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
110
114
|
var renderItem = function renderItem(_ref) {
|
|
111
115
|
var index = _ref.index,
|
|
112
116
|
item = _ref.item;
|
|
113
|
-
|
|
117
|
+
var indicatorType = item.state === _utils.FileState.UPLOADING ? _utils.ProgressIndicatorTypes.IN_PROGRESS : item.state === _utils.FileState.UPLOAD_FAILED ? _utils.ProgressIndicatorTypes.RETRY : undefined;
|
|
118
|
+
return _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_UploadProgressIndicator.UploadProgressIndicator, {
|
|
114
119
|
action: function action() {
|
|
115
120
|
uploadFile({
|
|
116
121
|
newFile: item
|
|
@@ -118,12 +123,12 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
118
123
|
},
|
|
119
124
|
active: item.state !== _utils.FileState.UPLOADED && item.state !== _utils.FileState.FINISHED,
|
|
120
125
|
style: styles.overlay,
|
|
121
|
-
type:
|
|
126
|
+
type: indicatorType,
|
|
122
127
|
__self: _this,
|
|
123
128
|
__source: {
|
|
124
129
|
fileName: _jsxFileName,
|
|
125
|
-
lineNumber:
|
|
126
|
-
columnNumber:
|
|
130
|
+
lineNumber: 130,
|
|
131
|
+
columnNumber: 9
|
|
127
132
|
}
|
|
128
133
|
}, _react["default"].createElement(_reactNative.View, {
|
|
129
134
|
style: [styles.fileContainer, index === fileUploads.length - 1 ? {
|
|
@@ -135,32 +140,32 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
135
140
|
__self: _this,
|
|
136
141
|
__source: {
|
|
137
142
|
fileName: _jsxFileName,
|
|
138
|
-
lineNumber:
|
|
139
|
-
columnNumber:
|
|
143
|
+
lineNumber: 138,
|
|
144
|
+
columnNumber: 11
|
|
140
145
|
}
|
|
141
146
|
}, _react["default"].createElement(_reactNative.View, {
|
|
142
147
|
style: [styles.fileContentContainer, fileContentContainer],
|
|
143
148
|
__self: _this,
|
|
144
149
|
__source: {
|
|
145
150
|
fileName: _jsxFileName,
|
|
146
|
-
lineNumber:
|
|
147
|
-
columnNumber:
|
|
151
|
+
lineNumber: 153,
|
|
152
|
+
columnNumber: 13
|
|
148
153
|
}
|
|
149
154
|
}, _react["default"].createElement(FileAttachmentIcon, {
|
|
150
155
|
mimeType: item.file.type,
|
|
151
156
|
__self: _this,
|
|
152
157
|
__source: {
|
|
153
158
|
fileName: _jsxFileName,
|
|
154
|
-
lineNumber:
|
|
155
|
-
columnNumber:
|
|
159
|
+
lineNumber: 154,
|
|
160
|
+
columnNumber: 15
|
|
156
161
|
}
|
|
157
162
|
}), _react["default"].createElement(_reactNative.View, {
|
|
158
163
|
style: [styles.fileTextContainer, fileTextContainer],
|
|
159
164
|
__self: _this,
|
|
160
165
|
__source: {
|
|
161
166
|
fileName: _jsxFileName,
|
|
162
|
-
lineNumber:
|
|
163
|
-
columnNumber:
|
|
167
|
+
lineNumber: 155,
|
|
168
|
+
columnNumber: 15
|
|
164
169
|
}
|
|
165
170
|
}, _react["default"].createElement(_reactNative.Text, {
|
|
166
171
|
numberOfLines: 1,
|
|
@@ -171,8 +176,8 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
171
176
|
__self: _this,
|
|
172
177
|
__source: {
|
|
173
178
|
fileName: _jsxFileName,
|
|
174
|
-
lineNumber:
|
|
175
|
-
columnNumber:
|
|
179
|
+
lineNumber: 156,
|
|
180
|
+
columnNumber: 17
|
|
176
181
|
}
|
|
177
182
|
}, item.file.name || ''), _react["default"].createElement(_reactNative.Text, {
|
|
178
183
|
style: [styles.fileSizeText, {
|
|
@@ -181,10 +186,10 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
181
186
|
__self: _this,
|
|
182
187
|
__source: {
|
|
183
188
|
fileName: _jsxFileName,
|
|
184
|
-
lineNumber:
|
|
185
|
-
columnNumber:
|
|
189
|
+
lineNumber: 174,
|
|
190
|
+
columnNumber: 17
|
|
186
191
|
}
|
|
187
|
-
}, (0, _FileAttachment.getFileSizeDisplayText)(item.file.size)))), _react["default"].createElement(_reactNative.TouchableOpacity, {
|
|
192
|
+
}, (0, _FileAttachment.getFileSizeDisplayText)(item.file.size)))))), _react["default"].createElement(_reactNative.TouchableOpacity, {
|
|
188
193
|
onPress: function onPress() {
|
|
189
194
|
removeFile(item.id);
|
|
190
195
|
},
|
|
@@ -195,17 +200,17 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
195
200
|
__self: _this,
|
|
196
201
|
__source: {
|
|
197
202
|
fileName: _jsxFileName,
|
|
198
|
-
lineNumber:
|
|
203
|
+
lineNumber: 181,
|
|
199
204
|
columnNumber: 9
|
|
200
205
|
}
|
|
201
206
|
}, _react["default"].createElement(_Close.Close, {
|
|
202
207
|
__self: _this,
|
|
203
208
|
__source: {
|
|
204
209
|
fileName: _jsxFileName,
|
|
205
|
-
lineNumber:
|
|
210
|
+
lineNumber: 188,
|
|
206
211
|
columnNumber: 11
|
|
207
212
|
}
|
|
208
|
-
})))
|
|
213
|
+
})));
|
|
209
214
|
};
|
|
210
215
|
|
|
211
216
|
var fileUploadsLength = fileUploads.length;
|
|
@@ -240,7 +245,7 @@ var FileUploadPreviewWithContext = function FileUploadPreviewWithContext(props)
|
|
|
240
245
|
__self: _this,
|
|
241
246
|
__source: {
|
|
242
247
|
fileName: _jsxFileName,
|
|
243
|
-
lineNumber:
|
|
248
|
+
lineNumber: 203,
|
|
244
249
|
columnNumber: 5
|
|
245
250
|
}
|
|
246
251
|
}) : null;
|
|
@@ -274,7 +279,7 @@ var FileUploadPreview = function FileUploadPreview(props) {
|
|
|
274
279
|
__self: _this,
|
|
275
280
|
__source: {
|
|
276
281
|
fileName: _jsxFileName,
|
|
277
|
-
lineNumber:
|
|
282
|
+
lineNumber: 283,
|
|
278
283
|
columnNumber: 5
|
|
279
284
|
}
|
|
280
285
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["FileUploadPreview.tsx"],"names":["FILE_PREVIEW_HEIGHT","styles","StyleSheet","create","dismiss","borderRadius","height","fileContainer","borderWidth","flexDirection","justifyContent","marginBottom","padding","fileContentContainer","filenameText","fontSize","fontWeight","paddingLeft","fileSizeText","fileTextContainer","flatList","maxHeight","overlay","marginLeft","marginRight","FileUploadPreviewWithContext","props","FileAttachmentIcon","fileUploads","removeFile","uploadFile","flatListRef","flatListWidth","setFlatListWidth","theme","colors","black","grey","grey_whisper","overlay_dark","messageInput","fileUploadPreview","renderItem","index","item","newFile","state","FileState","UPLOADED","FINISHED","UPLOADING","ProgressIndicatorTypes","IN_PROGRESS","UPLOAD_FAILED","RETRY","undefined","length","borderColor","width","file","type","color","name","size","id","backgroundColor","fileUploadsLength","current","setTimeout","scrollToEnd","_","offset","nativeEvent","layout","areEqual","prevProps","nextProps","prevFileUploads","nextFileUploads","every","prevFileUpload","MemoizedFileUploadPreview","React","memo","FileUploadPreview","displayName"],"mappings":"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","sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { FlatList, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport { getFileSizeDisplayText } from '../Attachment/FileAttachment';\nimport {\n FileUpload,\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Close } from '../../icons/Close';\nimport { FileState, ProgressIndicatorTypes } from '../../utils/utils';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nconst FILE_PREVIEW_HEIGHT = 60;\n\nconst styles = StyleSheet.create({\n dismiss: {\n borderRadius: 24,\n height: 24,\n },\n fileContainer: {\n borderRadius: 12,\n borderWidth: 1,\n flexDirection: 'row',\n height: FILE_PREVIEW_HEIGHT,\n justifyContent: 'space-between',\n marginBottom: 8,\n padding: 8,\n },\n fileContentContainer: { flexDirection: 'row' },\n filenameText: {\n fontSize: 14,\n fontWeight: 'bold',\n paddingLeft: 10,\n },\n fileSizeText: {\n fontSize: 12,\n paddingLeft: 10,\n },\n fileTextContainer: {\n height: '100%',\n justifyContent: 'space-around',\n },\n flatList: { marginBottom: 12, maxHeight: FILE_PREVIEW_HEIGHT * 2.5 + 16 },\n overlay: {\n borderRadius: 12,\n marginLeft: 8,\n marginRight: 8,\n },\n});\n\ntype FileUploadPreviewPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<\n MessageInputContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'fileUploads' | 'removeFile' | 'uploadFile'\n> &\n Pick<MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'FileAttachmentIcon'>;\n\nconst FileUploadPreviewWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { FileAttachmentIcon, fileUploads, removeFile, uploadFile } = props;\n\n const flatListRef = useRef<FlatList<FileUpload> | null>(null);\n const [flatListWidth, setFlatListWidth] = useState(0);\n\n const {\n theme: {\n colors: { black, grey, grey_whisper, overlay_dark },\n messageInput: {\n fileUploadPreview: {\n dismiss,\n fileContainer,\n fileContentContainer,\n filenameText,\n fileSizeText,\n fileTextContainer,\n flatList,\n },\n },\n },\n } = useTheme();\n const renderItem = ({ index, item }: { index: number; item: FileUpload }) => (\n <UploadProgressIndicator\n action={() => {\n uploadFile({ newFile: item });\n }}\n active={item.state !== FileState.UPLOADED && item.state !== FileState.FINISHED}\n style={styles.overlay}\n type={\n item.state === FileState.UPLOADING\n ? ProgressIndicatorTypes.IN_PROGRESS\n : item.state === FileState.UPLOAD_FAILED\n ? ProgressIndicatorTypes.RETRY\n : undefined\n }\n >\n <View\n style={[\n styles.fileContainer,\n index === fileUploads.length - 1\n ? {\n marginBottom: 0,\n }\n : {},\n {\n borderColor: grey_whisper,\n width: flatListWidth - 16,\n },\n fileContainer,\n ]}\n >\n <View style={[styles.fileContentContainer, fileContentContainer]}>\n <FileAttachmentIcon mimeType={item.file.type} />\n <View style={[styles.fileTextContainer, fileTextContainer]}>\n <Text\n numberOfLines={1}\n style={[\n styles.filenameText,\n {\n color: black,\n width:\n flatListWidth -\n 16 - // 16 = horizontal padding\n 40 - // 40 = file icon size\n 24 - // 24 = close icon size\n 24, // 24 = internal padding\n },\n filenameText,\n ]}\n >\n {item.file.name || ''}\n </Text>\n <Text style={[styles.fileSizeText, { color: grey }, fileSizeText]}>\n {getFileSizeDisplayText(item.file.size)}\n </Text>\n </View>\n </View>\n <TouchableOpacity\n onPress={() => {\n removeFile(item.id);\n }}\n style={[styles.dismiss, { backgroundColor: overlay_dark }, dismiss]}\n testID='remove-file-upload-preview'\n >\n <Close />\n </TouchableOpacity>\n </View>\n </UploadProgressIndicator>\n );\n\n const fileUploadsLength = fileUploads.length;\n\n useEffect(() => {\n if (fileUploadsLength && flatListRef.current) {\n setTimeout(() => flatListRef.current?.scrollToEnd(), 1);\n }\n }, [fileUploadsLength]);\n\n return fileUploadsLength ? (\n <FlatList\n data={fileUploads}\n getItemLayout={(_, index) => ({\n index,\n length: FILE_PREVIEW_HEIGHT + 8,\n offset: (FILE_PREVIEW_HEIGHT + 8) * index,\n })}\n keyExtractor={(item) => item.id}\n onLayout={({\n nativeEvent: {\n layout: { width },\n },\n }) => {\n setFlatListWidth(width);\n }}\n ref={flatListRef}\n renderItem={renderItem}\n style={[styles.flatList, flatList]}\n />\n ) : null;\n};\n\nconst areEqual = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n prevProps: FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { fileUploads: prevFileUploads } = prevProps;\n const { fileUploads: nextFileUploads } = nextProps;\n\n return (\n prevFileUploads.length === nextFileUploads.length &&\n prevFileUploads.every(\n (prevFileUpload, index) => prevFileUpload.state === nextFileUploads[index].state,\n )\n );\n};\n\nconst MemoizedFileUploadPreview = React.memo(\n FileUploadPreviewWithContext,\n areEqual,\n) as typeof FileUploadPreviewWithContext;\n\nexport type FileUploadPreviewProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>>;\n\n/**\n * FileUploadPreview\n * UI Component to preview the files set for upload\n */\nexport const FileUploadPreview = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: FileUploadPreviewProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { fileUploads, removeFile, uploadFile } =\n useMessageInputContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { FileAttachmentIcon } = useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return (\n <MemoizedFileUploadPreview\n {...{ FileAttachmentIcon, fileUploads, removeFile, uploadFile }}\n {...props}\n />\n );\n};\n\nFileUploadPreview.displayName = 'FileUploadPreview{messageInput{fileUploadPreview}}';\n"]}
|
|
1
|
+
{"version":3,"sources":["FileUploadPreview.tsx"],"names":["FILE_PREVIEW_HEIGHT","styles","StyleSheet","create","dismiss","borderRadius","height","position","right","top","width","fileContainer","borderWidth","flexDirection","justifyContent","marginBottom","padding","fileContentContainer","filenameText","fontSize","fontWeight","paddingLeft","fileSizeText","fileTextContainer","flatList","maxHeight","overlay","marginLeft","marginRight","FileUploadPreviewWithContext","props","FileAttachmentIcon","fileUploads","removeFile","uploadFile","flatListRef","flatListWidth","setFlatListWidth","theme","colors","black","grey","grey_whisper","overlay_dark","messageInput","fileUploadPreview","renderItem","index","item","indicatorType","state","FileState","UPLOADING","ProgressIndicatorTypes","IN_PROGRESS","UPLOAD_FAILED","RETRY","undefined","newFile","UPLOADED","FINISHED","length","borderColor","file","type","color","name","size","id","backgroundColor","fileUploadsLength","current","setTimeout","scrollToEnd","_","offset","nativeEvent","layout","areEqual","prevProps","nextProps","prevFileUploads","nextFileUploads","every","prevFileUpload","MemoizedFileUploadPreview","React","memo","FileUploadPreview","displayName"],"mappings":"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","sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { FlatList, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport { UploadProgressIndicator } from './UploadProgressIndicator';\n\nimport { getFileSizeDisplayText } from '../Attachment/FileAttachment';\nimport {\n FileUpload,\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Close } from '../../icons/Close';\nimport { FileState, ProgressIndicatorTypes } from '../../utils/utils';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nconst FILE_PREVIEW_HEIGHT = 60;\n\nconst styles = StyleSheet.create({\n dismiss: {\n borderRadius: 24,\n height: 24,\n position: 'absolute',\n right: 14,\n top: 4,\n width: 24,\n },\n fileContainer: {\n borderRadius: 12,\n borderWidth: 1,\n flexDirection: 'row',\n height: FILE_PREVIEW_HEIGHT,\n justifyContent: 'space-between',\n marginBottom: 8,\n padding: 8,\n },\n fileContentContainer: { flexDirection: 'row' },\n filenameText: {\n fontSize: 14,\n fontWeight: 'bold',\n paddingLeft: 10,\n },\n fileSizeText: {\n fontSize: 12,\n paddingLeft: 10,\n },\n fileTextContainer: {\n height: '100%',\n justifyContent: 'space-around',\n },\n flatList: { marginBottom: 12, maxHeight: FILE_PREVIEW_HEIGHT * 2.5 + 16 },\n overlay: {\n borderRadius: 12,\n marginLeft: 8,\n marginRight: 8,\n },\n});\n\ntype FileUploadPreviewPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<\n MessageInputContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'fileUploads' | 'removeFile' | 'uploadFile'\n> &\n Pick<MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'FileAttachmentIcon'>;\n\nconst FileUploadPreviewWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { FileAttachmentIcon, fileUploads, removeFile, uploadFile } = props;\n\n const flatListRef = useRef<FlatList<FileUpload> | null>(null);\n const [flatListWidth, setFlatListWidth] = useState(0);\n\n const {\n theme: {\n colors: { black, grey, grey_whisper, overlay_dark },\n messageInput: {\n fileUploadPreview: {\n dismiss,\n fileContainer,\n fileContentContainer,\n filenameText,\n fileSizeText,\n fileTextContainer,\n flatList,\n },\n },\n },\n } = useTheme();\n\n const renderItem = ({ index, item }: { index: number; item: FileUpload }) => {\n const indicatorType =\n item.state === FileState.UPLOADING\n ? ProgressIndicatorTypes.IN_PROGRESS\n : item.state === FileState.UPLOAD_FAILED\n ? ProgressIndicatorTypes.RETRY\n : undefined;\n\n return (\n <>\n <UploadProgressIndicator\n action={() => {\n uploadFile({ newFile: item });\n }}\n active={item.state !== FileState.UPLOADED && item.state !== FileState.FINISHED}\n style={styles.overlay}\n type={indicatorType}\n >\n <View\n style={[\n styles.fileContainer,\n index === fileUploads.length - 1\n ? {\n marginBottom: 0,\n }\n : {},\n {\n borderColor: grey_whisper,\n width: flatListWidth - 16,\n },\n fileContainer,\n ]}\n >\n <View style={[styles.fileContentContainer, fileContentContainer]}>\n <FileAttachmentIcon mimeType={item.file.type} />\n <View style={[styles.fileTextContainer, fileTextContainer]}>\n <Text\n numberOfLines={1}\n style={[\n styles.filenameText,\n {\n color: black,\n width:\n flatListWidth -\n 16 - // 16 = horizontal padding\n 40 - // 40 = file icon size\n 24 - // 24 = close icon size\n 24, // 24 = internal padding\n },\n filenameText,\n ]}\n >\n {item.file.name || ''}\n </Text>\n <Text style={[styles.fileSizeText, { color: grey }, fileSizeText]}>\n {getFileSizeDisplayText(item.file.size)}\n </Text>\n </View>\n </View>\n </View>\n </UploadProgressIndicator>\n <TouchableOpacity\n onPress={() => {\n removeFile(item.id);\n }}\n style={[styles.dismiss, { backgroundColor: overlay_dark }, dismiss]}\n testID='remove-file-upload-preview'\n >\n <Close />\n </TouchableOpacity>\n </>\n );\n };\n\n const fileUploadsLength = fileUploads.length;\n\n useEffect(() => {\n if (fileUploadsLength && flatListRef.current) {\n setTimeout(() => flatListRef.current?.scrollToEnd(), 1);\n }\n }, [fileUploadsLength]);\n\n return fileUploadsLength ? (\n <FlatList\n data={fileUploads}\n getItemLayout={(_, index) => ({\n index,\n length: FILE_PREVIEW_HEIGHT + 8,\n offset: (FILE_PREVIEW_HEIGHT + 8) * index,\n })}\n keyExtractor={(item) => item.id}\n onLayout={({\n nativeEvent: {\n layout: { width },\n },\n }) => {\n setFlatListWidth(width);\n }}\n ref={flatListRef}\n renderItem={renderItem}\n style={[styles.flatList, flatList]}\n />\n ) : null;\n};\n\nconst areEqual = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n prevProps: FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { fileUploads: prevFileUploads } = prevProps;\n const { fileUploads: nextFileUploads } = nextProps;\n\n return (\n prevFileUploads.length === nextFileUploads.length &&\n prevFileUploads.every(\n (prevFileUpload, index) => prevFileUpload.state === nextFileUploads[index].state,\n )\n );\n};\n\nconst MemoizedFileUploadPreview = React.memo(\n FileUploadPreviewWithContext,\n areEqual,\n) as typeof FileUploadPreviewWithContext;\n\nexport type FileUploadPreviewProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<FileUploadPreviewPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>>;\n\n/**\n * FileUploadPreview\n * UI Component to preview the files set for upload\n */\nexport const FileUploadPreview = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: FileUploadPreviewProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { fileUploads, removeFile, uploadFile } =\n useMessageInputContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { FileAttachmentIcon } = useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return (\n <MemoizedFileUploadPreview\n {...{ FileAttachmentIcon, fileUploads, removeFile, uploadFile }}\n {...props}\n />\n );\n};\n\nFileUploadPreview.displayName = 'FileUploadPreview{messageInput{fileUploadPreview}}';\n"]}
|
package/lib/module/version.json
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/lib/typescript/{src/components → components}/AutoCompleteInput/AutoCompleteInput.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -89,6 +89,7 @@ export declare type ChannelPropsWithContext<At extends UnknownType = DefaultAtta
|
|
|
89
89
|
quotedRepliesEnabled?: boolean;
|
|
90
90
|
reactionsEnabled?: boolean;
|
|
91
91
|
readEventsEnabled?: boolean;
|
|
92
|
+
stateUpdateThrottleInterval?: number;
|
|
92
93
|
threadRepliesEnabled?: boolean;
|
|
93
94
|
typingEventsEnabled?: boolean;
|
|
94
95
|
uploadsEnabled?: boolean;
|
package/lib/typescript/{src/components → components}/Channel/hooks/useCreateChannelContext.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
package/lib/typescript/{src/components → components}/Channel/hooks/useCreateMessagesContext.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
package/lib/typescript/{src/components → components}/Channel/hooks/useCreateThreadContext.d.ts
RENAMED
|
File without changes
|
package/lib/typescript/{src/components → components}/Channel/hooks/useCreateTypingContext.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/lib/typescript/{src/components → components}/ChannelList/ChannelListLoadingIndicator.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/lib/typescript/{src/components → components}/ChannelList/hooks/listeners/useNewMessage.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/lib/typescript/{src/components → components}/ChannelList/hooks/useCreateChannelsContext.d.ts
RENAMED
|
File without changes
|
package/lib/typescript/{src/components → components}/ChannelList/hooks/usePaginatedChannels.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/lib/typescript/{src/components → components}/ChannelPreview/ChannelPreviewMessage.d.ts
RENAMED
|
File without changes
|
package/lib/typescript/{src/components → components}/ChannelPreview/ChannelPreviewMessenger.d.ts
RENAMED
|
File without changes
|
package/lib/typescript/{src/components → components}/ChannelPreview/ChannelPreviewStatus.d.ts
RENAMED
|
File without changes
|
package/lib/typescript/{src/components → components}/ChannelPreview/ChannelPreviewTitle.d.ts
RENAMED
|
File without changes
|
package/lib/typescript/{src/components → components}/ChannelPreview/ChannelPreviewUnreadCount.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/lib/typescript/{src/components → components}/ImageGallery/components/ImageGalleryFooter.d.ts
RENAMED
|
File without changes
|
package/lib/typescript/{src/components → components}/ImageGallery/components/ImageGalleryHeader.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/lib/typescript/{src/components → components}/ImageGallery/components/ImageGridHandle.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/lib/typescript/{src/components → components}/Message/MessageSimple/MessageAvatar.d.ts
RENAMED
|
File without changes
|
package/lib/typescript/{src/components → components}/Message/MessageSimple/MessageContent.d.ts
RENAMED
|
File without changes
|
package/lib/typescript/{src/components → components}/Message/MessageSimple/MessageDeleted.d.ts
RENAMED
|
File without changes
|
package/lib/typescript/{src/components → components}/Message/MessageSimple/MessageFooter.d.ts
RENAMED
|
File without changes
|
package/lib/typescript/{src/components → components}/Message/MessageSimple/MessageReplies.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
package/lib/typescript/{src/components → components}/Message/MessageSimple/MessageSimple.d.ts
RENAMED
|
File without changes
|
package/lib/typescript/{src/components → components}/Message/MessageSimple/MessageStatus.d.ts
RENAMED
|
File without changes
|
package/lib/typescript/{src/components → components}/Message/MessageSimple/MessageTextContainer.d.ts
RENAMED
|
File without changes
|
package/lib/typescript/{src/components → components}/Message/MessageSimple/ReactionList.d.ts
RENAMED
|
File without changes
|
package/lib/typescript/{src/components → components}/Message/MessageSimple/utils/renderText.d.ts
RENAMED
|
File without changes
|
package/lib/typescript/{src/components → components}/Message/hooks/useCreateMessageContext.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
package/lib/typescript/{src/components → components}/Message/utils/removeReservedFields.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/lib/typescript/{src/components → components}/MessageInput/UploadProgressIndicator.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/lib/typescript/{src/components → components}/MessageList/InlineLoadingMoreIndicator.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/lib/typescript/{src/components → components}/MessageList/TypingIndicatorContainer.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/lib/typescript/{src/components → components}/MessageList/utils/filterTypingUsers.d.ts
RENAMED
|
File without changes
|
package/lib/typescript/{src/components → components}/MessageList/utils/getDateSeparators.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
package/lib/typescript/{src/components → components}/MessageList/utils/getLastReceivedMessage.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/lib/typescript/{src/components → components}/MessageOverlay/OverlayReactionList.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/lib/typescript/{src/components → components}/Thread/components/ThreadFooterComponent.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|