stream-chat-react-native-core 4.0.0-beta.2 → 4.0.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/Attachment/Attachment.js +12 -12
- 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/FileIcon.js.map +1 -1
- package/lib/commonjs/components/Attachment/Gallery.js +97 -106
- 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 +46 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/types.js +4 -0
- package/lib/commonjs/components/Attachment/utils/buildGallery/types.js.map +1 -0
- package/lib/commonjs/components/Attachment/utils/getAspectRatio.js +14 -0
- package/lib/commonjs/components/Attachment/utils/getAspectRatio.js.map +1 -0
- package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
- package/lib/commonjs/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
- package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +9 -8
- package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.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 +4 -4
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +11 -11
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
- package/lib/commonjs/components/Avatar/Avatar.js +13 -7
- package/lib/commonjs/components/Avatar/Avatar.js.map +1 -1
- package/lib/commonjs/components/Avatar/GroupAvatar.js +10 -4
- package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
- package/lib/commonjs/components/Channel/Channel.js +64 -64
- 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 +6 -6
- package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +4 -4
- package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +6 -7
- package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +2 -2
- package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +17 -17
- package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
- 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 +2 -2
- 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 +2 -2
- package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
- 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 +2 -2
- package/lib/commonjs/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +83 -70
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/commonjs/components/ChannelList/utils.js +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 +4 -4
- 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 +48 -20
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
- 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 +4 -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 +89 -56
- package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +2 -2
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +12 -12
- 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 +7 -7
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +5 -5
- package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
- package/lib/commonjs/components/Indicators/LoadingIndicator.js +9 -9
- package/lib/commonjs/components/Indicators/LoadingIndicator.js.map +1 -1
- package/lib/commonjs/components/Message/Message.js +19 -15
- package/lib/commonjs/components/Message/Message.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +6 -6
- package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +19 -19
- 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 +6 -6
- 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 +5 -5
- 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 +15 -13
- 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/parseLinks.js +89 -0
- package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
- package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
- package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +151 -81
- 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 +16 -3
- package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useMessageActions.js +18 -14
- 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/CooldownTimer.js +2 -2
- package/lib/commonjs/components/MessageInput/CooldownTimer.js.map +1 -1
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js +13 -13
- 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 +9 -9
- package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
- package/lib/commonjs/components/MessageInput/MessageInput.js +40 -40
- 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/SendMessageDisallowedIndicator.js +2 -2
- package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +10 -10
- 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/MessageInput/hooks/useCountdown.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +4 -4
- package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +4 -4
- package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +4 -4
- package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageList.js +28 -28
- 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 +5 -5
- 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 +7 -7
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useTypingString.js +2 -2
- 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 +3 -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 +5 -5
- package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +8 -8
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +41 -34
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +16 -16
- package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +31 -34
- package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
- package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
- package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -1
- package/lib/commonjs/components/Reply/Reply.js +25 -19
- package/lib/commonjs/components/Reply/Reply.js.map +1 -1
- package/lib/commonjs/components/Thread/Thread.js +6 -6
- 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 +45 -45
- package/lib/commonjs/components/docs/data.js.map +1 -1
- package/lib/commonjs/components/index.js +26 -0
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +2 -2
- package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
- package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +2 -2
- 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 +2 -2
- 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 +18 -14
- 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 +10 -3
- package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
- package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +5 -19
- package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
- package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
- package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
- package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
- package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
- 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 +33 -31
- package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +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/ThemeContext.js +2 -2
- package/lib/commonjs/contexts/themeContext/ThemeContext.js.map +1 -1
- package/lib/commonjs/contexts/themeContext/utils/theme.js +20 -11
- 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 +3 -3
- 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/contexts/utils/getDisplayName.js.map +1 -1
- package/lib/commonjs/emoji-data/index.js +2 -2
- package/lib/commonjs/emoji-data/index.js.map +1 -1
- package/lib/commonjs/hooks/useStreami18n.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/icons/utils/base.js +1 -1
- package/lib/commonjs/index.js +6 -6
- package/lib/commonjs/mock-builders/api/error.js +1 -1
- package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/attachment.js +1 -3
- package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/channel.js +101 -51
- package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
- package/lib/commonjs/mock-builders/generator/user.js +32 -33
- package/lib/commonjs/mock-builders/generator/user.js.map +1 -1
- package/lib/commonjs/mock-builders/mock.js +1 -1
- package/lib/commonjs/native.js +1 -1
- package/lib/commonjs/native.js.map +1 -1
- package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js +7 -7
- package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js.map +1 -1
- package/lib/commonjs/styleguideComponents/JsDoc.js +4 -4
- package/lib/commonjs/styleguideComponents/JsDoc.js.map +1 -1
- package/lib/commonjs/styleguideComponents/PathlineRenderer.js +7 -7
- package/lib/commonjs/styleguideComponents/PathlineRenderer.js.map +1 -1
- package/lib/commonjs/styleguideComponents/PropsRenderer.js +25 -25
- package/lib/commonjs/styleguideComponents/PropsRenderer.js.map +1 -1
- package/lib/commonjs/styleguideComponents/Wrapper.js +1 -1
- package/lib/commonjs/styleguideComponents/Wrapper.js.map +1 -1
- package/lib/commonjs/utils/Streami18n.js.map +1 -1
- package/lib/commonjs/utils/getResizedImageUrl.js +26 -0
- package/lib/commonjs/utils/getResizedImageUrl.js.map +1 -0
- package/lib/commonjs/utils/getUrlOfImageAttachment.js +9 -0
- package/lib/commonjs/utils/getUrlOfImageAttachment.js.map +1 -0
- package/lib/commonjs/utils/utils.js +9 -3
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Attachment/Attachment.js +12 -12
- 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/FileIcon.js.map +1 -1
- package/lib/module/components/Attachment/Gallery.js +97 -106
- 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 +46 -0
- package/lib/module/components/Attachment/utils/buildGallery/buildGallery.js.map +1 -0
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js +88 -0
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map +1 -0
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js +75 -0
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map +1 -0
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js +43 -0
- package/lib/module/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.js.map +1 -0
- package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js +30 -0
- package/lib/module/components/Attachment/utils/buildGallery/buildThumbnail.js.map +1 -0
- package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js +49 -0
- package/lib/module/components/Attachment/utils/buildGallery/buildThumbnailGrid.js.map +1 -0
- package/lib/module/components/Attachment/utils/buildGallery/types.js +4 -0
- package/lib/module/components/Attachment/utils/buildGallery/types.js.map +1 -0
- package/lib/module/components/Attachment/utils/getAspectRatio.js +14 -0
- package/lib/module/components/Attachment/utils/getAspectRatio.js.map +1 -0
- package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js +36 -0
- package/lib/module/components/Attachment/utils/getGalleryImageBorderRadius.js.map +1 -0
- package/lib/module/components/AttachmentPicker/AttachmentPicker.js +9 -8
- package/lib/module/components/AttachmentPicker/AttachmentPicker.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 +4 -4
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +11 -11
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -1
- package/lib/module/components/Avatar/Avatar.js +13 -7
- package/lib/module/components/Avatar/Avatar.js.map +1 -1
- package/lib/module/components/Avatar/GroupAvatar.js +10 -4
- package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
- package/lib/module/components/Channel/Channel.js +64 -64
- 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 +6 -6
- package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +4 -4
- package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +6 -7
- package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +2 -2
- package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListMessenger.js +17 -17
- package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useAddedToChannelNotification.js +2 -2
- 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 +2 -2
- 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 +2 -2
- package/lib/module/components/ChannelList/hooks/listeners/useNewMessage.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/listeners/useNewMessageNotification.js +3 -3
- 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 +2 -2
- package/lib/module/components/ChannelList/hooks/useCreateChannelsContext.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +83 -70
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/module/components/ChannelList/utils.js +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 +4 -4
- 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 +48 -20
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +51 -0
- package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -0
- 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 +4 -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 +89 -56
- package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
- package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +2 -2
- package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +12 -12
- 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 +7 -7
- package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGridHandle.js +5 -5
- package/lib/module/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
- package/lib/module/components/Indicators/LoadingIndicator.js +9 -9
- package/lib/module/components/Indicators/LoadingIndicator.js.map +1 -1
- package/lib/module/components/Message/Message.js +19 -15
- package/lib/module/components/Message/Message.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageAvatar.js +6 -6
- package/lib/module/components/Message/MessageSimple/MessageAvatar.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageContent.js +19 -19
- 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 +6 -6
- 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 +5 -5
- 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 +15 -13
- 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/parseLinks.js +89 -0
- package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -0
- package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js +46 -0
- package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -0
- package/lib/module/components/Message/MessageSimple/utils/renderText.js +151 -81
- 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 +16 -3
- package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
- package/lib/module/components/Message/hooks/useMessageActions.js +18 -14
- 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/CooldownTimer.js +2 -2
- package/lib/module/components/MessageInput/CooldownTimer.js.map +1 -1
- package/lib/module/components/MessageInput/FileUploadPreview.js +13 -13
- 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 +9 -9
- package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
- package/lib/module/components/MessageInput/MessageInput.js +40 -40
- 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/SendMessageDisallowedIndicator.js +2 -2
- package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -1
- package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +10 -10
- 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/MessageInput/hooks/useCountdown.js.map +1 -1
- package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +4 -4
- package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js.map +1 -1
- package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +4 -4
- package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js.map +1 -1
- package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +4 -4
- package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js.map +1 -1
- package/lib/module/components/MessageList/MessageList.js +28 -28
- 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 +5 -5
- 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 +7 -7
- package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useTypingString.js +2 -2
- 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 +3 -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 +5 -5
- package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageActionListItem.js +8 -8
- package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageOverlay.js +41 -34
- package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/module/components/MessageOverlay/OverlayBackdrop.js +1 -1
- package/lib/module/components/MessageOverlay/OverlayBackdrop.js.map +1 -1
- package/lib/module/components/MessageOverlay/OverlayReactionList.js +16 -16
- package/lib/module/components/MessageOverlay/OverlayReactionList.js.map +1 -1
- package/lib/module/components/MessageOverlay/OverlayReactions.js +31 -34
- package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
- package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js +41 -0
- package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js.map +1 -0
- package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -1
- package/lib/module/components/Reply/Reply.js +25 -19
- package/lib/module/components/Reply/Reply.js.map +1 -1
- package/lib/module/components/Thread/Thread.js +6 -6
- 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 +45 -45
- package/lib/module/components/docs/data.js.map +1 -1
- package/lib/module/components/index.js +26 -0
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +2 -2
- package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js.map +1 -1
- package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +2 -2
- 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 +2 -2
- 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 +18 -14
- 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 +10 -3
- package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
- package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +5 -19
- package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js.map +1 -1
- package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js +36 -0
- package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.js.map +1 -0
- package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +105 -0
- package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js.map +1 -0
- 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 +33 -31
- package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +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/ThemeContext.js +2 -2
- package/lib/module/contexts/themeContext/ThemeContext.js.map +1 -1
- package/lib/module/contexts/themeContext/utils/theme.js +20 -11
- 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 +3 -3
- 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/contexts/utils/getDisplayName.js.map +1 -1
- package/lib/module/emoji-data/index.js +2 -2
- package/lib/module/emoji-data/index.js.map +1 -1
- package/lib/module/hooks/useStreami18n.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/icons/utils/base.js +1 -1
- package/lib/module/index.js +6 -6
- package/lib/module/mock-builders/api/error.js +1 -1
- package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
- package/lib/module/mock-builders/generator/attachment.js +1 -3
- package/lib/module/mock-builders/generator/attachment.js.map +1 -1
- package/lib/module/mock-builders/generator/channel.js +101 -51
- package/lib/module/mock-builders/generator/channel.js.map +1 -1
- package/lib/module/mock-builders/generator/user.js +32 -33
- package/lib/module/mock-builders/generator/user.js.map +1 -1
- package/lib/module/mock-builders/mock.js +1 -1
- package/lib/module/native.js +1 -1
- package/lib/module/native.js.map +1 -1
- package/lib/module/styleguideComponents/ArgumentsRenderer.js +7 -7
- package/lib/module/styleguideComponents/ArgumentsRenderer.js.map +1 -1
- package/lib/module/styleguideComponents/JsDoc.js +4 -4
- package/lib/module/styleguideComponents/JsDoc.js.map +1 -1
- package/lib/module/styleguideComponents/PathlineRenderer.js +7 -7
- package/lib/module/styleguideComponents/PathlineRenderer.js.map +1 -1
- package/lib/module/styleguideComponents/PropsRenderer.js +25 -25
- package/lib/module/styleguideComponents/PropsRenderer.js.map +1 -1
- package/lib/module/styleguideComponents/Wrapper.js +1 -1
- package/lib/module/styleguideComponents/Wrapper.js.map +1 -1
- package/lib/module/utils/Streami18n.js.map +1 -1
- package/lib/module/utils/getResizedImageUrl.js +26 -0
- package/lib/module/utils/getResizedImageUrl.js.map +1 -0
- package/lib/module/utils/getUrlOfImageAttachment.js +9 -0
- package/lib/module/utils/getUrlOfImageAttachment.js.map +1 -0
- package/lib/module/utils/utils.js +9 -3
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Attachment/Attachment.d.ts +6 -6
- package/lib/typescript/components/Attachment/AttachmentActions.d.ts +5 -5
- package/lib/typescript/components/Attachment/Card.d.ts +5 -5
- package/lib/typescript/components/Attachment/FileAttachment.d.ts +6 -6
- package/lib/typescript/components/Attachment/FileAttachmentGroup.d.ts +4 -4
- package/lib/typescript/components/Attachment/Gallery.d.ts +6 -9
- package/lib/typescript/components/Attachment/Giphy.d.ts +7 -7
- package/lib/typescript/components/Attachment/utils/buildGallery/buildGallery.d.ts +23 -0
- package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.d.ts +7 -0
- package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.d.ts +7 -0
- package/lib/typescript/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.d.ts +7 -0
- package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnail.d.ts +10 -0
- package/lib/typescript/components/Attachment/utils/buildGallery/buildThumbnailGrid.d.ts +137 -0
- package/lib/typescript/components/Attachment/utils/buildGallery/types.d.ts +23 -0
- package/lib/typescript/components/Attachment/utils/getAspectRatio.d.ts +9 -0
- package/lib/typescript/components/Attachment/utils/getGalleryImageBorderRadius.d.ts +22 -0
- 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 +10 -11
- package/lib/typescript/components/Avatar/Avatar.d.ts +1 -1
- package/lib/typescript/components/Channel/Channel.d.ts +10 -10
- 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 +4 -4
- 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 +15 -15
- 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 +11 -9
- 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 +7 -7
- package/lib/typescript/components/ChannelPreview/ChannelPreviewMessage.d.ts +4 -5
- package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts +6 -6
- package/lib/typescript/components/ChannelPreview/ChannelPreviewMutedStatus.d.ts +9 -0
- 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 +12 -10
- package/lib/typescript/components/ImageGallery/components/AnimatedGalleryImage.d.ts +1 -1
- 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 +12 -12
- package/lib/typescript/components/Message/MessageSimple/MessageAvatar.d.ts +5 -5
- package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts +4 -4
- package/lib/typescript/components/Message/MessageSimple/MessageDeleted.d.ts +6 -6
- package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts +8 -8
- 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/parseLinks.d.ts +7 -0
- package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.test.d.ts +1 -0
- package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +20 -6
- 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 +5 -5
- package/lib/typescript/components/Message/utils/messageActions.d.ts +7 -7
- package/lib/typescript/components/Message/utils/removeReservedFields.d.ts +2 -2
- package/lib/typescript/components/MessageInput/AttachButton.d.ts +5 -5
- package/lib/typescript/components/MessageInput/CommandsButton.d.ts +5 -5
- 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 +5 -5
- 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 +5 -5
- 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 +5 -5
- 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 +3 -1
- package/lib/typescript/components/MessageOverlay/OverlayReactionsAvatar.d.ts +7 -0
- package/lib/typescript/components/MessageOverlay/hooks/useMessageActionAnimation.d.ts +1 -1
- package/lib/typescript/components/Reply/Reply.d.ts +5 -5
- package/lib/typescript/components/Thread/Thread.d.ts +8 -8
- package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts +2 -2
- package/lib/typescript/components/index.d.ts +2 -0
- 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 +30 -22
- 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 +39 -37
- package/lib/typescript/contexts/messageInputContext/hooks/useCreateMessageInputContext.d.ts +3 -3
- package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts +3 -3
- package/lib/typescript/contexts/messageOverlayContext/MessageOverlayContext.d.ts +27 -25
- package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.d.ts +12 -0
- package/lib/typescript/contexts/messageOverlayContext/hooks/useResettableState.test.d.ts +1 -0
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +67 -67
- package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +8 -8
- 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 +21 -21
- package/lib/typescript/contexts/themeContext/utils/theme.d.ts +17 -8
- 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/hooks/useStreami18n.d.ts +1 -1
- package/lib/typescript/icons/{Left.d.ts → UserAdmin.d.ts} +1 -1
- package/lib/typescript/icons/index.d.ts +0 -2
- package/lib/typescript/types/types.d.ts +16 -13
- package/lib/typescript/utils/Streami18n.d.ts +6 -6
- package/lib/typescript/utils/getResizedImageUrl.d.ts +19 -0
- package/lib/typescript/utils/getUrlOfImageAttachment.d.ts +7 -0
- package/lib/typescript/utils/utils.d.ts +27 -22
- package/package.json +9 -13
- package/src/components/Attachment/Attachment.tsx +18 -59
- package/src/components/Attachment/AttachmentActions.tsx +17 -57
- package/src/components/Attachment/Card.tsx +17 -51
- package/src/components/Attachment/FileAttachment.tsx +16 -51
- package/src/components/Attachment/FileAttachmentGroup.tsx +16 -57
- package/src/components/Attachment/FileIcon.tsx +2 -2
- package/src/components/Attachment/Gallery.tsx +177 -242
- package/src/components/Attachment/Giphy.tsx +84 -128
- package/src/components/Attachment/__tests__/Attachment.test.js +11 -10
- package/src/components/Attachment/__tests__/Gallery.test.js +233 -0
- package/src/components/Attachment/__tests__/buildGallery.test.js +131 -0
- package/src/components/Attachment/utils/buildGallery/buildGallery.ts +77 -0
- package/src/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.ts +91 -0
- package/src/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.ts +99 -0
- package/src/components/Attachment/utils/buildGallery/buildGalleryOfTwoImages.ts +66 -0
- package/src/components/Attachment/utils/buildGallery/buildThumbnail.ts +48 -0
- package/src/components/Attachment/utils/buildGallery/buildThumbnailGrid.ts +188 -0
- package/src/components/Attachment/utils/buildGallery/types.ts +27 -0
- package/src/components/Attachment/utils/getAspectRatio.ts +21 -0
- package/src/components/Attachment/utils/getGalleryImageBorderRadius.ts +71 -0
- package/src/components/AttachmentPicker/AttachmentPicker.tsx +4 -2
- package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +23 -62
- package/src/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.tsx +6 -4
- package/src/components/AutoCompleteInput/AutoCompleteSuggestionHeader.tsx +13 -20
- package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx +20 -25
- package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +25 -29
- package/src/components/AutoCompleteInput/__tests__/AutoCompleteInput.test.js +6 -8
- package/src/components/Avatar/Avatar.tsx +8 -11
- package/src/components/Avatar/GroupAvatar.tsx +7 -2
- package/src/components/Avatar/__tests__/Avatar.test.js +2 -2
- package/src/components/Channel/Channel.tsx +237 -313
- package/src/components/Channel/__tests__/Channel.test.js +10 -10
- package/src/components/Channel/__tests__/ownCapabilities.test.js +8 -8
- 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 +5 -19
- 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 +36 -58
- package/src/components/ChannelList/ChannelListFooterLoadingIndicator.tsx +1 -2
- package/src/components/ChannelList/ChannelListHeaderErrorIndicator.tsx +3 -7
- package/src/components/ChannelList/ChannelListHeaderNetworkDownIndicator.tsx +2 -2
- package/src/components/ChannelList/ChannelListMessenger.tsx +22 -74
- package/src/components/ChannelList/__tests__/ChannelList.test.js +73 -13
- package/src/components/ChannelList/__tests__/ChannelListMessenger.test.js +11 -12
- package/src/components/ChannelList/hooks/listeners/useAddedToChannelNotification.ts +17 -39
- package/src/components/ChannelList/hooks/listeners/useChannelDeleted.ts +15 -37
- package/src/components/ChannelList/hooks/listeners/useChannelHidden.ts +15 -37
- package/src/components/ChannelList/hooks/listeners/useChannelTruncated.ts +17 -39
- package/src/components/ChannelList/hooks/listeners/useChannelUpdated.ts +15 -37
- package/src/components/ChannelList/hooks/listeners/useChannelVisible.ts +17 -39
- package/src/components/ChannelList/hooks/listeners/useConnectionRecovered.ts +3 -18
- package/src/components/ChannelList/hooks/listeners/useNewMessage.ts +13 -36
- package/src/components/ChannelList/hooks/listeners/useNewMessageNotification.ts +17 -39
- package/src/components/ChannelList/hooks/listeners/useRemovedFromChannelNotification.ts +15 -37
- package/src/components/ChannelList/hooks/listeners/useUserPresence.ts +11 -33
- package/src/components/ChannelList/hooks/useCreateChannelsContext.ts +5 -21
- package/src/components/ChannelList/hooks/usePaginatedChannels.ts +89 -77
- package/src/components/ChannelList/utils.ts +9 -42
- package/src/components/ChannelPreview/ChannelAvatar.tsx +6 -29
- package/src/components/ChannelPreview/ChannelPreview.tsx +21 -54
- package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +13 -23
- package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +35 -55
- package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx +50 -0
- package/src/components/ChannelPreview/ChannelPreviewStatus.tsx +10 -30
- package/src/components/ChannelPreview/ChannelPreviewTitle.tsx +7 -28
- package/src/components/ChannelPreview/ChannelPreviewUnreadCount.tsx +7 -27
- package/src/components/ChannelPreview/__tests__/ChannelPreview.test.js +8 -9
- package/src/components/ChannelPreview/__tests__/ChannelPreviewMessenger.test.js +8 -9
- package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.ts +9 -30
- package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayName.ts +8 -30
- package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayPresence.ts +9 -30
- package/src/components/ChannelPreview/hooks/useLatestMessagePreview.ts +29 -80
- package/src/components/Chat/Chat.tsx +17 -45
- package/src/components/Chat/__tests__/Chat.test.js +5 -5
- package/src/components/Chat/hooks/useCreateChatContext.ts +4 -19
- package/src/components/Chat/hooks/useIsOnline.ts +8 -22
- package/src/components/Chat/hooks/useMutedUsers.ts +5 -20
- package/src/components/ImageGallery/ImageGallery.tsx +109 -86
- package/src/components/ImageGallery/components/AnimatedGalleryImage.tsx +1 -2
- package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +20 -15
- package/src/components/ImageGallery/components/ImageGalleryHeader.tsx +42 -21
- package/src/components/ImageGallery/components/ImageGrid.tsx +47 -33
- package/src/components/ImageGallery/components/ImageGridHandle.tsx +1 -0
- package/src/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.tsx +31 -0
- package/src/components/Indicators/LoadingIndicator.tsx +1 -2
- package/src/components/Message/Message.tsx +59 -112
- package/src/components/Message/MessageSimple/MessageAvatar.tsx +14 -56
- package/src/components/Message/MessageSimple/MessageContent.tsx +20 -64
- package/src/components/Message/MessageSimple/MessageDeleted.tsx +19 -61
- package/src/components/Message/MessageSimple/MessageFooter.tsx +28 -71
- package/src/components/Message/MessageSimple/MessagePinnedHeader.tsx +15 -56
- package/src/components/Message/MessageSimple/MessageReplies.tsx +15 -56
- package/src/components/Message/MessageSimple/MessageRepliesAvatars.tsx +7 -29
- package/src/components/Message/MessageSimple/MessageSimple.tsx +16 -57
- package/src/components/Message/MessageSimple/MessageStatus.tsx +21 -58
- package/src/components/Message/MessageSimple/MessageTextContainer.tsx +19 -66
- package/src/components/Message/MessageSimple/ReactionList.tsx +47 -88
- package/src/components/Message/MessageSimple/__tests__/Message.test.js +9 -9
- package/src/components/Message/MessageSimple/__tests__/MessageAvatar.test.js +2 -2
- package/src/components/Message/MessageSimple/__tests__/MessageContent.test.js +9 -26
- package/src/components/Message/MessageSimple/__tests__/MessagePinnedHeader.test.js +2 -2
- package/src/components/Message/MessageSimple/__tests__/MessageReplies.test.js +2 -2
- package/src/components/Message/MessageSimple/__tests__/MessageStatus.test.js +4 -5
- package/src/components/Message/MessageSimple/__tests__/MessageTextContainer.test.js +2 -2
- package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageAvatar.test.js.snap +1 -1
- package/src/components/Message/MessageSimple/utils/parseLinks.test.ts +100 -0
- package/src/components/Message/MessageSimple/utils/parseLinks.ts +95 -0
- package/src/components/Message/MessageSimple/utils/renderText.test.tsx +70 -0
- package/src/components/Message/MessageSimple/utils/renderText.tsx +97 -94
- package/src/components/Message/hooks/useCreateMessageContext.ts +5 -21
- package/src/components/Message/hooks/useMessageActionHandlers.ts +21 -27
- package/src/components/Message/hooks/useMessageActions.tsx +21 -31
- package/src/components/Message/utils/messageActions.ts +9 -36
- package/src/components/Message/utils/removeReservedFields.ts +3 -18
- package/src/components/MessageInput/AttachButton.tsx +14 -56
- package/src/components/MessageInput/CommandsButton.tsx +16 -58
- package/src/components/MessageInput/CooldownTimer.tsx +1 -0
- package/src/components/MessageInput/FileUploadPreview.tsx +16 -58
- package/src/components/MessageInput/ImageUploadPreview.tsx +13 -56
- package/src/components/MessageInput/InputButtons.tsx +14 -55
- package/src/components/MessageInput/MessageInput.tsx +30 -72
- package/src/components/MessageInput/MoreOptionsButton.tsx +14 -56
- package/src/components/MessageInput/SendButton.tsx +13 -54
- package/src/components/MessageInput/SendMessageDisallowedIndicator.tsx +1 -1
- package/src/components/MessageInput/ShowThreadMessageInChannelButton.tsx +5 -20
- package/src/components/MessageInput/__tests__/AttachButton.test.js +2 -2
- package/src/components/MessageInput/__tests__/FileUploadPreview.test.js +15 -17
- package/src/components/MessageInput/__tests__/ImageUploadPreview.test.js +3 -3
- package/src/components/MessageInput/__tests__/MessageInput.test.js +8 -8
- package/src/components/MessageInput/__tests__/SendButton.test.js +2 -2
- package/src/components/MessageInput/__tests__/UploadProgressIndicator.test.js +2 -2
- package/src/components/MessageInput/__tests__/__snapshots__/FileUploadPreview.test.js.snap +1604 -4172
- package/src/components/MessageInput/__tests__/__snapshots__/MessageInput.test.js.snap +1 -643
- package/src/components/MessageInput/hooks/useCooldown.ts +7 -19
- package/src/components/MessageInput/hooks/useCountdown.ts +1 -0
- 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 +37 -79
- package/src/components/MessageList/MessageSystem.tsx +7 -28
- package/src/components/MessageList/TypingIndicator.tsx +4 -20
- package/src/components/MessageList/TypingIndicatorContainer.tsx +14 -47
- package/src/components/MessageList/__tests__/MessageList.test.js +17 -17
- package/src/components/MessageList/__tests__/MessageSystem.test.js +3 -3
- package/src/components/MessageList/__tests__/ScrollToBottomButton.test.js +3 -3
- package/src/components/MessageList/__tests__/TypingIndicator.test.js +5 -6
- package/src/components/MessageList/__tests__/__snapshots__/TypingIndicator.test.js.snap +1 -1
- package/src/components/MessageList/hooks/useMessageList.ts +24 -59
- package/src/components/MessageList/hooks/useTypingString.ts +6 -22
- 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 +7 -29
- package/src/components/MessageList/utils/getLastReceivedMessage.ts +9 -19
- package/src/components/MessageList/utils/getReadStates.ts +5 -20
- package/src/components/MessageOverlay/MessageActionList.tsx +17 -58
- package/src/components/MessageOverlay/MessageActionListItem.tsx +23 -10
- package/src/components/MessageOverlay/MessageOverlay.tsx +56 -95
- package/src/components/MessageOverlay/OverlayBackdrop.tsx +1 -0
- package/src/components/MessageOverlay/OverlayReactionList.tsx +23 -78
- package/src/components/MessageOverlay/OverlayReactions.tsx +12 -8
- package/src/components/MessageOverlay/OverlayReactionsAvatar.tsx +27 -0
- package/src/components/MessageOverlay/hooks/useMessageActionAnimation.tsx +1 -0
- package/src/components/Reply/Reply.tsx +44 -81
- package/src/components/Thread/Thread.tsx +24 -58
- package/src/components/Thread/__tests__/Thread.test.js +12 -14
- package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +13 -13
- package/src/components/Thread/components/ThreadFooterComponent.tsx +12 -48
- package/src/components/docs/data.js +38 -37
- package/src/components/index.ts +2 -0
- package/src/contexts/activeChannelsRefContext/ActiveChannelsRefContext.tsx +1 -2
- package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +10 -9
- package/src/contexts/channelContext/ChannelContext.tsx +16 -50
- package/src/contexts/channelsContext/ChannelsContext.tsx +37 -63
- package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +38 -116
- package/src/contexts/channelsStateContext/useChannelState.ts +28 -60
- package/src/contexts/chatContext/ChatContext.tsx +15 -51
- package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +13 -56
- package/src/contexts/keyboardContext/KeyboardContext.tsx +13 -8
- package/src/contexts/messageContext/MessageContext.tsx +16 -50
- package/src/contexts/messageInputContext/MessageInputContext.tsx +88 -134
- package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +6 -23
- package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +15 -34
- package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +34 -90
- package/src/contexts/messageOverlayContext/hooks/useResettableState.test.tsx +46 -0
- package/src/contexts/messageOverlayContext/hooks/useResettableState.ts +22 -0
- package/src/contexts/messagesContext/MessagesContext.tsx +73 -112
- package/src/contexts/overlayContext/OverlayContext.tsx +28 -34
- package/src/contexts/overlayContext/OverlayProvider.tsx +36 -46
- package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +14 -55
- package/src/contexts/suggestionsContext/SuggestionsContext.tsx +42 -42
- package/src/contexts/suggestionsContext/__tests__/Suggestions.test.js +1 -0
- package/src/contexts/themeContext/ThemeContext.tsx +1 -0
- package/src/contexts/themeContext/utils/theme.ts +36 -19
- package/src/contexts/threadContext/ThreadContext.tsx +14 -48
- package/src/contexts/translationContext/TranslationContext.tsx +14 -9
- package/src/contexts/typingContext/TypingContext.tsx +12 -46
- package/src/contexts/utils/getDisplayName.ts +1 -0
- package/src/emoji-data/index.js +1 -1
- package/src/hooks/useStreami18n.ts +1 -1
- package/src/icons/UserAdmin.tsx +23 -0
- package/src/icons/index.ts +0 -2
- package/src/mock-builders/api/sendMessage.js +1 -0
- package/src/mock-builders/generator/attachment.js +0 -2
- package/src/mock-builders/generator/channel.js +101 -64
- package/src/mock-builders/generator/user.js +33 -26
- package/src/native.ts +1 -0
- package/src/styleguideComponents/ArgumentsRenderer.tsx +2 -1
- package/src/styleguideComponents/JsDoc.tsx +3 -1
- package/src/styleguideComponents/PathlineRenderer.tsx +2 -1
- package/src/styleguideComponents/PropsRenderer.tsx +7 -4
- package/src/styleguideComponents/Wrapper.tsx +1 -0
- package/src/types/types.ts +16 -18
- package/src/utils/Streami18n.ts +6 -6
- package/src/utils/__tests__/Streami18n.test.js +1 -2
- package/src/utils/getResizedImageUrl.ts +43 -0
- package/src/utils/getUrlOfImageAttachment.ts +10 -0
- package/src/utils/utils.ts +72 -132
- 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/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/typescript/icons/Right.d.ts +0 -3
- package/src/icons/Left.tsx +0 -12
- package/src/icons/Right.tsx +0 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Giphy.tsx"],"names":["styles","StyleSheet","create","cancel","fontSize","fontWeight","paddingVertical","cancelContainer","alignItems","borderRightWidth","flex","justifyContent","container","overflow","width","giphy","borderTopLeftRadius","borderTopRightRadius","height","giphyContainer","borderRadius","flexDirection","giphyMask","bottom","left","position","giphyText","margin","row","selectionContainer","borderWidth","selector","borderBottomWidth","paddingBottom","paddingHorizontal","send","sendContainer","shuffleButton","title","fontStyle","GiphyWithContext","props","additionalTouchableProps","attachment","handleAction","onLongPress","onPress","onPressIn","preventPress","actions","image_url","thumb_url","type","theme","colors","accent_blue","black","border","grey","overlay","white","messageSimple","titleStyle","uri","backgroundColor","borderColor","color","toUpperCase","borderBottomColor","name","value","borderRightColor","text","event","emitter","areEqual","prevProps","nextProps","prevActions","prevImageUrl","prevThumbUrl","nextActions","nextImageUrl","nextThumbUrl","imageUrlEqual","thumbUrlEqual","actionsEqual","Array","isArray","length","MemoizedGiphy","React","memo","Giphy","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Image, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Left } from '../../icons/Left';\nimport { Lightning } from '../../icons/Lightning';\nimport { Right } from '../../icons/Right';\nimport { makeImageCompatibleUrl } from '../../utils/utils';\n\nimport type { Attachment } from 'stream-chat';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nconst styles = StyleSheet.create({\n cancel: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n cancelContainer: {\n alignItems: 'center',\n borderRightWidth: 1,\n flex: 1,\n justifyContent: 'center',\n },\n container: {\n overflow: 'hidden',\n width: 256,\n },\n giphy: {\n borderTopLeftRadius: 8,\n borderTopRightRadius: 8,\n height: 140,\n },\n giphyContainer: {\n alignItems: 'center',\n borderRadius: 12,\n flexDirection: 'row',\n height: 24,\n justifyContent: 'center',\n width: 68,\n },\n giphyMask: {\n bottom: 8,\n left: 8,\n position: 'absolute',\n },\n giphyText: { fontSize: 11, fontWeight: '600' },\n margin: {\n margin: 8,\n },\n row: { flexDirection: 'row' },\n selectionContainer: {\n borderRadius: 8,\n borderWidth: 1,\n overflow: 'hidden',\n width: 250,\n },\n selector: {\n alignItems: 'center',\n borderBottomWidth: 1,\n flexDirection: 'row',\n justifyContent: 'space-between',\n paddingBottom: 8,\n paddingHorizontal: 8,\n },\n send: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n sendContainer: { alignItems: 'center', flex: 1, justifyContent: 'center' },\n shuffleButton: {\n alignItems: 'center',\n borderRadius: 16,\n borderWidth: 1,\n height: 32,\n justifyContent: 'center',\n width: 32,\n },\n title: {\n fontSize: 14,\n fontStyle: 'italic',\n fontWeight: '500',\n },\n});\n\nexport type GiphyPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<\n MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'handleAction' | 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'\n> &\n Pick<MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'additionalTouchableProps'> & {\n attachment: Attachment<At>;\n };\n\nconst GiphyWithContext = <\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: GiphyPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n additionalTouchableProps,\n attachment,\n handleAction,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n } = props;\n\n const { actions, image_url, thumb_url, title, type } = attachment;\n\n const {\n theme: {\n colors: { accent_blue, black, border, grey, overlay, white },\n messageSimple: {\n giphy: {\n cancel,\n cancelContainer,\n container,\n giphy,\n giphyContainer,\n giphyMask,\n giphyText,\n selectionContainer,\n selector,\n send,\n sendContainer,\n shuffleButton,\n title: titleStyle,\n },\n },\n },\n } = useTheme();\n\n const uri = image_url || thumb_url;\n\n if (!uri) return null;\n\n return actions ? (\n <View\n style={[\n styles.selectionContainer,\n { backgroundColor: white, borderColor: `${black}0D` },\n selectionContainer,\n ]}\n >\n <View style={styles.margin}>\n <Image\n resizeMode='cover'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.giphy, giphy]}\n />\n <View style={[styles.giphyMask, giphyMask]}>\n <View style={[styles.giphyContainer, { backgroundColor: overlay }, giphyContainer]}>\n <Lightning height={16} pathFill={white} width={16} />\n <Text style={[styles.giphyText, { color: white }, giphyText]}>\n {type?.toUpperCase()}\n </Text>\n </View>\n </View>\n </View>\n <View>\n <View style={[styles.selector, { borderBottomColor: border }, selector]}>\n <TouchableOpacity\n onPress={() => handleAction('image_action', 'shuffle')}\n style={[styles.shuffleButton, { borderColor: border }, shuffleButton]}\n >\n <Left />\n </TouchableOpacity>\n <Text style={[styles.title, { color: black }, titleStyle]}>{`\"${title}\"`}</Text>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[1].name && actions?.[1].value && handleAction) {\n handleAction(actions[1].name, actions[1].value);\n }\n }}\n style={[styles.shuffleButton, shuffleButton]}\n >\n <Right />\n </TouchableOpacity>\n </View>\n <View style={styles.row}>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[2].name && actions?.[2].value && handleAction) {\n handleAction(actions[2].name, actions[2].value);\n }\n }}\n style={[styles.cancelContainer, { borderRightColor: border }, cancelContainer]}\n >\n <Text style={[styles.cancel, { color: grey }, cancel]}>{actions?.[2].text}</Text>\n </TouchableOpacity>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[0].name && actions?.[0].value && handleAction) {\n handleAction(actions[0].name, actions[0].value);\n }\n }}\n style={[styles.sendContainer, sendContainer]}\n >\n <Text style={[styles.send, { color: accent_blue }, send]}>{actions?.[0].text}</Text>\n </TouchableOpacity>\n </View>\n </View>\n </View>\n ) : (\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'giphy',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n emitter: 'giphy',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n emitter: 'giphy',\n event,\n });\n }\n }}\n style={[styles.container, container]}\n testID='giphy-attachment'\n {...additionalTouchableProps}\n >\n <View>\n <Image\n resizeMode='cover'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.giphy, giphy]}\n />\n <View style={[styles.giphyMask, giphyMask]}>\n <View style={[styles.giphyContainer, { backgroundColor: overlay }, giphyContainer]}>\n <Lightning height={16} pathFill={white} width={16} />\n <Text style={[styles.giphyText, { color: white }, giphyText]}>\n {type?.toUpperCase()}\n </Text>\n </View>\n </View>\n </View>\n </TouchableOpacity>\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: GiphyPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: GiphyPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n attachment: { actions: prevActions, image_url: prevImageUrl, thumb_url: prevThumbUrl },\n } = prevProps;\n const {\n attachment: { actions: nextActions, image_url: nextImageUrl, thumb_url: nextThumbUrl },\n } = nextProps;\n\n const imageUrlEqual = prevImageUrl === nextImageUrl;\n if (!imageUrlEqual) return false;\n\n const thumbUrlEqual = prevThumbUrl === nextThumbUrl;\n if (!thumbUrlEqual) return false;\n\n const actionsEqual =\n Array.isArray(prevActions) === Array.isArray(nextActions) &&\n ((Array.isArray(prevActions) &&\n Array.isArray(nextActions) &&\n prevActions.length === nextActions.length) ||\n prevActions === nextActions);\n if (!actionsEqual) return false;\n\n return true;\n};\n\nconst MemoizedGiphy = React.memo(GiphyWithContext, areEqual) as typeof GiphyWithContext;\n\nexport type GiphyProps<\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<\n Pick<MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'onLongPress' | 'onPressIn'> &\n Pick<MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'additionalTouchableProps'>\n> & {\n attachment: Attachment<At>;\n};\n\n/**\n * UI component for card in attachments.\n */\nexport const Giphy = <\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: GiphyProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { handleAction, onLongPress, onPress, onPressIn, preventPress } =\n useMessageContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { additionalTouchableProps } = useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return (\n <MemoizedGiphy\n {...{\n additionalTouchableProps,\n handleAction,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n }}\n {...props}\n />\n );\n};\n\nGiphy.displayName = 'Giphy{messageSimple{giphy}}';\n"]}
|
|
1
|
+
{"version":3,"sources":["Giphy.tsx"],"names":["styles","StyleSheet","create","buttonContainer","alignItems","borderTopWidth","flex","justifyContent","cancel","fontSize","fontWeight","paddingVertical","container","overflow","width","giphy","borderRadius","height","giphyContainer","flexDirection","giphyHeaderText","giphyHeaderTitle","giphyMask","bottom","left","position","giphyMaskText","header","display","padding","margin","row","selectionContainer","borderBottomLeftRadius","borderWidth","send","shuffle","shuffleButton","GiphyWithContext","props","additionalTouchableProps","attachment","handleAction","onLongPress","onPress","onPressIn","preventPress","actions","image_url","thumb_url","title","type","theme","colors","accent_blue","black","grey","grey_dark","grey_gainsboro","white","messageSimple","uri","backgroundColor","borderColor","color","name","value","borderRightWidth","text","event","emitter","toUpperCase","areEqual","prevProps","nextProps","prevActions","prevImageUrl","prevThumbUrl","nextActions","nextImageUrl","nextThumbUrl","imageUrlEqual","thumbUrlEqual","actionsEqual","Array","isArray","length","MemoizedGiphy","React","memo","Giphy","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Image, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { GiphyIcon } from '../../icons';\nimport { Lightning } from '../../icons/Lightning';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { makeImageCompatibleUrl } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n buttonContainer: { alignItems: 'center', borderTopWidth: 1, flex: 1, justifyContent: 'center' },\n cancel: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n container: {\n overflow: 'hidden',\n width: 270,\n },\n giphy: {\n borderRadius: 2,\n height: 170,\n width: 270,\n },\n giphyContainer: {\n alignItems: 'center',\n borderRadius: 12,\n flexDirection: 'row',\n height: 24,\n justifyContent: 'center',\n width: 68,\n },\n giphyHeaderText: {\n fontSize: 16,\n fontWeight: '600',\n },\n giphyHeaderTitle: {\n fontSize: 14,\n },\n giphyMask: {\n bottom: 8,\n left: 8,\n position: 'absolute',\n },\n giphyMaskText: { fontSize: 13, fontWeight: '600' },\n header: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n padding: 8,\n width: '60%',\n },\n margin: {\n margin: 1,\n },\n row: { flexDirection: 'row' },\n selectionContainer: {\n borderBottomLeftRadius: 8,\n borderWidth: 1,\n overflow: 'hidden',\n width: 272,\n },\n send: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n shuffle: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n shuffleButton: {\n alignItems: 'center',\n borderRadius: 16,\n borderWidth: 1,\n height: 32,\n justifyContent: 'center',\n width: 32,\n },\n});\n\nexport type GiphyPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n 'handleAction' | 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'\n> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'additionalTouchableProps'> & {\n attachment: Attachment<StreamChatGenerics>;\n };\n\nconst GiphyWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GiphyPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalTouchableProps,\n attachment,\n handleAction,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n } = props;\n\n const { actions, image_url, thumb_url, title, type } = attachment;\n\n const {\n theme: {\n colors: { accent_blue, black, grey, grey_dark, grey_gainsboro, white },\n messageSimple: {\n giphy: {\n buttonContainer,\n cancel,\n container,\n giphy,\n giphyContainer,\n giphyHeaderText,\n giphyHeaderTitle,\n giphyMask,\n giphyMaskText,\n header,\n selectionContainer,\n send,\n shuffle,\n },\n },\n },\n } = useTheme();\n\n const uri = image_url || thumb_url;\n\n if (!uri) return null;\n\n return actions ? (\n <View\n style={[\n styles.selectionContainer,\n { backgroundColor: white, borderColor: `${black}0D` },\n selectionContainer,\n ]}\n >\n <View style={[styles.header, header]}>\n <GiphyIcon />\n <Text style={[styles.giphyHeaderText, giphyHeaderText]}>Giphy</Text>\n <Text\n style={[styles.giphyHeaderTitle, giphyHeaderTitle, { color: grey_dark }]}\n >{`/giphy ${title}`}</Text>\n </View>\n <View style={styles.margin}>\n <Image\n resizeMode='cover'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.giphy, giphy]}\n />\n </View>\n <View>\n <View style={styles.row}>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[2].name && actions?.[2].value && handleAction) {\n handleAction(actions[2].name, actions[2].value);\n }\n }}\n style={[\n styles.buttonContainer,\n { borderColor: grey_gainsboro, borderRightWidth: 1 },\n buttonContainer,\n ]}\n >\n <Text style={[styles.cancel, { color: grey }, cancel]}>{actions?.[2].text}</Text>\n </TouchableOpacity>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[1].name && actions?.[1].value && handleAction) {\n handleAction(actions[1].name, actions[1].value);\n }\n }}\n style={[\n styles.buttonContainer,\n { borderColor: grey_gainsboro, borderRightWidth: 1 },\n buttonContainer,\n ]}\n >\n <Text style={[styles.shuffle, { color: grey }, shuffle]}>{actions?.[1].text}</Text>\n </TouchableOpacity>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[0].name && actions?.[0].value && handleAction) {\n handleAction(actions[0].name, actions[0].value);\n }\n }}\n style={[styles.buttonContainer, { borderColor: grey_gainsboro }, buttonContainer]}\n >\n <Text style={[styles.send, { color: accent_blue }, send]}>{actions?.[0].text}</Text>\n </TouchableOpacity>\n </View>\n </View>\n </View>\n ) : (\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'giphy',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n emitter: 'giphy',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n emitter: 'giphy',\n event,\n });\n }\n }}\n style={[styles.container, container]}\n testID='giphy-attachment'\n {...additionalTouchableProps}\n >\n <View>\n <Image\n resizeMode='cover'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.giphy, giphy]}\n />\n <View style={[styles.giphyMask, giphyMask]}>\n <View style={[styles.giphyContainer, { backgroundColor: grey_dark }, giphyContainer]}>\n <Lightning height={16} pathFill={white} width={16} />\n <Text style={[styles.giphyMaskText, { color: white }, giphyMaskText]}>\n {type?.toUpperCase()}\n </Text>\n </View>\n </View>\n </View>\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: GiphyPropsWithContext<StreamChatGenerics>,\n nextProps: GiphyPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n attachment: { actions: prevActions, image_url: prevImageUrl, thumb_url: prevThumbUrl },\n } = prevProps;\n const {\n attachment: { actions: nextActions, image_url: nextImageUrl, thumb_url: nextThumbUrl },\n } = nextProps;\n\n const imageUrlEqual = prevImageUrl === nextImageUrl;\n if (!imageUrlEqual) return false;\n\n const thumbUrlEqual = prevThumbUrl === nextThumbUrl;\n if (!thumbUrlEqual) return false;\n\n const actionsEqual =\n Array.isArray(prevActions) === Array.isArray(nextActions) &&\n ((Array.isArray(prevActions) &&\n Array.isArray(nextActions) &&\n prevActions.length === nextActions.length) ||\n prevActions === nextActions);\n if (!actionsEqual) return false;\n\n return true;\n};\n\nconst MemoizedGiphy = React.memo(GiphyWithContext, areEqual) as typeof GiphyWithContext;\n\nexport type GiphyProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<\n Pick<MessageContextValue<StreamChatGenerics>, 'onLongPress' | 'onPressIn'> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'additionalTouchableProps'>\n> & {\n attachment: Attachment<StreamChatGenerics>;\n};\n\n/**\n * UI component for card in attachments.\n */\nexport const Giphy = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: GiphyProps<StreamChatGenerics>,\n) => {\n const { handleAction, onLongPress, onPress, onPressIn, preventPress } =\n useMessageContext<StreamChatGenerics>();\n const { additionalTouchableProps } = useMessagesContext<StreamChatGenerics>();\n\n return (\n <MemoizedGiphy\n {...{\n additionalTouchableProps,\n handleAction,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n }}\n {...props}\n />\n );\n};\n\nGiphy.displayName = 'Giphy{messageSimple{giphy}}';\n"]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", {
|
|
2
|
+
value: true
|
|
3
|
+
});
|
|
4
|
+
exports.buildGallery = buildGallery;
|
|
5
|
+
|
|
6
|
+
var _buildGalleryOfSingleImage = require("./buildGalleryOfSingleImage");
|
|
7
|
+
|
|
8
|
+
var _buildGalleryOfThreeImages = require("./buildGalleryOfThreeImages");
|
|
9
|
+
|
|
10
|
+
var _buildGalleryOfTwoImages = require("./buildGalleryOfTwoImages");
|
|
11
|
+
|
|
12
|
+
var _buildThumbnailGrid = require("./buildThumbnailGrid");
|
|
13
|
+
|
|
14
|
+
function buildGallery(_ref) {
|
|
15
|
+
var images = _ref.images,
|
|
16
|
+
sizeConfig = _ref.sizeConfig;
|
|
17
|
+
|
|
18
|
+
if (images.length === 1) {
|
|
19
|
+
return (0, _buildGalleryOfSingleImage.buildGalleryOfSingleImage)({
|
|
20
|
+
image: images[0],
|
|
21
|
+
sizeConfig: sizeConfig
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if (images.length === 2) {
|
|
26
|
+
return (0, _buildGalleryOfTwoImages.buildGalleryOfTwoImages)({
|
|
27
|
+
images: images,
|
|
28
|
+
sizeConfig: sizeConfig
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (images.length === 3) {
|
|
33
|
+
return (0, _buildGalleryOfThreeImages.buildGalleryOfThreeImages)({
|
|
34
|
+
images: images,
|
|
35
|
+
sizeConfig: sizeConfig
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return (0, _buildThumbnailGrid.buildThumbnailGrid)({
|
|
40
|
+
grid: [[1, 1], [1, 1]],
|
|
41
|
+
images: images.slice(0, 4),
|
|
42
|
+
invertedDirections: false,
|
|
43
|
+
sizeConfig: sizeConfig
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=buildGallery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["buildGallery.ts"],"names":["buildGallery","images","sizeConfig","length","image","grid","slice","invertedDirections"],"mappings":";;;;;AAEA;;AACA;;AACA;;AAEA;;AAsBO,SAASA,YAAT,OAQyB;AAAA,MAL9BC,MAK8B,QAL9BA,MAK8B;AAAA,MAJ9BC,UAI8B,QAJ9BA,UAI8B;;AAC9B,MAAID,MAAM,CAACE,MAAP,KAAkB,CAAtB,EAAyB;AACvB,WAAO,0DAA0B;AAC/BC,MAAAA,KAAK,EAAEH,MAAM,CAAC,CAAD,CADkB;AAE/BC,MAAAA,UAAU,EAAVA;AAF+B,KAA1B,CAAP;AAID;;AAED,MAAID,MAAM,CAACE,MAAP,KAAkB,CAAtB,EAAyB;AACvB,WAAO,sDAAwB;AAC7BF,MAAAA,MAAM,EAANA,MAD6B;AAE7BC,MAAAA,UAAU,EAAVA;AAF6B,KAAxB,CAAP;AAID;;AAED,MAAID,MAAM,CAACE,MAAP,KAAkB,CAAtB,EAAyB;AACvB,WAAO,0DAA0B;AAC/BF,MAAAA,MAAM,EAANA,MAD+B;AAE/BC,MAAAA,UAAU,EAAVA;AAF+B,KAA1B,CAAP;AAID;;AAWD,SAAO,4CAAmB;AACxBG,IAAAA,IAAI,EAAE,CACJ,CAAC,CAAD,EAAI,CAAJ,CADI,EAEJ,CAAC,CAAD,EAAI,CAAJ,CAFI,CADkB;AAKxBJ,IAAAA,MAAM,EAAEA,MAAM,CAACK,KAAP,CAAa,CAAb,EAAgB,CAAhB,CALgB;AAMxBC,IAAAA,kBAAkB,EAAE,KANI;AAOxBL,IAAAA,UAAU,EAAVA;AAPwB,GAAnB,CAAP;AASD","sourcesContent":["import type { Attachment } from 'stream-chat';\n\nimport { buildGalleryOfSingleImage } from './buildGalleryOfSingleImage';\nimport { buildGalleryOfThreeImages } from './buildGalleryOfThreeImages';\nimport { buildGalleryOfTwoImages } from './buildGalleryOfTwoImages';\n\nimport { buildThumbnailGrid } from './buildThumbnailGrid';\n\nimport type { GallerySizeAndThumbnailGrid, GallerySizeConfig } from './types';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\n\n/**\n * Builds and returns a gallery of optimized images to be rendered on UI.\n * This function take a object parameter with following properties:\n *\n * @param {Attachment[]} images - Array of image attachments\n * @param {GallerySizeConfig} sizeConfig - Theme config for the gallery\n *\n * The returned object contains following properties:\n *\n * - height {number[]} - Height of the gallery\n * - width {number[]} - Width of the gallery\n * - thumbnailGrid {number[][]} - Grid of thumbnail images\n * - invertedDirections {boolean} - 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 * @return {GallerySizeAndThumbnailGrid}\n */\nexport function buildGallery<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n images,\n sizeConfig,\n}: {\n images: Attachment<StreamChatGenerics>[];\n sizeConfig: GallerySizeConfig;\n}): GallerySizeAndThumbnailGrid {\n if (images.length === 1) {\n return buildGalleryOfSingleImage({\n image: images[0],\n sizeConfig,\n });\n }\n\n if (images.length === 2) {\n return buildGalleryOfTwoImages({\n images,\n sizeConfig,\n });\n }\n\n if (images.length === 3) {\n return buildGalleryOfThreeImages({\n images,\n sizeConfig,\n });\n }\n\n /**\n * -----------\n * | | |\n * | | |\n * -----------\n * | | |\n * | | |\n * -----------\n */\n return buildThumbnailGrid({\n grid: [\n [1, 1],\n [1, 1],\n ],\n images: images.slice(0, 4),\n invertedDirections: false,\n sizeConfig,\n });\n}\n"]}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.buildGalleryOfSingleImage = buildGalleryOfSingleImage;
|
|
7
|
+
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
|
|
10
|
+
var _buildThumbnail = require("./buildThumbnail");
|
|
11
|
+
|
|
12
|
+
var _getAspectRatio = require("../getAspectRatio");
|
|
13
|
+
|
|
14
|
+
function clamp(number, min, max) {
|
|
15
|
+
return Math.min(Math.max(number, min), max);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function getContainerSize(_ref) {
|
|
19
|
+
var image = _ref.image,
|
|
20
|
+
sizeConfig = _ref.sizeConfig;
|
|
21
|
+
var height = image.original_height,
|
|
22
|
+
width = image.original_width;
|
|
23
|
+
var gridHeight = sizeConfig.gridHeight,
|
|
24
|
+
gridWidth = sizeConfig.gridWidth,
|
|
25
|
+
maxHeight = sizeConfig.maxHeight,
|
|
26
|
+
maxWidth = sizeConfig.maxWidth,
|
|
27
|
+
minHeight = sizeConfig.minHeight,
|
|
28
|
+
minWidth = sizeConfig.minWidth;
|
|
29
|
+
|
|
30
|
+
if (!height || !width) {
|
|
31
|
+
return {
|
|
32
|
+
height: gridHeight,
|
|
33
|
+
width: gridWidth
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
var aspectRatio = (0, _getAspectRatio.getAspectRatio)(image);
|
|
38
|
+
|
|
39
|
+
if (aspectRatio <= 1) {
|
|
40
|
+
var _containerHeight = clamp(height, minHeight, maxHeight);
|
|
41
|
+
|
|
42
|
+
var _containerWidth = clamp(_containerHeight * aspectRatio, minWidth, maxWidth);
|
|
43
|
+
|
|
44
|
+
if (_containerWidth === maxWidth) {
|
|
45
|
+
return {
|
|
46
|
+
height: clamp(_containerWidth / aspectRatio, minHeight, maxHeight),
|
|
47
|
+
width: _containerWidth
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return {
|
|
52
|
+
height: _containerHeight,
|
|
53
|
+
width: _containerWidth
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
var containerWidth = clamp(width, minWidth, maxWidth);
|
|
58
|
+
var containerHeight = clamp(containerWidth / aspectRatio, minHeight, maxHeight);
|
|
59
|
+
|
|
60
|
+
if (containerHeight === maxHeight) {
|
|
61
|
+
return {
|
|
62
|
+
height: containerHeight,
|
|
63
|
+
width: clamp(containerHeight * aspectRatio, minHeight, maxHeight)
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return {
|
|
68
|
+
height: containerHeight,
|
|
69
|
+
width: containerWidth
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
function buildGalleryOfSingleImage(_ref2) {
|
|
74
|
+
var image = _ref2.image,
|
|
75
|
+
sizeConfig = _ref2.sizeConfig;
|
|
76
|
+
var container = getContainerSize({
|
|
77
|
+
image: image,
|
|
78
|
+
sizeConfig: sizeConfig
|
|
79
|
+
});
|
|
80
|
+
var thumbnail = (0, _buildThumbnail.buildThumbnail)((0, _extends2["default"])({
|
|
81
|
+
image: image
|
|
82
|
+
}, container));
|
|
83
|
+
var column = [thumbnail];
|
|
84
|
+
return (0, _extends2["default"])({}, container, {
|
|
85
|
+
thumbnailGrid: [column]
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=buildGalleryOfSingleImage.js.map
|
package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfSingleImage.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["buildGalleryOfSingleImage.ts"],"names":["clamp","number","min","max","Math","getContainerSize","image","sizeConfig","height","original_height","width","original_width","gridHeight","gridWidth","maxHeight","maxWidth","minHeight","minWidth","aspectRatio","containerHeight","containerWidth","buildGalleryOfSingleImage","container","thumbnail","column","thumbnailGrid"],"mappings":";;;;;;;;;AAEA;;AAKA;;AAUA,SAASA,KAAT,CAAeC,MAAf,EAA+BC,GAA/B,EAA4CC,GAA5C,EAAyD;AACvD,SAAOC,IAAI,CAACF,GAAL,CAASE,IAAI,CAACD,GAAL,CAASF,MAAT,EAAiBC,GAAjB,CAAT,EAAgCC,GAAhC,CAAP;AACD;;AAED,SAASE,gBAAT,OAEmG;AAAA,MAA/FC,KAA+F,QAA/FA,KAA+F;AAAA,MAAxFC,UAAwF,QAAxFA,UAAwF;AACjG,MAAyBC,MAAzB,GAA2DF,KAA3D,CAAQG,eAAR;AAAA,MAAiDC,KAAjD,GAA2DJ,KAA3D,CAAiCK,cAAjC;AACA,MAAQC,UAAR,GAA4EL,UAA5E,CAAQK,UAAR;AAAA,MAAoBC,SAApB,GAA4EN,UAA5E,CAAoBM,SAApB;AAAA,MAA+BC,SAA/B,GAA4EP,UAA5E,CAA+BO,SAA/B;AAAA,MAA0CC,QAA1C,GAA4ER,UAA5E,CAA0CQ,QAA1C;AAAA,MAAoDC,SAApD,GAA4ET,UAA5E,CAAoDS,SAApD;AAAA,MAA+DC,QAA/D,GAA4EV,UAA5E,CAA+DU,QAA/D;;AAEA,MAAI,CAACT,MAAD,IAAW,CAACE,KAAhB,EAAuB;AACrB,WAAO;AAAEF,MAAAA,MAAM,EAAEI,UAAV;AAAsBF,MAAAA,KAAK,EAAEG;AAA7B,KAAP;AACD;;AAED,MAAMK,WAAW,GAAG,oCAAeZ,KAAf,CAApB;;AAEA,MAAIY,WAAW,IAAI,CAAnB,EAAsB;AACpB,QAAMC,gBAAe,GAAGnB,KAAK,CAACQ,MAAD,EAASQ,SAAT,EAAoBF,SAApB,CAA7B;;AACA,QAAMM,eAAc,GAAGpB,KAAK,CAACmB,gBAAe,GAAGD,WAAnB,EAAgCD,QAAhC,EAA0CF,QAA1C,CAA5B;;AAEA,QAAIK,eAAc,KAAKL,QAAvB,EAAiC;AAC/B,aAAO;AACLP,QAAAA,MAAM,EAAER,KAAK,CAACoB,eAAc,GAAGF,WAAlB,EAA+BF,SAA/B,EAA0CF,SAA1C,CADR;AAELJ,QAAAA,KAAK,EAAEU;AAFF,OAAP;AAID;;AACD,WAAO;AACLZ,MAAAA,MAAM,EAAEW,gBADH;AAELT,MAAAA,KAAK,EAAEU;AAFF,KAAP;AAID;;AAED,MAAMA,cAAc,GAAGpB,KAAK,CAACU,KAAD,EAAQO,QAAR,EAAkBF,QAAlB,CAA5B;AACA,MAAMI,eAAe,GAAGnB,KAAK,CAACoB,cAAc,GAAGF,WAAlB,EAA+BF,SAA/B,EAA0CF,SAA1C,CAA7B;;AAEA,MAAIK,eAAe,KAAKL,SAAxB,EAAmC;AACjC,WAAO;AACLN,MAAAA,MAAM,EAAEW,eADH;AAELT,MAAAA,KAAK,EAAEV,KAAK,CAACmB,eAAe,GAAGD,WAAnB,EAAgCF,SAAhC,EAA2CF,SAA3C;AAFP,KAAP;AAID;;AAED,SAAO;AACLN,IAAAA,MAAM,EAAEW,eADH;AAELT,IAAAA,KAAK,EAAEU;AAFF,GAAP;AAID;;AAEM,SAASC,yBAAT,QAQyB;AAAA,MAL9Bf,KAK8B,SAL9BA,KAK8B;AAAA,MAJ9BC,UAI8B,SAJ9BA,UAI8B;AAC9B,MAAMe,SAAS,GAAGjB,gBAAgB,CAAC;AACjCC,IAAAA,KAAK,EAALA,KADiC;AAEjCC,IAAAA,UAAU,EAAVA;AAFiC,GAAD,CAAlC;AAKA,MAAMgB,SAAS,GAAG;AAChBjB,IAAAA,KAAK,EAALA;AADgB,KAEbgB,SAFa,EAAlB;AAKA,MAAME,MAAM,GAAG,CAACD,SAAD,CAAf;AAEA,uCACKD,SADL;AAEEG,IAAAA,aAAa,EAAE,CAACD,MAAD;AAFjB;AAID","sourcesContent":["import type { Attachment } from 'stream-chat';\n\nimport { buildThumbnail } from './buildThumbnail';\n\nimport type { GallerySizeAndThumbnailGrid, GallerySizeConfig } from './types';\n\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\nimport { getAspectRatio } from '../getAspectRatio';\n\n/**\n * Bound a number to a range.\n * @param number The number to bound.\n * @param min The minimum value.\n * @param max The maximum value.\n *\n * @returns The bounded number.\n */\nfunction clamp(number: number, min: number, max: number) {\n return Math.min(Math.max(number, min), max);\n}\n\nfunction getContainerSize<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({ image, sizeConfig }: { image: Attachment<StreamChatGenerics>; sizeConfig: GallerySizeConfig }) {\n const { original_height: height, original_width: width } = image;\n const { gridHeight, gridWidth, maxHeight, maxWidth, minHeight, minWidth } = sizeConfig;\n\n if (!height || !width) {\n return { height: gridHeight, width: gridWidth };\n }\n\n const aspectRatio = getAspectRatio(image);\n\n if (aspectRatio <= 1) {\n const containerHeight = clamp(height, minHeight, maxHeight);\n const containerWidth = clamp(containerHeight * aspectRatio, minWidth, maxWidth);\n\n if (containerWidth === maxWidth) {\n return {\n height: clamp(containerWidth / aspectRatio, minHeight, maxHeight),\n width: containerWidth,\n };\n }\n return {\n height: containerHeight,\n width: containerWidth,\n };\n }\n\n const containerWidth = clamp(width, minWidth, maxWidth);\n const containerHeight = clamp(containerWidth / aspectRatio, minHeight, maxHeight);\n\n if (containerHeight === maxHeight) {\n return {\n height: containerHeight,\n width: clamp(containerHeight * aspectRatio, minHeight, maxHeight),\n };\n }\n\n return {\n height: containerHeight,\n width: containerWidth,\n };\n}\n\nexport function buildGalleryOfSingleImage<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n image,\n sizeConfig,\n}: {\n image: Attachment<StreamChatGenerics>;\n sizeConfig: GallerySizeConfig;\n}): GallerySizeAndThumbnailGrid {\n const container = getContainerSize({\n image,\n sizeConfig,\n });\n\n const thumbnail = buildThumbnail({\n image,\n ...container,\n });\n\n const column = [thumbnail];\n\n return {\n ...container,\n thumbnailGrid: [column],\n };\n}\n"]}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.buildGalleryOfThreeImages = buildGalleryOfThreeImages;
|
|
7
|
+
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
|
|
12
|
+
var _buildThumbnailGrid = require("./buildThumbnailGrid");
|
|
13
|
+
|
|
14
|
+
var _getAspectRatio = require("../getAspectRatio");
|
|
15
|
+
|
|
16
|
+
function moveToFront(array, item) {
|
|
17
|
+
var index = array.indexOf(item);
|
|
18
|
+
|
|
19
|
+
if (index === -1) {
|
|
20
|
+
return array;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
var newArray = (0, _toConsumableArray2["default"])(array);
|
|
24
|
+
newArray.splice(index, 1);
|
|
25
|
+
newArray.unshift(item);
|
|
26
|
+
return newArray;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function buildGalleryOfThreeImages(_ref) {
|
|
30
|
+
var images = _ref.images,
|
|
31
|
+
sizeConfig = _ref.sizeConfig;
|
|
32
|
+
|
|
33
|
+
var _images$reduce = images.reduce(function (acc, image) {
|
|
34
|
+
var aspectRatio = (0, _getAspectRatio.getAspectRatio)(image);
|
|
35
|
+
var o = (0, _extends2["default"])({}, acc);
|
|
36
|
+
|
|
37
|
+
if (aspectRatio > 1) {
|
|
38
|
+
if (!o.landscapeImage || aspectRatio > o.landscapeImageAspectRatio) {
|
|
39
|
+
o.landscapeImage = image;
|
|
40
|
+
o.landscapeImageAspectRatio = aspectRatio;
|
|
41
|
+
}
|
|
42
|
+
} else {
|
|
43
|
+
if (!o.portraitImage || aspectRatio < o.portraitImageAspectRatio) {
|
|
44
|
+
o.portraitImage = image;
|
|
45
|
+
o.portraitImageAspectRatio = aspectRatio;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return o;
|
|
50
|
+
}, {
|
|
51
|
+
landscapeImageAspectRatio: 1,
|
|
52
|
+
portraitImageAspectRatio: 1
|
|
53
|
+
}),
|
|
54
|
+
landscapeImage = _images$reduce.landscapeImage,
|
|
55
|
+
landscapeImageAspectRatio = _images$reduce.landscapeImageAspectRatio,
|
|
56
|
+
portraitImage = _images$reduce.portraitImage,
|
|
57
|
+
portraitImageAspectRatio = _images$reduce.portraitImageAspectRatio;
|
|
58
|
+
|
|
59
|
+
if (landscapeImageAspectRatio > 1 / portraitImageAspectRatio) {
|
|
60
|
+
return (0, _buildThumbnailGrid.buildThumbnailGrid)({
|
|
61
|
+
grid: [[1], [1, 1]],
|
|
62
|
+
images: landscapeImage ? moveToFront(images, landscapeImage) : images,
|
|
63
|
+
invertedDirections: true,
|
|
64
|
+
sizeConfig: sizeConfig
|
|
65
|
+
});
|
|
66
|
+
} else {
|
|
67
|
+
return (0, _buildThumbnailGrid.buildThumbnailGrid)({
|
|
68
|
+
grid: [[1], [1, 1]],
|
|
69
|
+
images: portraitImage ? moveToFront(images, portraitImage) : images,
|
|
70
|
+
invertedDirections: false,
|
|
71
|
+
sizeConfig: sizeConfig
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=buildGalleryOfThreeImages.js.map
|
package/lib/commonjs/components/Attachment/utils/buildGallery/buildGalleryOfThreeImages.js.map
ADDED
|
@@ -0,0 +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 { 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"]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", {
|
|
2
|
+
value: true
|
|
3
|
+
});
|
|
4
|
+
exports.buildGalleryOfTwoImages = buildGalleryOfTwoImages;
|
|
5
|
+
|
|
6
|
+
var _buildThumbnailGrid = require("./buildThumbnailGrid");
|
|
7
|
+
|
|
8
|
+
var _getAspectRatio = require("../getAspectRatio");
|
|
9
|
+
|
|
10
|
+
function buildGalleryOfTwoImages(_ref) {
|
|
11
|
+
var images = _ref.images,
|
|
12
|
+
sizeConfig = _ref.sizeConfig;
|
|
13
|
+
var aspectRatio1 = (0, _getAspectRatio.getAspectRatio)(images[0]);
|
|
14
|
+
var aspectRatio2 = (0, _getAspectRatio.getAspectRatio)(images[1]);
|
|
15
|
+
var isLandscape1 = aspectRatio1 > 1;
|
|
16
|
+
var isLandscape2 = aspectRatio2 > 1;
|
|
17
|
+
|
|
18
|
+
if (isLandscape1 && isLandscape2) {
|
|
19
|
+
return (0, _buildThumbnailGrid.buildThumbnailGrid)({
|
|
20
|
+
grid: [[1], [1]],
|
|
21
|
+
images: images,
|
|
22
|
+
invertedDirections: true,
|
|
23
|
+
sizeConfig: sizeConfig
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if (!isLandscape1 && !isLandscape2) {
|
|
28
|
+
return (0, _buildThumbnailGrid.buildThumbnailGrid)({
|
|
29
|
+
grid: [[1, 1]],
|
|
30
|
+
images: images,
|
|
31
|
+
invertedDirections: true,
|
|
32
|
+
sizeConfig: sizeConfig
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return (0, _buildThumbnailGrid.buildThumbnailGrid)({
|
|
37
|
+
grid: [[2, 1]],
|
|
38
|
+
images: isLandscape1 ? images : images.reverse(),
|
|
39
|
+
invertedDirections: true,
|
|
40
|
+
sizeConfig: sizeConfig
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=buildGalleryOfTwoImages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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"]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", {
|
|
2
|
+
value: true
|
|
3
|
+
});
|
|
4
|
+
exports.buildThumbnail = buildThumbnail;
|
|
5
|
+
|
|
6
|
+
var _getResizedImageUrl = require("../../../../utils/getResizedImageUrl");
|
|
7
|
+
|
|
8
|
+
var _getUrlOfImageAttachment = require("../../../../utils/getUrlOfImageAttachment");
|
|
9
|
+
|
|
10
|
+
function buildThumbnail(_ref) {
|
|
11
|
+
var height = _ref.height,
|
|
12
|
+
image = _ref.image,
|
|
13
|
+
resizeMode = _ref.resizeMode,
|
|
14
|
+
width = _ref.width;
|
|
15
|
+
var originalImageHeight = image.original_height,
|
|
16
|
+
originalImageWidth = image.original_width;
|
|
17
|
+
var shouldResize = originalImageHeight && originalImageWidth ? originalImageHeight + originalImageWidth > height + width : true;
|
|
18
|
+
var imageUrl = (0, _getUrlOfImageAttachment.getUrlOfImageAttachment)(image);
|
|
19
|
+
return {
|
|
20
|
+
height: height,
|
|
21
|
+
resizeMode: resizeMode ? resizeMode : image.original_height && image.original_width ? 'contain' : 'cover',
|
|
22
|
+
url: shouldResize ? (0, _getResizedImageUrl.getResizedImageUrl)({
|
|
23
|
+
height: height,
|
|
24
|
+
url: imageUrl,
|
|
25
|
+
width: width
|
|
26
|
+
}) : imageUrl,
|
|
27
|
+
width: width
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=buildThumbnail.js.map
|
|
@@ -0,0 +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,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"]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", {
|
|
2
|
+
value: true
|
|
3
|
+
});
|
|
4
|
+
exports.buildThumbnailGrid = buildThumbnailGrid;
|
|
5
|
+
|
|
6
|
+
var _buildThumbnail = require("./buildThumbnail");
|
|
7
|
+
|
|
8
|
+
function buildThumbnailGrid(_ref) {
|
|
9
|
+
var grid = _ref.grid,
|
|
10
|
+
images = _ref.images,
|
|
11
|
+
_ref$invertedDirectio = _ref.invertedDirections,
|
|
12
|
+
invertedDirections = _ref$invertedDirectio === void 0 ? false : _ref$invertedDirectio,
|
|
13
|
+
sizeConfig = _ref.sizeConfig;
|
|
14
|
+
var gridHeight = sizeConfig.gridHeight,
|
|
15
|
+
gridWidth = sizeConfig.gridWidth;
|
|
16
|
+
var imageIndex = 0;
|
|
17
|
+
var thumbnailGrid = [];
|
|
18
|
+
var numOfColumns = grid.length;
|
|
19
|
+
grid.forEach(function (rows, colIndex) {
|
|
20
|
+
var totalFlexValue = rows.reduce(function (acc, curr) {
|
|
21
|
+
return acc + curr;
|
|
22
|
+
}, 0);
|
|
23
|
+
rows.forEach(function (flexValue) {
|
|
24
|
+
var tHeight = invertedDirections ? gridHeight / numOfColumns : gridHeight * (flexValue / totalFlexValue);
|
|
25
|
+
var tWidth = invertedDirections ? gridWidth * (flexValue / totalFlexValue) : gridWidth / numOfColumns;
|
|
26
|
+
var currentImage = images[imageIndex];
|
|
27
|
+
var thumbnail = (0, _buildThumbnail.buildThumbnail)({
|
|
28
|
+
height: tHeight,
|
|
29
|
+
image: currentImage,
|
|
30
|
+
resizeMode: 'cover',
|
|
31
|
+
width: tWidth
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
if (!thumbnailGrid[colIndex]) {
|
|
35
|
+
thumbnailGrid[colIndex] = [];
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
thumbnailGrid[colIndex].push(thumbnail);
|
|
39
|
+
imageIndex++;
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
return {
|
|
43
|
+
height: gridHeight,
|
|
44
|
+
invertedDirections: invertedDirections,
|
|
45
|
+
thumbnailGrid: thumbnailGrid,
|
|
46
|
+
width: gridWidth
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=buildThumbnailGrid.js.map
|
|
@@ -0,0 +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,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"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", {
|
|
2
|
+
value: true
|
|
3
|
+
});
|
|
4
|
+
exports.getAspectRatio = getAspectRatio;
|
|
5
|
+
|
|
6
|
+
function getAspectRatio(image) {
|
|
7
|
+
if (image.type !== 'image') {
|
|
8
|
+
throw new Error('getAspectRatio() can only be called on an image attachment');
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
if (!image.original_width || !image.original_height) return 1;
|
|
12
|
+
return image.original_width / image.original_height;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=getAspectRatio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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"]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", {
|
|
2
|
+
value: true
|
|
3
|
+
});
|
|
4
|
+
exports.getGalleryImageBorderRadius = getGalleryImageBorderRadius;
|
|
5
|
+
|
|
6
|
+
function getGalleryImageBorderRadius(_ref) {
|
|
7
|
+
var _groupStyles$;
|
|
8
|
+
|
|
9
|
+
var alignment = _ref.alignment,
|
|
10
|
+
colIndex = _ref.colIndex,
|
|
11
|
+
groupStyles = _ref.groupStyles,
|
|
12
|
+
hasThreadReplies = _ref.hasThreadReplies,
|
|
13
|
+
height = _ref.height,
|
|
14
|
+
invertedDirections = _ref.invertedDirections,
|
|
15
|
+
messageText = _ref.messageText,
|
|
16
|
+
numOfColumns = _ref.numOfColumns,
|
|
17
|
+
numOfRows = _ref.numOfRows,
|
|
18
|
+
rowIndex = _ref.rowIndex,
|
|
19
|
+
sizeConfig = _ref.sizeConfig,
|
|
20
|
+
threadList = _ref.threadList,
|
|
21
|
+
width = _ref.width;
|
|
22
|
+
var groupStyle = alignment + "_" + (groupStyles == null ? void 0 : (_groupStyles$ = groupStyles[0]) == null ? void 0 : _groupStyles$.toLowerCase == null ? void 0 : _groupStyles$.toLowerCase());
|
|
23
|
+
var isSingleImage = numOfColumns === 1 && numOfRows === 1;
|
|
24
|
+
var isImageSmallerThanMinContainerSize = isSingleImage && height && width && (height > width && width === sizeConfig.minWidth || height < width && height === sizeConfig.minHeight);
|
|
25
|
+
var topLeftEdgeExposed = colIndex === 0 && rowIndex === 0;
|
|
26
|
+
var bottomLeftEdgeExposed = !invertedDirections && colIndex === 0 && rowIndex === numOfRows - 1 || invertedDirections && colIndex === numOfColumns - 1 && rowIndex === 0;
|
|
27
|
+
var topRightEdgeExposed = !invertedDirections && colIndex === numOfColumns - 1 && rowIndex === 0 || invertedDirections && colIndex === 0 && rowIndex === numOfRows - 1;
|
|
28
|
+
var bottomRightEdgeExposed = colIndex === numOfColumns && rowIndex === numOfRows - 1;
|
|
29
|
+
return {
|
|
30
|
+
borderBottomLeftRadius: !isImageSmallerThanMinContainerSize && bottomLeftEdgeExposed && !messageText && (groupStyle !== 'left_bottom' && groupStyle !== 'left_single' || hasThreadReplies && !threadList) ? 14 : 0,
|
|
31
|
+
borderBottomRightRadius: !isImageSmallerThanMinContainerSize && bottomRightEdgeExposed && !messageText && (groupStyle !== 'right_bottom' && groupStyle !== 'right_single' || hasThreadReplies && !threadList) ? 14 : 0,
|
|
32
|
+
borderTopLeftRadius: !isImageSmallerThanMinContainerSize && topLeftEdgeExposed ? 14 : 0,
|
|
33
|
+
borderTopRightRadius: !isImageSmallerThanMinContainerSize && topRightEdgeExposed ? 14 : 0
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=getGalleryImageBorderRadius.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["getGalleryImageBorderRadius.ts"],"names":["getGalleryImageBorderRadius","alignment","colIndex","groupStyles","hasThreadReplies","height","invertedDirections","messageText","numOfColumns","numOfRows","rowIndex","sizeConfig","threadList","width","groupStyle","toLowerCase","isSingleImage","isImageSmallerThanMinContainerSize","minWidth","minHeight","topLeftEdgeExposed","bottomLeftEdgeExposed","topRightEdgeExposed","bottomRightEdgeExposed","borderBottomLeftRadius","borderBottomRightRadius","borderTopLeftRadius","borderTopRightRadius"],"mappings":";;;;;AAkBO,SAASA,2BAAT,OAcI;AAAA;;AAAA,MAbTC,SAaS,QAbTA,SAaS;AAAA,MAZTC,QAYS,QAZTA,QAYS;AAAA,MAXTC,WAWS,QAXTA,WAWS;AAAA,MAVTC,gBAUS,QAVTA,gBAUS;AAAA,MATTC,MASS,QATTA,MASS;AAAA,MARTC,kBAQS,QARTA,kBAQS;AAAA,MAPTC,WAOS,QAPTA,WAOS;AAAA,MANTC,YAMS,QANTA,YAMS;AAAA,MALTC,SAKS,QALTA,SAKS;AAAA,MAJTC,QAIS,QAJTA,QAIS;AAAA,MAHTC,UAGS,QAHTA,UAGS;AAAA,MAFTC,UAES,QAFTA,UAES;AAAA,MADTC,KACS,QADTA,KACS;AACT,MAAMC,UAAU,GAAMb,SAAN,UAAmBE,WAAnB,qCAAmBA,WAAW,CAAG,CAAH,CAA9B,qBAAmB,cAAkBY,WAArC,oBAAmB,cAAkBA,WAAlB,EAAnB,CAAhB;AACA,MAAMC,aAAa,GAAGR,YAAY,KAAK,CAAjB,IAAsBC,SAAS,KAAK,CAA1D;AACA,MAAMQ,kCAAkC,GACtCD,aAAa,IACbX,MADA,IAEAQ,KAFA,KAGER,MAAM,GAAGQ,KAAT,IAAkBA,KAAK,KAAKF,UAAU,CAACO,QAAxC,IACEb,MAAM,GAAGQ,KAAT,IAAkBR,MAAM,KAAKM,UAAU,CAACQ,SAJ3C,CADF;AAMA,MAAMC,kBAAkB,GAAGlB,QAAQ,KAAK,CAAb,IAAkBQ,QAAQ,KAAK,CAA1D;AACA,MAAMW,qBAAqB,GACxB,CAACf,kBAAD,IAAuBJ,QAAQ,KAAK,CAApC,IAAyCQ,QAAQ,KAAKD,SAAS,GAAG,CAAnE,IACCH,kBAAkB,IAAIJ,QAAQ,KAAKM,YAAY,GAAG,CAAlD,IAAuDE,QAAQ,KAAK,CAFvE;AAGA,MAAMY,mBAAmB,GACtB,CAAChB,kBAAD,IAAuBJ,QAAQ,KAAKM,YAAY,GAAG,CAAnD,IAAwDE,QAAQ,KAAK,CAAtE,IACCJ,kBAAkB,IAAIJ,QAAQ,KAAK,CAAnC,IAAwCQ,QAAQ,KAAKD,SAAS,GAAG,CAFpE;AAGA,MAAMc,sBAAsB,GAAGrB,QAAQ,KAAKM,YAAb,IAA6BE,QAAQ,KAAKD,SAAS,GAAG,CAArF;AAEA,SAAO;AACLe,IAAAA,sBAAsB,EACpB,CAACP,kCAAD,IACAI,qBADA,IAEA,CAACd,WAFD,KAGEO,UAAU,KAAK,aAAf,IAAgCA,UAAU,KAAK,aAAhD,IACEV,gBAAgB,IAAI,CAACQ,UAJxB,IAKI,EALJ,GAMI,CARD;AASLa,IAAAA,uBAAuB,EACrB,CAACR,kCAAD,IACAM,sBADA,IAEA,CAAChB,WAFD,KAGEO,UAAU,KAAK,cAAf,IAAiCA,UAAU,KAAK,cAAjD,IACEV,gBAAgB,IAAI,CAACQ,UAJxB,IAKI,EALJ,GAMI,CAhBD;AAiBLc,IAAAA,mBAAmB,EAAE,CAACT,kCAAD,IAAuCG,kBAAvC,GAA4D,EAA5D,GAAiE,CAjBjF;AAkBLO,IAAAA,oBAAoB,EAAE,CAACV,kCAAD,IAAuCK,mBAAvC,GAA6D,EAA7D,GAAkE;AAlBnF,GAAP;AAoBD","sourcesContent":["import type { GallerySizeConfig } from './buildGallery/types';\n\nimport type { MessageContextValue } from '../../../contexts/messageContext/MessageContext';\n\ntype Params = {\n colIndex: number;\n numOfColumns: number;\n numOfRows: number;\n rowIndex: number;\n sizeConfig: GallerySizeConfig;\n hasThreadReplies?: boolean;\n height?: number;\n invertedDirections?: boolean;\n messageText?: string;\n threadList?: boolean;\n width?: number;\n} & Pick<MessageContextValue, 'groupStyles' | 'alignment'>;\n\nexport function getGalleryImageBorderRadius({\n alignment,\n colIndex,\n groupStyles,\n hasThreadReplies,\n height,\n invertedDirections,\n messageText,\n numOfColumns,\n numOfRows,\n rowIndex,\n sizeConfig,\n threadList,\n width,\n}: Params) {\n const groupStyle = `${alignment}_${groupStyles?.[0]?.toLowerCase?.()}`;\n const isSingleImage = numOfColumns === 1 && numOfRows === 1;\n const isImageSmallerThanMinContainerSize =\n isSingleImage &&\n height &&\n width &&\n ((height > width && width === sizeConfig.minWidth) ||\n (height < width && height === sizeConfig.minHeight));\n const topLeftEdgeExposed = colIndex === 0 && rowIndex === 0;\n const bottomLeftEdgeExposed =\n (!invertedDirections && colIndex === 0 && rowIndex === numOfRows - 1) ||\n (invertedDirections && colIndex === numOfColumns - 1 && rowIndex === 0);\n const topRightEdgeExposed =\n (!invertedDirections && colIndex === numOfColumns - 1 && rowIndex === 0) ||\n (invertedDirections && colIndex === 0 && rowIndex === numOfRows - 1);\n const bottomRightEdgeExposed = colIndex === numOfColumns && rowIndex === numOfRows - 1;\n\n return {\n borderBottomLeftRadius:\n !isImageSmallerThanMinContainerSize &&\n bottomLeftEdgeExposed &&\n !messageText &&\n ((groupStyle !== 'left_bottom' && groupStyle !== 'left_single') ||\n (hasThreadReplies && !threadList))\n ? 14\n : 0,\n borderBottomRightRadius:\n !isImageSmallerThanMinContainerSize &&\n bottomRightEdgeExposed &&\n !messageText &&\n ((groupStyle !== 'right_bottom' && groupStyle !== 'right_single') ||\n (hasThreadReplies && !threadList))\n ? 14\n : 0,\n borderTopLeftRadius: !isImageSmallerThanMinContainerSize && topLeftEdgeExposed ? 14 : 0,\n borderTopRightRadius: !isImageSmallerThanMinContainerSize && topRightEdgeExposed ? 14 : 0,\n };\n}\n"]}
|