stream-chat-react-native-core 4.1.0-next.1 → 4.1.1-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -13
- package/lib/commonjs/components/Attachment/Attachment.js +16 -15
- 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 +18 -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 +123 -121
- 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/{styleguideComponents/Reanimated.js.map → components/Attachment/utils/buildGallery/types.js.map} +0 -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/AttachmentPicker/components/AttachmentSelectionBar.js +11 -8
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +24 -48
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
- package/lib/commonjs/components/AutoCompleteInput/{CommandsItem.js → AutoCompleteSuggestionCommandIcon.js} +21 -94
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -0
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +145 -0
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -0
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +248 -0
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -0
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +223 -0
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -0
- 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 -8
- package/lib/commonjs/components/Avatar/GroupAvatar.js.map +1 -1
- package/lib/commonjs/components/Channel/Channel.js +303 -202
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +7 -5
- package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js +7 -5
- package/lib/commonjs/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +13 -31
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +35 -0
- package/lib/commonjs/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -0
- 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 +5 -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 +4 -3
- package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js +7 -4
- package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.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/Skeleton.js +14 -13
- package/lib/commonjs/components/ChannelList/Skeleton.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 +3 -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 +96 -63
- 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 +5 -5
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +49 -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 +16 -7
- 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 +2 -1
- package/lib/commonjs/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
- package/lib/commonjs/components/Chat/Chat.js +8 -4
- package/lib/commonjs/components/Chat/Chat.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useIsOnline.js +40 -31
- 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 +107 -97
- 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 +31 -16
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +7 -9
- 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/LoadingErrorIndicator.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/KeyboardCompatibleView/KeyboardCompatibleView.js +20 -12
- package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
- package/lib/commonjs/components/Message/Message.js +152 -854
- 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 +41 -39
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +8 -6
- package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +34 -22
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +122 -0
- package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -0
- package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +26 -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 +31 -14
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +28 -24
- package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +7 -3
- package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +86 -113
- 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 +207 -26
- 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 +1 -5
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js +307 -0
- package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -0
- package/lib/commonjs/components/Message/hooks/useMessageActions.js +563 -0
- package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -0
- package/lib/commonjs/components/Message/utils/messageActions.js +17 -15
- 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 +6 -4
- 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 +78 -0
- package/lib/commonjs/components/MessageInput/CooldownTimer.js.map +1 -0
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js +32 -27
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
- package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +9 -9
- package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
- package/lib/commonjs/components/MessageInput/InputButtons.js +17 -22
- package/lib/commonjs/components/MessageInput/InputButtons.js.map +1 -1
- package/lib/commonjs/components/MessageInput/MessageInput.js +93 -65
- 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 +8 -6
- package/lib/commonjs/components/MessageInput/SendButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +71 -0
- package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -0
- package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +11 -10
- package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/hooks/useCooldown.js +63 -0
- package/lib/commonjs/components/MessageInput/hooks/useCooldown.js.map +1 -0
- package/lib/commonjs/components/MessageInput/hooks/useCountdown.js +57 -0
- package/lib/commonjs/components/MessageInput/hooks/useCountdown.js.map +1 -0
- package/lib/commonjs/components/MessageList/DateHeader.js +2 -2
- package/lib/commonjs/components/MessageList/DateHeader.js.map +1 -1
- package/lib/commonjs/components/MessageList/InlineDateSeparator.js +4 -3
- package/lib/commonjs/components/MessageList/InlineDateSeparator.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 +106 -58
- 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/ScrollToBottomButton.js +7 -5
- package/lib/commonjs/components/MessageList/ScrollToBottomButton.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 +24 -11
- 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 +2 -1
- package/lib/commonjs/components/MessageList/utils/getDateSeparators.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getGroupStyles.js +11 -10
- 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/{module/components/MessageOverlay/MessageActions.js → commonjs/components/MessageOverlay/MessageActionList.js} +33 -85
- package/lib/commonjs/components/MessageOverlay/MessageActionList.js.map +1 -0
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +131 -0
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js.map +1 -0
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +110 -115
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +38 -0
- package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js.map +1 -0
- package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +17 -18
- 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 +37 -0
- package/lib/commonjs/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -0
- 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 +13 -12
- package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
- package/lib/commonjs/components/docs/ListProps.md +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 +133 -55
- 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 +4 -4
- package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
- package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +3 -3
- 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 +105 -70
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +9 -5
- 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 +49 -51
- package/lib/commonjs/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +61 -0
- package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -0
- 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 +20 -33
- 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 +48 -20
- 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/compiled.js +0 -315
- package/lib/commonjs/emoji-data/compiled.js.map +1 -1
- package/lib/commonjs/emoji-data/emojiNames.js +0 -105
- package/lib/commonjs/emoji-data/emojiNames.js.map +1 -1
- package/lib/commonjs/emoji-data/emojis.js +0 -175
- package/lib/commonjs/emoji-data/emojis.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/useAppStateListener.js +8 -5
- package/lib/commonjs/hooks/useAppStateListener.js.map +1 -1
- package/lib/commonjs/hooks/useIsMountedRef.js +19 -0
- package/lib/commonjs/hooks/useIsMountedRef.js.map +1 -0
- package/lib/commonjs/hooks/useStreami18n.js +5 -2
- package/lib/commonjs/hooks/useStreami18n.js.map +1 -1
- package/lib/commonjs/i18n/en.json +9 -3
- package/lib/commonjs/i18n/fr.json +9 -3
- package/lib/commonjs/i18n/hi.json +9 -3
- package/lib/commonjs/i18n/it.json +9 -3
- package/lib/commonjs/i18n/ja.json +9 -0
- package/lib/commonjs/i18n/ko.json +9 -0
- package/lib/commonjs/i18n/nl.json +9 -3
- package/lib/commonjs/i18n/ru.json +9 -3
- package/lib/commonjs/i18n/tr.json +10 -4
- package/lib/commonjs/icons/Pin.js +42 -0
- package/lib/commonjs/icons/Pin.js.map +1 -0
- package/lib/commonjs/icons/PinHeader.js +38 -0
- package/lib/commonjs/icons/PinHeader.js.map +1 -0
- package/lib/commonjs/icons/Unpin.js +38 -0
- package/lib/commonjs/icons/Unpin.js.map +1 -0
- package/lib/commonjs/icons/UserAdmin.js +62 -0
- package/lib/commonjs/icons/UserAdmin.js.map +1 -0
- package/lib/commonjs/icons/index.js +39 -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/init.js +13 -0
- package/lib/commonjs/init.js.map +1 -0
- package/lib/commonjs/mock-builders/api/error.js +1 -1
- package/lib/commonjs/mock-builders/api/queryChannels.js +1 -1
- package/lib/commonjs/mock-builders/api/queryChannels.js.map +1 -1
- package/lib/commonjs/mock-builders/api/sendMessage.js +4 -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 -50
- 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 +3 -3
- package/lib/commonjs/mock-builders/mock.js.map +1 -1
- package/lib/commonjs/mock-builders/native/react-native-mock.js +1 -1
- package/lib/commonjs/mock-builders/native/react-native-mock.js.map +1 -1
- package/lib/commonjs/native.js +1 -7
- package/lib/commonjs/native.js.map +1 -1
- package/lib/commonjs/utils/Streami18n.js.map +1 -1
- package/lib/commonjs/utils/date.js +13 -0
- package/lib/commonjs/utils/date.js.map +1 -0
- package/lib/commonjs/utils/getResizedImageUrl.js +37 -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 +39 -19
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Attachment/Attachment.js +16 -15
- 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 +18 -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 +123 -121
- 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/{styleguideComponents/Reanimated.js.map → components/Attachment/utils/buildGallery/types.js.map} +0 -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/AttachmentPicker/components/AttachmentSelectionBar.js +11 -8
- package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +24 -48
- package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
- package/lib/module/components/AutoCompleteInput/{CommandsItem.js → AutoCompleteSuggestionCommandIcon.js} +21 -94
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js.map +1 -0
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +145 -0
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js.map +1 -0
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +248 -0
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js.map +1 -0
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +223 -0
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js.map +1 -0
- 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 -8
- package/lib/module/components/Avatar/GroupAvatar.js.map +1 -1
- package/lib/module/components/Channel/Channel.js +303 -202
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateChannelContext.js +7 -5
- package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js +7 -5
- package/lib/module/components/Channel/hooks/useCreateInputMessageInputContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +13 -31
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js +35 -0
- package/lib/module/components/Channel/hooks/useCreateOwnCapabilitiesContext.js.map +1 -0
- 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 +5 -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 +4 -3
- package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js +7 -4
- package/lib/module/components/ChannelList/ChannelListLoadingIndicator.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/Skeleton.js +14 -13
- package/lib/module/components/ChannelList/Skeleton.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 +3 -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 +96 -63
- 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 +5 -5
- package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +49 -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 +16 -7
- 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 +2 -1
- package/lib/module/components/ChannelPreview/hooks/useLatestMessagePreview.js.map +1 -1
- package/lib/module/components/Chat/Chat.js +8 -4
- package/lib/module/components/Chat/Chat.js.map +1 -1
- package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
- package/lib/module/components/Chat/hooks/useIsOnline.js +40 -31
- 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 +107 -97
- 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 +31 -16
- package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGrid.js +7 -9
- 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/LoadingErrorIndicator.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/KeyboardCompatibleView/KeyboardCompatibleView.js +20 -12
- package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
- package/lib/module/components/Message/Message.js +152 -854
- 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 +41 -39
- package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageDeleted.js +8 -6
- package/lib/module/components/Message/MessageSimple/MessageDeleted.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageFooter.js +34 -22
- package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +122 -0
- package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js.map +1 -0
- package/lib/module/components/Message/MessageSimple/MessageReplies.js +26 -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 +31 -14
- package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageStatus.js +28 -24
- package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +7 -3
- package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/ReactionList.js +86 -113
- 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 +207 -26
- 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 +1 -5
- package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/module/components/Message/hooks/useMessageActionHandlers.js +307 -0
- package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -0
- package/lib/module/components/Message/hooks/useMessageActions.js +563 -0
- package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -0
- package/lib/module/components/Message/utils/messageActions.js +17 -15
- 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 +6 -4
- 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 +78 -0
- package/lib/module/components/MessageInput/CooldownTimer.js.map +1 -0
- package/lib/module/components/MessageInput/FileUploadPreview.js +32 -27
- package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
- package/lib/module/components/MessageInput/ImageUploadPreview.js +9 -9
- package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
- package/lib/module/components/MessageInput/InputButtons.js +17 -22
- package/lib/module/components/MessageInput/InputButtons.js.map +1 -1
- package/lib/module/components/MessageInput/MessageInput.js +93 -65
- 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 +8 -6
- package/lib/module/components/MessageInput/SendButton.js.map +1 -1
- package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +71 -0
- package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js.map +1 -0
- package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +11 -10
- package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js.map +1 -1
- package/lib/module/components/MessageInput/hooks/useCooldown.js +63 -0
- package/lib/module/components/MessageInput/hooks/useCooldown.js.map +1 -0
- package/lib/module/components/MessageInput/hooks/useCountdown.js +57 -0
- package/lib/module/components/MessageInput/hooks/useCountdown.js.map +1 -0
- package/lib/module/components/MessageList/DateHeader.js +2 -2
- package/lib/module/components/MessageList/DateHeader.js.map +1 -1
- package/lib/module/components/MessageList/InlineDateSeparator.js +4 -3
- package/lib/module/components/MessageList/InlineDateSeparator.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 +106 -58
- 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/ScrollToBottomButton.js +7 -5
- package/lib/module/components/MessageList/ScrollToBottomButton.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 +24 -11
- 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 +2 -1
- package/lib/module/components/MessageList/utils/getDateSeparators.js.map +1 -1
- package/lib/module/components/MessageList/utils/getGroupStyles.js +11 -10
- 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/{commonjs/components/MessageOverlay/MessageActions.js → module/components/MessageOverlay/MessageActionList.js} +33 -85
- package/lib/module/components/MessageOverlay/MessageActionList.js.map +1 -0
- package/lib/module/components/MessageOverlay/MessageActionListItem.js +131 -0
- package/lib/module/components/MessageOverlay/MessageActionListItem.js.map +1 -0
- package/lib/module/components/MessageOverlay/MessageOverlay.js +110 -115
- package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/module/components/MessageOverlay/OverlayBackdrop.js +38 -0
- package/lib/module/components/MessageOverlay/OverlayBackdrop.js.map +1 -0
- package/lib/module/components/MessageOverlay/OverlayReactionList.js +17 -18
- 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 +37 -0
- package/lib/module/components/MessageOverlay/hooks/useMessageActionAnimation.js.map +1 -0
- 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 +13 -12
- package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
- package/lib/module/components/docs/ListProps.md +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 +133 -55
- 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 +4 -4
- package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
- package/lib/module/contexts/channelsStateContext/useChannelState.js +3 -3
- 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 +105 -70
- package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/hooks/useCreateMessageInputContext.js +9 -5
- 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 +49 -51
- package/lib/module/contexts/overlayContext/OverlayProvider.js.map +1 -1
- package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +61 -0
- package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js.map +1 -0
- 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 +20 -33
- 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 +48 -20
- 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/compiled.js +0 -315
- package/lib/module/emoji-data/compiled.js.map +1 -1
- package/lib/module/emoji-data/emojiNames.js +0 -105
- package/lib/module/emoji-data/emojiNames.js.map +1 -1
- package/lib/module/emoji-data/emojis.js +0 -175
- package/lib/module/emoji-data/emojis.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/useAppStateListener.js +8 -5
- package/lib/module/hooks/useAppStateListener.js.map +1 -1
- package/lib/module/hooks/useIsMountedRef.js +19 -0
- package/lib/module/hooks/useIsMountedRef.js.map +1 -0
- package/lib/module/hooks/useStreami18n.js +5 -2
- package/lib/module/hooks/useStreami18n.js.map +1 -1
- package/lib/module/i18n/en.json +9 -3
- package/lib/module/i18n/fr.json +9 -3
- package/lib/module/i18n/hi.json +9 -3
- package/lib/module/i18n/it.json +9 -3
- package/lib/module/i18n/ja.json +9 -0
- package/lib/module/i18n/ko.json +9 -0
- package/lib/module/i18n/nl.json +9 -3
- package/lib/module/i18n/ru.json +9 -3
- package/lib/module/i18n/tr.json +10 -4
- package/lib/module/icons/Pin.js +42 -0
- package/lib/module/icons/Pin.js.map +1 -0
- package/lib/module/icons/PinHeader.js +38 -0
- package/lib/module/icons/PinHeader.js.map +1 -0
- package/lib/module/icons/Unpin.js +38 -0
- package/lib/module/icons/Unpin.js.map +1 -0
- package/lib/module/icons/UserAdmin.js +62 -0
- package/lib/module/icons/UserAdmin.js.map +1 -0
- package/lib/module/icons/index.js +39 -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/init.js +13 -0
- package/lib/module/init.js.map +1 -0
- package/lib/module/mock-builders/api/error.js +1 -1
- package/lib/module/mock-builders/api/queryChannels.js +1 -1
- package/lib/module/mock-builders/api/queryChannels.js.map +1 -1
- package/lib/module/mock-builders/api/sendMessage.js +4 -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 -50
- 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 +3 -3
- package/lib/module/mock-builders/mock.js.map +1 -1
- package/lib/module/mock-builders/native/react-native-mock.js +1 -1
- package/lib/module/mock-builders/native/react-native-mock.js.map +1 -1
- package/lib/module/native.js +1 -7
- package/lib/module/native.js.map +1 -1
- package/lib/module/utils/Streami18n.js.map +1 -1
- package/lib/module/utils/date.js +13 -0
- package/lib/module/utils/date.js.map +1 -0
- package/lib/module/utils/getResizedImageUrl.js +37 -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 +39 -19
- 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 +7 -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 +19 -6
- 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 +10 -4
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.d.ts +5 -0
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionHeader.d.ts +8 -0
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionItem.d.ts +10 -0
- package/lib/typescript/components/AutoCompleteInput/AutoCompleteSuggestionList.d.ts +21 -0
- package/lib/typescript/components/Avatar/Avatar.d.ts +1 -1
- package/lib/typescript/components/Channel/Channel.d.ts +13 -16
- package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +2 -2
- package/lib/typescript/components/Channel/hooks/useCreateInputMessageInputContext.d.ts +3 -70
- package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +3 -126
- package/lib/typescript/components/Channel/hooks/useCreateOwnCapabilitiesContext.d.ts +7 -0
- 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 +15 -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 +13 -11
- 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 -11
- package/lib/typescript/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.d.ts +1 -0
- package/lib/typescript/components/Indicators/LoadingErrorIndicator.d.ts +1 -1
- package/lib/typescript/components/KeyboardCompatibleView/KeyboardCompatibleView.d.ts +2 -1
- package/lib/typescript/components/Message/Message.d.ts +14 -13
- 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 +8 -0
- 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 +7 -6
- package/lib/typescript/components/Message/MessageSimple/ReactionList.d.ts +5 -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 +21 -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 +15 -0
- package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +26 -0
- package/lib/typescript/components/Message/utils/messageActions.d.ts +22 -21
- 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/CooldownTimer.d.ts +10 -0
- 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/SendMessageDisallowedIndicator.d.ts +1 -0
- package/lib/typescript/components/MessageInput/ShowThreadMessageInChannelButton.d.ts +2 -2
- package/lib/typescript/components/MessageInput/hooks/useCooldown.d.ts +9 -0
- package/lib/typescript/components/MessageInput/hooks/useCountdown.d.ts +8 -0
- 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 +8 -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 +6 -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 +12 -0
- package/lib/typescript/components/MessageOverlay/MessageActionListItem.d.ts +21 -0
- package/lib/typescript/components/MessageOverlay/MessageOverlay.d.ts +6 -7
- package/lib/typescript/components/MessageOverlay/OverlayBackdrop.d.ts +6 -0
- package/lib/typescript/components/MessageOverlay/OverlayReactionList.d.ts +6 -7
- 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 +12 -0
- 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 +13 -7
- package/lib/typescript/contexts/attachmentPickerContext/AttachmentPickerContext.d.ts +2 -2
- package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +39 -40
- 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 -16
- package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +53 -42
- 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 +31 -32
- 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 +77 -166
- package/lib/typescript/contexts/overlayContext/OverlayContext.d.ts +15 -8
- package/lib/typescript/contexts/overlayContext/OverlayProvider.d.ts +2 -2
- package/lib/typescript/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.d.ts +25 -0
- package/lib/typescript/contexts/paginatedMessageListContext/PaginatedMessageListContext.d.ts +8 -8
- package/lib/typescript/contexts/suggestionsContext/SuggestionsContext.d.ts +29 -28
- package/lib/typescript/contexts/themeContext/utils/theme.d.ts +48 -17
- 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/contexts/utils/getDisplayName.d.ts +2 -2
- package/lib/typescript/hooks/useIsMountedRef.d.ts +20 -0
- package/lib/typescript/i18n/en.json +9 -3
- package/lib/typescript/i18n/fr.json +9 -3
- package/lib/typescript/i18n/hi.json +9 -3
- package/lib/typescript/i18n/it.json +9 -3
- package/lib/typescript/i18n/ja.json +9 -0
- package/lib/typescript/i18n/ko.json +9 -0
- package/lib/typescript/i18n/nl.json +9 -3
- package/lib/typescript/i18n/ru.json +9 -3
- package/lib/typescript/i18n/tr.json +10 -4
- package/lib/typescript/icons/{Left.d.ts → Pin.d.ts} +1 -1
- package/lib/typescript/icons/PinHeader.d.ts +3 -0
- package/lib/typescript/icons/{Right.d.ts → Unpin.d.ts} +1 -1
- package/lib/typescript/icons/UserAdmin.d.ts +3 -0
- package/lib/typescript/icons/index.d.ts +3 -2
- package/lib/typescript/init.d.ts +2 -0
- package/lib/typescript/native.d.ts +1 -9
- package/lib/typescript/types/types.d.ts +16 -13
- package/lib/typescript/utils/Streami18n.d.ts +15 -12
- package/lib/typescript/utils/date.d.ts +2 -0
- package/lib/typescript/utils/getResizedImageUrl.d.ts +20 -0
- package/lib/typescript/utils/getUrlOfImageAttachment.d.ts +7 -0
- package/lib/typescript/utils/utils.d.ts +36 -30
- package/package.json +15 -20
- package/src/components/Attachment/Attachment.tsx +20 -61
- package/src/components/Attachment/AttachmentActions.tsx +17 -57
- package/src/components/Attachment/Card.tsx +22 -52
- 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 +209 -241
- package/src/components/Attachment/Giphy.tsx +84 -128
- package/src/components/Attachment/__tests__/Attachment.test.js +27 -19
- 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/AttachmentPicker/components/AttachmentSelectionBar.tsx +15 -3
- package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +66 -96
- package/src/components/AutoCompleteInput/{CommandsItem.tsx → AutoCompleteSuggestionCommandIcon.tsx} +7 -59
- package/src/components/AutoCompleteInput/AutoCompleteSuggestionHeader.tsx +102 -0
- package/src/components/AutoCompleteInput/AutoCompleteSuggestionItem.tsx +149 -0
- package/src/components/AutoCompleteInput/AutoCompleteSuggestionList.tsx +209 -0
- package/src/components/AutoCompleteInput/__tests__/AutoCompleteInput.test.js +10 -16
- package/src/components/Avatar/Avatar.tsx +8 -11
- package/src/components/Avatar/GroupAvatar.tsx +7 -21
- package/src/components/Avatar/__tests__/Avatar.test.js +2 -33
- package/src/components/Channel/Channel.tsx +495 -477
- package/src/components/Channel/__tests__/Channel.test.js +63 -100
- package/src/components/Channel/__tests__/ownCapabilities.test.js +376 -0
- package/src/components/Channel/hooks/useCreateChannelContext.ts +11 -25
- package/src/components/Channel/hooks/useCreateInputMessageInputContext.ts +54 -69
- package/src/components/Channel/hooks/useCreateMessagesContext.ts +17 -49
- package/src/components/Channel/hooks/useCreateOwnCapabilitiesContext.ts +39 -0
- 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 +2 -3
- package/src/components/ChannelList/ChannelListHeaderErrorIndicator.tsx +3 -7
- package/src/components/ChannelList/ChannelListHeaderNetworkDownIndicator.tsx +5 -2
- package/src/components/ChannelList/ChannelListLoadingIndicator.tsx +5 -1
- package/src/components/ChannelList/ChannelListMessenger.tsx +22 -74
- package/src/components/ChannelList/Skeleton.tsx +2 -1
- package/src/components/ChannelList/__tests__/ChannelList.test.js +75 -16
- package/src/components/ChannelList/__tests__/ChannelListMessenger.test.js +46 -14
- 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 +8 -20
- 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 +95 -70
- 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 +14 -24
- package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +39 -56
- 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 +16 -22
- package/src/components/ChannelPreview/__tests__/ChannelPreviewMessenger.test.js +23 -14
- package/src/components/ChannelPreview/hooks/useChannelPreviewDisplayAvatar.ts +15 -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 +31 -81
- package/src/components/Chat/Chat.tsx +19 -44
- package/src/components/Chat/__tests__/Chat.test.js +12 -47
- package/src/components/Chat/hooks/useCreateChatContext.ts +4 -19
- package/src/components/Chat/hooks/useIsOnline.ts +45 -56
- package/src/components/Chat/hooks/useMutedUsers.ts +5 -20
- package/src/components/ImageGallery/ImageGallery.tsx +127 -133
- 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 +45 -25
- package/src/components/ImageGallery/components/ImageGrid.tsx +46 -35
- package/src/components/ImageGallery/components/ImageGridHandle.tsx +1 -0
- package/src/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.tsx +31 -0
- package/src/components/Indicators/LoadingErrorIndicator.tsx +1 -1
- package/src/components/Indicators/LoadingIndicator.tsx +1 -2
- package/src/components/KeyboardCompatibleView/KeyboardCompatibleView.tsx +9 -2
- package/src/components/Message/Message.tsx +196 -688
- package/src/components/Message/MessageSimple/MessageAvatar.tsx +14 -56
- package/src/components/Message/MessageSimple/MessageContent.tsx +42 -87
- package/src/components/Message/MessageSimple/MessageDeleted.tsx +24 -63
- package/src/components/Message/MessageSimple/MessageFooter.tsx +60 -84
- package/src/components/Message/MessageSimple/MessagePinnedHeader.tsx +109 -0
- package/src/components/Message/MessageSimple/MessageReplies.tsx +19 -60
- package/src/components/Message/MessageSimple/MessageRepliesAvatars.tsx +7 -29
- package/src/components/Message/MessageSimple/MessageSimple.tsx +64 -78
- package/src/components/Message/MessageSimple/MessageStatus.tsx +35 -88
- package/src/components/Message/MessageSimple/MessageTextContainer.tsx +24 -66
- package/src/components/Message/MessageSimple/ReactionList.tsx +110 -163
- package/src/components/Message/MessageSimple/__tests__/Message.test.js +24 -258
- package/src/components/Message/MessageSimple/__tests__/MessageAvatar.test.js +9 -8
- package/src/components/Message/MessageSimple/__tests__/MessageContent.test.js +63 -46
- package/src/components/Message/MessageSimple/__tests__/MessagePinnedHeader.test.js +53 -0
- package/src/components/Message/MessageSimple/__tests__/MessageReplies.test.js +13 -9
- package/src/components/Message/MessageSimple/__tests__/MessageStatus.test.js +11 -47
- package/src/components/Message/MessageSimple/__tests__/MessageTextContainer.test.js +2 -2
- package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageAvatar.test.js.snap +35 -22
- package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessagePinnedHeader.test.js.snap +80 -0
- package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageReplies.test.js.snap +72 -46
- package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageStatus.test.js.snap +77 -48
- package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageTextContainer.test.js.snap +6 -18
- 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 +138 -63
- package/src/components/Message/hooks/useCreateMessageContext.ts +5 -26
- package/src/components/Message/hooks/useMessageActionHandlers.ts +157 -0
- package/src/components/Message/hooks/useMessageActions.tsx +371 -0
- package/src/components/Message/utils/messageActions.ts +53 -54
- package/src/components/Message/utils/removeReservedFields.ts +3 -18
- package/src/components/MessageInput/AttachButton.tsx +15 -57
- package/src/components/MessageInput/CommandsButton.tsx +16 -58
- package/src/components/MessageInput/CooldownTimer.tsx +67 -0
- package/src/components/MessageInput/FileUploadPreview.tsx +86 -118
- package/src/components/MessageInput/ImageUploadPreview.tsx +15 -58
- package/src/components/MessageInput/InputButtons.tsx +17 -64
- package/src/components/MessageInput/MessageInput.tsx +83 -97
- package/src/components/MessageInput/MoreOptionsButton.tsx +14 -56
- package/src/components/MessageInput/SendButton.tsx +14 -55
- package/src/components/MessageInput/SendMessageDisallowedIndicator.tsx +47 -0
- package/src/components/MessageInput/ShowThreadMessageInChannelButton.tsx +6 -21
- package/src/components/MessageInput/__tests__/AttachButton.test.js +2 -2
- package/src/components/MessageInput/__tests__/FileUploadPreview.test.js +193 -97
- package/src/components/MessageInput/__tests__/ImageUploadPreview.test.js +35 -35
- package/src/components/MessageInput/__tests__/MessageInput.test.js +29 -17
- 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__/AttachButton.test.js.snap +134 -52
- package/src/components/MessageInput/__tests__/__snapshots__/FileUploadPreview.test.js.snap +3955 -1647
- package/src/components/MessageInput/__tests__/__snapshots__/ImageUploadPreview.test.js.snap +1964 -1464
- package/src/components/MessageInput/__tests__/__snapshots__/MessageInput.test.js.snap +633 -326
- package/src/components/MessageInput/__tests__/__snapshots__/SendButton.test.js.snap +224 -124
- package/src/components/MessageInput/__tests__/__snapshots__/UploadProgressIndicator.test.js.snap +85 -17
- package/src/components/MessageInput/hooks/useCooldown.ts +48 -0
- package/src/components/MessageInput/hooks/useCountdown.ts +48 -0
- package/src/components/MessageList/DateHeader.tsx +2 -2
- package/src/components/MessageList/InlineDateSeparator.tsx +5 -2
- 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 +198 -152
- package/src/components/MessageList/MessageSystem.tsx +7 -28
- package/src/components/MessageList/ScrollToBottomButton.tsx +6 -1
- package/src/components/MessageList/TypingIndicator.tsx +4 -20
- package/src/components/MessageList/TypingIndicatorContainer.tsx +14 -47
- package/src/components/MessageList/__tests__/MessageList.test.js +231 -152
- package/src/components/MessageList/__tests__/MessageSystem.test.js +3 -3
- package/src/components/MessageList/__tests__/ScrollToBottomButton.test.js +13 -8
- package/src/components/MessageList/__tests__/TypingIndicator.test.js +14 -97
- package/src/components/MessageList/__tests__/__snapshots__/MessageSystem.test.js.snap +9 -4
- package/src/components/MessageList/__tests__/__snapshots__/ScrollToBottomButton.test.js.snap +78 -32
- package/src/components/MessageList/__tests__/__snapshots__/TypingIndicator.test.js.snap +60 -57
- package/src/components/MessageList/hooks/useMessageList.ts +39 -62
- 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 +10 -30
- package/src/components/MessageList/utils/getGroupStyles.ts +23 -44
- package/src/components/MessageList/utils/getLastReceivedMessage.ts +9 -19
- package/src/components/MessageList/utils/getReadStates.ts +5 -20
- package/src/components/MessageOverlay/MessageActionList.tsx +170 -0
- package/src/components/MessageOverlay/MessageActionListItem.tsx +124 -0
- package/src/components/MessageOverlay/MessageOverlay.tsx +279 -310
- package/src/components/MessageOverlay/OverlayBackdrop.tsx +18 -0
- package/src/components/MessageOverlay/OverlayReactionList.tsx +24 -82
- package/src/components/MessageOverlay/OverlayReactions.tsx +12 -8
- package/src/components/MessageOverlay/OverlayReactionsAvatar.tsx +27 -0
- package/src/components/MessageOverlay/hooks/useMessageActionAnimation.tsx +44 -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 +58 -77
- package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +874 -1011
- package/src/components/Thread/components/ThreadFooterComponent.tsx +13 -49
- package/src/components/docs/ListProps.md +1 -1
- package/src/components/docs/data.js +38 -37
- package/src/components/index.ts +13 -7
- package/src/contexts/activeChannelsRefContext/ActiveChannelsRefContext.tsx +1 -2
- package/src/contexts/attachmentPickerContext/AttachmentPickerContext.tsx +10 -9
- package/src/contexts/channelContext/ChannelContext.tsx +43 -79
- package/src/contexts/channelsContext/ChannelsContext.tsx +37 -63
- package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +39 -117
- package/src/contexts/channelsStateContext/useChannelState.ts +29 -61
- 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 -57
- package/src/contexts/messageInputContext/MessageInputContext.tsx +146 -157
- package/src/contexts/messageInputContext/hooks/useCreateMessageInputContext.ts +13 -26
- package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +15 -34
- package/src/contexts/messageOverlayContext/MessageOverlayContext.tsx +41 -97
- 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 +96 -234
- package/src/contexts/overlayContext/OverlayContext.tsx +35 -35
- package/src/contexts/overlayContext/OverlayProvider.tsx +50 -62
- package/src/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.tsx +38 -0
- package/src/contexts/paginatedMessageListContext/PaginatedMessageListContext.tsx +14 -55
- package/src/contexts/suggestionsContext/SuggestionsContext.tsx +59 -80
- package/src/contexts/suggestionsContext/__tests__/Suggestions.test.js +4 -2
- package/src/contexts/themeContext/ThemeContext.tsx +1 -0
- package/src/contexts/themeContext/utils/theme.ts +94 -36
- package/src/contexts/threadContext/ThreadContext.tsx +14 -48
- package/src/contexts/translationContext/TranslationContext.tsx +15 -10
- package/src/contexts/typingContext/TypingContext.tsx +12 -46
- package/src/contexts/utils/getDisplayName.ts +3 -1
- package/src/emoji-data/compiled.ts +1830 -9609
- package/src/emoji-data/emojiNames.ts +0 -140
- package/src/emoji-data/emojis.ts +0 -210
- package/src/emoji-data/index.js +1 -1
- package/src/hooks/useAppStateListener.ts +26 -12
- package/src/hooks/useIsMountedRef.ts +36 -0
- package/src/hooks/useStreami18n.ts +5 -3
- package/src/i18n/en.json +9 -3
- package/src/i18n/fr.json +9 -3
- package/src/i18n/hi.json +9 -3
- package/src/i18n/it.json +9 -3
- package/src/i18n/ja.json +9 -0
- package/src/i18n/ko.json +9 -0
- package/src/i18n/nl.json +9 -3
- package/src/i18n/ru.json +9 -3
- package/src/i18n/tr.json +10 -4
- package/src/icons/Pin.tsx +17 -0
- package/src/icons/PinHeader.tsx +12 -0
- package/src/icons/Unpin.tsx +12 -0
- package/src/icons/UserAdmin.tsx +23 -0
- package/src/icons/index.ts +3 -2
- package/src/init.ts +5 -0
- package/src/mock-builders/api/queryChannels.js +1 -1
- package/src/mock-builders/api/sendMessage.js +3 -1
- package/src/mock-builders/generator/attachment.js +0 -2
- package/src/mock-builders/generator/channel.js +101 -46
- package/src/mock-builders/generator/user.js +33 -26
- package/src/mock-builders/mock.js +2 -2
- package/src/mock-builders/native/react-native-mock.js +1 -1
- package/src/native.ts +2 -13
- package/src/types/types.ts +16 -18
- package/src/utils/Streami18n.ts +6 -6
- package/src/utils/__tests__/Streami18n.test.js +9 -45
- package/src/utils/__tests__/getResizedImageUrl.test.js +57 -0
- package/src/utils/__tests__/utils.test.js +19 -0
- package/src/utils/date.ts +4 -0
- package/src/utils/getResizedImageUrl.ts +59 -0
- package/src/utils/getUrlOfImageAttachment.ts +10 -0
- package/src/utils/utils.ts +97 -142
- package/src/version.json +1 -1
- package/lib/commonjs/components/AutoCompleteInput/CommandsHeader.js +0 -78
- package/lib/commonjs/components/AutoCompleteInput/CommandsHeader.js.map +0 -1
- package/lib/commonjs/components/AutoCompleteInput/CommandsItem.js.map +0 -1
- package/lib/commonjs/components/AutoCompleteInput/EmojisHeader.js +0 -81
- package/lib/commonjs/components/AutoCompleteInput/EmojisHeader.js.map +0 -1
- package/lib/commonjs/components/AutoCompleteInput/EmojisItem.js +0 -75
- package/lib/commonjs/components/AutoCompleteInput/EmojisItem.js.map +0 -1
- package/lib/commonjs/components/AutoCompleteInput/MentionsItem.js +0 -125
- package/lib/commonjs/components/AutoCompleteInput/MentionsItem.js.map +0 -1
- package/lib/commonjs/components/AutoCompleteInput/SuggestionsList.js +0 -199
- package/lib/commonjs/components/AutoCompleteInput/SuggestionsList.js.map +0 -1
- package/lib/commonjs/components/Channel/utils/debounce.js +0 -20
- package/lib/commonjs/components/Channel/utils/debounce.js.map +0 -1
- package/lib/commonjs/components/Channel/utils/throttle.js +0 -20
- package/lib/commonjs/components/Channel/utils/throttle.js.map +0 -1
- package/lib/commonjs/components/MessageOverlay/MessageActions.js.map +0 -1
- package/lib/commonjs/icons/Left.js +0 -38
- package/lib/commonjs/icons/Left.js.map +0 -1
- package/lib/commonjs/icons/Right.js +0 -38
- package/lib/commonjs/icons/Right.js.map +0 -1
- package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js +0 -100
- package/lib/commonjs/styleguideComponents/ArgumentsRenderer.js.map +0 -1
- package/lib/commonjs/styleguideComponents/BottomSheet.js +0 -25
- package/lib/commonjs/styleguideComponents/BottomSheet.js.map +0 -1
- package/lib/commonjs/styleguideComponents/JsDoc.js +0 -87
- package/lib/commonjs/styleguideComponents/JsDoc.js.map +0 -1
- package/lib/commonjs/styleguideComponents/Markdown.js +0 -12
- package/lib/commonjs/styleguideComponents/Markdown.js.map +0 -1
- package/lib/commonjs/styleguideComponents/PathlineRenderer.js +0 -92
- package/lib/commonjs/styleguideComponents/PathlineRenderer.js.map +0 -1
- package/lib/commonjs/styleguideComponents/PropsRenderer.js +0 -267
- package/lib/commonjs/styleguideComponents/PropsRenderer.js.map +0 -1
- package/lib/commonjs/styleguideComponents/Reanimated.js +0 -2
- package/lib/commonjs/styleguideComponents/Wrapper.js +0 -29
- package/lib/commonjs/styleguideComponents/Wrapper.js.map +0 -1
- package/lib/commonjs/styleguideComponents/register-react-native-web.js +0 -44
- package/lib/commonjs/styleguideComponents/register-react-native-web.js.map +0 -1
- package/lib/commonjs/styleguideComponents/resolveAssetSource.js +0 -11
- package/lib/commonjs/styleguideComponents/resolveAssetSource.js.map +0 -1
- package/lib/module/components/AutoCompleteInput/CommandsHeader.js +0 -78
- package/lib/module/components/AutoCompleteInput/CommandsHeader.js.map +0 -1
- package/lib/module/components/AutoCompleteInput/CommandsItem.js.map +0 -1
- package/lib/module/components/AutoCompleteInput/EmojisHeader.js +0 -81
- package/lib/module/components/AutoCompleteInput/EmojisHeader.js.map +0 -1
- package/lib/module/components/AutoCompleteInput/EmojisItem.js +0 -75
- package/lib/module/components/AutoCompleteInput/EmojisItem.js.map +0 -1
- package/lib/module/components/AutoCompleteInput/MentionsItem.js +0 -125
- package/lib/module/components/AutoCompleteInput/MentionsItem.js.map +0 -1
- package/lib/module/components/AutoCompleteInput/SuggestionsList.js +0 -199
- package/lib/module/components/AutoCompleteInput/SuggestionsList.js.map +0 -1
- package/lib/module/components/Channel/utils/debounce.js +0 -20
- package/lib/module/components/Channel/utils/debounce.js.map +0 -1
- package/lib/module/components/Channel/utils/throttle.js +0 -20
- package/lib/module/components/Channel/utils/throttle.js.map +0 -1
- package/lib/module/components/MessageOverlay/MessageActions.js.map +0 -1
- package/lib/module/icons/Left.js +0 -38
- package/lib/module/icons/Left.js.map +0 -1
- package/lib/module/icons/Right.js +0 -38
- package/lib/module/icons/Right.js.map +0 -1
- package/lib/module/styleguideComponents/ArgumentsRenderer.js +0 -100
- package/lib/module/styleguideComponents/ArgumentsRenderer.js.map +0 -1
- package/lib/module/styleguideComponents/BottomSheet.js +0 -25
- package/lib/module/styleguideComponents/BottomSheet.js.map +0 -1
- package/lib/module/styleguideComponents/JsDoc.js +0 -87
- package/lib/module/styleguideComponents/JsDoc.js.map +0 -1
- package/lib/module/styleguideComponents/Markdown.js +0 -12
- package/lib/module/styleguideComponents/Markdown.js.map +0 -1
- package/lib/module/styleguideComponents/PathlineRenderer.js +0 -92
- package/lib/module/styleguideComponents/PathlineRenderer.js.map +0 -1
- package/lib/module/styleguideComponents/PropsRenderer.js +0 -267
- package/lib/module/styleguideComponents/PropsRenderer.js.map +0 -1
- package/lib/module/styleguideComponents/Reanimated.js +0 -2
- package/lib/module/styleguideComponents/Wrapper.js +0 -29
- package/lib/module/styleguideComponents/Wrapper.js.map +0 -1
- package/lib/module/styleguideComponents/register-react-native-web.js +0 -44
- package/lib/module/styleguideComponents/register-react-native-web.js.map +0 -1
- package/lib/module/styleguideComponents/resolveAssetSource.js +0 -11
- package/lib/module/styleguideComponents/resolveAssetSource.js.map +0 -1
- package/lib/typescript/components/AutoCompleteInput/CommandsHeader.d.ts +0 -2
- package/lib/typescript/components/AutoCompleteInput/CommandsItem.d.ts +0 -15
- package/lib/typescript/components/AutoCompleteInput/EmojisHeader.d.ts +0 -5
- package/lib/typescript/components/AutoCompleteInput/EmojisItem.d.ts +0 -12
- package/lib/typescript/components/AutoCompleteInput/MentionsItem.d.ts +0 -16
- package/lib/typescript/components/AutoCompleteInput/SuggestionsList.d.ts +0 -13
- package/lib/typescript/components/Channel/utils/debounce.d.ts +0 -2
- package/lib/typescript/components/Channel/utils/throttle.d.ts +0 -2
- package/lib/typescript/components/MessageOverlay/MessageActions.d.ts +0 -11
- package/src/components/AutoCompleteInput/CommandsHeader.tsx +0 -43
- package/src/components/AutoCompleteInput/EmojisHeader.tsx +0 -45
- package/src/components/AutoCompleteInput/EmojisItem.tsx +0 -52
- package/src/components/AutoCompleteInput/MentionsItem.tsx +0 -74
- package/src/components/AutoCompleteInput/SuggestionsList.tsx +0 -138
- package/src/components/AutoCompleteInput/__tests__/CommandsItem.test.js +0 -29
- package/src/components/AutoCompleteInput/__tests__/MentionsItem.test.js +0 -62
- package/src/components/Channel/utils/debounce.ts +0 -12
- package/src/components/Channel/utils/throttle.ts +0 -12
- package/src/components/MessageList/__tests__/__snapshots__/MessageList.test.js.snap +0 -983
- package/src/components/MessageOverlay/MessageActions.tsx +0 -243
- package/src/icons/Left.tsx +0 -12
- package/src/icons/Right.tsx +0 -12
- package/src/styleguideComponents/ArgumentsRenderer.tsx +0 -59
- package/src/styleguideComponents/BottomSheet.tsx +0 -3
- package/src/styleguideComponents/JsDoc.tsx +0 -43
- package/src/styleguideComponents/Markdown.tsx +0 -1
- package/src/styleguideComponents/PathlineRenderer.tsx +0 -44
- package/src/styleguideComponents/PropsRenderer.tsx +0 -138
- package/src/styleguideComponents/Reanimated.tsx +0 -0
- package/src/styleguideComponents/Wrapper.tsx +0 -6
- package/src/styleguideComponents/register-react-native-web.js +0 -13
- package/src/styleguideComponents/resolveAssetSource.js +0 -2
|
@@ -3,70 +3,121 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.generateChannel = void 0;
|
|
7
|
-
|
|
8
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
6
|
+
exports.generateChannelResponse = exports.generateChannel = void 0;
|
|
9
7
|
|
|
10
8
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
9
|
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
|
+
|
|
14
|
+
var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
15
|
+
|
|
12
16
|
var _uuid = require("uuid");
|
|
13
17
|
|
|
14
|
-
var
|
|
18
|
+
var _user = require("./user");
|
|
15
19
|
|
|
16
|
-
var
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
var _excluded = ["id", "type", "channel"];
|
|
21
|
+
var defaultCapabilities = ['ban-channel-members', 'delete-any-message', 'delete-own-message', 'flag-message', 'mute-channel', 'pin-message', 'quote-message', 'read-events', 'send-links', 'send-message', 'send-reaction', 'send-reply', 'typing-events', 'update-any-message', 'update-own-message', 'upload-file'];
|
|
22
|
+
var defaultConfig = {
|
|
23
|
+
automod: 'disabled',
|
|
24
|
+
automod_behavior: 'flag',
|
|
25
|
+
commands: [{
|
|
26
|
+
args: '[text]',
|
|
27
|
+
description: 'Post a random gif to the channel',
|
|
28
|
+
name: 'giphy',
|
|
29
|
+
set: 'fun_set'
|
|
30
|
+
}],
|
|
31
|
+
connect_events: true,
|
|
32
|
+
created_at: '2020-04-24T11:36:43.859020368Z',
|
|
33
|
+
max_message_length: 5000,
|
|
34
|
+
message_retention: 'infinite',
|
|
35
|
+
mutes: true,
|
|
36
|
+
name: 'messaging',
|
|
37
|
+
reactions: true,
|
|
38
|
+
read_events: true,
|
|
39
|
+
replies: true,
|
|
40
|
+
search: true,
|
|
41
|
+
typing_events: true,
|
|
42
|
+
updated_at: '2020-04-24T11:36:43.859022903Z',
|
|
43
|
+
uploads: true,
|
|
44
|
+
url_enrichment: true
|
|
45
|
+
};
|
|
46
|
+
var defaultState = {
|
|
47
|
+
members: {},
|
|
48
|
+
messages: [],
|
|
49
|
+
setIsUpToDate: jest.fn()
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
var getChannelDefaults = function getChannelDefaults() {
|
|
53
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
|
54
|
+
id: (0, _uuid.v4)(),
|
|
55
|
+
type: 'messaging'
|
|
56
|
+
},
|
|
57
|
+
id = _ref.id,
|
|
58
|
+
type = _ref.type;
|
|
59
|
+
|
|
60
|
+
return {
|
|
61
|
+
_client: {},
|
|
62
|
+
data: {
|
|
26
63
|
cid: type + ":" + id,
|
|
27
|
-
config: {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
args: '[text]',
|
|
32
|
-
description: 'Post a random gif to the channel',
|
|
33
|
-
name: 'giphy',
|
|
34
|
-
set: 'fun_set'
|
|
35
|
-
}],
|
|
36
|
-
connect_events: true,
|
|
37
|
-
created_at: '2020-04-24T11:36:43.859020368Z',
|
|
38
|
-
max_message_length: 5000,
|
|
39
|
-
message_retention: 'infinite',
|
|
40
|
-
mutes: true,
|
|
41
|
-
name: 'messaging',
|
|
42
|
-
reactions: true,
|
|
43
|
-
read_events: true,
|
|
44
|
-
replies: true,
|
|
45
|
-
search: true,
|
|
46
|
-
typing_events: true,
|
|
47
|
-
updated_at: '2020-04-24T11:36:43.859022903Z',
|
|
48
|
-
uploads: true,
|
|
49
|
-
url_enrichment: true
|
|
50
|
-
},
|
|
64
|
+
config: (0, _extends3["default"])({}, defaultConfig, {
|
|
65
|
+
name: type,
|
|
66
|
+
type: type
|
|
67
|
+
}),
|
|
51
68
|
created_at: '2020-04-28T11:20:48.578147Z',
|
|
52
|
-
created_by:
|
|
53
|
-
banned: false,
|
|
54
|
-
created_at: '2020-04-27T13:05:13.847572Z',
|
|
55
|
-
id: 'vishal',
|
|
56
|
-
last_active: '2020-04-28T11:21:08.353026Z',
|
|
57
|
-
online: false,
|
|
58
|
-
role: 'user',
|
|
59
|
-
updated_at: '2020-04-28T11:21:08.357468Z'
|
|
60
|
-
},
|
|
69
|
+
created_by: (0, _user.getUserDefaults)(),
|
|
61
70
|
frozen: false,
|
|
62
71
|
id: id,
|
|
72
|
+
own_capabilities: defaultCapabilities,
|
|
63
73
|
type: type,
|
|
64
74
|
updated_at: '2020-04-28T11:20:48.578147Z'
|
|
65
|
-
},
|
|
75
|
+
},
|
|
76
|
+
id: id,
|
|
77
|
+
state: defaultState,
|
|
78
|
+
type: type
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
var generateChannel = function generateChannel(customValues) {
|
|
83
|
+
return Object.keys(customValues).reduce(function (accumulated, current) {
|
|
84
|
+
if (Object.prototype.hasOwnProperty.call(accumulated, current)) {
|
|
85
|
+
accumulated[current] = (0, _typeof2["default"])(accumulated[current]) === 'object' ? (0, _extends3["default"])({}, accumulated[current], customValues[current]) : accumulated[current] = customValues[current];
|
|
86
|
+
return accumulated;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
return (0, _extends3["default"])({}, accumulated, (0, _defineProperty2["default"])({}, current, customValues[current]));
|
|
90
|
+
}, getChannelDefaults());
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
exports.generateChannel = generateChannel;
|
|
94
|
+
|
|
95
|
+
var generateChannelResponse = function generateChannelResponse() {
|
|
96
|
+
var customValues = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
|
97
|
+
channel: {},
|
|
98
|
+
id: (0, _uuid.v4)(),
|
|
99
|
+
type: 'messaging'
|
|
100
|
+
};
|
|
101
|
+
var _customValues$id = customValues.id,
|
|
102
|
+
id = _customValues$id === void 0 ? (0, _uuid.v4)() : _customValues$id,
|
|
103
|
+
_customValues$type = customValues.type,
|
|
104
|
+
type = _customValues$type === void 0 ? 'messaging' : _customValues$type,
|
|
105
|
+
_customValues$channel = customValues.channel,
|
|
106
|
+
channel = _customValues$channel === void 0 ? {} : _customValues$channel,
|
|
107
|
+
rest = (0, _objectWithoutProperties2["default"])(customValues, _excluded);
|
|
108
|
+
var defaults = getChannelDefaults();
|
|
109
|
+
return (0, _extends3["default"])({
|
|
110
|
+
channel: (0, _extends3["default"])({}, defaults.data, (0, _extends3["default"])({
|
|
111
|
+
cid: type + ":" + id
|
|
112
|
+
}, channel, {
|
|
113
|
+
id: id,
|
|
114
|
+
type: type,
|
|
115
|
+
user: (0, _user.generateUser)()
|
|
116
|
+
})),
|
|
66
117
|
members: [],
|
|
67
118
|
messages: []
|
|
68
|
-
},
|
|
119
|
+
}, rest);
|
|
69
120
|
};
|
|
70
121
|
|
|
71
|
-
exports.
|
|
122
|
+
exports.generateChannelResponse = generateChannelResponse;
|
|
72
123
|
//# sourceMappingURL=channel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["channel.js"],"names":["
|
|
1
|
+
{"version":3,"sources":["channel.js"],"names":["defaultCapabilities","defaultConfig","automod","automod_behavior","commands","args","description","name","set","connect_events","created_at","max_message_length","message_retention","mutes","reactions","read_events","replies","search","typing_events","updated_at","uploads","url_enrichment","defaultState","members","messages","setIsUpToDate","jest","fn","getChannelDefaults","id","type","_client","data","cid","config","created_by","frozen","own_capabilities","state","generateChannel","customValues","Object","keys","reduce","accumulated","current","prototype","hasOwnProperty","call","generateChannelResponse","channel","rest","defaults","user"],"mappings":"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","sourcesContent":["import { v4 as uuidv4 } from 'uuid';\n\nimport { generateUser, getUserDefaults } from './user';\n\nconst defaultCapabilities = [\n 'ban-channel-members',\n 'delete-any-message',\n 'delete-own-message',\n 'flag-message',\n 'mute-channel',\n 'pin-message',\n 'quote-message',\n 'read-events',\n 'send-links',\n 'send-message',\n 'send-reaction',\n 'send-reply',\n 'typing-events',\n 'update-any-message',\n 'update-own-message',\n 'upload-file',\n];\n\nconst defaultConfig = {\n automod: 'disabled',\n automod_behavior: 'flag',\n commands: [\n {\n args: '[text]',\n description: 'Post a random gif to the channel',\n name: 'giphy',\n set: 'fun_set',\n },\n ],\n connect_events: true,\n created_at: '2020-04-24T11:36:43.859020368Z',\n max_message_length: 5000,\n message_retention: 'infinite',\n mutes: true,\n name: 'messaging',\n reactions: true,\n read_events: true,\n replies: true,\n search: true,\n typing_events: true,\n updated_at: '2020-04-24T11:36:43.859022903Z',\n uploads: true,\n url_enrichment: true,\n};\nconst defaultState = {\n members: {},\n messages: [],\n setIsUpToDate: jest.fn(),\n};\n\nconst getChannelDefaults = ({ id, type } = { id: uuidv4(), type: 'messaging' }) => ({\n _client: {},\n data: {\n cid: `${type}:${id}`,\n config: {\n ...defaultConfig,\n name: type,\n type,\n },\n created_at: '2020-04-28T11:20:48.578147Z',\n created_by: getUserDefaults(),\n frozen: false,\n id,\n own_capabilities: defaultCapabilities,\n type,\n updated_at: '2020-04-28T11:20:48.578147Z',\n },\n id,\n state: defaultState,\n type,\n});\n\nexport const generateChannel = (customValues) =>\n Object.keys(customValues).reduce((accumulated, current) => {\n if (Object.prototype.hasOwnProperty.call(accumulated, current)) {\n accumulated[current] =\n typeof accumulated[current] === 'object'\n ? { ...accumulated[current], ...customValues[current] }\n : (accumulated[current] = customValues[current]);\n return accumulated;\n }\n return { ...accumulated, [current]: customValues[current] };\n }, getChannelDefaults());\n\nexport const generateChannelResponse = (\n customValues = { channel: {}, id: uuidv4(), type: 'messaging' },\n) => {\n const { id = uuidv4(), type = 'messaging', channel = {}, ...rest } = customValues;\n\n const defaults = getChannelDefaults();\n return {\n channel: {\n ...defaults.data,\n ...{\n cid: `${type}:${id}`,\n ...channel,\n id,\n type,\n user: generateUser(),\n },\n },\n members: [],\n messages: [],\n ...rest,\n };\n};\n"]}
|
|
@@ -3,15 +3,14 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.getUserDefaults = exports.generateUser = exports.generateStaticUser = void 0;
|
|
7
7
|
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
|
|
10
10
|
var _uuid = require("uuid");
|
|
11
11
|
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
return (0, _extends2["default"])({
|
|
12
|
+
var getUserDefaults = function getUserDefaults() {
|
|
13
|
+
return {
|
|
15
14
|
banned: false,
|
|
16
15
|
created_at: '2020-04-27T13:39:49.331742Z',
|
|
17
16
|
id: (0, _uuid.v4)(),
|
|
@@ -20,41 +19,41 @@ var generateUser = function generateUser() {
|
|
|
20
19
|
online: false,
|
|
21
20
|
role: 'user',
|
|
22
21
|
updated_at: '2020-04-27T13:39:49.332087Z'
|
|
23
|
-
}
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
exports.getUserDefaults = getUserDefaults;
|
|
26
|
+
|
|
27
|
+
var generateUser = function generateUser() {
|
|
28
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
29
|
+
return (0, _extends2["default"])({}, getUserDefaults(), options);
|
|
24
30
|
};
|
|
25
31
|
|
|
26
32
|
exports.generateUser = generateUser;
|
|
33
|
+
var staticUsers = [generateUser({
|
|
34
|
+
id: 'tommy',
|
|
35
|
+
image: 'https://i.imgur.com/ytIyojl.png',
|
|
36
|
+
name: 'Thomas'
|
|
37
|
+
}), generateUser({
|
|
38
|
+
id: 'arthur',
|
|
39
|
+
image: 'https://i.imgur.com/LuuGvh0.png',
|
|
40
|
+
name: 'Arthur'
|
|
41
|
+
}), generateUser({
|
|
42
|
+
id: 'john',
|
|
43
|
+
image: 'https://i.imgur.com/LbtxRjf.png',
|
|
44
|
+
name: 'John'
|
|
45
|
+
}), generateUser({
|
|
46
|
+
id: 'finn',
|
|
47
|
+
image: 'https://i.imgur.com/spueyAP.png',
|
|
48
|
+
name: 'Finn'
|
|
49
|
+
})];
|
|
27
50
|
|
|
28
51
|
var generateStaticUser = function generateStaticUser(userNumber) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return generateUser({
|
|
32
|
-
id: 'DannyBoi1',
|
|
33
|
-
image: 'https://images-na.ssl-images-amazon.com/images/I/51t29lLkg8L._AC_SL1000_.jpg',
|
|
34
|
-
name: 'Dan'
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
case 1:
|
|
38
|
-
return generateUser({
|
|
39
|
-
id: 'GrantyBoi2',
|
|
40
|
-
image: 'https://i.imgur.com/SLx06PP.png',
|
|
41
|
-
name: 'Grant'
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
case 2:
|
|
45
|
-
return generateUser({
|
|
46
|
-
id: 'ViriBoi2',
|
|
47
|
-
image: 'https://i.imgur.com/iNaC3K7.jpg',
|
|
48
|
-
name: 'Vir'
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
default:
|
|
52
|
-
return generateUser({
|
|
53
|
-
id: 'NeiliBoi3',
|
|
54
|
-
image: 'https://i.imgur.com/T68W8nR_d.webp?maxwidth=728&fidelity=grand',
|
|
55
|
-
name: 'Neil'
|
|
56
|
-
});
|
|
52
|
+
if (userNumber - 1 > staticUsers.length) {
|
|
53
|
+
throw new Error("Tried getting a static user that doesn't exist.\nIndex: " + userNumber + " , number of users: " + staticUsers.length);
|
|
57
54
|
}
|
|
55
|
+
|
|
56
|
+
return staticUsers[userNumber];
|
|
58
57
|
};
|
|
59
58
|
|
|
60
59
|
exports.generateStaticUser = generateStaticUser;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["user.js"],"names":["
|
|
1
|
+
{"version":3,"sources":["user.js"],"names":["getUserDefaults","banned","created_at","id","image","name","online","role","updated_at","generateUser","options","staticUsers","generateStaticUser","userNumber","length","Error"],"mappings":";;;;;;;;;AAAA;;AAEO,IAAMA,eAAe,GAAG,SAAlBA,eAAkB;AAAA,SAAO;AACpCC,IAAAA,MAAM,EAAE,KAD4B;AAEpCC,IAAAA,UAAU,EAAE,6BAFwB;AAGpCC,IAAAA,EAAE,EAAE,eAHgC;AAIpCC,IAAAA,KAAK,EAAE,eAJ6B;AAKpCC,IAAAA,IAAI,EAAE,eAL8B;AAMpCC,IAAAA,MAAM,EAAE,KAN4B;AAOpCC,IAAAA,IAAI,EAAE,MAP8B;AAQpCC,IAAAA,UAAU,EAAE;AARwB,GAAP;AAAA,CAAxB;;;;AAWA,IAAMC,YAAY,GAAG,SAAfA,YAAe;AAAA,MAACC,OAAD,uEAAW,EAAX;AAAA,uCACvBV,eAAe,EADQ,EAEvBU,OAFuB;AAAA,CAArB;;;AAKP,IAAMC,WAAW,GAAG,CAElBF,YAAY,CAAC;AACXN,EAAAA,EAAE,EAAE,OADO;AAEXC,EAAAA,KAAK,EAAE,iCAFI;AAGXC,EAAAA,IAAI,EAAE;AAHK,CAAD,CAFM,EAOlBI,YAAY,CAAC;AACXN,EAAAA,EAAE,EAAE,QADO;AAEXC,EAAAA,KAAK,EAAE,iCAFI;AAGXC,EAAAA,IAAI,EAAE;AAHK,CAAD,CAPM,EAYlBI,YAAY,CAAC;AACXN,EAAAA,EAAE,EAAE,MADO;AAEXC,EAAAA,KAAK,EAAE,iCAFI;AAGXC,EAAAA,IAAI,EAAE;AAHK,CAAD,CAZM,EAiBlBI,YAAY,CAAC;AACXN,EAAAA,EAAE,EAAE,MADO;AAEXC,EAAAA,KAAK,EAAE,iCAFI;AAGXC,EAAAA,IAAI,EAAE;AAHK,CAAD,CAjBM,CAApB;;AAwBO,IAAMO,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,UAAD,EAAgB;AAChD,MAAIA,UAAU,GAAG,CAAb,GAAiBF,WAAW,CAACG,MAAjC,EAAyC;AACvC,UAAM,IAAIC,KAAJ,8DACDF,UADC,4BACgCF,WAAW,CAACG,MAD5C,CAAN;AAED;;AACD,SAAOH,WAAW,CAACE,UAAD,CAAlB;AACD,CANM","sourcesContent":["import { v4 as uuidv4 } from 'uuid';\n\nexport const getUserDefaults = () => ({\n banned: false,\n created_at: '2020-04-27T13:39:49.331742Z',\n id: uuidv4(),\n image: uuidv4(),\n name: uuidv4(),\n online: false,\n role: 'user',\n updated_at: '2020-04-27T13:39:49.332087Z',\n});\n\nexport const generateUser = (options = {}) => ({\n ...getUserDefaults(),\n ...options,\n});\n\nconst staticUsers = [\n // By the order of...\n generateUser({\n id: 'tommy',\n image: 'https://i.imgur.com/ytIyojl.png',\n name: 'Thomas',\n }),\n generateUser({\n id: 'arthur',\n image: 'https://i.imgur.com/LuuGvh0.png',\n name: 'Arthur',\n }),\n generateUser({\n id: 'john',\n image: 'https://i.imgur.com/LbtxRjf.png',\n name: 'John',\n }),\n generateUser({\n id: 'finn',\n image: 'https://i.imgur.com/spueyAP.png',\n name: 'Finn',\n }),\n];\n\nexport const generateStaticUser = (userNumber) => {\n if (userNumber - 1 > staticUsers.length) {\n throw new Error(`Tried getting a static user that doesn't exist.\nIndex: ${userNumber} , number of users: ${staticUsers.length}`);\n }\n return staticUsers[userNumber];\n};\n"]}
|
|
@@ -3,7 +3,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.getTestClientWithUser = exports.getTestClient = exports.getRandomInt = void 0;
|
|
7
7
|
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
|
|
@@ -44,7 +44,7 @@ function mockClient(client) {
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
var getTestClient = function getTestClient() {
|
|
47
|
-
return mockClient(_streamChat.StreamChat
|
|
47
|
+
return mockClient(new _streamChat.StreamChat(apiKey));
|
|
48
48
|
};
|
|
49
49
|
|
|
50
50
|
exports.getTestClient = getTestClient;
|
|
@@ -56,7 +56,7 @@ var getTestClientWithUser = function () {
|
|
|
56
56
|
while (1) {
|
|
57
57
|
switch (_context.prev = _context.next) {
|
|
58
58
|
case 0:
|
|
59
|
-
client = mockClient(_streamChat.StreamChat
|
|
59
|
+
client = mockClient(new _streamChat.StreamChat(apiKey));
|
|
60
60
|
_context.next = 3;
|
|
61
61
|
return setUser(client, user);
|
|
62
62
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["mock.js"],"names":["apiKey","token","setUser","client","user","Promise","resolve","connectionId","mutes","_user","userID","id","userToken","mockClient","jest","spyOn","mockImplementation","tokenManager","getToken","fn","tokenReady","bind","getTestClient","StreamChat","
|
|
1
|
+
{"version":3,"sources":["mock.js"],"names":["apiKey","token","setUser","client","user","Promise","resolve","connectionId","mutes","_user","userID","id","userToken","mockClient","jest","spyOn","mockImplementation","tokenManager","getToken","fn","tokenReady","bind","getTestClient","StreamChat","getTestClientWithUser","wsPromise","getRandomInt","min","max","Math","ceil","floor","random"],"mappings":";;;;;;;;;;;;;AAGA;;AAEA,IAAMA,MAAM,GAAG,SAAf;AACA,IAAMC,KAAK,GAAG,aAAd;;AAEA,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,MAAD,EAASC,IAAT;AAAA,SACd,IAAIC,OAAJ,CAAY,UAACC,OAAD,EAAa;AACvBH,IAAAA,MAAM,CAACI,YAAP,GAAsB,oBAAtB;AACAJ,IAAAA,MAAM,CAACC,IAAP,GAAcA,IAAd;AACAD,IAAAA,MAAM,CAACC,IAAP,CAAYI,KAAZ,GAAoB,EAApB;AACAL,IAAAA,MAAM,CAACM,KAAP,iCAAoBL,IAApB;AACAD,IAAAA,MAAM,CAACO,MAAP,GAAgBN,IAAI,CAACO,EAArB;AACAR,IAAAA,MAAM,CAACS,SAAP,GAAmBX,KAAnB;AACAK,IAAAA,OAAO;AACR,GARD,CADc;AAAA,CAAhB;;AAWA,SAASO,UAAT,CAAoBV,MAApB,EAA4B;AAC1BW,EAAAA,IAAI,CAACC,KAAL,CAAWZ,MAAX,EAAmB,WAAnB,EAAgCa,kBAAhC;AACAF,EAAAA,IAAI,CAACC,KAAL,CAAWZ,MAAX,EAAmB,kBAAnB,EAAuCa,kBAAvC;AACAb,EAAAA,MAAM,CAACc,YAAP,GAAsB;AACpBC,IAAAA,QAAQ,EAAEJ,IAAI,CAACK,EAAL,CAAQ;AAAA,aAAMlB,KAAN;AAAA,KAAR,CADU;AAEpBmB,IAAAA,UAAU,EAAEN,IAAI,CAACK,EAAL,CAAQ;AAAA,aAAM,IAAN;AAAA,KAAR;AAFQ,GAAtB;AAIAhB,EAAAA,MAAM,CAACD,OAAP,GAAiBA,OAAO,CAACmB,IAAR,CAAa,IAAb,EAAmBlB,MAAnB,CAAjB;AACA,SAAOA,MAAP;AACD;;AAEM,IAAMmB,aAAa,GAAG,SAAhBA,aAAgB;AAAA,SAAMT,UAAU,CAAC,IAAIU,sBAAJ,CAAevB,MAAf,CAAD,CAAhB;AAAA,CAAtB;;;;AAEA,IAAMwB,qBAAqB;AAAA,6EAAG,iBAAOpB,IAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAC7BD,YAAAA,MAD6B,GACpBU,UAAU,CAAC,IAAIU,sBAAJ,CAAevB,MAAf,CAAD,CADU;AAAA;AAAA,mBAE7BE,OAAO,CAACC,MAAD,EAASC,IAAT,CAFsB;;AAAA;AAGnCD,YAAAA,MAAM,CAACsB,SAAP,GAAmBpB,OAAO,CAACC,OAAR,EAAnB;AAHmC,6CAI5BH,MAJ4B;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAArBqB,qBAAqB;AAAA;AAAA;AAAA,GAA3B;;;;AAOA,IAAME,YAAY,GAAG,SAAfA,YAAe,CAACC,GAAD,EAAMC,GAAN,EAAc;AACxCD,EAAAA,GAAG,GAAGE,IAAI,CAACC,IAAL,CAAUH,GAAV,CAAN;AACAC,EAAAA,GAAG,GAAGC,IAAI,CAACE,KAAL,CAAWH,GAAX,CAAN;AACA,SAAOC,IAAI,CAACE,KAAL,CAAWF,IAAI,CAACG,MAAL,MAAiBJ,GAAG,GAAGD,GAAvB,CAAX,IAA0CA,GAAjD;AACD,CAJM","sourcesContent":["/* eslint no-underscore-dangle: 0 */\n/* eslint no-param-reassign: 0 */\n\nimport { StreamChat } from 'stream-chat';\n\nconst apiKey = 'API_KEY';\nconst token = 'dummy_token';\n\nconst setUser = (client, user) =>\n new Promise((resolve) => {\n client.connectionId = 'dumm_connection_id';\n client.user = user;\n client.user.mutes = [];\n client._user = { ...user };\n client.userID = user.id;\n client.userToken = token;\n resolve();\n });\n\nfunction mockClient(client) {\n jest.spyOn(client, '_setToken').mockImplementation();\n jest.spyOn(client, '_setupConnection').mockImplementation();\n client.tokenManager = {\n getToken: jest.fn(() => token),\n tokenReady: jest.fn(() => true),\n };\n client.setUser = setUser.bind(null, client);\n return client;\n}\n\nexport const getTestClient = () => mockClient(new StreamChat(apiKey));\n\nexport const getTestClientWithUser = async (user) => {\n const client = mockClient(new StreamChat(apiKey));\n await setUser(client, user);\n client.wsPromise = Promise.resolve();\n return client;\n};\n\nexport const getRandomInt = (min, max) => {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min)) + min; // The maximum is exclusive and the minimum is inclusive\n};\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
jest.mock('react-native/Libraries/Animated/
|
|
1
|
+
jest.mock('react-native/Libraries/Animated/NativeAnimatedHelper');
|
|
2
2
|
//# sourceMappingURL=react-native-mock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["react-native-mock.js"],"names":["jest","mock"],"mappings":"AAAAA,IAAI,CAACC,IAAL,CAAU,
|
|
1
|
+
{"version":3,"sources":["react-native-mock.js"],"names":["jest","mock"],"mappings":"AAAAA,IAAI,CAACC,IAAL,CAAU,sDAAV","sourcesContent":["jest.mock('react-native/Libraries/Animated/NativeAnimatedHelper');\n"]}
|
package/lib/commonjs/native.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, "__esModule", {
|
|
2
2
|
value: true
|
|
3
3
|
});
|
|
4
|
-
exports.
|
|
4
|
+
exports.triggerHaptic = exports.takePhoto = exports.shareImage = exports.saveFile = exports.registerNativeHandlers = exports.pickDocument = exports.getPhotos = exports.getLocalAssetUri = exports.deleteFile = exports.compressImage = exports.SDK = exports.NetInfo = exports.FlatList = void 0;
|
|
5
5
|
|
|
6
6
|
var _reactNative = require("react-native");
|
|
7
7
|
|
|
@@ -9,8 +9,6 @@ var fail = function fail() {
|
|
|
9
9
|
throw Error('Native handler was not registered, you should import stream-chat-expo or stream-chat-react-native');
|
|
10
10
|
};
|
|
11
11
|
|
|
12
|
-
var BlurView = fail;
|
|
13
|
-
exports.BlurView = BlurView;
|
|
14
12
|
var compressImage = fail;
|
|
15
13
|
exports.compressImage = compressImage;
|
|
16
14
|
var deleteFile = fail;
|
|
@@ -40,10 +38,6 @@ var SDK;
|
|
|
40
38
|
exports.SDK = SDK;
|
|
41
39
|
|
|
42
40
|
var registerNativeHandlers = function registerNativeHandlers(handlers) {
|
|
43
|
-
if (handlers.BlurView) {
|
|
44
|
-
exports.BlurView = BlurView = handlers.BlurView;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
41
|
if (handlers.compressImage) {
|
|
48
42
|
exports.compressImage = compressImage = handlers.compressImage;
|
|
49
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["native.ts"],"names":["fail","Error","
|
|
1
|
+
{"version":3,"sources":["native.ts"],"names":["fail","Error","compressImage","deleteFile","getLocalAssetUri","getPhotos","FlatList","DefaultFlatList","NetInfo","addEventListener","fetch","pickDocument","saveFile","shareImage","takePhoto","triggerHaptic","SDK","registerNativeHandlers","handlers"],"mappings":";;;;;AAAA;;AAIA,IAAMA,IAAI,GAAG,SAAPA,IAAO,GAAM;AACjB,QAAMC,KAAK,CACT,mGADS,CAAX;AAGD,CAJD;;AAiBO,IAAIC,aAA4B,GAAGF,IAAnC;;AAGA,IAAIG,UAAsB,GAAGH,IAA7B;;AAGA,IAAII,gBAAkC,GAAGJ,IAAzC;;AAgBA,IAAIK,SAAoB,GAAGL,IAA3B;;AAOA,IAAIM,QAAQ,GAAGC,qBAAf;;AAEA,IAAIC,OAAgB,GAAG;AAC5BC,EAAAA,gBAAgB,EAAET,IADU;AAE5BU,EAAAA,KAAK,EAAEV;AAFqB,CAAvB;;AAgBA,IAAIW,YAA0B,GAAGX,IAAjC;;AAOA,IAAIY,QAAkB,GAAGZ,IAAzB;;AAOA,IAAIa,UAAsB,GAAGb,IAA7B;;AASA,IAAIc,SAAoB,GAAGd,IAA3B;;AAWA,IAAIe,aAA4B,GAAGf,IAAnC;;AAEA,IAAIgB,GAAJ;;;AAiBA,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,QAAD,EAAwB;AAC5D,MAAIA,QAAQ,CAAChB,aAAb,EAA4B;AAC1B,4BAAAA,aAAa,GAAGgB,QAAQ,CAAChB,aAAzB;AACD;;AAED,MAAIgB,QAAQ,CAACf,UAAb,EAAyB;AACvB,yBAAAA,UAAU,GAAGe,QAAQ,CAACf,UAAtB;AACD;;AAED,MAAIe,QAAQ,CAACZ,QAAb,EAAuB;AACrB,uBAAAA,QAAQ,GAAGY,QAAQ,CAACZ,QAApB;AACD;;AACD,MAAIY,QAAQ,CAACV,OAAb,EAAsB;AACpB,sBAAAA,OAAO,GAAGU,QAAQ,CAACV,OAAnB;AACD;;AAED,MAAIU,QAAQ,CAACd,gBAAb,EAA+B;AAC7B,+BAAAA,gBAAgB,GAAGc,QAAQ,CAACd,gBAA5B;AACD;;AAED,MAAIc,QAAQ,CAACb,SAAb,EAAwB;AACtB,wBAAAA,SAAS,GAAGa,QAAQ,CAACb,SAArB;AACD;;AAED,MAAIa,QAAQ,CAACV,OAAb,EAAsB;AACpB,sBAAAA,OAAO,GAAGU,QAAQ,CAACV,OAAnB;AACD;;AAED,MAAIU,QAAQ,CAACP,YAAb,EAA2B;AACzB,2BAAAA,YAAY,GAAGO,QAAQ,CAACP,YAAxB;AACD;;AAED,MAAIO,QAAQ,CAACN,QAAb,EAAuB;AACrB,uBAAAA,QAAQ,GAAGM,QAAQ,CAACN,QAApB;AACD;;AAED,MAAIM,QAAQ,CAACF,GAAb,EAAkB;AAChB,kBAAAA,GAAG,GAAGE,QAAQ,CAACF,GAAf;AACD;;AAED,MAAIE,QAAQ,CAACL,UAAb,EAAyB;AACvB,yBAAAA,UAAU,GAAGK,QAAQ,CAACL,UAAtB;AACD;;AAED,MAAIK,QAAQ,CAACJ,SAAb,EAAwB;AACtB,wBAAAA,SAAS,GAAGI,QAAQ,CAACJ,SAArB;AACD;;AAED,MAAII,QAAQ,CAACH,aAAb,EAA4B;AAC1B,4BAAAA,aAAa,GAAGG,QAAQ,CAACH,aAAzB;AACD;AACF,CAnDM","sourcesContent":["import { FlatList as DefaultFlatList } from 'react-native';\n\nimport type { NetInfoSubscription } from '@react-native-community/netinfo';\n\nconst fail = () => {\n throw Error(\n 'Native handler was not registered, you should import stream-chat-expo or stream-chat-react-native',\n );\n};\n\ntype CompressImage = ({\n compressImageQuality,\n height,\n uri,\n width,\n}: {\n compressImageQuality: number;\n height: number;\n uri: string;\n width: number;\n}) => Promise<string> | never;\nexport let compressImage: CompressImage = fail;\n\ntype DeleteFile = ({ uri }: { uri: string }) => Promise<boolean> | never;\nexport let deleteFile: DeleteFile = fail;\n\ntype GetLocalAssetUri = (uriOrAssetId: string) => Promise<string> | never;\nexport let getLocalAssetUri: GetLocalAssetUri = fail;\n\nexport type Asset = {\n height: number;\n source: 'camera' | 'picker';\n uri: string;\n width: number;\n id?: string;\n};\ntype GetPhotos = ({ after, first }: { first: number; after?: string }) =>\n | Promise<{\n assets: Array<Omit<Asset, 'source'> & { source: 'picker' }>;\n endCursor: string;\n hasNextPage: boolean;\n }>\n | never;\nexport let getPhotos: GetPhotos = fail;\n\ntype NetInfo = {\n addEventListener: (listener: (isConnected: boolean) => void) => NetInfoSubscription | never;\n fetch: (requestedInterface?: string | undefined) => Promise<boolean> | never;\n};\n\nexport let FlatList = DefaultFlatList;\n\nexport let NetInfo: NetInfo = {\n addEventListener: fail,\n fetch: fail,\n};\n\ntype PickDocument = ({ maxNumberOfFiles }: { maxNumberOfFiles?: number }) =>\n | Promise<{\n cancelled: boolean;\n docs?: {\n name: string;\n size?: number | string;\n type?: string;\n uri?: string;\n }[];\n }>\n | never;\nexport let pickDocument: PickDocument = fail;\n\ntype SaveFileOptions = {\n fileName: string;\n fromUrl: string;\n};\ntype SaveFile = (options: SaveFileOptions) => Promise<string> | never;\nexport let saveFile: SaveFile = fail;\n\ntype ShareOptions = {\n type?: string;\n url?: string;\n};\ntype ShareImage = (options: ShareOptions) => Promise<boolean> | never;\nexport let shareImage: ShareImage = fail;\n\ntype Photo =\n | (Omit<Asset, 'source'> & {\n cancelled: false;\n source: 'camera';\n })\n | { cancelled: true };\ntype TakePhoto = (options: { compressImageQuality?: number }) => Promise<Photo> | never;\nexport let takePhoto: TakePhoto = fail;\n\ntype HapticFeedbackMethod =\n | 'impactHeavy'\n | 'impactLight'\n | 'impactMedium'\n | 'notificationError'\n | 'notificationSuccess'\n | 'notificationWarning'\n | 'selection';\ntype TriggerHaptic = (method: HapticFeedbackMethod) => void | never;\nexport let triggerHaptic: TriggerHaptic = fail;\n\nexport let SDK: string;\n\ntype Handlers = {\n compressImage?: CompressImage;\n deleteFile?: DeleteFile;\n FlatList?: typeof DefaultFlatList;\n getLocalAssetUri?: GetLocalAssetUri;\n getPhotos?: GetPhotos;\n NetInfo?: NetInfo;\n pickDocument?: PickDocument;\n saveFile?: SaveFile;\n SDK?: string;\n shareImage?: ShareImage;\n takePhoto?: TakePhoto;\n triggerHaptic?: TriggerHaptic;\n};\n\nexport const registerNativeHandlers = (handlers: Handlers) => {\n if (handlers.compressImage) {\n compressImage = handlers.compressImage;\n }\n\n if (handlers.deleteFile) {\n deleteFile = handlers.deleteFile;\n }\n\n if (handlers.FlatList) {\n FlatList = handlers.FlatList;\n }\n if (handlers.NetInfo) {\n NetInfo = handlers.NetInfo;\n }\n\n if (handlers.getLocalAssetUri) {\n getLocalAssetUri = handlers.getLocalAssetUri;\n }\n\n if (handlers.getPhotos) {\n getPhotos = handlers.getPhotos;\n }\n\n if (handlers.NetInfo) {\n NetInfo = handlers.NetInfo;\n }\n\n if (handlers.pickDocument) {\n pickDocument = handlers.pickDocument;\n }\n\n if (handlers.saveFile) {\n saveFile = handlers.saveFile;\n }\n\n if (handlers.SDK) {\n SDK = handlers.SDK;\n }\n\n if (handlers.shareImage) {\n shareImage = handlers.shareImage;\n }\n\n if (handlers.takePhoto) {\n takePhoto = handlers.takePhoto;\n }\n\n if (handlers.triggerHaptic) {\n triggerHaptic = handlers.triggerHaptic;\n }\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Streami18n.ts"],"names":["defaultNS","defaultLng","Dayjs","extend","updateLocale","format","L","LL","LLL","LLLL","LT","LTS","calendar","lastDay","lastWeek","nextDay","nextWeek","sameDay","sameElse","meridiem","hour","meridiemHour","meridiemParse","en_locale","formats","months","relativeTime","weekdays","isDayJs","dateTimeParser","undefined","defaultStreami18nOptions","DateTimeParser","dayjsLocaleConfigForLanguage","debug","disableDateTimeTranslations","language","logger","msg","console","warn","Streami18n","options","i18nextConfig","i18nInstance","i18n","createInstance","setLanguageCallback","initialized","t","key","translations","en","enTranslations","fr","frTranslations","hi","hiTranslations","it","itTranslations","ja","jaTranslations","ko","koTranslations","nl","nlTranslations","ru","ruTranslations","tr","trTranslations","dayjsLocales","localeExists","isCustomDateTimeParser","Object","keys","Ls","indexOf","validateCurrentLanguage","availableLanguages","currentLanguage","getAvailableLanguages","geti18Instance","getTranslations","finalOptions","LocalizedFormat","localeData","error","Error","JSON","stringify","translationsForLanguage","fallbackLng","interpolation","escapeValue","keySeparator","lng","nsSeparator","parseMissingKeyHandler","addOrUpdateLocale","tDateTimeParser","timestamp","locale","init","resources","translation","customDayjsLocale","addResources","config","name","changeLanguage","callback"],"mappings":"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","sourcesContent":["import Dayjs from 'dayjs';\nimport calendar from 'dayjs/plugin/calendar';\nimport localeData from 'dayjs/plugin/localeData';\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport updateLocale from 'dayjs/plugin/updateLocale';\nimport i18n, { FallbackLng, TFunction } from 'i18next';\n\nimport enTranslations from '../i18n/en.json';\nimport frTranslations from '../i18n/fr.json';\nimport hiTranslations from '../i18n/hi.json';\nimport itTranslations from '../i18n/it.json';\nimport jaTranslations from '../i18n/ja.json';\nimport koTranslations from '../i18n/ko.json';\nimport nlTranslations from '../i18n/nl.json';\nimport ruTranslations from '../i18n/ru.json';\nimport trTranslations from '../i18n/tr.json';\n\nconst defaultNS = 'translation';\nconst defaultLng = 'en';\n\nimport 'dayjs/locale/fr';\nimport 'dayjs/locale/hi';\nimport 'dayjs/locale/it';\nimport 'dayjs/locale/ja';\nimport 'dayjs/locale/ko';\nimport 'dayjs/locale/nl';\nimport 'dayjs/locale/ru';\nimport 'dayjs/locale/tr';\n\n/**\n * These locale imports also set these locales globally.\n * So as a last step we import the english locale to make\n * sure we don't mess up languages in other places in the app.\n */\nimport 'dayjs/locale/en';\n\nimport type moment from 'moment';\n\nimport type { TDateTimeParser } from '../contexts/translationContext/TranslationContext';\nimport type { UnknownType } from '../types/types';\n\nDayjs.extend(updateLocale);\n\nDayjs.updateLocale('en', {\n format: {\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n LT: 'hh:mmA',\n LTS: 'HH:mm:ss',\n },\n});\n\nDayjs.updateLocale('nl', {\n calendar: {\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n sameDay: '[vandaag om] LT',\n sameElse: 'L',\n },\n});\n\nDayjs.updateLocale('it', {\n calendar: {\n lastDay: '[Ieri alle] LT',\n lastWeek: '[lo scorso] dddd [alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n sameDay: '[Oggi alle] LT',\n sameElse: 'L',\n },\n});\n\nDayjs.updateLocale('hi', {\n calendar: {\n lastDay: '[कल] LT',\n lastWeek: '[पिछले] dddd, LT',\n nextDay: '[कल] LT',\n nextWeek: 'dddd, LT',\n sameDay: '[आज] LT',\n sameElse: 'L',\n },\n\n /**\n * Hindi notation for meridiems are quite fuzzy in practice. While there exists\n * a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n */\n meridiem(hour: number) {\n if (hour < 4) return 'रात';\n if (hour < 10) return 'सुबह';\n if (hour < 17) return 'दोपहर';\n if (hour < 20) return 'शाम';\n return 'रात';\n },\n\n meridiemHour(hour: number, meridiem: string) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') return hour < 4 ? hour : hour + 12;\n if (meridiem === 'सुबह') return hour;\n if (meridiem === 'दोपहर') return hour >= 10 ? hour : hour + 12;\n if (meridiem === 'शाम') return hour + 12;\n return hour;\n },\n\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n});\n\nDayjs.updateLocale('fr', {\n calendar: {\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n sameDay: '[Aujourd’hui à] LT',\n sameElse: 'L',\n },\n});\n\nDayjs.updateLocale('tr', {\n calendar: {\n lastDay: '[dün] LT',\n lastWeek: '[geçen] dddd [saat] LT',\n nextDay: '[yarın saat] LT',\n nextWeek: '[gelecek] dddd [saat] LT',\n sameDay: '[bugün saat] LT',\n sameElse: 'L',\n },\n});\n\nDayjs.updateLocale('ru', {\n calendar: {\n lastDay: '[Вчера, в] LT',\n nextDay: '[Завтра, в] LT',\n sameDay: '[Сегодня, в] LT',\n },\n});\n\nconst en_locale = {\n formats: {},\n months: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n relativeTime: {},\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n};\n\n// Type guards to check DayJs\nconst isDayJs = (dateTimeParser: typeof Dayjs | typeof moment): dateTimeParser is typeof Dayjs =>\n (dateTimeParser as typeof Dayjs).extend !== undefined;\n\ntype Options = {\n DateTimeParser?: typeof Dayjs | typeof moment;\n dayjsLocaleConfigForLanguage?: Partial<ILocale>;\n debug?: boolean;\n disableDateTimeTranslations?: boolean;\n language?: string;\n logger?: (msg?: string) => void;\n translationsForLanguage?: Partial<typeof enTranslations>;\n};\n\ntype I18NextConfig = {\n debug: boolean;\n fallbackLng: false | FallbackLng;\n interpolation: { escapeValue: boolean };\n keySeparator: false | string;\n lng: string;\n nsSeparator: false | string;\n parseMissingKeyHandler: (key: string) => string;\n};\n\n/**\n * Wrapper around [i18next](https://www.i18next.com/) class for Stream related translations.\n * Instance of this class should be provided to Chat component to handle translations.\n * Stream provides following list of in-built translations:\n * 1. English (en)\n * 2. Dutch (nl)\n * 3. Russian (ru)\n * 4. Turkish (tr)\n * 5. French (fr)\n * 6. Italian (it)\n * 7. Hindi (hi)\n *\n * Simplest way to start using chat components in one of the in-built languages would be following:\n *\n * ```\n * const i18n = new Streami18n({ language 'nl' });\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * If you would like to override certain keys in in-built translation.\n * UI will be automatically updated in this case.\n *\n * ```\n * const i18n = new Streami18n({\n * language: 'nl',\n * translationsForLanguage: {\n * 'Nothing yet...': 'Nog Niet ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} en {{ secondUser }} zijn aan het typen...',\n * }\n * });\n *\n * If you would like to register additional languages, use registerTranslation. You can add as many languages as you want:\n *\n * i18n.registerTranslation('zh', {\n * 'Nothing yet...': 'Nog Niet ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} en {{ secondUser }} zijn aan het typen...',\n * });\n *\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * You can use the same function to add whole new language as well.\n *\n * ```\n * const i18n = new Streami18n();\n *\n * i18n.registerTranslation('mr', {\n * 'Nothing yet...': 'काहीही नाही ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} आणि {{ secondUser }} टीपी करत आहेत ',\n * });\n *\n * // Make sure to call setLanguage to reflect new language in UI.\n * i18n.setLanguage('it');\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * ## Datetime translations\n *\n * Stream react chat components uses [dayjs](https://day.js.org/en/) internally by default to format datetime stamp.\n * e.g., in ChannelPreview, MessageContent components.\n * Dayjs has locale support as well - https://day.js.org/docs/en/i18n/i18n\n * Dayjs is a lightweight alternative to Momentjs with the same modern API.\n *\n * Dayjs provides locale config for plenty of languages, you can check the whole list of locale configs at following url\n * https://github.com/iamkun/dayjs/tree/dev/src/locale\n *\n * You can either provide the dayjs locale config while registering\n * language with Streami18n (either via constructor or registerTranslation()) or you can provide your own Dayjs or Moment instance\n * to Streami18n constructor, which will be then used internally (using the language locale) in components.\n *\n * 1. Via language registration\n *\n * e.g.,\n * ```\n * const i18n = new Streami18n({\n * language: 'nl',\n * dayjsLocaleConfigForLanguage: {\n * months: [...],\n * monthsShort: [...],\n * calendar: {\n * sameDay: ...'\n * }\n * }\n * });\n * ```\n *\n * Similarly, you can add locale config for moment while registering translation via `registerTranslation` function.\n *\n * e.g.,\n * ```\n * const i18n = new Streami18n();\n *\n * i18n.registerTranslation(\n * 'mr',\n * {\n * 'Nothing yet...': 'काहीही नाही ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} आणि {{ secondUser }} टीपी करत आहेत ',\n * },\n * {\n * months: [...],\n * monthsShort: [...],\n * calendar: {\n * sameDay: ...'\n * }\n * }\n * );\n *```\n * 2. Provide your own Moment object\n *\n * ```js\n * import 'moment/locale/nl';\n * import 'moment/locale/it';\n * // or if you want to include all locales\n * import 'moment/min/locales';\n *\n * import Moment from moment\n *\n * const i18n = new Streami18n({\n * language: 'nl',\n * DateTimeParser: Moment\n * })\n * ```\n *\n * 3. Provide your own Dayjs object\n *\n * ```js\n * import Dayjs from 'dayjs'\n *\n * import 'dayjs/locale/nl';\n * import 'dayjs/locale/it';\n * // or if you want to include all locales\n * import 'dayjs/min/locales';\n *\n * const i18n = new Streami18n({\n * language: 'nl',\n * DateTimeParser: Dayjs\n * })\n * ```\n * If you would like to stick with english language for date-times in Stream components, you can set `disableDateTimeTranslations` to true.\n *\n */\nconst defaultStreami18nOptions = {\n DateTimeParser: Dayjs,\n dayjsLocaleConfigForLanguage: null,\n debug: false,\n disableDateTimeTranslations: false,\n language: 'en',\n logger: (msg?: string) => console.warn(msg),\n};\n\nexport class Streami18n {\n i18nInstance = i18n.createInstance();\n Dayjs = null;\n setLanguageCallback: (t: TFunction) => void = () => null;\n initialized = false;\n\n t: TFunction = (key: string) => key;\n tDateTimeParser: TDateTimeParser;\n\n translations: {\n [key: string]: {\n [key: string]: Partial<typeof enTranslations> | UnknownType;\n };\n } = {\n en: { [defaultNS]: enTranslations },\n fr: { [defaultNS]: frTranslations },\n hi: { [defaultNS]: hiTranslations },\n it: { [defaultNS]: itTranslations },\n ja: { [defaultNS]: jaTranslations },\n ko: { [defaultNS]: koTranslations },\n nl: { [defaultNS]: nlTranslations },\n ru: { [defaultNS]: ruTranslations },\n tr: { [defaultNS]: trTranslations },\n };\n\n /**\n * dayjs.defineLanguage('nl') also changes the global locale. We don't want to do that\n * when a user calls the registerTranslation() function. So instead we will store the\n * locale configs given to the registerTranslation() function in `dayjsLocales` object,\n * and register the required locale with moment when setLanguage is called.\n */\n dayjsLocales: { [key: string]: Partial<ILocale> } = {};\n\n /**\n * Initialize properties used in constructor\n */\n logger: (msg?: string) => void;\n currentLanguage: string;\n DateTimeParser: typeof Dayjs | typeof moment;\n isCustomDateTimeParser: boolean;\n i18nextConfig: I18NextConfig;\n\n /**\n * Constructor accepts following options:\n * - language (String) default: 'en'\n * Language code e.g., en, tr\n *\n * - translationsForLanguage (object)\n * Translations object. Please check src/i18n/en.json for example.\n *\n * - disableDateTimeTranslations (boolean) default: false\n * Disable translations for date-times\n *\n * - debug (boolean) default: false\n * Enable debug mode in internal i18n class\n *\n * - logger (function) default: () => {}\n * Logger function to log warnings/errors from this class\n *\n * - dayjsLocaleConfigForLanguage (object) default: 'enConfig'\n * [Config object](https://momentjs.com/docs/#/i18n/changing-locale/) for internal moment object,\n * corresponding to language (param)\n *\n * - DateTimeParser (function) Moment or Dayjs instance/function.\n * Make sure to load all the required locales in this Moment or Dayjs instance that you will be provide to Streami18n\n *\n * @param {*} options\n */\n constructor(options: Options = {}, i18nextConfig: Partial<I18NextConfig> = {}) {\n const finalOptions = {\n ...defaultStreami18nOptions,\n ...options,\n };\n\n // Prepare the i18next configuration.\n this.logger = finalOptions.logger;\n\n this.currentLanguage = finalOptions.language;\n this.DateTimeParser = finalOptions.DateTimeParser;\n\n try {\n /**\n * This is a shallow check to see if the given parser is an instance of Dayjs.\n * For some reason Dayjs.isDayjs(this.DateTimeParser()) doesn't work.\n */\n if (this.DateTimeParser && isDayJs(this.DateTimeParser)) {\n this.DateTimeParser.extend(LocalizedFormat);\n this.DateTimeParser.extend(calendar);\n this.DateTimeParser.extend(localeData);\n this.DateTimeParser.extend(relativeTime);\n }\n } catch (error) {\n throw new Error(\n `Streami18n: Looks like you wanted to provide a Dayjs instance but something went wrong while adding plugins ${JSON.stringify(\n error,\n )}`,\n );\n }\n\n this.isCustomDateTimeParser = !!options.DateTimeParser;\n const translationsForLanguage = finalOptions.translationsForLanguage;\n\n if (translationsForLanguage) {\n this.translations[this.currentLanguage] = {\n [defaultNS]:\n this.translations[this.currentLanguage] &&\n this.translations[this.currentLanguage][defaultNS]\n ? {\n ...this.translations[this.currentLanguage][defaultNS],\n ...translationsForLanguage,\n }\n : translationsForLanguage,\n };\n }\n\n // If translations don't exist for given language, then set it as empty object.\n if (!this.translations[this.currentLanguage]) {\n this.translations[this.currentLanguage] = {\n [defaultNS]: {},\n };\n }\n\n this.i18nextConfig = {\n debug: finalOptions.debug,\n fallbackLng: false,\n interpolation: { escapeValue: false },\n keySeparator: false,\n lng: this.currentLanguage,\n nsSeparator: false,\n\n parseMissingKeyHandler: (key: string) => {\n this.logger(`Streami18n: Missing translation for key: ${key}`);\n\n return key;\n },\n ...i18nextConfig,\n };\n\n this.validateCurrentLanguage();\n\n const dayjsLocaleConfigForLanguage = finalOptions.dayjsLocaleConfigForLanguage;\n\n if (dayjsLocaleConfigForLanguage) {\n this.addOrUpdateLocale(this.currentLanguage, {\n ...dayjsLocaleConfigForLanguage,\n });\n } else if (!this.localeExists(this.currentLanguage)) {\n this.logger(\n `Streami18n: Streami18n(...) - Locale config for ${this.currentLanguage} does not exist in momentjs.` +\n `Please import the locale file using \"import 'moment/locale/${this.currentLanguage}';\" in your app or ` +\n `register the locale config with Streami18n using registerTranslation(language, translation, customDayjsLocale)`,\n );\n }\n\n this.tDateTimeParser = (timestamp) => {\n if (finalOptions.disableDateTimeTranslations || !this.localeExists(this.currentLanguage)) {\n /**\n * TS needs to know which is being called to accept the chain call\n */\n if (isDayJs(this.DateTimeParser)) {\n return this.DateTimeParser(timestamp).locale(defaultLng);\n }\n return this.DateTimeParser(timestamp).locale(defaultLng);\n }\n if (isDayJs(this.DateTimeParser)) {\n return this.DateTimeParser(timestamp).locale(this.currentLanguage);\n }\n return this.DateTimeParser(timestamp).locale(this.currentLanguage);\n };\n }\n\n /**\n * Initializes the i18next instance with configuration (which enables natural language as default keys)\n */\n async init() {\n this.validateCurrentLanguage();\n\n try {\n this.t = await this.i18nInstance.init({\n ...this.i18nextConfig,\n lng: this.currentLanguage,\n resources: this.translations,\n });\n this.initialized = true;\n } catch (error) {\n this.logger(`Something went wrong with init: ${JSON.stringify(error)}`);\n }\n\n return {\n t: this.t,\n tDateTimeParser: this.tDateTimeParser,\n };\n }\n\n localeExists = (language: string) => {\n if (this.isCustomDateTimeParser) return true;\n\n return Object.keys(Dayjs.Ls).indexOf(language) > -1;\n };\n\n validateCurrentLanguage = () => {\n const availableLanguages = Object.keys(this.translations);\n if (availableLanguages.indexOf(this.currentLanguage) === -1) {\n this.logger(\n `Streami18n: '${this.currentLanguage}' language is not registered.` +\n ` Please make sure to call streami18n.registerTranslation('${this.currentLanguage}', {...}) or ` +\n `use one the built-in supported languages - ${this.getAvailableLanguages()}`,\n );\n\n this.currentLanguage = defaultLng;\n }\n };\n\n /** Returns an instance of i18next used within this class instance */\n geti18Instance = () => this.i18nInstance;\n\n /** Returns list of available languages. */\n getAvailableLanguages = () => Object.keys(this.translations);\n\n /** Returns all the translation dictionary for all inbuilt-languages */\n getTranslations = () => this.translations;\n\n /**\n * Returns current version translator function.\n */\n async getTranslators() {\n if (!this.initialized) {\n if (this.dayjsLocales[this.currentLanguage]) {\n this.addOrUpdateLocale(this.currentLanguage, this.dayjsLocales[this.currentLanguage]);\n }\n return await this.init();\n } else {\n return {\n t: this.t,\n tDateTimeParser: this.tDateTimeParser,\n };\n }\n }\n\n /**\n * Register translation\n */\n registerTranslation(\n language: string,\n translation: Partial<typeof enTranslations> | UnknownType,\n customDayjsLocale?: Partial<ILocale>,\n ) {\n if (!translation) {\n this.logger(\n `Streami18n: registerTranslation(language, translation, customDayjsLocale) called without translation`,\n );\n return;\n }\n\n if (!this.translations[language]) {\n this.translations[language] = { [defaultNS]: translation };\n } else {\n this.translations[language][defaultNS] = translation;\n }\n\n if (customDayjsLocale) {\n this.dayjsLocales[language] = { ...customDayjsLocale };\n } else if (!this.localeExists(language)) {\n this.logger(\n `Streami18n: registerTranslation(language, translation, customDayjsLocale) - ` +\n `Locale config for ${language} does not exist in Dayjs.` +\n `Please import the locale file using \"import 'dayjs/locale/${language}';\" in your app or ` +\n `register the locale config with Streami18n using registerTranslation(language, translation, customDayjsLocale)`,\n );\n }\n\n if (this.initialized) {\n this.i18nInstance.addResources(language, defaultNS, translation);\n }\n }\n\n addOrUpdateLocale(key: string, config: Partial<ILocale>) {\n if (this.localeExists(key)) {\n Dayjs.updateLocale(key, { ...config });\n } else {\n // Merging the custom locale config with en config, so missing keys can default to english.\n Dayjs.locale({ name: key, ...en_locale, ...config }, undefined, true);\n }\n }\n\n /**\n * Changes the language.\n */\n async setLanguage(language: string) {\n this.currentLanguage = language;\n\n if (!this.initialized) return;\n\n try {\n const t = await this.i18nInstance.changeLanguage(language);\n if (this.dayjsLocales[language]) {\n this.addOrUpdateLocale(this.currentLanguage, this.dayjsLocales[this.currentLanguage]);\n }\n this.setLanguageCallback(t);\n\n return t;\n } catch (error) {\n this.logger(`Failed to set language: ${JSON.stringify(error)}`);\n return this.t;\n }\n }\n\n registerSetLanguageCallback(callback: (t: TFunction) => void) {\n this.setLanguageCallback = callback;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["Streami18n.ts"],"names":["defaultNS","defaultLng","Dayjs","extend","updateLocale","format","L","LL","LLL","LLLL","LT","LTS","calendar","lastDay","lastWeek","nextDay","nextWeek","sameDay","sameElse","meridiem","hour","meridiemHour","meridiemParse","en_locale","formats","months","relativeTime","weekdays","isDayJs","dateTimeParser","undefined","defaultStreami18nOptions","DateTimeParser","dayjsLocaleConfigForLanguage","debug","disableDateTimeTranslations","language","logger","msg","console","warn","Streami18n","options","i18nextConfig","i18nInstance","i18n","createInstance","setLanguageCallback","initialized","t","key","translations","en","enTranslations","fr","frTranslations","hi","hiTranslations","it","itTranslations","ja","jaTranslations","ko","koTranslations","nl","nlTranslations","ru","ruTranslations","tr","trTranslations","dayjsLocales","localeExists","isCustomDateTimeParser","Object","keys","Ls","indexOf","validateCurrentLanguage","availableLanguages","currentLanguage","getAvailableLanguages","geti18Instance","getTranslations","finalOptions","LocalizedFormat","localeData","error","Error","JSON","stringify","translationsForLanguage","fallbackLng","interpolation","escapeValue","keySeparator","lng","nsSeparator","parseMissingKeyHandler","addOrUpdateLocale","tDateTimeParser","timestamp","locale","init","resources","translation","customDayjsLocale","addResources","config","name","changeLanguage","callback"],"mappings":"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","sourcesContent":["import Dayjs from 'dayjs';\nimport calendar from 'dayjs/plugin/calendar';\nimport localeData from 'dayjs/plugin/localeData';\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport updateLocale from 'dayjs/plugin/updateLocale';\nimport i18n, { FallbackLng, TFunction } from 'i18next';\n\nimport type moment from 'moment';\n\nimport type { TDateTimeParser } from '../contexts/translationContext/TranslationContext';\nimport enTranslations from '../i18n/en.json';\nimport frTranslations from '../i18n/fr.json';\nimport hiTranslations from '../i18n/hi.json';\nimport itTranslations from '../i18n/it.json';\nimport jaTranslations from '../i18n/ja.json';\nimport koTranslations from '../i18n/ko.json';\nimport nlTranslations from '../i18n/nl.json';\nimport ruTranslations from '../i18n/ru.json';\nimport trTranslations from '../i18n/tr.json';\n\nconst defaultNS = 'translation';\nconst defaultLng = 'en';\n\nimport 'dayjs/locale/fr';\nimport 'dayjs/locale/hi';\nimport 'dayjs/locale/it';\nimport 'dayjs/locale/ja';\nimport 'dayjs/locale/ko';\nimport 'dayjs/locale/nl';\nimport 'dayjs/locale/ru';\nimport 'dayjs/locale/tr';\n\n/**\n * These locale imports also set these locales globally.\n * So as a last step we import the english locale to make\n * sure we don't mess up languages in other places in the app.\n */\nimport 'dayjs/locale/en';\n\nimport type { DefaultStreamChatGenerics } from '../types/types';\n\nDayjs.extend(updateLocale);\n\nDayjs.updateLocale('en', {\n format: {\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n LT: 'hh:mmA',\n LTS: 'HH:mm:ss',\n },\n});\n\nDayjs.updateLocale('nl', {\n calendar: {\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n sameDay: '[vandaag om] LT',\n sameElse: 'L',\n },\n});\n\nDayjs.updateLocale('it', {\n calendar: {\n lastDay: '[Ieri alle] LT',\n lastWeek: '[lo scorso] dddd [alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n sameDay: '[Oggi alle] LT',\n sameElse: 'L',\n },\n});\n\nDayjs.updateLocale('hi', {\n calendar: {\n lastDay: '[कल] LT',\n lastWeek: '[पिछले] dddd, LT',\n nextDay: '[कल] LT',\n nextWeek: 'dddd, LT',\n sameDay: '[आज] LT',\n sameElse: 'L',\n },\n\n /**\n * Hindi notation for meridiems are quite fuzzy in practice. While there exists\n * a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n */\n meridiem(hour: number) {\n if (hour < 4) return 'रात';\n if (hour < 10) return 'सुबह';\n if (hour < 17) return 'दोपहर';\n if (hour < 20) return 'शाम';\n return 'रात';\n },\n\n meridiemHour(hour: number, meridiem: string) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') return hour < 4 ? hour : hour + 12;\n if (meridiem === 'सुबह') return hour;\n if (meridiem === 'दोपहर') return hour >= 10 ? hour : hour + 12;\n if (meridiem === 'शाम') return hour + 12;\n return hour;\n },\n\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n});\n\nDayjs.updateLocale('fr', {\n calendar: {\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n sameDay: '[Aujourd’hui à] LT',\n sameElse: 'L',\n },\n});\n\nDayjs.updateLocale('tr', {\n calendar: {\n lastDay: '[dün] LT',\n lastWeek: '[geçen] dddd [saat] LT',\n nextDay: '[yarın saat] LT',\n nextWeek: '[gelecek] dddd [saat] LT',\n sameDay: '[bugün saat] LT',\n sameElse: 'L',\n },\n});\n\nDayjs.updateLocale('ru', {\n calendar: {\n lastDay: '[Вчера, в] LT',\n nextDay: '[Завтра, в] LT',\n sameDay: '[Сегодня, в] LT',\n },\n});\n\nconst en_locale = {\n formats: {},\n months: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n relativeTime: {},\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n};\n\n// Type guards to check DayJs\nconst isDayJs = (dateTimeParser: typeof Dayjs | typeof moment): dateTimeParser is typeof Dayjs =>\n (dateTimeParser as typeof Dayjs).extend !== undefined;\n\ntype Options = {\n DateTimeParser?: typeof Dayjs | typeof moment;\n dayjsLocaleConfigForLanguage?: Partial<ILocale>;\n debug?: boolean;\n disableDateTimeTranslations?: boolean;\n language?: string;\n logger?: (msg?: string) => void;\n translationsForLanguage?: Partial<typeof enTranslations>;\n};\n\ntype I18NextConfig = {\n debug: boolean;\n fallbackLng: false | FallbackLng;\n interpolation: { escapeValue: boolean };\n keySeparator: false | string;\n lng: string;\n nsSeparator: false | string;\n parseMissingKeyHandler: (key: string) => string;\n};\n\n/**\n * Wrapper around [i18next](https://www.i18next.com/) class for Stream related translations.\n * Instance of this class should be provided to Chat component to handle translations.\n * Stream provides following list of in-built translations:\n * 1. English (en)\n * 2. Dutch (nl)\n * 3. Russian (ru)\n * 4. Turkish (tr)\n * 5. French (fr)\n * 6. Italian (it)\n * 7. Hindi (hi)\n *\n * Simplest way to start using chat components in one of the in-built languages would be following:\n *\n * ```\n * const i18n = new Streami18n({ language 'nl' });\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * If you would like to override certain keys in in-built translation.\n * UI will be automatically updated in this case.\n *\n * ```\n * const i18n = new Streami18n({\n * language: 'nl',\n * translationsForLanguage: {\n * 'Nothing yet...': 'Nog Niet ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} en {{ secondUser }} zijn aan het typen...',\n * }\n * });\n *\n * If you would like to register additional languages, use registerTranslation. You can add as many languages as you want:\n *\n * i18n.registerTranslation('zh', {\n * 'Nothing yet...': 'Nog Niet ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} en {{ secondUser }} zijn aan het typen...',\n * });\n *\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * You can use the same function to add whole new language as well.\n *\n * ```\n * const i18n = new Streami18n();\n *\n * i18n.registerTranslation('mr', {\n * 'Nothing yet...': 'काहीही नाही ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} आणि {{ secondUser }} टीपी करत आहेत ',\n * });\n *\n * // Make sure to call setLanguage to reflect new language in UI.\n * i18n.setLanguage('it');\n * <Chat client={chatClient} i18nInstance={i18n}>\n * ...\n * </Chat>\n * ```\n *\n * ## Datetime translations\n *\n * Stream react chat components uses [dayjs](https://day.js.org/en/) internally by default to format datetime stamp.\n * e.g., in ChannelPreview, MessageContent components.\n * Dayjs has locale support as well - https://day.js.org/docs/en/i18n/i18n\n * Dayjs is a lightweight alternative to Momentjs with the same modern API.\n *\n * Dayjs provides locale config for plenty of languages, you can check the whole list of locale configs at following url\n * https://github.com/iamkun/dayjs/tree/dev/src/locale\n *\n * You can either provide the dayjs locale config while registering\n * language with Streami18n (either via constructor or registerTranslation()) or you can provide your own Dayjs or Moment instance\n * to Streami18n constructor, which will be then used internally (using the language locale) in components.\n *\n * 1. Via language registration\n *\n * e.g.,\n * ```\n * const i18n = new Streami18n({\n * language: 'nl',\n * dayjsLocaleConfigForLanguage: {\n * months: [...],\n * monthsShort: [...],\n * calendar: {\n * sameDay: ...'\n * }\n * }\n * });\n * ```\n *\n * Similarly, you can add locale config for moment while registering translation via `registerTranslation` function.\n *\n * e.g.,\n * ```\n * const i18n = new Streami18n();\n *\n * i18n.registerTranslation(\n * 'mr',\n * {\n * 'Nothing yet...': 'काहीही नाही ...',\n * '{{ firstUser }} and {{ secondUser }} are typing...': '{{ firstUser }} आणि {{ secondUser }} टीपी करत आहेत ',\n * },\n * {\n * months: [...],\n * monthsShort: [...],\n * calendar: {\n * sameDay: ...'\n * }\n * }\n * );\n *```\n * 2. Provide your own Moment object\n *\n * ```js\n * import 'moment/locale/nl';\n * import 'moment/locale/it';\n * // or if you want to include all locales\n * import 'moment/min/locales';\n *\n * import Moment from moment\n *\n * const i18n = new Streami18n({\n * language: 'nl',\n * DateTimeParser: Moment\n * })\n * ```\n *\n * 3. Provide your own Dayjs object\n *\n * ```js\n * import Dayjs from 'dayjs'\n *\n * import 'dayjs/locale/nl';\n * import 'dayjs/locale/it';\n * // or if you want to include all locales\n * import 'dayjs/min/locales';\n *\n * const i18n = new Streami18n({\n * language: 'nl',\n * DateTimeParser: Dayjs\n * })\n * ```\n * If you would like to stick with english language for date-times in Stream components, you can set `disableDateTimeTranslations` to true.\n *\n */\nconst defaultStreami18nOptions = {\n DateTimeParser: Dayjs,\n dayjsLocaleConfigForLanguage: null,\n debug: false,\n disableDateTimeTranslations: false,\n language: 'en',\n logger: (msg?: string) => console.warn(msg),\n};\n\nexport class Streami18n {\n i18nInstance = i18n.createInstance();\n Dayjs = null;\n setLanguageCallback: (t: TFunction) => void = () => null;\n initialized = false;\n\n t: TFunction = (key: string) => key;\n tDateTimeParser: TDateTimeParser;\n\n translations: {\n [key: string]: {\n [key: string]: Partial<typeof enTranslations> | DefaultStreamChatGenerics;\n };\n } = {\n en: { [defaultNS]: enTranslations },\n fr: { [defaultNS]: frTranslations },\n hi: { [defaultNS]: hiTranslations },\n it: { [defaultNS]: itTranslations },\n ja: { [defaultNS]: jaTranslations },\n ko: { [defaultNS]: koTranslations },\n nl: { [defaultNS]: nlTranslations },\n ru: { [defaultNS]: ruTranslations },\n tr: { [defaultNS]: trTranslations },\n };\n\n /**\n * dayjs.defineLanguage('nl') also changes the global locale. We don't want to do that\n * when a user calls the registerTranslation() function. So instead we will store the\n * locale configs given to the registerTranslation() function in `dayjsLocales` object,\n * and register the required locale with moment when setLanguage is called.\n */\n dayjsLocales: { [key: string]: Partial<ILocale> } = {};\n\n /**\n * Initialize properties used in constructor\n */\n logger: (msg?: string) => void;\n currentLanguage: string;\n DateTimeParser: typeof Dayjs | typeof moment;\n isCustomDateTimeParser: boolean;\n i18nextConfig: I18NextConfig;\n\n /**\n * Constructor accepts following options:\n * - language (String) default: 'en'\n * Language code e.g., en, tr\n *\n * - translationsForLanguage (object)\n * Translations object. Please check src/i18n/en.json for example.\n *\n * - disableDateTimeTranslations (boolean) default: false\n * Disable translations for date-times\n *\n * - debug (boolean) default: false\n * Enable debug mode in internal i18n class\n *\n * - logger (function) default: () => {}\n * Logger function to log warnings/errors from this class\n *\n * - dayjsLocaleConfigForLanguage (object) default: 'enConfig'\n * [Config object](https://momentjs.com/docs/#/i18n/changing-locale/) for internal moment object,\n * corresponding to language (param)\n *\n * - DateTimeParser (function) Moment or Dayjs instance/function.\n * Make sure to load all the required locales in this Moment or Dayjs instance that you will be provide to Streami18n\n *\n * @param {*} options\n */\n constructor(options: Options = {}, i18nextConfig: Partial<I18NextConfig> = {}) {\n const finalOptions = {\n ...defaultStreami18nOptions,\n ...options,\n };\n\n // Prepare the i18next configuration.\n this.logger = finalOptions.logger;\n\n this.currentLanguage = finalOptions.language;\n this.DateTimeParser = finalOptions.DateTimeParser;\n\n try {\n /**\n * This is a shallow check to see if the given parser is an instance of Dayjs.\n * For some reason Dayjs.isDayjs(this.DateTimeParser()) doesn't work.\n */\n if (this.DateTimeParser && isDayJs(this.DateTimeParser)) {\n this.DateTimeParser.extend(LocalizedFormat);\n this.DateTimeParser.extend(calendar);\n this.DateTimeParser.extend(localeData);\n this.DateTimeParser.extend(relativeTime);\n }\n } catch (error) {\n throw new Error(\n `Streami18n: Looks like you wanted to provide a Dayjs instance but something went wrong while adding plugins ${JSON.stringify(\n error,\n )}`,\n );\n }\n\n this.isCustomDateTimeParser = !!options.DateTimeParser;\n const translationsForLanguage = finalOptions.translationsForLanguage;\n\n if (translationsForLanguage) {\n this.translations[this.currentLanguage] = {\n [defaultNS]:\n this.translations[this.currentLanguage] &&\n this.translations[this.currentLanguage][defaultNS]\n ? {\n ...this.translations[this.currentLanguage][defaultNS],\n ...translationsForLanguage,\n }\n : translationsForLanguage,\n };\n }\n\n // If translations don't exist for given language, then set it as empty object.\n if (!this.translations[this.currentLanguage]) {\n this.translations[this.currentLanguage] = {\n [defaultNS]: {},\n };\n }\n\n this.i18nextConfig = {\n debug: finalOptions.debug,\n fallbackLng: false,\n interpolation: { escapeValue: false },\n keySeparator: false,\n lng: this.currentLanguage,\n nsSeparator: false,\n\n parseMissingKeyHandler: (key: string) => {\n this.logger(`Streami18n: Missing translation for key: ${key}`);\n\n return key;\n },\n ...i18nextConfig,\n };\n\n this.validateCurrentLanguage();\n\n const dayjsLocaleConfigForLanguage = finalOptions.dayjsLocaleConfigForLanguage;\n\n if (dayjsLocaleConfigForLanguage) {\n this.addOrUpdateLocale(this.currentLanguage, {\n ...dayjsLocaleConfigForLanguage,\n });\n } else if (!this.localeExists(this.currentLanguage)) {\n this.logger(\n `Streami18n: Streami18n(...) - Locale config for ${this.currentLanguage} does not exist in momentjs.` +\n `Please import the locale file using \"import 'moment/locale/${this.currentLanguage}';\" in your app or ` +\n `register the locale config with Streami18n using registerTranslation(language, translation, customDayjsLocale)`,\n );\n }\n\n this.tDateTimeParser = (timestamp) => {\n if (finalOptions.disableDateTimeTranslations || !this.localeExists(this.currentLanguage)) {\n /**\n * TS needs to know which is being called to accept the chain call\n */\n if (isDayJs(this.DateTimeParser)) {\n return this.DateTimeParser(timestamp).locale(defaultLng);\n }\n return this.DateTimeParser(timestamp).locale(defaultLng);\n }\n if (isDayJs(this.DateTimeParser)) {\n return this.DateTimeParser(timestamp).locale(this.currentLanguage);\n }\n return this.DateTimeParser(timestamp).locale(this.currentLanguage);\n };\n }\n\n /**\n * Initializes the i18next instance with configuration (which enables natural language as default keys)\n */\n async init() {\n this.validateCurrentLanguage();\n\n try {\n this.t = await this.i18nInstance.init({\n ...this.i18nextConfig,\n lng: this.currentLanguage,\n resources: this.translations,\n });\n this.initialized = true;\n } catch (error) {\n this.logger(`Something went wrong with init: ${JSON.stringify(error)}`);\n }\n\n return {\n t: this.t,\n tDateTimeParser: this.tDateTimeParser,\n };\n }\n\n localeExists = (language: string) => {\n if (this.isCustomDateTimeParser) return true;\n\n return Object.keys(Dayjs.Ls).indexOf(language) > -1;\n };\n\n validateCurrentLanguage = () => {\n const availableLanguages = Object.keys(this.translations);\n if (availableLanguages.indexOf(this.currentLanguage) === -1) {\n this.logger(\n `Streami18n: '${this.currentLanguage}' language is not registered.` +\n ` Please make sure to call streami18n.registerTranslation('${this.currentLanguage}', {...}) or ` +\n `use one the built-in supported languages - ${this.getAvailableLanguages()}`,\n );\n\n this.currentLanguage = defaultLng;\n }\n };\n\n /** Returns an instance of i18next used within this class instance */\n geti18Instance = () => this.i18nInstance;\n\n /** Returns list of available languages. */\n getAvailableLanguages = () => Object.keys(this.translations);\n\n /** Returns all the translation dictionary for all inbuilt-languages */\n getTranslations = () => this.translations;\n\n /**\n * Returns current version translator function.\n */\n async getTranslators() {\n if (!this.initialized) {\n if (this.dayjsLocales[this.currentLanguage]) {\n this.addOrUpdateLocale(this.currentLanguage, this.dayjsLocales[this.currentLanguage]);\n }\n return await this.init();\n } else {\n return {\n t: this.t,\n tDateTimeParser: this.tDateTimeParser,\n };\n }\n }\n\n /**\n * Register translation\n */\n registerTranslation(\n language: string,\n translation: Partial<typeof enTranslations> | DefaultStreamChatGenerics,\n customDayjsLocale?: Partial<ILocale>,\n ) {\n if (!translation) {\n this.logger(\n `Streami18n: registerTranslation(language, translation, customDayjsLocale) called without translation`,\n );\n return;\n }\n\n if (!this.translations[language]) {\n this.translations[language] = { [defaultNS]: translation };\n } else {\n this.translations[language][defaultNS] = translation;\n }\n\n if (customDayjsLocale) {\n this.dayjsLocales[language] = { ...customDayjsLocale };\n } else if (!this.localeExists(language)) {\n this.logger(\n `Streami18n: registerTranslation(language, translation, customDayjsLocale) - ` +\n `Locale config for ${language} does not exist in Dayjs.` +\n `Please import the locale file using \"import 'dayjs/locale/${language}';\" in your app or ` +\n `register the locale config with Streami18n using registerTranslation(language, translation, customDayjsLocale)`,\n );\n }\n\n if (this.initialized) {\n this.i18nInstance.addResources(language, defaultNS, translation);\n }\n }\n\n addOrUpdateLocale(key: string, config: Partial<ILocale>) {\n if (this.localeExists(key)) {\n Dayjs.updateLocale(key, { ...config });\n } else {\n // Merging the custom locale config with en config, so missing keys can default to english.\n Dayjs.locale({ name: key, ...en_locale, ...config }, undefined, true);\n }\n }\n\n /**\n * Changes the language.\n */\n async setLanguage(language: string) {\n this.currentLanguage = language;\n\n if (!this.initialized) return;\n\n try {\n const t = await this.i18nInstance.changeLanguage(language);\n if (this.dayjsLocales[language]) {\n this.addOrUpdateLocale(this.currentLanguage, this.dayjsLocales[this.currentLanguage]);\n }\n this.setLanguageCallback(t);\n\n return t;\n } catch (error) {\n this.logger(`Failed to set language: ${JSON.stringify(error)}`);\n return this.t;\n }\n }\n\n registerSetLanguageCallback(callback: (t: TFunction) => void) {\n this.setLanguageCallback = callback;\n }\n}\n"]}
|