stream-chat-react-native-core 4.0.0-beta.3 → 4.0.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/README.md +1 -1
- package/lib/commonjs/components/Attachment/Attachment.js +10 -10
- package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
- package/lib/commonjs/components/Attachment/AttachmentActions.js +4 -4
- package/lib/commonjs/components/Attachment/AttachmentActions.js.map +1 -1
- package/lib/commonjs/components/Attachment/Card.js +15 -15
- package/lib/commonjs/components/Attachment/Card.js.map +1 -1
- package/lib/commonjs/components/Attachment/FileAttachment.js +8 -8
- package/lib/commonjs/components/Attachment/FileAttachment.js.map +1 -1
- package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +4 -4
- package/lib/commonjs/components/Attachment/FileAttachmentGroup.js.map +1 -1
- package/lib/commonjs/components/Attachment/Gallery.js +8 -8
- package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
- package/lib/commonjs/components/Attachment/Giphy.js +112 -148
- package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -1
- package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +2 -2
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +16 -16
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +7 -7
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +13 -13
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +10 -10
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
- package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
- package/lib/commonjs/components/Channel/Channel.js +13 -13
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelList.js +2 -2
- package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +14 -14
- package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/commonjs/components/ChannelList/utils.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +2 -2
- package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +2 -2
- package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +4 -4
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +12 -12
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
- package/lib/commonjs/components/Chat/Chat.js +8 -4
- package/lib/commonjs/components/Chat/Chat.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useMutedUsers.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/ImageGallery.js +19 -19
- package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +11 -11
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +28 -11
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +5 -5
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/commonjs/components/Message/Message.js +6 -6
- package/lib/commonjs/components/Message/Message.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +4 -4
- package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +18 -18
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +5 -5
- package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +20 -16
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +4 -4
- package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +10 -10
- package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +3 -3
- package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +6 -6
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +9 -9
- package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +3 -3
- package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +51 -51
- package/lib/commonjs/components/Message/MessageSimple/ReactionList.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +145 -64
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js +240 -0
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js.map +1 -0
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useMessageActions.js +11 -11
- package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
- package/lib/commonjs/components/Message/utils/messageActions.js.map +1 -1
- package/lib/commonjs/components/Message/utils/removeReservedFields.js.map +1 -1
- package/lib/commonjs/components/MessageInput/AttachButton.js +3 -3
- package/lib/commonjs/components/MessageInput/AttachButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/CommandsButton.js +3 -3
- package/lib/commonjs/components/MessageInput/CommandsButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js +11 -11
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
- package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +7 -7
- package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
- package/lib/commonjs/components/MessageInput/InputButtons.js +6 -6
- package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
- package/lib/commonjs/components/MessageInput/MessageInput.js +34 -34
- package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +3 -3
- package/lib/commonjs/components/MessageInput/MoreOptionsButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/SendButton.js +5 -5
- package/lib/commonjs/components/MessageInput/SendButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +7 -7
- package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +3 -3
- package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +3 -3
- package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +3 -3
- package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageList.js +26 -26
- package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageSystem.js +6 -6
- package/lib/commonjs/components/MessageList/MessageSystem.js.map +1 -1
- package/lib/commonjs/components/MessageList/TypingIndicator.js +3 -3
- package/lib/commonjs/components/MessageList/TypingIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js +2 -2
- package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useTypingString.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/filterTypingUsers.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getDateSeparators.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageActionList.js +3 -3
- package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +6 -6
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +26 -25
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +13 -13
- package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +19 -19
- package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
- package/lib/commonjs/components/Reply/Reply.js +8 -8
- package/lib/commonjs/components/Reply/Reply.js.map +1 -1
- package/lib/commonjs/components/Thread/Thread.js +4 -4
- package/lib/commonjs/components/Thread/Thread.js.map +1 -1
- package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +12 -12
- package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
- package/lib/commonjs/components/docs/data.js +44 -44
- package/lib/commonjs/components/docs/data.js.map +1 -1
- package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
- package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
- package/lib/commonjs/contexts/channelContext/ChannelContext.js +2 -2
- package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
- package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +2 -2
- package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
- package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +3 -3
- package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
- package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
- package/lib/commonjs/contexts/chatContext/ChatContext.js +2 -2
- package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
- package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
- package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +1 -1
- package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js.map +1 -1
- package/lib/commonjs/contexts/messageContext/MessageContext.js +2 -2
- package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +2 -2
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
- package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +2 -2
- package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js +2 -2
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -1
- package/lib/commonjs/contexts/overlayContext/OverlayContext.js.map +1 -1
- package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +12 -12
- package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
- package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
- package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +2 -2
- package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
- package/lib/commonjs/contexts/themeContext/utils/theme.js +7 -6
- package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/commonjs/contexts/threadContext/ThreadContext.js +2 -2
- package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
- package/lib/commonjs/contexts/translationContext/TranslationContext.js +2 -2
- package/lib/commonjs/contexts/translationContext/TranslationContext.js.map +1 -1
- package/lib/commonjs/contexts/typingContext/TypingContext.js +2 -2
- package/lib/commonjs/contexts/typingContext/TypingContext.js.map +1 -1
- package/lib/commonjs/icons/UserAdmin.js +62 -0
- package/lib/commonjs/icons/UserAdmin.js.map +1 -0
- package/lib/commonjs/icons/index.js +0 -26
- package/lib/commonjs/icons/index.js.map +1 -1
- package/lib/commonjs/init.js +13 -0
- package/lib/commonjs/init.js.map +1 -0
- package/lib/commonjs/utils/Streami18n.js.map +1 -1
- package/lib/commonjs/utils/getResizedImageUrl.js +8 -5
- package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -1
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Attachment/Attachment.js +10 -10
- package/lib/module/components/Attachment/Attachment.js.map +1 -1
- package/lib/module/components/Attachment/AttachmentActions.js +4 -4
- package/lib/module/components/Attachment/AttachmentActions.js.map +1 -1
- package/lib/module/components/Attachment/Card.js +15 -15
- package/lib/module/components/Attachment/Card.js.map +1 -1
- package/lib/module/components/Attachment/FileAttachment.js +8 -8
- package/lib/module/components/Attachment/FileAttachment.js.map +1 -1
- package/lib/module/components/Attachment/FileAttachmentGroup.js +4 -4
- package/lib/module/components/Attachment/FileAttachmentGroup.js.map +1 -1
- package/lib/module/components/Attachment/Gallery.js +8 -8
- package/lib/module/components/Attachment/Gallery.js.map +1 -1
- package/lib/module/components/Attachment/Giphy.js +112 -148
- package/lib/module/components/Attachment/Giphy.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -1
- package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -1
- package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +2 -2
- package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +16 -16
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +7 -7
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +13 -13
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +10 -10
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
- package/lib/module/components/Avatar/Avatar.js.map +1 -1
- package/lib/module/components/Channel/Channel.js +13 -13
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateThreadContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateTypingContext.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelList.js +2 -2
- package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListMessenger.js +14 -14
- package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useChannelDeleted.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useChannelHidden.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useChannelTruncated.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useChannelUpdated.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useChannelVisible.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useConnectionRecovered.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useUserPresence.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/module/components/ChannelList/utils.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelAvatar.js +2 -2
- package/lib/module/components/ChannelPreview/ChannelAvatar.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreview.js +2 -2
- package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +4 -4
- package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +12 -12
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +4 -4
- package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
- package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayName.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.js.map +1 -1
- package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
- package/lib/module/components/Chat/Chat.js +8 -4
- package/lib/module/components/Chat/Chat.js.map +1 -1
- package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
- package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
- package/lib/module/components/Chat/hooks/useMutedUsers.js.map +1 -1
- package/lib/module/components/ImageGallery/ImageGallery.js +19 -19
- package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +11 -11
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +28 -11
- package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGrid.js +5 -5
- package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/module/components/Message/Message.js +6 -6
- package/lib/module/components/Message/Message.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageAvatar.js +4 -4
- package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageContent.js +18 -18
- package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageDeleted.js +5 -5
- package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageFooter.js +20 -16
- package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +4 -4
- package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageReplies.js +10 -10
- package/lib/module/components/Message/MessageSimple/MessageReplies.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +3 -3
- package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageSimple.js +6 -6
- package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageStatus.js +9 -9
- package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +3 -3
- package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/ReactionList.js +51 -51
- package/lib/module/components/Message/MessageSimple/ReactionList.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/renderText.js +145 -64
- package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/renderText.test.js +240 -0
- package/lib/module/components/Message/MessageSimple/utils/renderText.test.js.map +1 -0
- package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
- package/lib/module/components/Message/hooks/useMessageActions.js +11 -11
- package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
- package/lib/module/components/Message/utils/messageActions.js.map +1 -1
- package/lib/module/components/Message/utils/removeReservedFields.js.map +1 -1
- package/lib/module/components/MessageInput/AttachButton.js +3 -3
- package/lib/module/components/MessageInput/AttachButton.js.map +1 -1
- package/lib/module/components/MessageInput/CommandsButton.js +3 -3
- package/lib/module/components/MessageInput/CommandsButton.js.map +1 -1
- package/lib/module/components/MessageInput/FileUploadPreview.js +11 -11
- package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
- package/lib/module/components/MessageInput/ImageUploadPreview.js +7 -7
- package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
- package/lib/module/components/MessageInput/InputButtons.js +6 -6
- package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
- package/lib/module/components/MessageInput/MessageInput.js +34 -34
- package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/module/components/MessageInput/MoreOptionsButton.js +3 -3
- package/lib/module/components/MessageInput/MoreOptionsButton.js.map +1 -1
- package/lib/module/components/MessageInput/SendButton.js +5 -5
- package/lib/module/components/MessageInput/SendButton.js.map +1 -1
- package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +7 -7
- package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
- package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -1
- package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +3 -3
- package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
- package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +3 -3
- package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
- package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +3 -3
- package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
- package/lib/module/components/MessageList/MessageList.js +26 -26
- package/lib/module/components/MessageList/MessageList.js.map +1 -1
- package/lib/module/components/MessageList/MessageSystem.js +6 -6
- package/lib/module/components/MessageList/MessageSystem.js.map +1 -1
- package/lib/module/components/MessageList/TypingIndicator.js +3 -3
- package/lib/module/components/MessageList/TypingIndicator.js.map +1 -1
- package/lib/module/components/MessageList/TypingIndicatorContainer.js +2 -2
- package/lib/module/components/MessageList/TypingIndicatorContainer.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useTypingString.js.map +1 -1
- package/lib/module/components/MessageList/utils/filterTypingUsers.js.map +1 -1
- package/lib/module/components/MessageList/utils/getDateSeparators.js.map +1 -1
- package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
- package/lib/module/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
- package/lib/module/components/MessageList/utils/getReadStates.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageActionList.js +3 -3
- package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageActionListItem.js +6 -6
- package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageOverlay.js +26 -25
- package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/module/components/MessageOverlay/OverlayReactionList.js +13 -13
- package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
- package/lib/module/components/MessageOverlay/OverlayReactions.js +19 -19
- package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
- package/lib/module/components/Reply/Reply.js +8 -8
- package/lib/module/components/Reply/Reply.js.map +1 -1
- package/lib/module/components/Thread/Thread.js +4 -4
- package/lib/module/components/Thread/Thread.js.map +1 -1
- package/lib/module/components/Thread/components/ThreadFooterComponent.js +12 -12
- package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
- package/lib/module/components/docs/data.js +44 -44
- package/lib/module/components/docs/data.js.map +1 -1
- package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
- package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js.map +1 -1
- package/lib/module/contexts/channelContext/ChannelContext.js +2 -2
- package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
- package/lib/module/contexts/channelsContext/ChannelsContext.js +2 -2
- package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
- package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +3 -3
- package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
- package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
- package/lib/module/contexts/chatContext/ChatContext.js +2 -2
- package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +2 -2
- package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
- package/lib/module/contexts/keyboardContext/KeyboardContext.js +1 -1
- package/lib/module/contexts/keyboardContext/KeyboardContext.js.map +1 -1
- package/lib/module/contexts/messageContext/MessageContext.js +2 -2
- package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/MessageInputContext.js +2 -2
- package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
- package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +2 -2
- package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
- package/lib/module/contexts/messagesContext/MessagesContext.js +2 -2
- package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/module/contexts/overlayContext/OverlayContext.js +1 -1
- package/lib/module/contexts/overlayContext/OverlayContext.js.map +1 -1
- package/lib/module/contexts/overlayContext/OverlayProvider.js +12 -12
- package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +2 -2
- package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js.map +1 -1
- package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +2 -2
- package/lib/module/contexts/suggestionsContext/SuggestionsContext.js.map +1 -1
- package/lib/module/contexts/themeContext/utils/theme.js +7 -6
- package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/module/contexts/threadContext/ThreadContext.js +2 -2
- package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
- package/lib/module/contexts/translationContext/TranslationContext.js +2 -2
- package/lib/module/contexts/translationContext/TranslationContext.js.map +1 -1
- package/lib/module/contexts/typingContext/TypingContext.js +2 -2
- package/lib/module/contexts/typingContext/TypingContext.js.map +1 -1
- package/lib/module/icons/UserAdmin.js +62 -0
- package/lib/module/icons/UserAdmin.js.map +1 -0
- package/lib/module/icons/index.js +0 -26
- package/lib/module/icons/index.js.map +1 -1
- package/lib/module/init.js +13 -0
- package/lib/module/init.js.map +1 -0
- package/lib/module/utils/Streami18n.js.map +1 -1
- package/lib/module/utils/getResizedImageUrl.js +8 -5
- package/lib/module/utils/getResizedImageUrl.js.map +1 -1
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Attachment/Attachment.d.ts +5 -5
- package/lib/typescript/components/Attachment/AttachmentActions.d.ts +4 -4
- package/lib/typescript/components/Attachment/Card.d.ts +4 -4
- package/lib/typescript/components/Attachment/FileAttachment.d.ts +5 -5
- package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts +4 -4
- package/lib/typescript/components/Attachment/Gallery.d.ts +5 -5
- package/lib/typescript/components/Attachment/Giphy.d.ts +6 -6
- package/lib/typescript/components/Attachment/utils/buildGallery/buildGallery.d.ts +3 -3
- package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.d.ts +3 -3
- package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.d.ts +3 -3
- package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.d.ts +3 -3
- package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnail.d.ts +3 -3
- package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnailGrid.d.ts +3 -3
- package/lib/typescript/components/Attachment/utils/getAspectRatio.d.ts +2 -2
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteInput.d.ts +4 -4
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.d.ts +3 -2
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionHeader.d.ts +4 -4
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionItem.d.ts +5 -5
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts +9 -9
- package/lib/typescript/components/Avatar/Avatar.d.ts +1 -1
- package/lib/typescript/components/Channel/Channel.d.ts +7 -7
- package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +2 -2
- package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +3 -3
- package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +3 -3
- package/lib/typescript/components/Channel/hooks/useCreateOwnCapabilitiesContext.d.ts +3 -3
- package/lib/typescript/components/Channel/hooks/useCreatePaginatedMessageListContext.d.ts +3 -3
- package/lib/typescript/components/Channel/hooks/useCreateThreadContext.d.ts +2 -2
- package/lib/typescript/components/Channel/hooks/useCreateTypingContext.d.ts +2 -2
- package/lib/typescript/components/ChannelList/ChannelList.d.ts +14 -14
- package/lib/typescript/components/ChannelList/ChannelListMessenger.d.ts +4 -4
- package/lib/typescript/components/ChannelList/hooks/listeners/useAddedToChannelNotification.d.ts +5 -5
- package/lib/typescript/components/ChannelList/hooks/listeners/useChannelDeleted.d.ts +5 -5
- package/lib/typescript/components/ChannelList/hooks/listeners/useChannelHidden.d.ts +5 -5
- package/lib/typescript/components/ChannelList/hooks/listeners/useChannelTruncated.d.ts +5 -5
- package/lib/typescript/components/ChannelList/hooks/listeners/useChannelUpdated.d.ts +5 -5
- package/lib/typescript/components/ChannelList/hooks/listeners/useChannelVisible.d.ts +5 -5
- package/lib/typescript/components/ChannelList/hooks/listeners/useConnectionRecovered.d.ts +2 -2
- package/lib/typescript/components/ChannelList/hooks/listeners/useNewMessage.d.ts +4 -4
- package/lib/typescript/components/ChannelList/hooks/listeners/useNewMessageNotification.d.ts +5 -5
- package/lib/typescript/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.d.ts +5 -5
- package/lib/typescript/components/ChannelList/hooks/listeners/useUserPresence.d.ts +4 -4
- package/lib/typescript/components/ChannelList/hooks/useCreateChannelsContext.d.ts +2 -2
- package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +7 -7
- package/lib/typescript/components/ChannelList/utils.d.ts +7 -7
- package/lib/typescript/components/ChannelPreview/ChannelAvatar.d.ts +3 -3
- package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +5 -5
- package/lib/typescript/components/ChannelPreview/ChannelPreviewMessage.d.ts +4 -5
- package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts +5 -5
- package/lib/typescript/components/ChannelPreview/ChannelPreviewMutedStatus.d.ts +3 -3
- package/lib/typescript/components/ChannelPreview/ChannelPreviewStatus.d.ts +3 -3
- package/lib/typescript/components/ChannelPreview/ChannelPreviewTitle.d.ts +3 -3
- package/lib/typescript/components/ChannelPreview/ChannelPreviewUnreadCount.d.ts +3 -3
- package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.d.ts +3 -3
- package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayName.d.ts +4 -4
- package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.d.ts +2 -2
- package/lib/typescript/components/ChannelPreview/hooks/useLatestMessagePreview.d.ts +5 -5
- package/lib/typescript/components/Chat/Chat.d.ts +3 -3
- package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +2 -2
- package/lib/typescript/components/Chat/hooks/useIsOnline.d.ts +2 -2
- package/lib/typescript/components/Chat/hooks/useMutedUsers.d.ts +2 -2
- package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +9 -9
- package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +10 -10
- package/lib/typescript/components/ImageGallery/components/ImageGalleryHeader.d.ts +10 -10
- package/lib/typescript/components/ImageGallery/components/ImageGrid.d.ts +10 -10
- package/lib/typescript/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.d.ts +1 -0
- package/lib/typescript/components/Message/Message.d.ts +11 -11
- package/lib/typescript/components/Message/MessageSimple/MessageAvatar.d.ts +4 -4
- package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts +4 -4
- package/lib/typescript/components/Message/MessageSimple/MessageDeleted.d.ts +5 -5
- package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts +6 -6
- package/lib/typescript/components/Message/MessageSimple/MessagePinnedHeader.d.ts +4 -4
- package/lib/typescript/components/Message/MessageSimple/MessageReplies.d.ts +4 -4
- package/lib/typescript/components/Message/MessageSimple/MessageRepliesAvatars.d.ts +3 -3
- package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts +4 -4
- package/lib/typescript/components/Message/MessageSimple/MessageStatus.d.ts +4 -4
- package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts +6 -6
- package/lib/typescript/components/Message/MessageSimple/ReactionList.d.ts +4 -4
- package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +19 -5
- package/lib/typescript/components/Message/MessageSimple/utils/renderText.test.d.ts +1 -0
- package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +2 -2
- package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +2 -2
- package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +3 -3
- package/lib/typescript/components/Message/utils/messageActions.d.ts +5 -5
- package/lib/typescript/components/Message/utils/removeReservedFields.d.ts +2 -2
- package/lib/typescript/components/MessageInput/AttachButton.d.ts +4 -4
- package/lib/typescript/components/MessageInput/CommandsButton.d.ts +4 -4
- package/lib/typescript/components/MessageInput/FileUploadPreview.d.ts +4 -4
- package/lib/typescript/components/MessageInput/ImageUploadPreview.d.ts +4 -4
- package/lib/typescript/components/MessageInput/InputButtons.d.ts +5 -5
- package/lib/typescript/components/MessageInput/MessageInput.d.ts +4 -4
- package/lib/typescript/components/MessageInput/MoreOptionsButton.d.ts +4 -4
- package/lib/typescript/components/MessageInput/SendButton.d.ts +4 -4
- package/lib/typescript/components/MessageInput/ShowThreadMessageInChannelButton.d.ts +2 -2
- package/lib/typescript/components/MessageInput/hooks/useCooldown.d.ts +2 -2
- package/lib/typescript/components/MessageList/InlineLoadingMoreIndicator.d.ts +2 -2
- package/lib/typescript/components/MessageList/InlineLoadingMoreRecentIndicator.d.ts +2 -2
- package/lib/typescript/components/MessageList/InlineLoadingMoreThreadIndicator.d.ts +2 -2
- package/lib/typescript/components/MessageList/MessageList.d.ts +7 -7
- package/lib/typescript/components/MessageList/MessageSystem.d.ts +4 -4
- package/lib/typescript/components/MessageList/TypingIndicator.d.ts +2 -2
- package/lib/typescript/components/MessageList/TypingIndicatorContainer.d.ts +4 -4
- package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +5 -5
- package/lib/typescript/components/MessageList/hooks/useTypingString.d.ts +2 -2
- package/lib/typescript/components/MessageList/utils/filterTypingUsers.d.ts +3 -3
- package/lib/typescript/components/MessageList/utils/getDateSeparators.d.ts +4 -4
- package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts +4 -4
- package/lib/typescript/components/MessageList/utils/getLastReceivedMessage.d.ts +2 -2
- package/lib/typescript/components/MessageList/utils/getReadStates.d.ts +8 -5
- package/lib/typescript/components/MessageOverlay/MessageActionList.d.ts +4 -4
- package/lib/typescript/components/MessageOverlay/MessageActionListItem.d.ts +4 -3
- package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts +4 -4
- package/lib/typescript/components/MessageOverlay/OverlayReactionList.d.ts +6 -6
- package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts +2 -2
- package/lib/typescript/components/MessageOverlay/hooks/useMessageActionAnimation.d.ts +1 -1
- package/lib/typescript/components/Reply/Reply.d.ts +4 -4
- package/lib/typescript/components/Thread/Thread.d.ts +7 -7
- package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts +2 -2
- package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts +2 -2
- package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +12 -12
- package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +18 -18
- package/lib/typescript/contexts/channelsStateContext/ChannelsStateContext.d.ts +19 -19
- package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts +17 -17
- package/lib/typescript/contexts/chatContext/ChatContext.d.ts +11 -11
- package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts +8 -8
- package/lib/typescript/contexts/keyboardContext/KeyboardContext.d.ts +2 -2
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts +12 -12
- package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +33 -33
- package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +2 -2
- package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts +3 -3
- package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +21 -21
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +57 -57
- package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +4 -4
- package/lib/typescript/contexts/overlayContext/OverlayProvider.d.ts +2 -2
- package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +8 -8
- package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts +20 -20
- package/lib/typescript/contexts/themeContext/utils/theme.d.ts +6 -5
- package/lib/typescript/contexts/threadContext/ThreadContext.d.ts +10 -10
- package/lib/typescript/contexts/translationContext/TranslationContext.d.ts +2 -2
- package/lib/typescript/contexts/typingContext/TypingContext.d.ts +8 -8
- package/lib/typescript/icons/{Left.d.ts → UserAdmin.d.ts} +1 -1
- package/lib/typescript/icons/index.d.ts +0 -2
- package/lib/typescript/init.d.ts +2 -0
- package/lib/typescript/types/types.d.ts +16 -13
- package/lib/typescript/utils/Streami18n.d.ts +4 -4
- package/lib/typescript/utils/getResizedImageUrl.d.ts +2 -1
- package/lib/typescript/utils/utils.d.ts +21 -21
- package/package.json +3 -5
- package/src/components/Attachment/Attachment.tsx +15 -56
- package/src/components/Attachment/AttachmentActions.tsx +15 -55
- package/src/components/Attachment/Card.tsx +15 -48
- package/src/components/Attachment/FileAttachment.tsx +14 -48
- package/src/components/Attachment/FileAttachmentGroup.tsx +16 -57
- package/src/components/Attachment/Gallery.tsx +18 -59
- package/src/components/Attachment/Giphy.tsx +82 -125
- package/src/components/Attachment/__tests__/buildGallery.test.js +4 -4
- package/src/components/Attachment/utils/buildGallery/buildGallery.ts +5 -3
- package/src/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.ts +6 -10
- package/src/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.ts +5 -5
- package/src/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.ts +5 -3
- package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +5 -3
- package/src/components/Attachment/utils/buildGallery/buildThumbnailGrid.ts +5 -3
- package/src/components/Attachment/utils/getAspectRatio.ts +4 -4
- package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +21 -61
- package/src/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.tsx +5 -3
- package/src/components/AutoCompleteInput/AutoCompleteSuggestionHeader.tsx +12 -19
- package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx +14 -21
- package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +21 -24
- package/src/components/Avatar/Avatar.tsx +1 -1
- package/src/components/Channel/Channel.tsx +174 -257
- package/src/components/Channel/hooks/useCreateChannelContext.ts +4 -19
- package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +52 -68
- package/src/components/Channel/hooks/useCreateMessagesContext.ts +4 -19
- package/src/components/Channel/hooks/useCreateOwnCapabilitiesContext.ts +3 -18
- package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +16 -32
- package/src/components/Channel/hooks/useCreateThreadContext.ts +4 -19
- package/src/components/Channel/hooks/useCreateTypingContext.ts +4 -19
- package/src/components/ChannelList/ChannelList.tsx +28 -49
- package/src/components/ChannelList/ChannelListMessenger.tsx +19 -70
- package/src/components/ChannelList/hooks/listeners/useAddedToChannelNotification.ts +14 -36
- package/src/components/ChannelList/hooks/listeners/useChannelDeleted.ts +13 -35
- package/src/components/ChannelList/hooks/listeners/useChannelHidden.ts +13 -35
- package/src/components/ChannelList/hooks/listeners/useChannelTruncated.ts +15 -37
- package/src/components/ChannelList/hooks/listeners/useChannelUpdated.ts +13 -35
- package/src/components/ChannelList/hooks/listeners/useChannelVisible.ts +14 -36
- package/src/components/ChannelList/hooks/listeners/useConnectionRecovered.ts +3 -18
- package/src/components/ChannelList/hooks/listeners/useNewMessage.ts +11 -33
- package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +13 -35
- package/src/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.ts +13 -35
- package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +9 -31
- package/src/components/ChannelList/hooks/useCreateChannelsContext.ts +4 -19
- package/src/components/ChannelList/hooks/usePaginatedChannels.ts +11 -29
- package/src/components/ChannelList/utils.ts +9 -42
- package/src/components/ChannelPreview/ChannelAvatar.tsx +5 -26
- package/src/components/ChannelPreview/ChannelPreview.tsx +18 -51
- package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +11 -21
- package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +13 -46
- package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx +5 -26
- package/src/components/ChannelPreview/ChannelPreviewStatus.tsx +6 -27
- package/src/components/ChannelPreview/ChannelPreviewTitle.tsx +5 -26
- package/src/components/ChannelPreview/ChannelPreviewUnreadCount.tsx +5 -26
- package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.ts +7 -28
- package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +6 -27
- package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.ts +7 -28
- package/src/components/ChannelPreview/hooks/useLatestMessagePreview.ts +27 -78
- package/src/components/Chat/Chat.tsx +15 -40
- package/src/components/Chat/hooks/useCreateChatContext.ts +4 -19
- package/src/components/Chat/hooks/useIsOnline.ts +4 -19
- package/src/components/Chat/hooks/useMutedUsers.ts +5 -20
- package/src/components/ImageGallery/ImageGallery.tsx +30 -40
- package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +19 -11
- package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +42 -20
- package/src/components/ImageGallery/components/ImageGrid.tsx +45 -30
- package/src/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.tsx +31 -0
- package/src/components/Message/Message.tsx +40 -93
- package/src/components/Message/MessageSimple/MessageAvatar.tsx +13 -54
- package/src/components/Message/MessageSimple/MessageContent.tsx +18 -61
- package/src/components/Message/MessageSimple/MessageDeleted.tsx +17 -58
- package/src/components/Message/MessageSimple/MessageFooter.tsx +23 -65
- package/src/components/Message/MessageSimple/MessagePinnedHeader.tsx +13 -54
- package/src/components/Message/MessageSimple/MessageReplies.tsx +15 -56
- package/src/components/Message/MessageSimple/MessageRepliesAvatars.tsx +5 -26
- package/src/components/Message/MessageSimple/MessageSimple.tsx +16 -57
- package/src/components/Message/MessageSimple/MessageStatus.tsx +13 -54
- package/src/components/Message/MessageSimple/MessageTextContainer.tsx +19 -66
- package/src/components/Message/MessageSimple/ReactionList.tsx +47 -88
- package/src/components/Message/MessageSimple/utils/renderText.test.tsx +70 -0
- package/src/components/Message/MessageSimple/utils/renderText.tsx +89 -74
- package/src/components/Message/hooks/useCreateMessageContext.ts +4 -19
- package/src/components/Message/hooks/useMessageActionHandlers.ts +8 -23
- package/src/components/Message/hooks/useMessageActions.tsx +8 -23
- package/src/components/Message/utils/messageActions.ts +7 -34
- package/src/components/Message/utils/removeReservedFields.ts +3 -18
- package/src/components/MessageInput/AttachButton.tsx +13 -54
- package/src/components/MessageInput/CommandsButton.tsx +15 -56
- package/src/components/MessageInput/FileUploadPreview.tsx +15 -57
- package/src/components/MessageInput/ImageUploadPreview.tsx +13 -55
- package/src/components/MessageInput/InputButtons.tsx +13 -54
- package/src/components/MessageInput/MessageInput.tsx +25 -66
- package/src/components/MessageInput/MoreOptionsButton.tsx +13 -54
- package/src/components/MessageInput/SendButton.tsx +13 -54
- package/src/components/MessageInput/ShowThreadMessageInChannelButton.tsx +4 -19
- package/src/components/MessageInput/hooks/useCooldown.ts +5 -19
- package/src/components/MessageList/InlineLoadingMoreIndicator.tsx +3 -18
- package/src/components/MessageList/InlineLoadingMoreRecentIndicator.tsx +3 -18
- package/src/components/MessageList/InlineLoadingMoreThreadIndicator.tsx +3 -18
- package/src/components/MessageList/MessageList.tsx +34 -76
- package/src/components/MessageList/MessageSystem.tsx +5 -26
- package/src/components/MessageList/TypingIndicator.tsx +3 -18
- package/src/components/MessageList/TypingIndicatorContainer.tsx +14 -47
- package/src/components/MessageList/hooks/useMessageList.ts +19 -52
- package/src/components/MessageList/hooks/useTypingString.ts +5 -20
- package/src/components/MessageList/utils/filterTypingUsers.ts +7 -28
- package/src/components/MessageList/utils/getDateSeparators.ts +6 -27
- package/src/components/MessageList/utils/getGroupStyles.ts +6 -27
- package/src/components/MessageList/utils/getLastReceivedMessage.ts +3 -18
- package/src/components/MessageList/utils/getReadStates.ts +5 -20
- package/src/components/MessageOverlay/MessageActionList.tsx +15 -56
- package/src/components/MessageOverlay/MessageActionListItem.tsx +20 -9
- package/src/components/MessageOverlay/MessageOverlay.tsx +38 -81
- package/src/components/MessageOverlay/OverlayReactionList.tsx +21 -74
- package/src/components/MessageOverlay/OverlayReactions.tsx +3 -18
- package/src/components/Reply/Reply.tsx +22 -69
- package/src/components/Thread/Thread.tsx +20 -53
- package/src/components/Thread/components/ThreadFooterComponent.tsx +12 -47
- package/src/components/docs/data.js +38 -37
- package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +9 -7
- package/src/contexts/channelContext/ChannelContext.tsx +15 -48
- package/src/contexts/channelsContext/ChannelsContext.tsx +22 -59
- package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +38 -115
- package/src/contexts/channelsStateContext/useChannelState.ts +27 -60
- package/src/contexts/chatContext/ChatContext.tsx +14 -49
- package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +12 -54
- package/src/contexts/keyboardContext/KeyboardContext.tsx +13 -7
- package/src/contexts/messageContext/MessageContext.tsx +15 -48
- package/src/contexts/messageInputContext/MessageInputContext.tsx +61 -110
- package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +5 -20
- package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +7 -31
- package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +24 -71
- package/src/contexts/messagesContext/MessagesContext.tsx +60 -99
- package/src/contexts/overlayContext/OverlayContext.tsx +18 -26
- package/src/contexts/overlayContext/OverlayProvider.tsx +7 -22
- package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +13 -53
- package/src/contexts/suggestionsContext/SuggestionsContext.tsx +39 -40
- package/src/contexts/themeContext/utils/theme.ts +13 -11
- package/src/contexts/threadContext/ThreadContext.tsx +13 -46
- package/src/contexts/translationContext/TranslationContext.tsx +12 -7
- package/src/contexts/typingContext/TypingContext.tsx +11 -44
- package/src/icons/UserAdmin.tsx +23 -0
- package/src/icons/index.ts +0 -2
- package/src/init.ts +5 -0
- package/src/types/types.ts +16 -18
- package/src/utils/Streami18n.ts +3 -3
- package/src/utils/__tests__/getResizedImageUrl.test.js +56 -0
- package/src/utils/getResizedImageUrl.ts +15 -13
- package/src/utils/utils.ts +63 -128
- package/src/version.json +1 -1
- package/lib/commonjs/icons/Left.js +0 -38
- package/lib/commonjs/icons/Left.js.map +0 -1
- package/lib/commonjs/icons/Right.js +0 -38
- package/lib/commonjs/icons/Right.js.map +0 -1
- package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js +0 -100
- package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js.map +0 -1
- package/lib/commonjs/styleguideComponents/BottomSheet.js +0 -25
- package/lib/commonjs/styleguideComponents/BottomSheet.js.map +0 -1
- package/lib/commonjs/styleguideComponents/JsDoc.js +0 -87
- package/lib/commonjs/styleguideComponents/JsDoc.js.map +0 -1
- package/lib/commonjs/styleguideComponents/Markdown.js +0 -12
- package/lib/commonjs/styleguideComponents/Markdown.js.map +0 -1
- package/lib/commonjs/styleguideComponents/PathlineRenderer.js +0 -92
- package/lib/commonjs/styleguideComponents/PathlineRenderer.js.map +0 -1
- package/lib/commonjs/styleguideComponents/PropsRenderer.js +0 -267
- package/lib/commonjs/styleguideComponents/PropsRenderer.js.map +0 -1
- package/lib/commonjs/styleguideComponents/Reanimated.js +0 -2
- package/lib/commonjs/styleguideComponents/Reanimated.js.map +0 -1
- package/lib/commonjs/styleguideComponents/Wrapper.js +0 -29
- package/lib/commonjs/styleguideComponents/Wrapper.js.map +0 -1
- package/lib/commonjs/styleguideComponents/register-react-native-web.js +0 -44
- package/lib/commonjs/styleguideComponents/register-react-native-web.js.map +0 -1
- package/lib/commonjs/styleguideComponents/resolveAssetSource.js +0 -11
- package/lib/commonjs/styleguideComponents/resolveAssetSource.js.map +0 -1
- package/lib/module/icons/Left.js +0 -38
- package/lib/module/icons/Left.js.map +0 -1
- package/lib/module/icons/Right.js +0 -38
- package/lib/module/icons/Right.js.map +0 -1
- package/lib/module/styleguideComponents/ArgumentsRenderer.js +0 -100
- package/lib/module/styleguideComponents/ArgumentsRenderer.js.map +0 -1
- package/lib/module/styleguideComponents/BottomSheet.js +0 -25
- package/lib/module/styleguideComponents/BottomSheet.js.map +0 -1
- package/lib/module/styleguideComponents/JsDoc.js +0 -87
- package/lib/module/styleguideComponents/JsDoc.js.map +0 -1
- package/lib/module/styleguideComponents/Markdown.js +0 -12
- package/lib/module/styleguideComponents/Markdown.js.map +0 -1
- package/lib/module/styleguideComponents/PathlineRenderer.js +0 -92
- package/lib/module/styleguideComponents/PathlineRenderer.js.map +0 -1
- package/lib/module/styleguideComponents/PropsRenderer.js +0 -267
- package/lib/module/styleguideComponents/PropsRenderer.js.map +0 -1
- package/lib/module/styleguideComponents/Reanimated.js +0 -2
- package/lib/module/styleguideComponents/Reanimated.js.map +0 -1
- package/lib/module/styleguideComponents/Wrapper.js +0 -29
- package/lib/module/styleguideComponents/Wrapper.js.map +0 -1
- package/lib/module/styleguideComponents/register-react-native-web.js +0 -44
- package/lib/module/styleguideComponents/register-react-native-web.js.map +0 -1
- package/lib/module/styleguideComponents/resolveAssetSource.js +0 -11
- package/lib/module/styleguideComponents/resolveAssetSource.js.map +0 -1
- package/lib/typescript/icons/Right.d.ts +0 -3
- package/src/icons/Left.tsx +0 -12
- package/src/icons/Right.tsx +0 -12
- package/src/styleguideComponents/ArgumentsRenderer.tsx +0 -60
- package/src/styleguideComponents/BottomSheet.tsx +0 -3
- package/src/styleguideComponents/JsDoc.tsx +0 -45
- package/src/styleguideComponents/Markdown.tsx +0 -1
- package/src/styleguideComponents/PathlineRenderer.tsx +0 -45
- package/src/styleguideComponents/PropsRenderer.tsx +0 -141
- package/src/styleguideComponents/Reanimated.tsx +0 -0
- package/src/styleguideComponents/Wrapper.tsx +0 -7
- package/src/styleguideComponents/register-react-native-web.js +0 -13
- package/src/styleguideComponents/resolveAssetSource.js +0 -2
package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["buildGalleryOfThreeImages.ts"],"names":["moveToFront","array","item","index","indexOf","newArray","splice","unshift","buildGalleryOfThreeImages","images","sizeConfig","reduce","acc","image","aspectRatio","o","landscapeImage","landscapeImageAspectRatio","portraitImage","portraitImageAspectRatio","grid","invertedDirections"],"mappings":";;;;;;;;;;;AAEA;;AAKA;;AAGA,SAASA,WAAT,CAAwBC,KAAxB,EAAoCC,IAApC,EAAkD;AAChD,MAAMC,KAAK,GAAGF,KAAK,CAACG,OAAN,CAAcF,IAAd,CAAd;;AACA,MAAIC,KAAK,KAAK,CAAC,CAAf,EAAkB;AAChB,WAAOF,KAAP;AACD;;AACD,MAAMI,QAAQ,uCAAOJ,KAAP,CAAd;AACAI,EAAAA,QAAQ,CAACC,MAAT,CAAgBH,KAAhB,EAAuB,CAAvB;AACAE,EAAAA,QAAQ,CAACE,OAAT,CAAiBL,IAAjB;AACA,SAAOG,QAAP;AACD;;AAEM,SAASG,yBAAT,OAQyB;AAAA,MAL9BC,MAK8B,QAL9BA,MAK8B;AAAA,MAJ9BC,UAI8B,QAJ9BA,UAI8B;;AAE9B,uBACED,MAAM,CAACE,MAAP,CACE,UAACC,GAAD,EAAMC,KAAN,EAAgB;AACd,QAAMC,WAAW,GAAG,oCAAeD,KAAf,CAApB;AACA,QAAME,CAAC,iCAAQH,GAAR,CAAP;;AAIA,QAAIE,WAAW,GAAG,CAAlB,EAAqB;AACnB,UAAI,CAACC,CAAC,CAACC,cAAH,IAAqBF,WAAW,GAAGC,CAAC,CAACE,yBAAzC,EAAoE;AAClEF,QAAAA,CAAC,CAACC,cAAF,GAAmBH,KAAnB;AACAE,QAAAA,CAAC,CAACE,yBAAF,GAA8BH,WAA9B;AACD;AACF,KALD,MAKO;AACL,UAAI,CAACC,CAAC,CAACG,aAAH,IAAoBJ,WAAW,GAAGC,CAAC,CAACI,wBAAxC,EAAkE;AAChEJ,QAAAA,CAAC,CAACG,aAAF,GAAkBL,KAAlB;AACAE,QAAAA,CAAC,CAACI,wBAAF,GAA6BL,WAA7B;AACD;AACF;;AAED,WAAOC,CAAP;AACD,GApBH,EAqBE;AACEE,IAAAA,yBAAyB,EAAE,CAD7B;AAEEE,IAAAA,wBAAwB,EAAE;AAF5B,GArBF,CADF;AAAA,MAAQH,cAAR,kBAAQA,cAAR;AAAA,MAAwBC,yBAAxB,kBAAwBA,yBAAxB;AAAA,MAAmDC,aAAnD,kBAAmDA,aAAnD;AAAA,MAAkEC,wBAAlE,kBAAkEA,wBAAlE;;AAkCA,MAAIF,yBAAyB,GAAG,IAAIE,wBAApC,EAA8D;AAU5D,WAAO,4CAAmB;AACxBC,MAAAA,IAAI,EAAE,CAAC,CAAC,CAAD,CAAD,EAAM,CAAC,CAAD,EAAI,CAAJ,CAAN,CADkB;AAExBX,MAAAA,MAAM,EAAEO,cAAc,GAAGhB,WAAW,CAACS,MAAD,EAASO,cAAT,CAAd,GAAyCP,MAFvC;AAGxBY,MAAAA,kBAAkB,EAAE,IAHI;AAIxBX,MAAAA,UAAU,EAAVA;AAJwB,KAAnB,CAAP;AAMD,GAhBD,MAgBO;AAUL,WAAO,4CAAmB;AACxBU,MAAAA,IAAI,EAAE,CAAC,CAAC,CAAD,CAAD,EAAM,CAAC,CAAD,EAAI,CAAJ,CAAN,CADkB;AAExBX,MAAAA,MAAM,EAAES,aAAa,GAAGlB,WAAW,CAACS,MAAD,EAASS,aAAT,CAAd,GAAwCT,MAFrC;AAGxBY,MAAAA,kBAAkB,EAAE,KAHI;AAIxBX,MAAAA,UAAU,EAAVA;AAJwB,KAAnB,CAAP;AAMD;AACF","sourcesContent":["import type { Attachment } from 'stream-chat';\n\nimport { buildThumbnailGrid } from './buildThumbnailGrid';\n\nimport type { GallerySizeAndThumbnailGrid, GallerySizeConfig } from './types';\n\nimport type {
|
|
1
|
+
{"version":3,"sources":["buildGalleryOfThreeImages.ts"],"names":["moveToFront","array","item","index","indexOf","newArray","splice","unshift","buildGalleryOfThreeImages","images","sizeConfig","reduce","acc","image","aspectRatio","o","landscapeImage","landscapeImageAspectRatio","portraitImage","portraitImageAspectRatio","grid","invertedDirections"],"mappings":";;;;;;;;;;;AAEA;;AAKA;;AAGA,SAASA,WAAT,CAAwBC,KAAxB,EAAoCC,IAApC,EAAkD;AAChD,MAAMC,KAAK,GAAGF,KAAK,CAACG,OAAN,CAAcF,IAAd,CAAd;;AACA,MAAIC,KAAK,KAAK,CAAC,CAAf,EAAkB;AAChB,WAAOF,KAAP;AACD;;AACD,MAAMI,QAAQ,uCAAOJ,KAAP,CAAd;AACAI,EAAAA,QAAQ,CAACC,MAAT,CAAgBH,KAAhB,EAAuB,CAAvB;AACAE,EAAAA,QAAQ,CAACE,OAAT,CAAiBL,IAAjB;AACA,SAAOG,QAAP;AACD;;AAEM,SAASG,yBAAT,OAQyB;AAAA,MAL9BC,MAK8B,QAL9BA,MAK8B;AAAA,MAJ9BC,UAI8B,QAJ9BA,UAI8B;;AAE9B,uBACED,MAAM,CAACE,MAAP,CACE,UAACC,GAAD,EAAMC,KAAN,EAAgB;AACd,QAAMC,WAAW,GAAG,oCAAeD,KAAf,CAApB;AACA,QAAME,CAAC,iCAAQH,GAAR,CAAP;;AAIA,QAAIE,WAAW,GAAG,CAAlB,EAAqB;AACnB,UAAI,CAACC,CAAC,CAACC,cAAH,IAAqBF,WAAW,GAAGC,CAAC,CAACE,yBAAzC,EAAoE;AAClEF,QAAAA,CAAC,CAACC,cAAF,GAAmBH,KAAnB;AACAE,QAAAA,CAAC,CAACE,yBAAF,GAA8BH,WAA9B;AACD;AACF,KALD,MAKO;AACL,UAAI,CAACC,CAAC,CAACG,aAAH,IAAoBJ,WAAW,GAAGC,CAAC,CAACI,wBAAxC,EAAkE;AAChEJ,QAAAA,CAAC,CAACG,aAAF,GAAkBL,KAAlB;AACAE,QAAAA,CAAC,CAACI,wBAAF,GAA6BL,WAA7B;AACD;AACF;;AAED,WAAOC,CAAP;AACD,GApBH,EAqBE;AACEE,IAAAA,yBAAyB,EAAE,CAD7B;AAEEE,IAAAA,wBAAwB,EAAE;AAF5B,GArBF,CADF;AAAA,MAAQH,cAAR,kBAAQA,cAAR;AAAA,MAAwBC,yBAAxB,kBAAwBA,yBAAxB;AAAA,MAAmDC,aAAnD,kBAAmDA,aAAnD;AAAA,MAAkEC,wBAAlE,kBAAkEA,wBAAlE;;AAkCA,MAAIF,yBAAyB,GAAG,IAAIE,wBAApC,EAA8D;AAU5D,WAAO,4CAAmB;AACxBC,MAAAA,IAAI,EAAE,CAAC,CAAC,CAAD,CAAD,EAAM,CAAC,CAAD,EAAI,CAAJ,CAAN,CADkB;AAExBX,MAAAA,MAAM,EAAEO,cAAc,GAAGhB,WAAW,CAACS,MAAD,EAASO,cAAT,CAAd,GAAyCP,MAFvC;AAGxBY,MAAAA,kBAAkB,EAAE,IAHI;AAIxBX,MAAAA,UAAU,EAAVA;AAJwB,KAAnB,CAAP;AAMD,GAhBD,MAgBO;AAUL,WAAO,4CAAmB;AACxBU,MAAAA,IAAI,EAAE,CAAC,CAAC,CAAD,CAAD,EAAM,CAAC,CAAD,EAAI,CAAJ,CAAN,CADkB;AAExBX,MAAAA,MAAM,EAAES,aAAa,GAAGlB,WAAW,CAACS,MAAD,EAASS,aAAT,CAAd,GAAwCT,MAFrC;AAGxBY,MAAAA,kBAAkB,EAAE,KAHI;AAIxBX,MAAAA,UAAU,EAAVA;AAJwB,KAAnB,CAAP;AAMD;AACF","sourcesContent":["import type { Attachment } from 'stream-chat';\n\nimport { buildThumbnailGrid } from './buildThumbnailGrid';\n\nimport type { GallerySizeAndThumbnailGrid, GallerySizeConfig } from './types';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\nimport { getAspectRatio } from '../getAspectRatio';\n\n/** function to move item to the front of the array */\nfunction moveToFront<T>(array: T[], item: T): T[] {\n const index = array.indexOf(item);\n if (index === -1) {\n return array;\n }\n const newArray = [...array];\n newArray.splice(index, 1);\n newArray.unshift(item);\n return newArray;\n}\n\nexport function buildGalleryOfThreeImages<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n images,\n sizeConfig,\n}: {\n images: Attachment<StreamChatGenerics>[];\n sizeConfig: GallerySizeConfig;\n}): GallerySizeAndThumbnailGrid {\n // Find the most ladscape and most portrait image.\n const { landscapeImage, landscapeImageAspectRatio, portraitImage, portraitImageAspectRatio } =\n images.reduce(\n (acc, image) => {\n const aspectRatio = getAspectRatio(image);\n const o = { ...acc };\n\n // Following nested if conditions can be combined, but have been kept\n // separate intentionally for the sake of readability.\n if (aspectRatio > 1) {\n if (!o.landscapeImage || aspectRatio > o.landscapeImageAspectRatio) {\n o.landscapeImage = image;\n o.landscapeImageAspectRatio = aspectRatio;\n }\n } else {\n if (!o.portraitImage || aspectRatio < o.portraitImageAspectRatio) {\n o.portraitImage = image;\n o.portraitImageAspectRatio = aspectRatio;\n }\n }\n\n return o;\n },\n {\n landscapeImageAspectRatio: 1,\n portraitImageAspectRatio: 1,\n } as {\n landscapeImage: Attachment<StreamChatGenerics>;\n landscapeImageAspectRatio: number;\n portraitImage: Attachment<StreamChatGenerics>;\n portraitImageAspectRatio: number;\n },\n );\n\n // Check weather landscape image gets preference or portrait, by comparing aspect ratio.\n if (landscapeImageAspectRatio > 1 / portraitImageAspectRatio) {\n /**\n * -----------\n * | |\n * | |\n * |---------|\n * | | |\n * | | |\n * -----------\n */\n return buildThumbnailGrid({\n grid: [[1], [1, 1]],\n images: landscapeImage ? moveToFront(images, landscapeImage) : images,\n invertedDirections: true,\n sizeConfig,\n });\n } else {\n /**\n * -----------\n * | | |\n * | | |\n * | |----|\n * | | |\n * | | |\n * -----------\n */\n return buildThumbnailGrid({\n grid: [[1], [1, 1]],\n images: portraitImage ? moveToFront(images, portraitImage) : images,\n invertedDirections: false,\n sizeConfig,\n });\n }\n}\n"]}
|
package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["buildGalleryOfTwoImages.ts"],"names":["buildGalleryOfTwoImages","images","sizeConfig","aspectRatio1","aspectRatio2","isLandscape1","isLandscape2","grid","invertedDirections","reverse"],"mappings":";;;;;AAEA;;AAKA;;AAEO,SAASA,uBAAT,
|
|
1
|
+
{"version":3,"sources":["buildGalleryOfTwoImages.ts"],"names":["buildGalleryOfTwoImages","images","sizeConfig","aspectRatio1","aspectRatio2","isLandscape1","isLandscape2","grid","invertedDirections","reverse"],"mappings":";;;;;AAEA;;AAKA;;AAEO,SAASA,uBAAT,OAQyB;AAAA,MAL9BC,MAK8B,QAL9BA,MAK8B;AAAA,MAJ9BC,UAI8B,QAJ9BA,UAI8B;AAC9B,MAAMC,YAAY,GAAG,oCAAeF,MAAM,CAAC,CAAD,CAArB,CAArB;AACA,MAAMG,YAAY,GAAG,oCAAeH,MAAM,CAAC,CAAD,CAArB,CAArB;AAGA,MAAMI,YAAY,GAAGF,YAAY,GAAG,CAApC;AACA,MAAMG,YAAY,GAAGF,YAAY,GAAG,CAApC;;AAGA,MAAIC,YAAY,IAAIC,YAApB,EAAkC;AAQhC,WAAO,4CAAmB;AACxBC,MAAAA,IAAI,EAAE,CAAC,CAAC,CAAD,CAAD,EAAM,CAAC,CAAD,CAAN,CADkB;AAExBN,MAAAA,MAAM,EAANA,MAFwB;AAGxBO,MAAAA,kBAAkB,EAAE,IAHI;AAIxBN,MAAAA,UAAU,EAAVA;AAJwB,KAAnB,CAAP;AAMD;;AAED,MAAI,CAACG,YAAD,IAAiB,CAACC,YAAtB,EAAoC;AASlC,WAAO,4CAAmB;AACxBC,MAAAA,IAAI,EAAE,CAAC,CAAC,CAAD,EAAI,CAAJ,CAAD,CADkB;AAExBN,MAAAA,MAAM,EAANA,MAFwB;AAGxBO,MAAAA,kBAAkB,EAAE,IAHI;AAIxBN,MAAAA,UAAU,EAAVA;AAJwB,KAAnB,CAAP;AAMD;;AAED,SAAO,4CAAmB;AACxBK,IAAAA,IAAI,EAAE,CAAC,CAAC,CAAD,EAAI,CAAJ,CAAD,CADkB;AAExBN,IAAAA,MAAM,EAAEI,YAAY,GAAGJ,MAAH,GAAYA,MAAM,CAACQ,OAAP,EAFR;AAGxBD,IAAAA,kBAAkB,EAAE,IAHI;AAIxBN,IAAAA,UAAU,EAAVA;AAJwB,GAAnB,CAAP;AAMD","sourcesContent":["import type { Attachment } from 'stream-chat';\n\nimport { buildThumbnailGrid } from './buildThumbnailGrid';\n\nimport type { GallerySizeAndThumbnailGrid, GallerySizeConfig } from './types';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\nimport { getAspectRatio } from '../getAspectRatio';\n\nexport function buildGalleryOfTwoImages<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n images,\n sizeConfig,\n}: {\n images: Attachment<StreamChatGenerics>[];\n sizeConfig: GallerySizeConfig;\n}): GallerySizeAndThumbnailGrid {\n const aspectRatio1 = getAspectRatio(images[0]);\n const aspectRatio2 = getAspectRatio(images[1]);\n\n // check if one image is landscape and other is portrait or vice versa\n const isLandscape1 = aspectRatio1 > 1;\n const isLandscape2 = aspectRatio2 > 1;\n\n // Both the images are landscape\n if (isLandscape1 && isLandscape2) {\n /**\n * ----------\n * | |\n * ----------\n * | |\n * ----------\n */\n return buildThumbnailGrid({\n grid: [[1], [1]],\n images,\n invertedDirections: true,\n sizeConfig,\n });\n }\n\n if (!isLandscape1 && !isLandscape2) {\n /**\n * -----------\n * | | |\n * | | |\n * | | |\n * | | |\n * -----------\n */\n return buildThumbnailGrid({\n grid: [[1, 1]],\n images,\n invertedDirections: true,\n sizeConfig,\n });\n }\n\n return buildThumbnailGrid({\n grid: [[2, 1]],\n images: isLandscape1 ? images : images.reverse(),\n invertedDirections: true,\n sizeConfig,\n });\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["buildThumbnail.ts"],"names":["buildThumbnail","height","image","resizeMode","width","originalImageHeight","original_height","originalImageWidth","original_width","shouldResize","imageUrl","url"],"mappings":";;;;;AAQA;;AACA;;AAEO,SAASA,cAAT,
|
|
1
|
+
{"version":3,"sources":["buildThumbnail.ts"],"names":["buildThumbnail","height","image","resizeMode","width","originalImageHeight","original_height","originalImageWidth","original_width","shouldResize","imageUrl","url"],"mappings":";;;;;AAQA;;AACA;;AAEO,SAASA,cAAT,OAYO;AAAA,MATZC,MASY,QATZA,MASY;AAAA,MARZC,KAQY,QARZA,KAQY;AAAA,MAPZC,UAOY,QAPZA,UAOY;AAAA,MANZC,KAMY,QANZA,KAMY;AACZ,MAAyBC,mBAAzB,GAAqFH,KAArF,CAAQI,eAAR;AAAA,MAA8DC,kBAA9D,GAAqFL,KAArF,CAA8CM,cAA9C;AAGA,MAAMC,YAAY,GAChBJ,mBAAmB,IAAIE,kBAAvB,GACIF,mBAAmB,GAAGE,kBAAtB,GAA2CN,MAAM,GAAGG,KADxD,GAEI,IAHN;AAIA,MAAMM,QAAQ,GAAG,sDAAwBR,KAAxB,CAAjB;AAEA,SAAO;AACLD,IAAAA,MAAM,EAANA,MADK;AAELE,IAAAA,UAAU,EAAEA,UAAU,GAClBA,UADkB,GAEhBD,KAAK,CAACI,eAAN,IAAyBJ,KAAK,CAACM,cAA/B,GAAgD,SAAhD,GAA4D,OAJ7D;AAKLG,IAAAA,GAAG,EAAEF,YAAY,GACb,4CAAmB;AACjBR,MAAAA,MAAM,EAANA,MADiB;AAEjBU,MAAAA,GAAG,EAAED,QAFY;AAGjBN,MAAAA,KAAK,EAALA;AAHiB,KAAnB,CADa,GAMbM,QAXC;AAYLN,IAAAA,KAAK,EAALA;AAZK,GAAP;AAcD","sourcesContent":["import type { ImageResizeMode } from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport type { Thumbnail } from './types';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\n\nimport { getResizedImageUrl } from '../../../../utils/getResizedImageUrl';\nimport { getUrlOfImageAttachment } from '../../../../utils/getUrlOfImageAttachment';\n\nexport function buildThumbnail<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n height,\n image,\n resizeMode,\n width,\n}: {\n height: number;\n image: Attachment<StreamChatGenerics>;\n width: number;\n resizeMode?: ImageResizeMode;\n}): Thumbnail {\n const { original_height: originalImageHeight, original_width: originalImageWidth } = image;\n\n // Only resize if the original image is larger than the thumbnail container size.\n const shouldResize =\n originalImageHeight && originalImageWidth\n ? originalImageHeight + originalImageWidth > height + width\n : true;\n const imageUrl = getUrlOfImageAttachment(image) as string;\n\n return {\n height,\n resizeMode: resizeMode\n ? resizeMode\n : ((image.original_height && image.original_width ? 'contain' : 'cover') as ImageResizeMode),\n url: shouldResize\n ? getResizedImageUrl({\n height,\n url: imageUrl,\n width,\n })\n : imageUrl,\n width,\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["buildThumbnailGrid.ts"],"names":["buildThumbnailGrid","grid","images","invertedDirections","sizeConfig","gridHeight","gridWidth","imageIndex","thumbnailGrid","numOfColumns","length","forEach","rows","colIndex","totalFlexValue","reduce","acc","curr","flexValue","tHeight","tWidth","currentImage","thumbnail","height","image","resizeMode","width","push"],"mappings":";;;;;AAEA;;AAqIO,SAASA,kBAAT,
|
|
1
|
+
{"version":3,"sources":["buildThumbnailGrid.ts"],"names":["buildThumbnailGrid","grid","images","invertedDirections","sizeConfig","gridHeight","gridWidth","imageIndex","thumbnailGrid","numOfColumns","length","forEach","rows","colIndex","totalFlexValue","reduce","acc","curr","flexValue","tHeight","tWidth","currentImage","thumbnail","height","image","resizeMode","width","push"],"mappings":";;;;;AAEA;;AAqIO,SAASA,kBAAT,OAYyB;AAAA,MAT9BC,IAS8B,QAT9BA,IAS8B;AAAA,MAR9BC,MAQ8B,QAR9BA,MAQ8B;AAAA,mCAP9BC,kBAO8B;AAAA,MAP9BA,kBAO8B,sCAPT,KAOS;AAAA,MAN9BC,UAM8B,QAN9BA,UAM8B;AAC9B,MAAQC,UAAR,GAAkCD,UAAlC,CAAQC,UAAR;AAAA,MAAoBC,SAApB,GAAkCF,UAAlC,CAAoBE,SAApB;AAEA,MAAIC,UAAU,GAAG,CAAjB;AACA,MAAMC,aAA4B,GAAG,EAArC;AACA,MAAMC,YAAY,GAAGR,IAAI,CAACS,MAA1B;AACAT,EAAAA,IAAI,CAACU,OAAL,CAAa,UAACC,IAAD,EAAOC,QAAP,EAAoB;AAC/B,QAAMC,cAAc,GAAGF,IAAI,CAACG,MAAL,CAAY,UAACC,GAAD,EAAMC,IAAN;AAAA,aAAeD,GAAG,GAAGC,IAArB;AAAA,KAAZ,EAAuC,CAAvC,CAAvB;AAEAL,IAAAA,IAAI,CAACD,OAAL,CAAa,UAACO,SAAD,EAAe;AAC1B,UAAMC,OAAO,GAAGhB,kBAAkB,GAC9BE,UAAU,GAAGI,YADiB,GAE9BJ,UAAU,IAAIa,SAAS,GAAGJ,cAAhB,CAFd;AAIA,UAAMM,MAAM,GAAGjB,kBAAkB,GAC7BG,SAAS,IAAIY,SAAS,GAAGJ,cAAhB,CADoB,GAE7BR,SAAS,GAAGG,YAFhB;AAIA,UAAMY,YAAY,GAAGnB,MAAM,CAACK,UAAD,CAA3B;AACA,UAAMe,SAAS,GAAG,oCAAe;AAC/BC,QAAAA,MAAM,EAAEJ,OADuB;AAE/BK,QAAAA,KAAK,EAAEH,YAFwB;AAG/BI,QAAAA,UAAU,EAAE,OAHmB;AAI/BC,QAAAA,KAAK,EAAEN;AAJwB,OAAf,CAAlB;;AAOA,UAAI,CAACZ,aAAa,CAACK,QAAD,CAAlB,EAA8B;AAC5BL,QAAAA,aAAa,CAACK,QAAD,CAAb,GAA0B,EAA1B;AACD;;AAEDL,MAAAA,aAAa,CAACK,QAAD,CAAb,CAAwBc,IAAxB,CAA6BL,SAA7B;AACAf,MAAAA,UAAU;AACX,KAvBD;AAwBD,GA3BD;AA4BA,SAAO;AACLgB,IAAAA,MAAM,EAAElB,UADH;AAELF,IAAAA,kBAAkB,EAAlBA,kBAFK;AAGLK,IAAAA,aAAa,EAAbA,aAHK;AAILkB,IAAAA,KAAK,EAAEpB;AAJF,GAAP;AAMD","sourcesContent":["import type { Attachment } from 'stream-chat';\n\nimport { buildThumbnail } from './buildThumbnail';\nimport type { GallerySizeAndThumbnailGrid, GallerySizeConfig, ThumbnailGrid } from './types';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\n\n/**\n * Builds a grid of thumbnail images from image attachments.\n * This function take a object parameter with following properties:\n *\n * @params\n *\n * - {number[][]} grid - Grid pattern of the gallery. Each numeric value in the array represents the flex value of corresponding image in grid.\n * - {Attachment[]} images - Array of image attachments.\n * - {GallerySizeConfig} sizeConfig - Theme config for the gallery.\n * - {boolean} invertedDirections - Whether to invert the direction of the grid. By default grid is rendered with column as primary direction and row as secondary direction.\n *\n * @usage\n *\n * ```\n * const { thumbnailGrid, invertedDirection } = buildThumbnailGrid({\n * grid: [[1], [1]],\n * images: [image1, image2],\n * sizeConfig: {\n * gridHeight: 200,\n * gridWidth: 200,\n * maxHeight: 200,\n * maxWidth: 200,\n * minHeight: 200,\n * minWidth: 200,\n * },\n * })\n *\n * Rendering logic on UI:\n *\n * ```\n * <View style={{ flexDirection: invertedDirection ? 'row' : 'column }}>\n * {\n * thumbnailGrid.forEach(rows => {\n * return (\n * <View style={{ flexDirection: invertedDirection ? 'column' : 'row' }}>\n * {\n * rows.forEach(thumbnail => (\n * <Image\n * source={{ uri: thumbnail.url }}\n * resizeMode={thumbnail.resizeMode}\n * width={thumbnail.width}\n * height={thumbnail.height}\n * />\n * ))}\n * </View>\n * )});\n * }\n * </View>\n * ```\n *\n * Lets look at different examples of grid and invertedDirections param:\n *\n * EXAMPLE 1:\n *\n * ```\n * {\n * grid: [[2, 1], [2, 1]]\n * invertedDirections: false\n * }\n * ```\n *\n * Resulting thumbnail grid on rendered UI:\n *\n * __________________\n * | | |\n * | | |\n * |------------------|\n * | | |\n * | | |\n * ------------------\n *\n * EXAMPLE 2:\n *\n * ```\n * {\n * grid: [[2, 1], [2, 1]]\n * invertedDirections: true\n * }\n * ```\n * Resulting thumbnail grid on rendered UI:\n * __________________\n * | | |\n * | | |\n * | | |\n * | | |\n * |------------------|\n * | | |\n * | | |\n * ------------------\n *\n * EXAMPLE 3:\n *\n * ```\n * {\n * grid: [[2, 1]]\n * invertedDirections: false\n * }\n * ```\n * Resulting thumbnail grid on rendered UI:\n * __________________\n * | |\n * | |\n * | |\n * | |\n * |------------------|\n * | |\n * | |\n * ------------------\n *\n * EXAMPLE 4:\n *\n * ```\n * {\n * grid: [[2, 1]]\n * invertedDirections: true\n * }\n * ```\n * Resulting thumbnail grid on rendered UI:\n * __________________\n * | | |\n * | | |\n * | | |\n * | | |\n * | | |\n * ------------------\n *\n * @return {GallerySizeAndThumbnailGrid}\n */\nexport function buildThumbnailGrid<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n grid,\n images,\n invertedDirections = false,\n sizeConfig,\n}: {\n grid: number[][];\n images: Attachment<StreamChatGenerics>[];\n invertedDirections: boolean;\n sizeConfig: GallerySizeConfig;\n}): GallerySizeAndThumbnailGrid {\n const { gridHeight, gridWidth } = sizeConfig;\n\n let imageIndex = 0;\n const thumbnailGrid: ThumbnailGrid = [];\n const numOfColumns = grid.length;\n grid.forEach((rows, colIndex) => {\n const totalFlexValue = rows.reduce((acc, curr) => acc + curr, 0);\n\n rows.forEach((flexValue) => {\n const tHeight = invertedDirections\n ? gridHeight / numOfColumns\n : gridHeight * (flexValue / totalFlexValue);\n\n const tWidth = invertedDirections\n ? gridWidth * (flexValue / totalFlexValue)\n : gridWidth / numOfColumns;\n\n const currentImage = images[imageIndex];\n const thumbnail = buildThumbnail({\n height: tHeight,\n image: currentImage,\n resizeMode: 'cover',\n width: tWidth,\n });\n\n if (!thumbnailGrid[colIndex]) {\n thumbnailGrid[colIndex] = [];\n }\n\n thumbnailGrid[colIndex].push(thumbnail);\n imageIndex++;\n });\n });\n return {\n height: gridHeight,\n invertedDirections,\n thumbnailGrid,\n width: gridWidth,\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["getAspectRatio.ts"],"names":["getAspectRatio","image","type","Error","original_width","original_height"],"mappings":";;;;;AAUO,SAASA,cAAT,
|
|
1
|
+
{"version":3,"sources":["getAspectRatio.ts"],"names":["getAspectRatio","image","type","Error","original_width","original_height"],"mappings":";;;;;AAUO,SAASA,cAAT,CAELC,KAFK,EAEkC;AACvC,MAAIA,KAAK,CAACC,IAAN,KAAe,OAAnB,EAA4B;AAC1B,UAAM,IAAIC,KAAJ,CAAU,4DAAV,CAAN;AACD;;AAED,MAAI,CAACF,KAAK,CAACG,cAAP,IAAyB,CAACH,KAAK,CAACI,eAApC,EAAqD,OAAO,CAAP;AAErD,SAAOJ,KAAK,CAACG,cAAN,GAAuBH,KAAK,CAACI,eAApC;AACD","sourcesContent":["import type { Attachment } from 'stream-chat';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\n/**\n * Returns the aspect ratio of an image attachment.\n *\n * @param image Image attachment.\n * @returns {number}\n */\nexport function getAspectRatio<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(image: Attachment<StreamChatGenerics>) {\n if (image.type !== 'image') {\n throw new Error('getAspectRatio() can only be called on an image attachment');\n }\n\n if (!image.original_width || !image.original_height) return 1;\n\n return image.original_width / image.original_height;\n}\n"]}
|
|
@@ -513,7 +513,7 @@ var AutoCompleteInputWithContext = function AutoCompleteInputWithContext(props)
|
|
|
513
513
|
__self: _this,
|
|
514
514
|
__source: {
|
|
515
515
|
fileName: _jsxFileName,
|
|
516
|
-
lineNumber:
|
|
516
|
+
lineNumber: 391,
|
|
517
517
|
columnNumber: 5
|
|
518
518
|
}
|
|
519
519
|
}));
|
|
@@ -591,7 +591,7 @@ var AutoCompleteInput = function AutoCompleteInput(props) {
|
|
|
591
591
|
__self: _this,
|
|
592
592
|
__source: {
|
|
593
593
|
fileName: _jsxFileName,
|
|
594
|
-
lineNumber:
|
|
594
|
+
lineNumber: 499,
|
|
595
595
|
columnNumber: 5
|
|
596
596
|
}
|
|
597
597
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["AutoCompleteInput.tsx"],"names":["styles","StyleSheet","create","inputBox","flex","fontSize","includeFontPadding","padding","paddingTop","textAlignVertical","computeCaretPosition","token","startOfTokenPosition","length","isCommand","text","split","AutoCompleteInputWithContext","props","additionalTextInputProps","autoCompleteSuggestionsLimit","closeSuggestions","cooldownActive","giphyActive","giphyEnabled","maxMessageLength","mentionAllAppUsersEnabled","mentionAllAppUsersQuery","numberOfLines","onChange","openSuggestions","setGiphyActive","setInputBoxRef","setShowMoreOptions","t","triggerSettings","updateSuggestionsContext","updateSuggestions","isTrackingStarted","selectionEnd","textHeight","setTextHeight","theme","colors","black","grey","messageInput","handleChange","newText","fromUpdate","handleSuggestionsThrottled","startTracking","trigger","triggerSetting","current","type","stopTracking","query","dataProvider","data","queryCallback","onSelect","item","onSelectSuggestion","queryText","limit","handleSelectionChange","end","nativeEvent","selection","newTokenString","output","textToModify","slice","lastIndexOf","newCaretPosition","modifiedText","substring","replace","startsWith","callback","handleCommand","actualToken","trim","handleMentions","tokenMatch","lastToken","handleMentionsTrigger","Object","keys","find","handleEmojis","handleEmojisTrigger","handleSuggestions","test","mentionTokenMatch","match","emojiTokenMatch","placeholderText","leading","height","contentSize","color","maxHeight","event","onBlur","areEqual","prevProps","nextProps","prevCooldownActive","prevGiphyActive","prevT","prevText","nextCooldownActive","nextGiphyActive","nextT","nextText","giphyActiveEqual","tEqual","textEqual","cooldownActiveEqual","MemoizedAutoCompleteInput","React","memo","AutoCompleteInput","displayName"],"mappings":"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","sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { StyleSheet, TextInput, TextInputProps } from 'react-native';\n\nimport throttle from 'lodash/throttle';\n\nimport {\n ChannelContextValue,\n useChannelContext,\n} from '../../contexts/channelContext/ChannelContext';\nimport {\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n isSuggestionCommand,\n isSuggestionEmoji,\n isSuggestionUser,\n Suggestion,\n SuggestionCommand,\n SuggestionsContextValue,\n SuggestionUser,\n useSuggestionsContext,\n} from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport {\n TranslationContextValue,\n useTranslationContext,\n} from '../../contexts/translationContext/TranslationContext';\nimport type { Emoji } from '../../emoji-data/compiled';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\nimport { isCommandTrigger, isEmojiTrigger, isMentionTrigger } from '../../utils/utils';\n\nimport type { Trigger } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n inputBox: {\n flex: 1,\n fontSize: 14,\n includeFontPadding: false, // for android vertical text centering\n padding: 0, // removal of default text input padding on android\n paddingTop: 0, // removal of iOS top padding for weird centering\n textAlignVertical: 'center', // for android vertical text centering\n },\n});\n\nconst computeCaretPosition = (token: string, startOfTokenPosition: number) =>\n startOfTokenPosition + token.length;\n\nconst isCommand = (text: string) => text[0] === '/' && text.split(' ').length <= 1;\n\ntype AutoCompleteInputPropsWithContext<\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<ChannelContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'giphyEnabled'> &\n Pick<\n MessageInputContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n | 'additionalTextInputProps'\n | 'autoCompleteSuggestionsLimit'\n | 'giphyActive'\n | 'maxMessageLength'\n | 'mentionAllAppUsersEnabled'\n | 'mentionAllAppUsersQuery'\n | 'numberOfLines'\n | 'onChange'\n | 'setGiphyActive'\n | 'setInputBoxRef'\n | 'setShowMoreOptions'\n | 'text'\n | 'triggerSettings'\n > &\n Pick<\n SuggestionsContextValue<Co, Us>,\n 'closeSuggestions' | 'openSuggestions' | 'updateSuggestions'\n > &\n Pick<TranslationContextValue, 't'> & {\n /**\n * This is currently passed in from MessageInput to avoid rerenders\n * that would happen if we put this in the MessageInputContext\n */\n cooldownActive?: boolean;\n };\n\nexport type AutoCompleteInputProps<\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<AutoCompleteInputPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>>;\n\nconst AutoCompleteInputWithContext = <\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: AutoCompleteInputPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n additionalTextInputProps,\n autoCompleteSuggestionsLimit,\n closeSuggestions,\n cooldownActive = false,\n giphyActive,\n giphyEnabled,\n maxMessageLength,\n mentionAllAppUsersEnabled,\n mentionAllAppUsersQuery,\n numberOfLines,\n onChange,\n openSuggestions,\n setGiphyActive,\n setInputBoxRef,\n setShowMoreOptions,\n t,\n text,\n triggerSettings,\n updateSuggestions: updateSuggestionsContext,\n } = props;\n\n const isTrackingStarted = useRef(false);\n const selectionEnd = useRef(0);\n const [textHeight, setTextHeight] = useState(0);\n\n const {\n theme: {\n colors: { black, grey },\n messageInput: { inputBox },\n },\n } = useTheme();\n\n const handleChange = (newText: string, fromUpdate = false) => {\n if (!fromUpdate) {\n onChange(newText);\n } else {\n handleSuggestionsThrottled(newText);\n }\n };\n\n useEffect(() => {\n handleChange(text, true);\n }, [text]);\n\n const startTracking = (trigger: Trigger) => {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n isTrackingStarted.current = true;\n const { type } = triggerSetting;\n openSuggestions(type);\n }\n };\n\n const stopTracking = () => {\n isTrackingStarted.current = false;\n closeSuggestions();\n };\n\n const updateSuggestions = async ({\n query,\n trigger,\n }: {\n query: Suggestion['name'];\n trigger: Trigger;\n }) => {\n if (isMentionTrigger(trigger)) {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n await triggerSetting.dataProvider(\n query as SuggestionUser<Us>['name'],\n text,\n (data, queryCallback) => {\n if (query === queryCallback) {\n updateSuggestionsContext({\n data,\n onSelect: (item) => onSelectSuggestion({ item, trigger }),\n queryText: query,\n });\n }\n },\n {\n limit: autoCompleteSuggestionsLimit,\n mentionAllAppUsersEnabled,\n mentionAllAppUsersQuery,\n },\n );\n }\n } else if (isCommandTrigger(trigger)) {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n await triggerSetting.dataProvider(\n query as SuggestionCommand<Co>['name'],\n text,\n (data, queryCallback) => {\n if (query !== queryCallback) {\n return;\n }\n\n updateSuggestionsContext({\n data,\n onSelect: (item) => onSelectSuggestion({ item, trigger }),\n queryText: query,\n });\n },\n {\n limit: autoCompleteSuggestionsLimit,\n },\n );\n }\n } else {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n await triggerSetting.dataProvider(query as Emoji['name'], text, (data, queryCallback) => {\n if (query !== queryCallback) {\n return;\n }\n\n updateSuggestionsContext({\n data,\n onSelect: (item) => onSelectSuggestion({ item, trigger }),\n queryText: query,\n });\n });\n }\n }\n };\n\n const handleSelectionChange: TextInputProps['onSelectionChange'] = ({\n nativeEvent: {\n selection: { end },\n },\n }) => {\n selectionEnd.current = end;\n };\n\n const onSelectSuggestion = ({\n item,\n trigger,\n }: {\n item: Suggestion<Co, Us>;\n trigger: Trigger;\n }) => {\n if (!trigger || !triggerSettings[trigger]) {\n return;\n }\n\n let newTokenString = '';\n if (isCommandTrigger(trigger) && isSuggestionCommand(item)) {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n newTokenString = `${triggerSetting.output(item).text} `;\n }\n }\n if (isEmojiTrigger(trigger) && isSuggestionEmoji(item)) {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n newTokenString = `${triggerSetting.output(item).text} `;\n }\n }\n if (isMentionTrigger(trigger) && isSuggestionUser(item)) {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n newTokenString = `${triggerSetting.output(item).text} `;\n }\n }\n\n const textToModify = text.slice(0, selectionEnd.current);\n\n const startOfTokenPosition = textToModify.lastIndexOf(trigger, selectionEnd.current);\n\n const newCaretPosition = computeCaretPosition(newTokenString, startOfTokenPosition);\n\n const modifiedText = `${textToModify.substring(0, startOfTokenPosition)}${newTokenString}`;\n\n stopTracking();\n\n const newText = text.replace(textToModify, modifiedText);\n\n if (giphyEnabled && newText.startsWith('/giphy ')) {\n onChange(newText.slice(7)); // 7 because of '/giphy ' length\n setGiphyActive(true);\n } else {\n onChange(newText);\n }\n\n selectionEnd.current = newCaretPosition || 0;\n\n if (isMentionTrigger(trigger) && isSuggestionUser(item)) {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n triggerSetting.callback(item);\n }\n }\n };\n\n const handleCommand = async (text: string) => {\n if (!isCommand(text)) {\n return false;\n }\n\n if (!isTrackingStarted.current) {\n startTracking('/');\n }\n const actualToken = text.trim().slice(1);\n await updateSuggestions({ query: actualToken, trigger: '/' });\n\n return true;\n };\n\n const handleMentions = ({ tokenMatch }: { tokenMatch: RegExpMatchArray | null }) => {\n const lastToken = tokenMatch?.[tokenMatch.length - 1];\n const handleMentionsTrigger =\n (lastToken && Object.keys(triggerSettings).find((trigger) => trigger === lastToken[0])) ||\n null;\n\n /*\n if we lost the trigger token or there is no following character we want to close\n the autocomplete\n */\n if (!lastToken || lastToken.length <= 0) {\n stopTracking();\n return;\n }\n\n const actualToken = lastToken.slice(1);\n\n // if trigger is not configured step out from the function, otherwise proceed\n if (!handleMentionsTrigger) {\n return;\n }\n\n if (!isTrackingStarted.current) {\n startTracking('@');\n }\n\n updateSuggestions({ query: actualToken, trigger: '@' });\n };\n\n const handleEmojis = ({ tokenMatch }: { tokenMatch: RegExpMatchArray | null }) => {\n const lastToken = tokenMatch?.[tokenMatch.length - 1].trim();\n const handleEmojisTrigger =\n (lastToken && Object.keys(triggerSettings).find((trigger) => trigger === lastToken[0])) ||\n null;\n\n /*\n if we lost the trigger token or there is no following character we want to close\n the autocomplete\n */\n if (!lastToken || lastToken.length <= 0) {\n stopTracking();\n return;\n }\n\n const actualToken = lastToken.slice(1);\n\n // if trigger is not configured step out from the function, otherwise proceed\n if (!handleEmojisTrigger) {\n return;\n }\n\n if (!isTrackingStarted.current) {\n startTracking(':');\n }\n\n updateSuggestions({ query: actualToken, trigger: ':' });\n };\n\n const handleSuggestions = async (text: string) => {\n if (\n /\\s/.test(text.slice(selectionEnd.current - 1, selectionEnd.current)) &&\n isTrackingStarted.current\n ) {\n stopTracking();\n } else if (giphyEnabled && !(await handleCommand(text))) {\n const mentionTokenMatch = text\n .slice(0, selectionEnd.current)\n .match(/(?!^|\\W)?@[^\\s@]*\\s?[^\\s@]*$/g);\n if (mentionTokenMatch) {\n handleMentions({ tokenMatch: mentionTokenMatch });\n } else {\n const emojiTokenMatch = text\n .slice(0, selectionEnd.current)\n .match(/(?!^|\\W)?:\\w{2,}[^\\s]*\\s?[^\\s]*$/g);\n handleEmojis({ tokenMatch: emojiTokenMatch });\n }\n }\n };\n\n const placeholderText = giphyActive\n ? t('Search GIFs')\n : cooldownActive\n ? t('Slow mode ON')\n : t('Send a message');\n\n const handleSuggestionsThrottled = throttle(handleSuggestions, 100, {\n leading: false,\n });\n\n return (\n <TextInput\n maxLength={maxMessageLength}\n multiline\n onChangeText={(newText) => {\n if (giphyEnabled && newText.startsWith('/giphy ')) {\n handleChange(newText.slice(7)); // 7 because of '/giphy' length\n setGiphyActive(true);\n } else {\n handleChange(newText);\n }\n }}\n onContentSizeChange={({\n nativeEvent: {\n contentSize: { height },\n },\n }) => {\n if (!textHeight) {\n setTextHeight(height);\n }\n }}\n onSelectionChange={handleSelectionChange}\n placeholder={placeholderText}\n placeholderTextColor={grey}\n ref={setInputBoxRef}\n style={[\n styles.inputBox,\n {\n color: black,\n maxHeight: (textHeight || 17) * numberOfLines,\n },\n inputBox,\n ]}\n testID='auto-complete-text-input'\n value={text}\n {...additionalTextInputProps}\n onBlur={(event) => {\n if (additionalTextInputProps?.onBlur) {\n additionalTextInputProps?.onBlur(event);\n }\n setShowMoreOptions(true);\n }}\n />\n );\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: AutoCompleteInputPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: AutoCompleteInputPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n cooldownActive: prevCooldownActive,\n giphyActive: prevGiphyActive,\n t: prevT,\n text: prevText,\n } = prevProps;\n const {\n cooldownActive: nextCooldownActive,\n giphyActive: nextGiphyActive,\n t: nextT,\n text: nextText,\n } = nextProps;\n\n const giphyActiveEqual = prevGiphyActive === nextGiphyActive;\n if (!giphyActiveEqual) return false;\n\n const tEqual = prevT === nextT;\n if (!tEqual) return false;\n\n const textEqual = prevText === nextText;\n if (!textEqual) return false;\n\n const cooldownActiveEqual = prevCooldownActive === nextCooldownActive;\n if (!cooldownActiveEqual) return false;\n\n return true;\n};\n\nconst MemoizedAutoCompleteInput = React.memo(\n AutoCompleteInputWithContext,\n areEqual,\n) as typeof AutoCompleteInputWithContext;\n\nexport const AutoCompleteInput = <\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: AutoCompleteInputProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { giphyEnabled } = useChannelContext<At, Ch, Co, Ev, Me, Re, Us>();\n const {\n additionalTextInputProps,\n autoCompleteSuggestionsLimit,\n giphyActive,\n maxMessageLength,\n mentionAllAppUsersEnabled,\n mentionAllAppUsersQuery,\n numberOfLines,\n onChange,\n setGiphyActive,\n setInputBoxRef,\n setShowMoreOptions,\n text,\n triggerSettings,\n } = useMessageInputContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { closeSuggestions, openSuggestions, updateSuggestions } = useSuggestionsContext<Co, Us>();\n const { t } = useTranslationContext();\n\n return (\n <MemoizedAutoCompleteInput\n {...{\n additionalTextInputProps,\n autoCompleteSuggestionsLimit,\n closeSuggestions,\n giphyActive,\n giphyEnabled,\n maxMessageLength,\n mentionAllAppUsersEnabled,\n mentionAllAppUsersQuery,\n numberOfLines,\n onChange,\n openSuggestions,\n setGiphyActive,\n setInputBoxRef,\n setShowMoreOptions,\n t,\n text,\n triggerSettings,\n updateSuggestions,\n }}\n {...props}\n />\n );\n};\n\nAutoCompleteInput.displayName = 'AutoCompleteInput{messageInput{inputBox}}';\n"]}
|
|
1
|
+
{"version":3,"sources":["AutoCompleteInput.tsx"],"names":["styles","StyleSheet","create","inputBox","flex","fontSize","includeFontPadding","padding","paddingTop","textAlignVertical","computeCaretPosition","token","startOfTokenPosition","length","isCommand","text","split","AutoCompleteInputWithContext","props","additionalTextInputProps","autoCompleteSuggestionsLimit","closeSuggestions","cooldownActive","giphyActive","giphyEnabled","maxMessageLength","mentionAllAppUsersEnabled","mentionAllAppUsersQuery","numberOfLines","onChange","openSuggestions","setGiphyActive","setInputBoxRef","setShowMoreOptions","t","triggerSettings","updateSuggestionsContext","updateSuggestions","isTrackingStarted","selectionEnd","textHeight","setTextHeight","theme","colors","black","grey","messageInput","handleChange","newText","fromUpdate","handleSuggestionsThrottled","startTracking","trigger","triggerSetting","current","type","stopTracking","query","dataProvider","data","queryCallback","onSelect","item","onSelectSuggestion","queryText","limit","handleSelectionChange","end","nativeEvent","selection","newTokenString","output","textToModify","slice","lastIndexOf","newCaretPosition","modifiedText","substring","replace","startsWith","callback","handleCommand","actualToken","trim","handleMentions","tokenMatch","lastToken","handleMentionsTrigger","Object","keys","find","handleEmojis","handleEmojisTrigger","handleSuggestions","test","mentionTokenMatch","match","emojiTokenMatch","placeholderText","leading","height","contentSize","color","maxHeight","event","onBlur","areEqual","prevProps","nextProps","prevCooldownActive","prevGiphyActive","prevT","prevText","nextCooldownActive","nextGiphyActive","nextT","nextText","giphyActiveEqual","tEqual","textEqual","cooldownActiveEqual","MemoizedAutoCompleteInput","React","memo","AutoCompleteInput","displayName"],"mappings":"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","sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { StyleSheet, TextInput, TextInputProps } from 'react-native';\n\nimport throttle from 'lodash/throttle';\n\nimport {\n ChannelContextValue,\n useChannelContext,\n} from '../../contexts/channelContext/ChannelContext';\nimport {\n MessageInputContextValue,\n useMessageInputContext,\n} from '../../contexts/messageInputContext/MessageInputContext';\nimport {\n isSuggestionCommand,\n isSuggestionEmoji,\n isSuggestionUser,\n Suggestion,\n SuggestionCommand,\n SuggestionsContextValue,\n SuggestionUser,\n useSuggestionsContext,\n} from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport {\n TranslationContextValue,\n useTranslationContext,\n} from '../../contexts/translationContext/TranslationContext';\nimport type { Emoji } from '../../emoji-data/compiled';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { isCommandTrigger, isEmojiTrigger, isMentionTrigger } from '../../utils/utils';\n\nimport type { Trigger } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n inputBox: {\n flex: 1,\n fontSize: 14,\n includeFontPadding: false, // for android vertical text centering\n padding: 0, // removal of default text input padding on android\n paddingTop: 0, // removal of iOS top padding for weird centering\n textAlignVertical: 'center', // for android vertical text centering\n },\n});\n\nconst computeCaretPosition = (token: string, startOfTokenPosition: number) =>\n startOfTokenPosition + token.length;\n\nconst isCommand = (text: string) => text[0] === '/' && text.split(' ').length <= 1;\n\ntype AutoCompleteInputPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChannelContextValue<StreamChatGenerics>, 'giphyEnabled'> &\n Pick<\n MessageInputContextValue<StreamChatGenerics>,\n | 'additionalTextInputProps'\n | 'autoCompleteSuggestionsLimit'\n | 'giphyActive'\n | 'maxMessageLength'\n | 'mentionAllAppUsersEnabled'\n | 'mentionAllAppUsersQuery'\n | 'numberOfLines'\n | 'onChange'\n | 'setGiphyActive'\n | 'setInputBoxRef'\n | 'setShowMoreOptions'\n | 'text'\n | 'triggerSettings'\n > &\n Pick<\n SuggestionsContextValue<StreamChatGenerics>,\n 'closeSuggestions' | 'openSuggestions' | 'updateSuggestions'\n > &\n Pick<TranslationContextValue, 't'> & {\n /**\n * This is currently passed in from MessageInput to avoid rerenders\n * that would happen if we put this in the MessageInputContext\n */\n cooldownActive?: boolean;\n };\n\nexport type AutoCompleteInputProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<AutoCompleteInputPropsWithContext<StreamChatGenerics>>;\n\nconst AutoCompleteInputWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AutoCompleteInputPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTextInputProps,\n autoCompleteSuggestionsLimit,\n closeSuggestions,\n cooldownActive = false,\n giphyActive,\n giphyEnabled,\n maxMessageLength,\n mentionAllAppUsersEnabled,\n mentionAllAppUsersQuery,\n numberOfLines,\n onChange,\n openSuggestions,\n setGiphyActive,\n setInputBoxRef,\n setShowMoreOptions,\n t,\n text,\n triggerSettings,\n updateSuggestions: updateSuggestionsContext,\n } = props;\n\n const isTrackingStarted = useRef(false);\n const selectionEnd = useRef(0);\n const [textHeight, setTextHeight] = useState(0);\n\n const {\n theme: {\n colors: { black, grey },\n messageInput: { inputBox },\n },\n } = useTheme();\n\n const handleChange = (newText: string, fromUpdate = false) => {\n if (!fromUpdate) {\n onChange(newText);\n } else {\n handleSuggestionsThrottled(newText);\n }\n };\n\n useEffect(() => {\n handleChange(text, true);\n }, [text]);\n\n const startTracking = (trigger: Trigger) => {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n isTrackingStarted.current = true;\n const { type } = triggerSetting;\n openSuggestions(type);\n }\n };\n\n const stopTracking = () => {\n isTrackingStarted.current = false;\n closeSuggestions();\n };\n\n const updateSuggestions = async ({\n query,\n trigger,\n }: {\n query: Suggestion['name'];\n trigger: Trigger;\n }) => {\n if (isMentionTrigger(trigger)) {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n await triggerSetting.dataProvider(\n query as SuggestionUser<StreamChatGenerics>['name'],\n text,\n (data, queryCallback) => {\n if (query === queryCallback) {\n updateSuggestionsContext({\n data,\n onSelect: (item) => onSelectSuggestion({ item, trigger }),\n queryText: query,\n });\n }\n },\n {\n limit: autoCompleteSuggestionsLimit,\n mentionAllAppUsersEnabled,\n mentionAllAppUsersQuery,\n },\n );\n }\n } else if (isCommandTrigger(trigger)) {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n await triggerSetting.dataProvider(\n query as SuggestionCommand<StreamChatGenerics>['name'],\n text,\n (data, queryCallback) => {\n if (query !== queryCallback) {\n return;\n }\n\n updateSuggestionsContext({\n data,\n onSelect: (item) => onSelectSuggestion({ item, trigger }),\n queryText: query,\n });\n },\n {\n limit: autoCompleteSuggestionsLimit,\n },\n );\n }\n } else {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n await triggerSetting.dataProvider(query as Emoji['name'], text, (data, queryCallback) => {\n if (query !== queryCallback) {\n return;\n }\n\n updateSuggestionsContext({\n data,\n onSelect: (item) => onSelectSuggestion({ item, trigger }),\n queryText: query,\n });\n });\n }\n }\n };\n\n const handleSelectionChange: TextInputProps['onSelectionChange'] = ({\n nativeEvent: {\n selection: { end },\n },\n }) => {\n selectionEnd.current = end;\n };\n\n const onSelectSuggestion = ({\n item,\n trigger,\n }: {\n item: Suggestion<StreamChatGenerics>;\n trigger: Trigger;\n }) => {\n if (!trigger || !triggerSettings[trigger]) {\n return;\n }\n\n let newTokenString = '';\n if (isCommandTrigger(trigger) && isSuggestionCommand(item)) {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n newTokenString = `${triggerSetting.output(item).text} `;\n }\n }\n if (isEmojiTrigger(trigger) && isSuggestionEmoji(item)) {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n newTokenString = `${triggerSetting.output(item).text} `;\n }\n }\n if (isMentionTrigger(trigger) && isSuggestionUser(item)) {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n newTokenString = `${triggerSetting.output(item).text} `;\n }\n }\n\n const textToModify = text.slice(0, selectionEnd.current);\n\n const startOfTokenPosition = textToModify.lastIndexOf(trigger, selectionEnd.current);\n\n const newCaretPosition = computeCaretPosition(newTokenString, startOfTokenPosition);\n\n const modifiedText = `${textToModify.substring(0, startOfTokenPosition)}${newTokenString}`;\n\n stopTracking();\n\n const newText = text.replace(textToModify, modifiedText);\n\n if (giphyEnabled && newText.startsWith('/giphy ')) {\n onChange(newText.slice(7)); // 7 because of '/giphy ' length\n setGiphyActive(true);\n } else {\n onChange(newText);\n }\n\n selectionEnd.current = newCaretPosition || 0;\n\n if (isMentionTrigger(trigger) && isSuggestionUser(item)) {\n const triggerSetting = triggerSettings[trigger];\n if (triggerSetting) {\n triggerSetting.callback(item);\n }\n }\n };\n\n const handleCommand = async (text: string) => {\n if (!isCommand(text)) {\n return false;\n }\n\n if (!isTrackingStarted.current) {\n startTracking('/');\n }\n const actualToken = text.trim().slice(1);\n await updateSuggestions({ query: actualToken, trigger: '/' });\n\n return true;\n };\n\n const handleMentions = ({ tokenMatch }: { tokenMatch: RegExpMatchArray | null }) => {\n const lastToken = tokenMatch?.[tokenMatch.length - 1];\n const handleMentionsTrigger =\n (lastToken && Object.keys(triggerSettings).find((trigger) => trigger === lastToken[0])) ||\n null;\n\n /*\n if we lost the trigger token or there is no following character we want to close\n the autocomplete\n */\n if (!lastToken || lastToken.length <= 0) {\n stopTracking();\n return;\n }\n\n const actualToken = lastToken.slice(1);\n\n // if trigger is not configured step out from the function, otherwise proceed\n if (!handleMentionsTrigger) {\n return;\n }\n\n if (!isTrackingStarted.current) {\n startTracking('@');\n }\n\n updateSuggestions({ query: actualToken, trigger: '@' });\n };\n\n const handleEmojis = ({ tokenMatch }: { tokenMatch: RegExpMatchArray | null }) => {\n const lastToken = tokenMatch?.[tokenMatch.length - 1].trim();\n const handleEmojisTrigger =\n (lastToken && Object.keys(triggerSettings).find((trigger) => trigger === lastToken[0])) ||\n null;\n\n /*\n if we lost the trigger token or there is no following character we want to close\n the autocomplete\n */\n if (!lastToken || lastToken.length <= 0) {\n stopTracking();\n return;\n }\n\n const actualToken = lastToken.slice(1);\n\n // if trigger is not configured step out from the function, otherwise proceed\n if (!handleEmojisTrigger) {\n return;\n }\n\n if (!isTrackingStarted.current) {\n startTracking(':');\n }\n\n updateSuggestions({ query: actualToken, trigger: ':' });\n };\n\n const handleSuggestions = async (text: string) => {\n if (\n /\\s/.test(text.slice(selectionEnd.current - 1, selectionEnd.current)) &&\n isTrackingStarted.current\n ) {\n stopTracking();\n } else if (giphyEnabled && !(await handleCommand(text))) {\n const mentionTokenMatch = text\n .slice(0, selectionEnd.current)\n .match(/(?!^|\\W)?@[^\\s@]*\\s?[^\\s@]*$/g);\n if (mentionTokenMatch) {\n handleMentions({ tokenMatch: mentionTokenMatch });\n } else {\n const emojiTokenMatch = text\n .slice(0, selectionEnd.current)\n .match(/(?!^|\\W)?:\\w{2,}[^\\s]*\\s?[^\\s]*$/g);\n handleEmojis({ tokenMatch: emojiTokenMatch });\n }\n }\n };\n\n const placeholderText = giphyActive\n ? t('Search GIFs')\n : cooldownActive\n ? t('Slow mode ON')\n : t('Send a message');\n\n const handleSuggestionsThrottled = throttle(handleSuggestions, 100, {\n leading: false,\n });\n\n return (\n <TextInput\n maxLength={maxMessageLength}\n multiline\n onChangeText={(newText) => {\n if (giphyEnabled && newText.startsWith('/giphy ')) {\n handleChange(newText.slice(7)); // 7 because of '/giphy' length\n setGiphyActive(true);\n } else {\n handleChange(newText);\n }\n }}\n onContentSizeChange={({\n nativeEvent: {\n contentSize: { height },\n },\n }) => {\n if (!textHeight) {\n setTextHeight(height);\n }\n }}\n onSelectionChange={handleSelectionChange}\n placeholder={placeholderText}\n placeholderTextColor={grey}\n ref={setInputBoxRef}\n style={[\n styles.inputBox,\n {\n color: black,\n maxHeight: (textHeight || 17) * numberOfLines,\n },\n inputBox,\n ]}\n testID='auto-complete-text-input'\n value={text}\n {...additionalTextInputProps}\n onBlur={(event) => {\n if (additionalTextInputProps?.onBlur) {\n additionalTextInputProps?.onBlur(event);\n }\n setShowMoreOptions(true);\n }}\n />\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: AutoCompleteInputPropsWithContext<StreamChatGenerics>,\n nextProps: AutoCompleteInputPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n cooldownActive: prevCooldownActive,\n giphyActive: prevGiphyActive,\n t: prevT,\n text: prevText,\n } = prevProps;\n const {\n cooldownActive: nextCooldownActive,\n giphyActive: nextGiphyActive,\n t: nextT,\n text: nextText,\n } = nextProps;\n\n const giphyActiveEqual = prevGiphyActive === nextGiphyActive;\n if (!giphyActiveEqual) return false;\n\n const tEqual = prevT === nextT;\n if (!tEqual) return false;\n\n const textEqual = prevText === nextText;\n if (!textEqual) return false;\n\n const cooldownActiveEqual = prevCooldownActive === nextCooldownActive;\n if (!cooldownActiveEqual) return false;\n\n return true;\n};\n\nconst MemoizedAutoCompleteInput = React.memo(\n AutoCompleteInputWithContext,\n areEqual,\n) as typeof AutoCompleteInputWithContext;\n\nexport const AutoCompleteInput = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AutoCompleteInputProps<StreamChatGenerics>,\n) => {\n const { giphyEnabled } = useChannelContext<StreamChatGenerics>();\n const {\n additionalTextInputProps,\n autoCompleteSuggestionsLimit,\n giphyActive,\n maxMessageLength,\n mentionAllAppUsersEnabled,\n mentionAllAppUsersQuery,\n numberOfLines,\n onChange,\n setGiphyActive,\n setInputBoxRef,\n setShowMoreOptions,\n text,\n triggerSettings,\n } = useMessageInputContext<StreamChatGenerics>();\n const { closeSuggestions, openSuggestions, updateSuggestions } =\n useSuggestionsContext<StreamChatGenerics>();\n const { t } = useTranslationContext();\n\n return (\n <MemoizedAutoCompleteInput\n {...{\n additionalTextInputProps,\n autoCompleteSuggestionsLimit,\n closeSuggestions,\n giphyActive,\n giphyEnabled,\n maxMessageLength,\n mentionAllAppUsersEnabled,\n mentionAllAppUsersQuery,\n numberOfLines,\n onChange,\n openSuggestions,\n setGiphyActive,\n setInputBoxRef,\n setShowMoreOptions,\n t,\n text,\n triggerSettings,\n updateSuggestions,\n }}\n {...props}\n />\n );\n};\n\nAutoCompleteInput.displayName = 'AutoCompleteInput{messageInput{inputBox}}';\n"]}
|
|
@@ -46,7 +46,7 @@ var AutoCompleteSuggestionCommandIcon = function AutoCompleteSuggestionCommandIc
|
|
|
46
46
|
__self: _this,
|
|
47
47
|
__source: {
|
|
48
48
|
fileName: _jsxFileName,
|
|
49
|
-
lineNumber:
|
|
49
|
+
lineNumber: 40,
|
|
50
50
|
columnNumber: 9
|
|
51
51
|
}
|
|
52
52
|
}, _react["default"].createElement(_icons.UserDelete, {
|
|
@@ -56,7 +56,7 @@ var AutoCompleteSuggestionCommandIcon = function AutoCompleteSuggestionCommandIc
|
|
|
56
56
|
__self: _this,
|
|
57
57
|
__source: {
|
|
58
58
|
fileName: _jsxFileName,
|
|
59
|
-
lineNumber:
|
|
59
|
+
lineNumber: 41,
|
|
60
60
|
columnNumber: 11
|
|
61
61
|
}
|
|
62
62
|
}));
|
|
@@ -69,7 +69,7 @@ var AutoCompleteSuggestionCommandIcon = function AutoCompleteSuggestionCommandIc
|
|
|
69
69
|
__self: _this,
|
|
70
70
|
__source: {
|
|
71
71
|
fileName: _jsxFileName,
|
|
72
|
-
lineNumber:
|
|
72
|
+
lineNumber: 46,
|
|
73
73
|
columnNumber: 9
|
|
74
74
|
}
|
|
75
75
|
}, _react["default"].createElement(_icons.Flag, {
|
|
@@ -77,7 +77,7 @@ var AutoCompleteSuggestionCommandIcon = function AutoCompleteSuggestionCommandIc
|
|
|
77
77
|
__self: _this,
|
|
78
78
|
__source: {
|
|
79
79
|
fileName: _jsxFileName,
|
|
80
|
-
lineNumber:
|
|
80
|
+
lineNumber: 47,
|
|
81
81
|
columnNumber: 11
|
|
82
82
|
}
|
|
83
83
|
}));
|
|
@@ -90,14 +90,14 @@ var AutoCompleteSuggestionCommandIcon = function AutoCompleteSuggestionCommandIc
|
|
|
90
90
|
__self: _this,
|
|
91
91
|
__source: {
|
|
92
92
|
fileName: _jsxFileName,
|
|
93
|
-
lineNumber:
|
|
93
|
+
lineNumber: 52,
|
|
94
94
|
columnNumber: 9
|
|
95
95
|
}
|
|
96
96
|
}, _react["default"].createElement(_icons.GiphyIcon, {
|
|
97
97
|
__self: _this,
|
|
98
98
|
__source: {
|
|
99
99
|
fileName: _jsxFileName,
|
|
100
|
-
lineNumber:
|
|
100
|
+
lineNumber: 53,
|
|
101
101
|
columnNumber: 11
|
|
102
102
|
}
|
|
103
103
|
}));
|
|
@@ -110,14 +110,14 @@ var AutoCompleteSuggestionCommandIcon = function AutoCompleteSuggestionCommandIc
|
|
|
110
110
|
__self: _this,
|
|
111
111
|
__source: {
|
|
112
112
|
fileName: _jsxFileName,
|
|
113
|
-
lineNumber:
|
|
113
|
+
lineNumber: 58,
|
|
114
114
|
columnNumber: 9
|
|
115
115
|
}
|
|
116
116
|
}, _react["default"].createElement(_icons.Imgur, {
|
|
117
117
|
__self: _this,
|
|
118
118
|
__source: {
|
|
119
119
|
fileName: _jsxFileName,
|
|
120
|
-
lineNumber:
|
|
120
|
+
lineNumber: 59,
|
|
121
121
|
columnNumber: 11
|
|
122
122
|
}
|
|
123
123
|
}));
|
|
@@ -130,7 +130,7 @@ var AutoCompleteSuggestionCommandIcon = function AutoCompleteSuggestionCommandIc
|
|
|
130
130
|
__self: _this,
|
|
131
131
|
__source: {
|
|
132
132
|
fileName: _jsxFileName,
|
|
133
|
-
lineNumber:
|
|
133
|
+
lineNumber: 64,
|
|
134
134
|
columnNumber: 9
|
|
135
135
|
}
|
|
136
136
|
}, _react["default"].createElement(_icons.Mute, {
|
|
@@ -140,7 +140,7 @@ var AutoCompleteSuggestionCommandIcon = function AutoCompleteSuggestionCommandIc
|
|
|
140
140
|
__self: _this,
|
|
141
141
|
__source: {
|
|
142
142
|
fileName: _jsxFileName,
|
|
143
|
-
lineNumber:
|
|
143
|
+
lineNumber: 65,
|
|
144
144
|
columnNumber: 11
|
|
145
145
|
}
|
|
146
146
|
}));
|
|
@@ -153,7 +153,7 @@ var AutoCompleteSuggestionCommandIcon = function AutoCompleteSuggestionCommandIc
|
|
|
153
153
|
__self: _this,
|
|
154
154
|
__source: {
|
|
155
155
|
fileName: _jsxFileName,
|
|
156
|
-
lineNumber:
|
|
156
|
+
lineNumber: 70,
|
|
157
157
|
columnNumber: 9
|
|
158
158
|
}
|
|
159
159
|
}, _react["default"].createElement(_icons.UserAdd, {
|
|
@@ -163,7 +163,7 @@ var AutoCompleteSuggestionCommandIcon = function AutoCompleteSuggestionCommandIc
|
|
|
163
163
|
__self: _this,
|
|
164
164
|
__source: {
|
|
165
165
|
fileName: _jsxFileName,
|
|
166
|
-
lineNumber:
|
|
166
|
+
lineNumber: 71,
|
|
167
167
|
columnNumber: 11
|
|
168
168
|
}
|
|
169
169
|
}));
|
|
@@ -176,7 +176,7 @@ var AutoCompleteSuggestionCommandIcon = function AutoCompleteSuggestionCommandIc
|
|
|
176
176
|
__self: _this,
|
|
177
177
|
__source: {
|
|
178
178
|
fileName: _jsxFileName,
|
|
179
|
-
lineNumber:
|
|
179
|
+
lineNumber: 76,
|
|
180
180
|
columnNumber: 9
|
|
181
181
|
}
|
|
182
182
|
}, _react["default"].createElement(_icons.Sound, {
|
|
@@ -184,7 +184,7 @@ var AutoCompleteSuggestionCommandIcon = function AutoCompleteSuggestionCommandIc
|
|
|
184
184
|
__self: _this,
|
|
185
185
|
__source: {
|
|
186
186
|
fileName: _jsxFileName,
|
|
187
|
-
lineNumber:
|
|
187
|
+
lineNumber: 77,
|
|
188
188
|
columnNumber: 11
|
|
189
189
|
}
|
|
190
190
|
}));
|
|
@@ -197,7 +197,7 @@ var AutoCompleteSuggestionCommandIcon = function AutoCompleteSuggestionCommandIc
|
|
|
197
197
|
__self: _this,
|
|
198
198
|
__source: {
|
|
199
199
|
fileName: _jsxFileName,
|
|
200
|
-
lineNumber:
|
|
200
|
+
lineNumber: 82,
|
|
201
201
|
columnNumber: 9
|
|
202
202
|
}
|
|
203
203
|
}, _react["default"].createElement(_icons.Lightning, {
|
|
@@ -207,7 +207,7 @@ var AutoCompleteSuggestionCommandIcon = function AutoCompleteSuggestionCommandIc
|
|
|
207
207
|
__self: _this,
|
|
208
208
|
__source: {
|
|
209
209
|
fileName: _jsxFileName,
|
|
210
|
-
lineNumber:
|
|
210
|
+
lineNumber: 83,
|
|
211
211
|
columnNumber: 11
|
|
212
212
|
}
|
|
213
213
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["AutoCompleteSuggestionCommandIcon.tsx"],"names":["styles","StyleSheet","create","iconContainer","alignItems","borderRadius","height","justifyContent","marginRight","width","AutoCompleteSuggestionCommandIcon","name","theme","colors","accent_blue","white","messageInput","suggestions","command","backgroundColor"],"mappings":";;;;;;;AAAA;;AACA;;AAGA;;AACA;;;;;AAGA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,aAAa,EAAE;AACbC,IAAAA,UAAU,EAAE,QADC;AAEbC,IAAAA,YAAY,EAAE,EAFD;AAGbC,IAAAA,MAAM,EAAE,EAHK;AAIbC,IAAAA,cAAc,EAAE,QAJH;AAKbC,IAAAA,WAAW,EAAE,CALA;AAMbC,IAAAA,KAAK,EAAE;AANM;AADgB,CAAlB,CAAf;;AAWO,IAAMC,iCAAiC,GAAG,SAApCA,iCAAoC,
|
|
1
|
+
{"version":3,"sources":["AutoCompleteSuggestionCommandIcon.tsx"],"names":["styles","StyleSheet","create","iconContainer","alignItems","borderRadius","height","justifyContent","marginRight","width","AutoCompleteSuggestionCommandIcon","name","theme","colors","accent_blue","white","messageInput","suggestions","command","backgroundColor"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport type { SuggestionCommand } from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Flag, GiphyIcon, Imgur, Lightning, Mute, Sound, UserAdd, UserDelete } from '../../icons';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\nconst styles = StyleSheet.create({\n iconContainer: {\n alignItems: 'center',\n borderRadius: 12,\n height: 24,\n justifyContent: 'center',\n marginRight: 8,\n width: 24,\n },\n});\n\nexport const AutoCompleteSuggestionCommandIcon = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n name,\n}: {\n name: SuggestionCommand<StreamChatGenerics>['name'];\n}) => {\n const {\n theme: {\n colors: { accent_blue, white },\n messageInput: {\n suggestions: {\n command: { iconContainer },\n },\n },\n },\n } = useTheme();\n switch (name) {\n case 'ban':\n return (\n <View style={[styles.iconContainer, { backgroundColor: accent_blue }, iconContainer]}>\n <UserDelete height={16} pathFill={white} width={16} />\n </View>\n );\n case 'flag':\n return (\n <View style={[styles.iconContainer, { backgroundColor: accent_blue }, iconContainer]}>\n <Flag pathFill={white} />\n </View>\n );\n case 'giphy':\n return (\n <View style={[styles.iconContainer, { backgroundColor: accent_blue }, iconContainer]}>\n <GiphyIcon />\n </View>\n );\n case 'imgur':\n return (\n <View style={[styles.iconContainer, { backgroundColor: accent_blue }, iconContainer]}>\n <Imgur />\n </View>\n );\n case 'mute':\n return (\n <View style={[styles.iconContainer, { backgroundColor: accent_blue }, iconContainer]}>\n <Mute height={16} pathFill={white} width={16} />\n </View>\n );\n case 'unban':\n return (\n <View style={[styles.iconContainer, { backgroundColor: accent_blue }, iconContainer]}>\n <UserAdd height={16} pathFill={white} width={16} />\n </View>\n );\n case 'unmute':\n return (\n <View style={[styles.iconContainer, { backgroundColor: accent_blue }, iconContainer]}>\n <Sound pathFill={white} />\n </View>\n );\n default:\n return (\n <View style={[styles.iconContainer, { backgroundColor: accent_blue }, iconContainer]}>\n <Lightning height={16} pathFill={white} width={16} />\n </View>\n );\n }\n};\n"]}
|
|
@@ -56,7 +56,7 @@ var AutoCompleteSuggestionHeaderWithContext = function AutoCompleteSuggestionHea
|
|
|
56
56
|
__self: _this,
|
|
57
57
|
__source: {
|
|
58
58
|
fileName: _jsxFileName,
|
|
59
|
-
lineNumber:
|
|
59
|
+
lineNumber: 48,
|
|
60
60
|
columnNumber: 7
|
|
61
61
|
}
|
|
62
62
|
}, _react["default"].createElement(_Lightning.Lightning, {
|
|
@@ -64,7 +64,7 @@ var AutoCompleteSuggestionHeaderWithContext = function AutoCompleteSuggestionHea
|
|
|
64
64
|
__self: _this,
|
|
65
65
|
__source: {
|
|
66
66
|
fileName: _jsxFileName,
|
|
67
|
-
lineNumber:
|
|
67
|
+
lineNumber: 49,
|
|
68
68
|
columnNumber: 9
|
|
69
69
|
}
|
|
70
70
|
}), _react["default"].createElement(_reactNative.Text, {
|
|
@@ -75,7 +75,7 @@ var AutoCompleteSuggestionHeaderWithContext = function AutoCompleteSuggestionHea
|
|
|
75
75
|
__self: _this,
|
|
76
76
|
__source: {
|
|
77
77
|
fileName: _jsxFileName,
|
|
78
|
-
lineNumber:
|
|
78
|
+
lineNumber: 50,
|
|
79
79
|
columnNumber: 9
|
|
80
80
|
}
|
|
81
81
|
}, t('Instant Commands')));
|
|
@@ -85,7 +85,7 @@ var AutoCompleteSuggestionHeaderWithContext = function AutoCompleteSuggestionHea
|
|
|
85
85
|
__self: _this,
|
|
86
86
|
__source: {
|
|
87
87
|
fileName: _jsxFileName,
|
|
88
|
-
lineNumber:
|
|
88
|
+
lineNumber: 57,
|
|
89
89
|
columnNumber: 7
|
|
90
90
|
}
|
|
91
91
|
}, _react["default"].createElement(_Smile.Smile, {
|
|
@@ -93,7 +93,7 @@ var AutoCompleteSuggestionHeaderWithContext = function AutoCompleteSuggestionHea
|
|
|
93
93
|
__self: _this,
|
|
94
94
|
__source: {
|
|
95
95
|
fileName: _jsxFileName,
|
|
96
|
-
lineNumber:
|
|
96
|
+
lineNumber: 58,
|
|
97
97
|
columnNumber: 9
|
|
98
98
|
}
|
|
99
99
|
}), _react["default"].createElement(_reactNative.Text, {
|
|
@@ -104,7 +104,7 @@ var AutoCompleteSuggestionHeaderWithContext = function AutoCompleteSuggestionHea
|
|
|
104
104
|
__self: _this,
|
|
105
105
|
__source: {
|
|
106
106
|
fileName: _jsxFileName,
|
|
107
|
-
lineNumber:
|
|
107
|
+
lineNumber: 59,
|
|
108
108
|
columnNumber: 9
|
|
109
109
|
}
|
|
110
110
|
}, t('Emoji matching') + ' "' + queryText + '"'));
|
|
@@ -134,7 +134,7 @@ var AutoCompleteSuggestionHeader = function AutoCompleteSuggestionHeader(props)
|
|
|
134
134
|
__self: _this,
|
|
135
135
|
__source: {
|
|
136
136
|
fileName: _jsxFileName,
|
|
137
|
-
lineNumber:
|
|
137
|
+
lineNumber: 99,
|
|
138
138
|
columnNumber: 6
|
|
139
139
|
}
|
|
140
140
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["AutoCompleteSuggestionHeader.tsx"],"names":["styles","StyleSheet","create","container","alignItems","flexDirection","padding","title","fontSize","paddingLeft","AutoCompleteSuggestionHeaderWithContext","queryText","triggerType","t","theme","colors","accent_blue","grey","messageInput","suggestions","header","color","areEqual","prevProps","nextProps","prevQueryText","prevType","nextQueryText","nextType","typeEqual","valueEqual","MemoizedAutoCompleteSuggestionHeader","React","memo","AutoCompleteSuggestionHeader","props","displayName"],"mappings":";;;;;;;;;AAAA;;AACA;;AAGA;;AACA;;AAEA;;AACA;;;;;
|
|
1
|
+
{"version":3,"sources":["AutoCompleteSuggestionHeader.tsx"],"names":["styles","StyleSheet","create","container","alignItems","flexDirection","padding","title","fontSize","paddingLeft","AutoCompleteSuggestionHeaderWithContext","queryText","triggerType","t","theme","colors","accent_blue","grey","messageInput","suggestions","header","color","areEqual","prevProps","nextProps","prevQueryText","prevType","nextQueryText","nextType","typeEqual","valueEqual","MemoizedAutoCompleteSuggestionHeader","React","memo","AutoCompleteSuggestionHeader","props","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\n\nimport type { SuggestionsContextValue } from '../../contexts/suggestionsContext/SuggestionsContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../contexts/translationContext/TranslationContext';\n\nimport { Lightning } from '../../icons/Lightning';\nimport { Smile } from '../../icons/Smile';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\nexport type AutoCompleteSuggestionHeaderPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<SuggestionsContextValue<StreamChatGenerics>, 'triggerType' | 'queryText'>;\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n padding: 8,\n },\n title: {\n fontSize: 14,\n paddingLeft: 8,\n },\n});\n\nconst AutoCompleteSuggestionHeaderWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n queryText,\n triggerType,\n}: AutoCompleteSuggestionHeaderPropsWithContext<StreamChatGenerics>) => {\n const { t } = useTranslationContext();\n const {\n theme: {\n colors: { accent_blue, grey },\n messageInput: {\n suggestions: {\n header: { container, title },\n },\n },\n },\n } = useTheme();\n\n if (triggerType === 'command') {\n return (\n <View style={[styles.container, container]}>\n <Lightning pathFill={accent_blue} />\n <Text style={[styles.title, { color: grey }, title]} testID='commands-header-title'>\n {t('Instant Commands')}\n </Text>\n </View>\n );\n } else if (triggerType === 'emoji') {\n return (\n <View style={[styles.container, container]}>\n <Smile pathFill={accent_blue} />\n <Text style={[styles.title, { color: grey }, title]} testID='emojis-header-title'>\n {t('Emoji matching') + ' \"' + queryText + '\"'}\n </Text>\n </View>\n );\n } else if (triggerType === 'mention') {\n return null;\n } else {\n return null;\n }\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: AutoCompleteSuggestionHeaderPropsWithContext<StreamChatGenerics>,\n nextProps: AutoCompleteSuggestionHeaderPropsWithContext<StreamChatGenerics>,\n) => {\n const { queryText: prevQueryText, triggerType: prevType } = prevProps;\n const { queryText: nextQueryText, triggerType: nextType } = nextProps;\n\n const typeEqual = prevType === nextType;\n if (!typeEqual) return false;\n\n const valueEqual = prevQueryText === nextQueryText;\n if (!valueEqual) return false;\n return true;\n};\n\nconst MemoizedAutoCompleteSuggestionHeader = React.memo(\n AutoCompleteSuggestionHeaderWithContext,\n areEqual,\n) as typeof AutoCompleteSuggestionHeaderWithContext;\n\nexport type AutoCompleteSuggestionHeaderProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = AutoCompleteSuggestionHeaderPropsWithContext<StreamChatGenerics>;\n\nexport const AutoCompleteSuggestionHeader = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: AutoCompleteSuggestionHeaderProps<StreamChatGenerics>,\n) => <MemoizedAutoCompleteSuggestionHeader {...props} />;\n\nAutoCompleteSuggestionHeader.displayName =\n 'AutoCompleteSuggestionHeader{messageInput{suggestions{Header}}}';\n"]}
|