stream-chat-react 14.12.0 → 15.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/ListItemLayout.60c3b287.js +2181 -0
- package/dist/cjs/ListItemLayout.60c3b287.js.map +1 -0
- package/dist/cjs/{ReactPlayerWrapper.7cc7b0d8.js → ReactPlayerWrapper.f04b1d06.js} +3 -3
- package/dist/cjs/{ReactPlayerWrapper.7cc7b0d8.js.map → ReactPlayerWrapper.f04b1d06.js.map} +1 -1
- package/dist/cjs/SlotLayout.de45be2d.js +1672 -0
- package/dist/cjs/SlotLayout.de45be2d.js.map +1 -0
- package/dist/cjs/Thread.373af587.js +7479 -0
- package/dist/cjs/Thread.373af587.js.map +1 -0
- package/dist/cjs/channel-detail.js +409 -389
- package/dist/cjs/channel-detail.js.map +1 -1
- package/dist/cjs/emojis.js +18 -16
- package/dist/cjs/emojis.js.map +1 -1
- package/dist/cjs/index.js +14467 -20208
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/slot-geometry.js +145 -0
- package/dist/cjs/slot-geometry.js.map +1 -0
- package/dist/cjs/slot-layout.js +37 -0
- package/dist/cjs/useChannel.1004ed4c.js +18 -0
- package/dist/cjs/useChannel.1004ed4c.js.map +1 -0
- package/dist/cjs/useComponentContextIcons.d16834d9.js +1729 -0
- package/dist/cjs/useComponentContextIcons.d16834d9.js.map +1 -0
- package/dist/cjs/useIsCooldownActive.1f778bc1.js +110 -0
- package/dist/cjs/useIsCooldownActive.1f778bc1.js.map +1 -0
- package/dist/css/channel-detail.css.map +1 -1
- package/dist/css/index.css +208 -103
- package/dist/css/index.css.map +1 -1
- package/dist/es/a11y/accessibleLabel.mjs +6 -2
- package/dist/es/a11y/accessibleLabel.mjs.map +1 -1
- package/dist/es/components/AIStateIndicator/AIStateIndicator.mjs +6 -5
- package/dist/es/components/AIStateIndicator/AIStateIndicator.mjs.map +1 -1
- package/dist/es/components/AIStateIndicator/hooks/useAIState.mjs +9 -33
- package/dist/es/components/AIStateIndicator/hooks/useAIState.mjs.map +1 -1
- package/dist/es/components/Accessibility/NotificationAnnouncer.mjs +2 -3
- package/dist/es/components/Accessibility/NotificationAnnouncer.mjs.map +1 -1
- package/dist/es/components/Accessibility/hooks/useIncomingMessageAnnouncements.mjs +10 -5
- package/dist/es/components/Accessibility/hooks/useIncomingMessageAnnouncements.mjs.map +1 -1
- package/dist/es/components/Accessibility/hooks/useInteractionAnnouncements.mjs +38 -28
- package/dist/es/components/Accessibility/hooks/useInteractionAnnouncements.mjs.map +1 -1
- package/dist/es/components/Accessibility/useAriaLiveAnnouncer.mjs +5 -8
- package/dist/es/components/Accessibility/useAriaLiveAnnouncer.mjs.map +1 -1
- package/dist/es/components/Attachment/Attachment.mjs +21 -6
- package/dist/es/components/Attachment/Attachment.mjs.map +1 -1
- package/dist/es/components/Attachment/AttachmentActions.mjs +10 -9
- package/dist/es/components/Attachment/AttachmentActions.mjs.map +1 -1
- package/dist/es/components/Attachment/AttachmentContainer.mjs +21 -17
- package/dist/es/components/Attachment/AttachmentContainer.mjs.map +1 -1
- package/dist/es/components/Attachment/Audio.mjs +15 -10
- package/dist/es/components/Attachment/Audio.mjs.map +1 -1
- package/dist/es/components/Attachment/FileAttachment.mjs +4 -5
- package/dist/es/components/Attachment/FileAttachment.mjs.map +1 -1
- package/dist/es/components/Attachment/Geolocation.mjs +29 -17
- package/dist/es/components/Attachment/Geolocation.mjs.map +1 -1
- package/dist/es/components/Attachment/Giphy.mjs +4 -4
- package/dist/es/components/Attachment/Giphy.mjs.map +1 -1
- package/dist/es/components/Attachment/LinkPreview/Card.mjs +4 -4
- package/dist/es/components/Attachment/LinkPreview/Card.mjs.map +1 -1
- package/dist/es/components/Attachment/LinkPreview/UnableToRenderCard.mjs +2 -2
- package/dist/es/components/Attachment/LinkPreview/UnableToRenderCard.mjs.map +1 -1
- package/dist/es/components/Attachment/ModalGallery.mjs +20 -8
- package/dist/es/components/Attachment/ModalGallery.mjs.map +1 -1
- package/dist/es/components/Attachment/UnsupportedAttachment.mjs +3 -3
- package/dist/es/components/Attachment/UnsupportedAttachment.mjs.map +1 -1
- package/dist/es/components/Attachment/VideoAttachment.mjs +10 -10
- package/dist/es/components/Attachment/VideoAttachment.mjs.map +1 -1
- package/dist/es/components/Attachment/VisibilityDisclaimer.mjs +2 -2
- package/dist/es/components/Attachment/VisibilityDisclaimer.mjs.map +1 -1
- package/dist/es/components/Attachment/VoiceRecording.mjs +17 -12
- package/dist/es/components/Attachment/VoiceRecording.mjs.map +1 -1
- package/dist/es/components/Attachment/components/AttachmentUploadProgressIndicator.mjs +1 -1
- package/dist/es/components/Attachment/components/DownloadButton.mjs +3 -3
- package/dist/es/components/Attachment/components/DownloadButton.mjs.map +1 -1
- package/dist/es/components/Attachment/hooks/useAttachmentUploadState.mjs +4 -30
- package/dist/es/components/Attachment/hooks/useAttachmentUploadState.mjs.map +1 -1
- package/dist/es/components/Attachment/utils.mjs.map +1 -1
- package/dist/es/components/AudioPlayback/AudioPlaybackArbiter.mjs +57 -0
- package/dist/es/components/AudioPlayback/AudioPlaybackArbiter.mjs.map +1 -0
- package/dist/es/components/AudioPlayback/AudioPlayer.mjs +329 -314
- package/dist/es/components/AudioPlayback/AudioPlayer.mjs.map +1 -1
- package/dist/es/components/AudioPlayback/AudioPlayerPool.mjs +54 -90
- package/dist/es/components/AudioPlayback/AudioPlayerPool.mjs.map +1 -1
- package/dist/es/components/AudioPlayback/WithAudioPlayback.mjs +20 -6
- package/dist/es/components/AudioPlayback/WithAudioPlayback.mjs.map +1 -1
- package/dist/es/components/AudioPlayback/components/ProgressBar.mjs +2 -2
- package/dist/es/components/AudioPlayback/components/ProgressBar.mjs.map +1 -1
- package/dist/es/components/AudioPlayback/components/WaveProgressBar.mjs +2 -2
- package/dist/es/components/AudioPlayback/components/WaveProgressBar.mjs.map +1 -1
- package/dist/es/components/AudioPlayback/components/progressBarA11y.mjs +2 -2
- package/dist/es/components/AudioPlayback/components/progressBarA11y.mjs.map +1 -1
- package/dist/es/components/AudioPlayback/plugins/AudioPlayerNotificationsPlugin.mjs +4 -4
- package/dist/es/components/AudioPlayback/plugins/AudioPlayerNotificationsPlugin.mjs.map +1 -1
- package/dist/es/components/Avatar/Avatar.mjs.map +1 -1
- package/dist/es/components/Avatar/AvatarStack.mjs +1 -1
- package/dist/es/components/Avatar/AvatarStack.mjs.map +1 -1
- package/dist/es/components/Badge/Badge.mjs.map +1 -1
- package/dist/es/components/Badge/MediaBadge.mjs +2 -1
- package/dist/es/components/Badge/MediaBadge.mjs.map +1 -1
- package/dist/es/components/BaseImage/ImagePlaceholder.mjs +3 -3
- package/dist/es/components/BaseImage/ImagePlaceholder.mjs.map +1 -1
- package/dist/es/components/Button/PlayButton.mjs +3 -3
- package/dist/es/components/Button/PlayButton.mjs.map +1 -1
- package/dist/es/components/Button/WorkspaceNavigationButtons.mjs +94 -0
- package/dist/es/components/Button/WorkspaceNavigationButtons.mjs.map +1 -0
- package/dist/es/components/Channel/Channel.mjs +34 -720
- package/dist/es/components/Channel/Channel.mjs.map +1 -1
- package/dist/es/components/Channel/hooks/useChannelCapabilities.mjs +21 -0
- package/dist/es/components/Channel/hooks/useChannelCapabilities.mjs.map +1 -0
- package/dist/es/components/Channel/hooks/useChannelContainerClasses.mjs +1 -1
- package/dist/es/components/Channel/hooks/useChannelContainerClasses.mjs.map +1 -1
- package/dist/es/components/ChannelHeader/ChannelHeader.mjs +17 -16
- package/dist/es/components/ChannelHeader/ChannelHeader.mjs.map +1 -1
- package/dist/es/components/ChannelHeader/hooks/useChannelHasMembersOnline.mjs +16 -41
- package/dist/es/components/ChannelHeader/hooks/useChannelHasMembersOnline.mjs.map +1 -1
- package/dist/es/components/ChannelHeader/hooks/useChannelHeaderOnlineStatus.mjs +19 -21
- package/dist/es/components/ChannelHeader/hooks/useChannelHeaderOnlineStatus.mjs.map +1 -1
- package/dist/es/components/ChannelList/ChannelList.mjs +60 -131
- package/dist/es/components/ChannelList/ChannelList.mjs.map +1 -1
- package/dist/es/components/ChannelList/ChannelListHeader.mjs +4 -4
- package/dist/es/components/ChannelList/ChannelListHeader.mjs.map +1 -1
- package/dist/es/components/ChannelList/ChannelLists.mjs +31 -0
- package/dist/es/components/ChannelList/ChannelLists.mjs.map +1 -0
- package/dist/es/components/ChannelList/ChannelNavigation.mjs +36 -0
- package/dist/es/components/ChannelList/ChannelNavigation.mjs.map +1 -0
- package/dist/es/components/ChannelList/hooks/useChannelMembersState.mjs.map +1 -1
- package/dist/es/components/ChannelList/hooks/useChannelMembershipState.mjs.map +1 -1
- package/dist/es/components/ChannelList/hooks/useChannelPaginatorState.mjs +21 -0
- package/dist/es/components/ChannelList/hooks/useChannelPaginatorState.mjs.map +1 -0
- package/dist/es/components/ChannelList/hooks/useSelectedChannelState.mjs.map +1 -1
- package/dist/es/components/ChannelListItem/ChannelListItem.mjs +23 -74
- package/dist/es/components/ChannelListItem/ChannelListItem.mjs.map +1 -1
- package/dist/es/components/ChannelListItem/ChannelListItemActionButtons.defaults.mjs +34 -34
- package/dist/es/components/ChannelListItem/ChannelListItemActionButtons.defaults.mjs.map +1 -1
- package/dist/es/components/ChannelListItem/ChannelListItemActionButtons.mjs +2 -2
- package/dist/es/components/ChannelListItem/ChannelListItemActionButtons.mjs.map +1 -1
- package/dist/es/components/ChannelListItem/ChannelListItemTimestamp.mjs +7 -6
- package/dist/es/components/ChannelListItem/ChannelListItemTimestamp.mjs.map +1 -1
- package/dist/es/components/ChannelListItem/ChannelListItemUI.mjs +15 -13
- package/dist/es/components/ChannelListItem/ChannelListItemUI.mjs.map +1 -1
- package/dist/es/components/ChannelListItem/hooks/useChannelDisplayName.mjs +7 -7
- package/dist/es/components/ChannelListItem/hooks/useChannelDisplayName.mjs.map +1 -1
- package/dist/es/components/ChannelListItem/hooks/useIsChannelMuted.mjs +8 -26
- package/dist/es/components/ChannelListItem/hooks/useIsChannelMuted.mjs.map +1 -1
- package/dist/es/components/ChannelListItem/hooks/useIsUserMuted.mjs +1 -1
- package/dist/es/components/ChannelListItem/hooks/useIsUserMuted.mjs.map +1 -1
- package/dist/es/components/ChannelListItem/hooks/useMessageDeliveryStatus.mjs +18 -50
- package/dist/es/components/ChannelListItem/hooks/useMessageDeliveryStatus.mjs.map +1 -1
- package/dist/es/components/ChannelListItem/utils.a11y.mjs +35 -21
- package/dist/es/components/ChannelListItem/utils.a11y.mjs.map +1 -1
- package/dist/es/components/ChannelListItem/utils.mjs +31 -30
- package/dist/es/components/ChannelListItem/utils.mjs.map +1 -1
- package/dist/es/components/Chat/Chat.mjs +17 -16
- package/dist/es/components/Chat/Chat.mjs.map +1 -1
- package/dist/es/components/Chat/hooks/useChat.mjs +7 -49
- package/dist/es/components/Chat/hooks/useChat.mjs.map +1 -1
- package/dist/es/components/Chat/hooks/useCreateChatClient.mjs +1 -1
- package/dist/es/components/Chat/hooks/useCreateChatClient.mjs.map +1 -1
- package/dist/es/components/Chat/hooks/useCreateChatContext.mjs +3 -11
- package/dist/es/components/Chat/hooks/useCreateChatContext.mjs.map +1 -1
- package/dist/es/components/Chat/hooks/useNetworkConnectionState.mjs +46 -0
- package/dist/es/components/Chat/hooks/useNetworkConnectionState.mjs.map +1 -0
- package/dist/es/components/Chat/hooks/useReportLostConnectionSystemNotification.mjs +112 -24
- package/dist/es/components/Chat/hooks/useReportLostConnectionSystemNotification.mjs.map +1 -1
- package/dist/es/components/Chat/hooks/useSplitActionSet.mjs +1 -1
- package/dist/es/components/Chat/hooks/useSplitActionSet.mjs.map +1 -1
- package/dist/es/components/Chat/hooks/useWSConnectionState.mjs +31 -0
- package/dist/es/components/Chat/hooks/useWSConnectionState.mjs.map +1 -0
- package/dist/es/components/DateSeparator/DateSeparator.mjs +2 -2
- package/dist/es/components/DateSeparator/DateSeparator.mjs.map +1 -1
- package/dist/es/components/Dialog/components/Alert.mjs +1 -1
- package/dist/es/components/Dialog/components/Callout.mjs +2 -2
- package/dist/es/components/Dialog/components/Callout.mjs.map +1 -1
- package/dist/es/components/Dialog/components/ContextMenu.mjs +9 -8
- package/dist/es/components/Dialog/components/ContextMenu.mjs.map +1 -1
- package/dist/es/components/Dialog/components/Prompt.mjs +5 -5
- package/dist/es/components/Dialog/components/Prompt.mjs.map +1 -1
- package/dist/es/components/Dialog/components/Viewer.mjs +5 -5
- package/dist/es/components/Dialog/components/Viewer.mjs.map +1 -1
- package/dist/es/components/Dialog/hooks/usePopoverPosition.mjs +9 -1
- package/dist/es/components/Dialog/hooks/usePopoverPosition.mjs.map +1 -1
- package/dist/es/components/Dialog/service/DialogManager.mjs +22 -19
- package/dist/es/components/Dialog/service/DialogManager.mjs.map +1 -1
- package/dist/es/components/EmptyStateIndicator/EmptyStateIndicator.mjs +6 -5
- package/dist/es/components/EmptyStateIndicator/EmptyStateIndicator.mjs.map +1 -1
- package/dist/es/components/Form/Dropdown.mjs +6 -3
- package/dist/es/components/Form/Dropdown.mjs.map +1 -1
- package/dist/es/components/Form/NumericInput.mjs +6 -5
- package/dist/es/components/Form/NumericInput.mjs.map +1 -1
- package/dist/es/components/Form/SwitchField.mjs +2 -2
- package/dist/es/components/Form/SwitchField.mjs.map +1 -1
- package/dist/es/components/Form/TextInput.mjs +1 -1
- package/dist/es/components/Gallery/GalleryContext.mjs +2 -8
- package/dist/es/components/Gallery/GalleryContext.mjs.map +1 -1
- package/dist/es/components/Gallery/GalleryHeader.mjs +39 -12
- package/dist/es/components/Gallery/GalleryHeader.mjs.map +1 -1
- package/dist/es/components/Gallery/GalleryUI.mjs +4 -4
- package/dist/es/components/Gallery/GalleryUI.mjs.map +1 -1
- package/dist/es/components/InfiniteScrollPaginator/InfiniteScrollPaginator.mjs +16 -14
- package/dist/es/components/InfiniteScrollPaginator/InfiniteScrollPaginator.mjs.map +1 -1
- package/dist/es/components/InfiniteScrollPaginator/InfiniteScrollWithComponents.mjs +43 -0
- package/dist/es/components/InfiniteScrollPaginator/InfiniteScrollWithComponents.mjs.map +1 -0
- package/dist/es/components/InfiniteScrollPaginator/hooks/useCursorPaginator.mjs +1 -1
- package/dist/es/components/InfiniteScrollPaginator/hooks/useCursorPaginator.mjs.map +1 -1
- package/dist/es/components/LoadMore/LoadMoreButton.mjs +3 -3
- package/dist/es/components/LoadMore/LoadMoreButton.mjs.map +1 -1
- package/dist/es/components/Loading/AttachmentUploadedSizeIndicator.mjs +2 -11
- package/dist/es/components/Loading/AttachmentUploadedSizeIndicator.mjs.map +1 -1
- package/dist/es/components/Loading/LoadingErrorIndicator.mjs +2 -2
- package/dist/es/components/Loading/LoadingErrorIndicator.mjs.map +1 -1
- package/dist/es/components/Loading/LoadingIndicator.mjs.map +1 -1
- package/dist/es/components/Loading/UploadProgressIndicator.mjs.map +1 -1
- package/dist/es/components/Loading/progress-indicators.mjs +2 -2
- package/dist/es/components/Loading/progress-indicators.mjs.map +1 -1
- package/dist/es/components/Location/ShareLocationDialog.mjs +13 -13
- package/dist/es/components/Location/ShareLocationDialog.mjs.map +1 -1
- package/dist/es/components/Location/hooks/useLiveLocationSharingManager.mjs +1 -0
- package/dist/es/components/Location/hooks/useLiveLocationSharingManager.mjs.map +1 -1
- package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecorder.mjs +4 -4
- package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecorder.mjs.map +1 -1
- package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecorderRecordingControls.mjs +7 -7
- package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecorderRecordingControls.mjs.map +1 -1
- package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingButtonWithNotification.mjs +4 -4
- package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingButtonWithNotification.mjs.map +1 -1
- package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingPlayback.mjs +2 -2
- package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingPlayback.mjs.map +1 -1
- package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingPreview.mjs +1 -1
- package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingPreview.mjs.map +1 -1
- package/dist/es/components/MediaRecorder/RecordingPermissionDeniedNotification.mjs +4 -4
- package/dist/es/components/MediaRecorder/RecordingPermissionDeniedNotification.mjs.map +1 -1
- package/dist/es/components/MediaRecorder/classes/AmplitudeRecorder.mjs +32 -26
- package/dist/es/components/MediaRecorder/classes/AmplitudeRecorder.mjs.map +1 -1
- package/dist/es/components/MediaRecorder/classes/BrowserPermission.mjs +5 -4
- package/dist/es/components/MediaRecorder/classes/BrowserPermission.mjs.map +1 -1
- package/dist/es/components/MediaRecorder/classes/MediaRecorderController.mjs +195 -181
- package/dist/es/components/MediaRecorder/classes/MediaRecorderController.mjs.map +1 -1
- package/dist/es/components/MediaRecorder/hooks/useMediaRecorder.mjs +7 -11
- package/dist/es/components/MediaRecorder/hooks/useMediaRecorder.mjs.map +1 -1
- package/dist/es/components/MediaRecorder/observable/BehaviorSubject.mjs +1 -0
- package/dist/es/components/MediaRecorder/observable/BehaviorSubject.mjs.map +1 -1
- package/dist/es/components/MediaRecorder/observable/Observable.mjs +2 -1
- package/dist/es/components/MediaRecorder/observable/Observable.mjs.map +1 -1
- package/dist/es/components/MediaRecorder/observable/Subject.mjs +3 -2
- package/dist/es/components/MediaRecorder/observable/Subject.mjs.map +1 -1
- package/dist/es/components/MediaRecorder/observable/Subscription.mjs +2 -1
- package/dist/es/components/MediaRecorder/observable/Subscription.mjs.map +1 -1
- package/dist/es/components/Message/Message.mjs +13 -54
- package/dist/es/components/Message/Message.mjs.map +1 -1
- package/dist/es/components/Message/MessageAlsoSentInChannelIndicator.mjs +10 -54
- package/dist/es/components/Message/MessageAlsoSentInChannelIndicator.mjs.map +1 -1
- package/dist/es/components/Message/MessageBlocked.mjs +2 -2
- package/dist/es/components/Message/MessageBlocked.mjs.map +1 -1
- package/dist/es/components/Message/MessageDeletedBubble.mjs +2 -2
- package/dist/es/components/Message/MessageDeletedBubble.mjs.map +1 -1
- package/dist/es/components/Message/MessageEditedIndicator.mjs +8 -7
- package/dist/es/components/Message/MessageEditedIndicator.mjs.map +1 -1
- package/dist/es/components/Message/MessageRepliesCountButton.mjs +43 -9
- package/dist/es/components/Message/MessageRepliesCountButton.mjs.map +1 -1
- package/dist/es/components/Message/MessageStatus.mjs +13 -11
- package/dist/es/components/Message/MessageStatus.mjs.map +1 -1
- package/dist/es/components/Message/MessageText.mjs +4 -4
- package/dist/es/components/Message/MessageText.mjs.map +1 -1
- package/dist/es/components/Message/MessageTimestamp.mjs +4 -3
- package/dist/es/components/Message/MessageTimestamp.mjs.map +1 -1
- package/dist/es/components/Message/MessageTranslationIndicator.mjs +7 -7
- package/dist/es/components/Message/MessageTranslationIndicator.mjs.map +1 -1
- package/dist/es/components/Message/MessageUI.mjs +22 -21
- package/dist/es/components/Message/MessageUI.mjs.map +1 -1
- package/dist/es/components/Message/PinIndicator.mjs +3 -3
- package/dist/es/components/Message/PinIndicator.mjs.map +1 -1
- package/dist/es/components/Message/QuotedMessage.mjs +4 -4
- package/dist/es/components/Message/QuotedMessage.mjs.map +1 -1
- package/dist/es/components/Message/ReminderNotification.mjs +13 -12
- package/dist/es/components/Message/ReminderNotification.mjs.map +1 -1
- package/dist/es/components/Message/StreamedMessageText.mjs +5 -4
- package/dist/es/components/Message/StreamedMessageText.mjs.map +1 -1
- package/dist/es/components/Message/Timestamp.mjs +5 -5
- package/dist/es/components/Message/Timestamp.mjs.map +1 -1
- package/dist/es/components/Message/hooks/useActionHandler.mjs +8 -7
- package/dist/es/components/Message/hooks/useActionHandler.mjs.map +1 -1
- package/dist/es/components/Message/hooks/useDeleteHandler.mjs +30 -11
- package/dist/es/components/Message/hooks/useDeleteHandler.mjs.map +1 -1
- package/dist/es/components/Message/hooks/useFlagHandler.mjs +3 -3
- package/dist/es/components/Message/hooks/useFlagHandler.mjs.map +1 -1
- package/dist/es/components/Message/hooks/useMarkUnreadHandler.mjs +8 -3
- package/dist/es/components/Message/hooks/useMarkUnreadHandler.mjs.map +1 -1
- package/dist/es/components/Message/hooks/useMentionsHandler.mjs +2 -4
- package/dist/es/components/Message/hooks/useMentionsHandler.mjs.map +1 -1
- package/dist/es/components/Message/hooks/useMessageAlsoSentInChannelNavigation.mjs +72 -0
- package/dist/es/components/Message/hooks/useMessageAlsoSentInChannelNavigation.mjs.map +1 -0
- package/dist/es/components/Message/hooks/useMessageReminder.mjs +1 -1
- package/dist/es/components/Message/hooks/useMuteHandler.mjs +26 -9
- package/dist/es/components/Message/hooks/useMuteHandler.mjs.map +1 -1
- package/dist/es/components/Message/hooks/useOpenThreadHandler.mjs +13 -5
- package/dist/es/components/Message/hooks/useOpenThreadHandler.mjs.map +1 -1
- package/dist/es/components/Message/hooks/usePinHandler.mjs +26 -21
- package/dist/es/components/Message/hooks/usePinHandler.mjs.map +1 -1
- package/dist/es/components/Message/hooks/useReactionHandler.mjs +25 -17
- package/dist/es/components/Message/hooks/useReactionHandler.mjs.map +1 -1
- package/dist/es/components/Message/hooks/useReactionsFetcher.mjs +6 -3
- package/dist/es/components/Message/hooks/useReactionsFetcher.mjs.map +1 -1
- package/dist/es/components/Message/hooks/useRetryHandler.mjs +9 -7
- package/dist/es/components/Message/hooks/useRetryHandler.mjs.map +1 -1
- package/dist/es/components/Message/hooks/useUserRole.mjs +16 -12
- package/dist/es/components/Message/hooks/useUserRole.mjs.map +1 -1
- package/dist/es/components/Message/renderText/renderText.mjs +1 -1
- package/dist/es/components/Message/utils.mjs +19 -56
- package/dist/es/components/Message/utils.mjs.map +1 -1
- package/dist/es/components/MessageActions/DeleteMessageAlert.mjs +5 -5
- package/dist/es/components/MessageActions/DeleteMessageAlert.mjs.map +1 -1
- package/dist/es/components/MessageActions/DownloadSubmenu.mjs +4 -4
- package/dist/es/components/MessageActions/DownloadSubmenu.mjs.map +1 -1
- package/dist/es/components/MessageActions/MessageActions.defaults.mjs +72 -73
- package/dist/es/components/MessageActions/MessageActions.defaults.mjs.map +1 -1
- package/dist/es/components/MessageActions/MessageActions.mjs +3 -3
- package/dist/es/components/MessageActions/MessageActions.mjs.map +1 -1
- package/dist/es/components/MessageActions/RemindMeSubmenu.mjs +7 -7
- package/dist/es/components/MessageActions/RemindMeSubmenu.mjs.map +1 -1
- package/dist/es/components/MessageActions/hooks/useBaseMessageActionSetFilter.mjs +7 -4
- package/dist/es/components/MessageActions/hooks/useBaseMessageActionSetFilter.mjs.map +1 -1
- package/dist/es/components/MessageBounce/MessageBounceModal.mjs +1 -1
- package/dist/es/components/MessageBounce/MessageBouncePrompt.mjs +8 -8
- package/dist/es/components/MessageBounce/MessageBouncePrompt.mjs.map +1 -1
- package/dist/es/components/MessageComposer/AttachmentPreviewList/AttachmentPreviewList.mjs +2 -2
- package/dist/es/components/MessageComposer/AttachmentPreviewList/AudioAttachmentPreview.mjs +14 -14
- package/dist/es/components/MessageComposer/AttachmentPreviewList/AudioAttachmentPreview.mjs.map +1 -1
- package/dist/es/components/MessageComposer/AttachmentPreviewList/FileAttachmentPreview.mjs +9 -9
- package/dist/es/components/MessageComposer/AttachmentPreviewList/FileAttachmentPreview.mjs.map +1 -1
- package/dist/es/components/MessageComposer/AttachmentPreviewList/GeolocationPreview.mjs +6 -6
- package/dist/es/components/MessageComposer/AttachmentPreviewList/GeolocationPreview.mjs.map +1 -1
- package/dist/es/components/MessageComposer/AttachmentPreviewList/MediaAttachmentPreview.mjs +3 -4
- package/dist/es/components/MessageComposer/AttachmentPreviewList/MediaAttachmentPreview.mjs.map +1 -1
- package/dist/es/components/MessageComposer/AttachmentPreviewList/UnsupportedAttachmentPreview.mjs +2 -2
- package/dist/es/components/MessageComposer/AttachmentPreviewList/UnsupportedAttachmentPreview.mjs.map +1 -1
- package/dist/es/components/MessageComposer/AttachmentPreviewList/VoiceRecordingPreviewSlot.mjs +2 -2
- package/dist/es/components/MessageComposer/AttachmentPreviewList/utils/AttachmentPreviewRoot.mjs +2 -2
- package/dist/es/components/MessageComposer/AttachmentPreviewList/utils/AttachmentPreviewRoot.mjs.map +1 -1
- package/dist/es/components/MessageComposer/AttachmentSelector/AttachmentSelector.mjs +33 -30
- package/dist/es/components/MessageComposer/AttachmentSelector/AttachmentSelector.mjs.map +1 -1
- package/dist/es/components/MessageComposer/AttachmentSelector/CommandsMenu.mjs +26 -31
- package/dist/es/components/MessageComposer/AttachmentSelector/CommandsMenu.mjs.map +1 -1
- package/dist/es/components/MessageComposer/CommandChip.mjs +3 -3
- package/dist/es/components/MessageComposer/CommandChip.mjs.map +1 -1
- package/dist/es/components/MessageComposer/EditedMessagePreview.mjs +1 -1
- package/dist/es/components/MessageComposer/EditedMessagePreview.mjs.map +1 -1
- package/dist/es/components/MessageComposer/LinkPreviewList.mjs +3 -3
- package/dist/es/components/MessageComposer/MessageComposer.mjs +12 -17
- package/dist/es/components/MessageComposer/MessageComposer.mjs.map +1 -1
- package/dist/es/components/MessageComposer/MessageComposerActions.mjs +17 -13
- package/dist/es/components/MessageComposer/MessageComposerActions.mjs.map +1 -1
- package/dist/es/components/MessageComposer/MessageComposerUI.mjs +8 -8
- package/dist/es/components/MessageComposer/MessageComposerUI.mjs.map +1 -1
- package/dist/es/components/MessageComposer/QuotedMessagePreview.mjs +40 -40
- package/dist/es/components/MessageComposer/QuotedMessagePreview.mjs.map +1 -1
- package/dist/es/components/MessageComposer/RemoveAttachmentPreviewButton.mjs +2 -2
- package/dist/es/components/MessageComposer/RemoveAttachmentPreviewButton.mjs.map +1 -1
- package/dist/es/components/MessageComposer/SendButton.mjs +2 -2
- package/dist/es/components/MessageComposer/SendButton.mjs.map +1 -1
- package/dist/es/components/MessageComposer/SendToChannelCheckbox.mjs +2 -2
- package/dist/es/components/MessageComposer/SendToChannelCheckbox.mjs.map +1 -1
- package/dist/es/components/MessageComposer/StopAIGenerationButton.mjs +1 -1
- package/dist/es/components/MessageComposer/StopAIGenerationButton.mjs.map +1 -1
- package/dist/es/components/MessageComposer/WithDragAndDropUpload.mjs +9 -13
- package/dist/es/components/MessageComposer/WithDragAndDropUpload.mjs.map +1 -1
- package/dist/es/components/MessageComposer/hooks/useAttachmentManagerState.mjs +15 -2
- package/dist/es/components/MessageComposer/hooks/useAttachmentManagerState.mjs.map +1 -1
- package/dist/es/components/MessageComposer/hooks/useCooldownRemaining.mjs +2 -3
- package/dist/es/components/MessageComposer/hooks/useCooldownRemaining.mjs.map +1 -1
- package/dist/es/components/MessageComposer/hooks/useCreateMessageComposerContext.mjs +1 -3
- package/dist/es/components/MessageComposer/hooks/useCreateMessageComposerContext.mjs.map +1 -1
- package/dist/es/components/MessageComposer/hooks/useIsCooldownActive.mjs +2 -3
- package/dist/es/components/MessageComposer/hooks/useIsCooldownActive.mjs.map +1 -1
- package/dist/es/components/MessageComposer/hooks/useMessageComposerBindings.mjs +0 -4
- package/dist/es/components/MessageComposer/hooks/useMessageComposerBindings.mjs.map +1 -1
- package/dist/es/components/MessageComposer/hooks/useMessageComposerCommands.mjs +4 -4
- package/dist/es/components/MessageComposer/hooks/useMessageComposerCommands.mjs.map +1 -1
- package/dist/es/components/MessageComposer/hooks/useMessageComposerController.mjs +8 -34
- package/dist/es/components/MessageComposer/hooks/useMessageComposerController.mjs.map +1 -1
- package/dist/es/components/MessageComposer/hooks/useMessageComposerHasSendableData.mjs.map +1 -1
- package/dist/es/components/MessageComposer/hooks/useMessageComposerSubmitFn.mjs +16 -0
- package/dist/es/components/MessageComposer/hooks/useMessageComposerSubmitFn.mjs.map +1 -0
- package/dist/es/components/MessageComposer/hooks/usePasteHandler.mjs +1 -1
- package/dist/es/components/MessageComposer/hooks/utils.mjs.map +1 -1
- package/dist/es/components/MessageComposer/icons.mjs +2 -2
- package/dist/es/components/MessageComposer/icons.mjs.map +1 -1
- package/dist/es/components/MessageComposer/preEditSnapshot.mjs +1 -7
- package/dist/es/components/MessageComposer/preEditSnapshot.mjs.map +1 -1
- package/dist/es/components/MessageList/FloatingDateSeparator.mjs +7 -7
- package/dist/es/components/MessageList/FloatingDateSeparator.mjs.map +1 -1
- package/dist/es/components/MessageList/MessageList.mjs +168 -213
- package/dist/es/components/MessageList/MessageList.mjs.map +1 -1
- package/dist/es/components/MessageList/NewMessageNotification.mjs +5 -1
- package/dist/es/components/MessageList/NewMessageNotification.mjs.map +1 -1
- package/dist/es/components/MessageList/ScrollToLatestMessageButton.mjs +27 -22
- package/dist/es/components/MessageList/ScrollToLatestMessageButton.mjs.map +1 -1
- package/dist/es/components/MessageList/UnreadMessagesNotification.mjs +25 -9
- package/dist/es/components/MessageList/UnreadMessagesNotification.mjs.map +1 -1
- package/dist/es/components/MessageList/UnreadMessagesSeparator.mjs +18 -7
- package/dist/es/components/MessageList/UnreadMessagesSeparator.mjs.map +1 -1
- package/dist/es/components/MessageList/VirtualizedMessageList.mjs +186 -167
- package/dist/es/components/MessageList/VirtualizedMessageList.mjs.map +1 -1
- package/dist/es/components/MessageList/VirtualizedMessageListComponents.mjs +12 -12
- package/dist/es/components/MessageList/VirtualizedMessageListComponents.mjs.map +1 -1
- package/dist/es/components/MessageList/hooks/MessageList/useEnrichedMessages.mjs +6 -7
- package/dist/es/components/MessageList/hooks/MessageList/useEnrichedMessages.mjs.map +1 -1
- package/dist/es/components/MessageList/hooks/MessageList/useFloatingDateSeparatorMessageList.mjs +6 -10
- package/dist/es/components/MessageList/hooks/MessageList/useFloatingDateSeparatorMessageList.mjs.map +1 -1
- package/dist/es/components/MessageList/hooks/MessageList/useMessageListElements.mjs +18 -10
- package/dist/es/components/MessageList/hooks/MessageList/useMessageListElements.mjs.map +1 -1
- package/dist/es/components/MessageList/hooks/MessageList/useMessageListScrollManager.mjs +6 -4
- package/dist/es/components/MessageList/hooks/MessageList/useMessageListScrollManager.mjs.map +1 -1
- package/dist/es/components/MessageList/hooks/MessageList/useScrollLocationLogic.mjs +27 -202
- package/dist/es/components/MessageList/hooks/MessageList/useScrollLocationLogic.mjs.map +1 -1
- package/dist/es/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.mjs +10 -5
- package/dist/es/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.mjs.map +1 -1
- package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useFloatingDateSeparator.mjs +6 -5
- package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useFloatingDateSeparator.mjs.map +1 -1
- package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.mjs +4 -4
- package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.mjs.map +1 -1
- package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useNewMessageNotification.mjs +5 -1
- package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useNewMessageNotification.mjs.map +1 -1
- package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.mjs +14 -9
- package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.mjs.map +1 -1
- package/dist/es/components/MessageList/hooks/useCanPaginateReplies.mjs +47 -0
- package/dist/es/components/MessageList/hooks/useCanPaginateReplies.mjs.map +1 -0
- package/dist/es/components/MessageList/hooks/useLastDeliveredData.mjs +6 -38
- package/dist/es/components/MessageList/hooks/useLastDeliveredData.mjs.map +1 -1
- package/dist/es/components/MessageList/hooks/useLastReadData.mjs +6 -23
- package/dist/es/components/MessageList/hooks/useLastReadData.mjs.map +1 -1
- package/dist/es/components/MessageList/hooks/useMarkRead.mjs +78 -48
- package/dist/es/components/MessageList/hooks/useMarkRead.mjs.map +1 -1
- package/dist/es/components/MessageList/hooks/useReceiptsByMessageId.mjs +71 -0
- package/dist/es/components/MessageList/hooks/useReceiptsByMessageId.mjs.map +1 -0
- package/dist/es/components/MessageList/hooks/useThreadHead.mjs +26 -0
- package/dist/es/components/MessageList/hooks/useThreadHead.mjs.map +1 -0
- package/dist/es/components/MessageList/messageSourceKey.mjs +37 -0
- package/dist/es/components/MessageList/messageSourceKey.mjs.map +1 -0
- package/dist/es/components/MessageList/renderMessages.mjs +11 -11
- package/dist/es/components/MessageList/renderMessages.mjs.map +1 -1
- package/dist/es/components/MessageList/utils.mjs +40 -33
- package/dist/es/components/MessageList/utils.mjs.map +1 -1
- package/dist/es/components/Modal/GlobalModal.mjs +2 -2
- package/dist/es/components/Notifications/Notification.mjs +10 -9
- package/dist/es/components/Notifications/Notification.mjs.map +1 -1
- package/dist/es/components/Notifications/NotificationList.mjs +5 -19
- package/dist/es/components/Notifications/NotificationList.mjs.map +1 -1
- package/dist/es/components/Notifications/hooks/useNotificationApi.mjs +69 -62
- package/dist/es/components/Notifications/hooks/useNotificationApi.mjs.map +1 -1
- package/dist/es/components/Notifications/hooks/useNotificationTarget.mjs +8 -12
- package/dist/es/components/Notifications/hooks/useNotificationTarget.mjs.map +1 -1
- package/dist/es/components/Notifications/hooks/useNotifications.mjs +1 -1
- package/dist/es/components/Notifications/hooks/useSystemNotifications.mjs +1 -1
- package/dist/es/components/Notifications/notificationTarget.mjs +17 -2
- package/dist/es/components/Notifications/notificationTarget.mjs.map +1 -1
- package/dist/es/components/Poll/Poll.mjs +1 -1
- package/dist/es/components/Poll/PollActions/AddCommentPrompt.mjs +8 -8
- package/dist/es/components/Poll/PollActions/AddCommentPrompt.mjs.map +1 -1
- package/dist/es/components/Poll/PollActions/EndPollAlert.mjs +9 -9
- package/dist/es/components/Poll/PollActions/EndPollAlert.mjs.map +1 -1
- package/dist/es/components/Poll/PollActions/PollActions.mjs +20 -14
- package/dist/es/components/Poll/PollActions/PollActions.mjs.map +1 -1
- package/dist/es/components/Poll/PollActions/PollAnswerList.mjs +8 -8
- package/dist/es/components/Poll/PollActions/PollAnswerList.mjs.map +1 -1
- package/dist/es/components/Poll/PollActions/PollOptionsFullList.mjs +4 -4
- package/dist/es/components/Poll/PollActions/PollOptionsFullList.mjs.map +1 -1
- package/dist/es/components/Poll/PollActions/PollQuestion.mjs +1 -1
- package/dist/es/components/Poll/PollActions/PollQuestion.mjs.map +1 -1
- package/dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotes.mjs +7 -5
- package/dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotes.mjs.map +1 -1
- package/dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.mjs +8 -4
- package/dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.mjs.map +1 -1
- package/dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotesList.mjs +1 -1
- package/dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotesList.mjs.map +1 -1
- package/dist/es/components/Poll/PollActions/PollResults/PollResults.mjs +11 -7
- package/dist/es/components/Poll/PollActions/PollResults/PollResults.mjs.map +1 -1
- package/dist/es/components/Poll/PollActions/SuggestPollOptionPrompt.mjs +15 -12
- package/dist/es/components/Poll/PollActions/SuggestPollOptionPrompt.mjs.map +1 -1
- package/dist/es/components/Poll/PollContent.mjs +2 -2
- package/dist/es/components/Poll/PollCreationDialog/MultipleAnswersField.mjs +13 -11
- package/dist/es/components/Poll/PollCreationDialog/MultipleAnswersField.mjs.map +1 -1
- package/dist/es/components/Poll/PollCreationDialog/NameField.mjs +6 -5
- package/dist/es/components/Poll/PollCreationDialog/NameField.mjs.map +1 -1
- package/dist/es/components/Poll/PollCreationDialog/OptionFieldSet.mjs +14 -13
- package/dist/es/components/Poll/PollCreationDialog/OptionFieldSet.mjs.map +1 -1
- package/dist/es/components/Poll/PollCreationDialog/PollCreationDialog.mjs +11 -12
- package/dist/es/components/Poll/PollCreationDialog/PollCreationDialog.mjs.map +1 -1
- package/dist/es/components/Poll/PollCreationDialog/PollCreationDialogControls.mjs +11 -20
- package/dist/es/components/Poll/PollCreationDialog/PollCreationDialogControls.mjs.map +1 -1
- package/dist/es/components/Poll/PollCreationDialog/PollOptionReorderHandle.mjs +5 -5
- package/dist/es/components/Poll/PollCreationDialog/PollOptionReorderHandle.mjs.map +1 -1
- package/dist/es/components/Poll/PollHeader.mjs +10 -6
- package/dist/es/components/Poll/PollHeader.mjs.map +1 -1
- package/dist/es/components/Poll/PollOptionList.mjs +8 -4
- package/dist/es/components/Poll/PollOptionList.mjs.map +1 -1
- package/dist/es/components/Poll/PollOptionSelector.mjs +13 -7
- package/dist/es/components/Poll/PollOptionSelector.mjs.map +1 -1
- package/dist/es/components/Poll/PollVote.mjs +6 -5
- package/dist/es/components/Poll/PollVote.mjs.map +1 -1
- package/dist/es/components/Poll/hooks/useManagePollVotesRealtime.mjs.map +1 -1
- package/dist/es/components/Poll/hooks/usePollAnswerPagination.mjs +5 -5
- package/dist/es/components/Poll/hooks/usePollAnswerPagination.mjs.map +1 -1
- package/dist/es/components/Poll/hooks/usePollOptionVotesPagination.mjs +6 -5
- package/dist/es/components/Poll/hooks/usePollOptionVotesPagination.mjs.map +1 -1
- package/dist/es/components/ReactFileUtilities/UploadButton.mjs +5 -5
- package/dist/es/components/ReactFileUtilities/UploadButton.mjs.map +1 -1
- package/dist/es/components/Reactions/MessageReactions.mjs +7 -7
- package/dist/es/components/Reactions/MessageReactions.mjs.map +1 -1
- package/dist/es/components/Reactions/MessageReactionsDetail.mjs +19 -12
- package/dist/es/components/Reactions/MessageReactionsDetail.mjs.map +1 -1
- package/dist/es/components/Reactions/ReactionSelector.mjs +15 -21
- package/dist/es/components/Reactions/ReactionSelector.mjs.map +1 -1
- package/dist/es/components/Reactions/ReactionSelectorWithButton.mjs +4 -4
- package/dist/es/components/Reactions/ReactionSelectorWithButton.mjs.map +1 -1
- package/dist/es/components/Reactions/hooks/useFetchReactions.mjs +3 -3
- package/dist/es/components/Reactions/hooks/useFetchReactions.mjs.map +1 -1
- package/dist/es/components/Reactions/hooks/useProcessReactions.mjs +5 -4
- package/dist/es/components/Reactions/hooks/useProcessReactions.mjs.map +1 -1
- package/dist/es/components/Search/Search.mjs +1 -1
- package/dist/es/components/Search/SearchBar/SearchBar.mjs +8 -7
- package/dist/es/components/Search/SearchBar/SearchBar.mjs.map +1 -1
- package/dist/es/components/Search/SearchContext.mjs +2 -3
- package/dist/es/components/Search/SearchContext.mjs.map +1 -1
- package/dist/es/components/Search/SearchResults/SearchResultItem.mjs +56 -39
- package/dist/es/components/Search/SearchResults/SearchResultItem.mjs.map +1 -1
- package/dist/es/components/Search/SearchResults/SearchResults.mjs +4 -4
- package/dist/es/components/Search/SearchResults/SearchResults.mjs.map +1 -1
- package/dist/es/components/Search/SearchResults/SearchResultsHeader.mjs +6 -5
- package/dist/es/components/Search/SearchResults/SearchResultsHeader.mjs.map +1 -1
- package/dist/es/components/Search/SearchResults/SearchResultsPresearch.mjs +1 -1
- package/dist/es/components/Search/SearchResults/SearchResultsPresearch.mjs.map +1 -1
- package/dist/es/components/Search/SearchResults/SearchSourceResultList.mjs +1 -1
- package/dist/es/components/Search/SearchResults/SearchSourceResultListFooter.mjs +2 -2
- package/dist/es/components/Search/SearchResults/SearchSourceResultListFooter.mjs.map +1 -1
- package/dist/es/components/Search/SearchResults/SearchSourceResults.mjs +1 -1
- package/dist/es/components/Search/SearchResults/SearchSourceResultsEmpty.mjs +1 -1
- package/dist/es/components/Search/SearchResults/SearchSourceResultsEmpty.mjs.map +1 -1
- package/dist/es/components/Search/SearchResults/SearchSourceResultsLoadingIndicator.mjs +1 -1
- package/dist/es/components/Search/SearchResults/SearchSourceResultsLoadingIndicator.mjs.map +1 -1
- package/dist/es/components/Search/SearchSourceResultsContext.mjs +2 -3
- package/dist/es/components/Search/SearchSourceResultsContext.mjs.map +1 -1
- package/dist/es/components/SummarizedMessagePreview/SummarizedMessagePreview.mjs +1 -1
- package/dist/es/components/SummarizedMessagePreview/SummarizedMessagePreview.mjs.map +1 -1
- package/dist/es/components/SummarizedMessagePreview/hooks/useLatestMessagePreview.mjs +44 -19
- package/dist/es/components/SummarizedMessagePreview/hooks/useLatestMessagePreview.mjs.map +1 -1
- package/dist/es/components/TextareaComposer/SuggestionList/CommandItem.mjs +1 -1
- package/dist/es/components/TextareaComposer/SuggestionList/CommandItem.mjs.map +1 -1
- package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/BroadcastMentionItem.mjs +2 -2
- package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/BroadcastMentionItem.mjs.map +1 -1
- package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/RoleItem.mjs +2 -2
- package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/RoleItem.mjs.map +1 -1
- package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/UserGroupItem.mjs.map +1 -1
- package/dist/es/components/TextareaComposer/SuggestionList/SuggestionList.mjs +11 -11
- package/dist/es/components/TextareaComposer/SuggestionList/SuggestionList.mjs.map +1 -1
- package/dist/es/components/TextareaComposer/SuggestionList/SuggestionListItem.mjs +1 -1
- package/dist/es/components/TextareaComposer/TextareaComposer.mjs +13 -11
- package/dist/es/components/TextareaComposer/TextareaComposer.mjs.map +1 -1
- package/dist/es/components/TextareaComposer/hooks/useTextareaPlaceholder.mjs +12 -11
- package/dist/es/components/TextareaComposer/hooks/useTextareaPlaceholder.mjs.map +1 -1
- package/dist/es/components/Thread/Thread.mjs +89 -92
- package/dist/es/components/Thread/Thread.mjs.map +1 -1
- package/dist/es/components/Thread/ThreadHead.mjs +5 -4
- package/dist/es/components/Thread/ThreadHead.mjs.map +1 -1
- package/dist/es/components/Thread/ThreadHeader.mjs +31 -41
- package/dist/es/components/Thread/ThreadHeader.mjs.map +1 -1
- package/dist/es/components/Thread/ThreadStart.mjs +11 -10
- package/dist/es/components/Thread/ThreadStart.mjs.map +1 -1
- package/dist/es/components/Threads/ThreadContext.mjs +1 -5
- package/dist/es/components/Threads/ThreadContext.mjs.map +1 -1
- package/dist/es/components/Threads/ThreadList/ThreadList.mjs +19 -27
- package/dist/es/components/Threads/ThreadList/ThreadList.mjs.map +1 -1
- package/dist/es/components/Threads/ThreadList/ThreadListEmptyPlaceholder.mjs +3 -3
- package/dist/es/components/Threads/ThreadList/ThreadListEmptyPlaceholder.mjs.map +1 -1
- package/dist/es/components/Threads/ThreadList/ThreadListHeader.mjs +4 -4
- package/dist/es/components/Threads/ThreadList/ThreadListHeader.mjs.map +1 -1
- package/dist/es/components/Threads/ThreadList/ThreadListItemUI.mjs +30 -30
- package/dist/es/components/Threads/ThreadList/ThreadListItemUI.mjs.map +1 -1
- package/dist/es/components/Threads/ThreadList/ThreadListLoadingIndicator.mjs +1 -1
- package/dist/es/components/Threads/ThreadList/ThreadListUnseenThreadsBanner.mjs +7 -3
- package/dist/es/components/Threads/ThreadList/ThreadListUnseenThreadsBanner.mjs.map +1 -1
- package/dist/es/components/Threads/ThreadList/useThreadHighlighting.mjs +47 -0
- package/dist/es/components/Threads/ThreadList/useThreadHighlighting.mjs.map +1 -0
- package/dist/es/components/Threads/ThreadList/utils.a11y.mjs +13 -8
- package/dist/es/components/Threads/ThreadList/utils.a11y.mjs.map +1 -1
- package/dist/es/components/Threads/hooks/useCloseThread.mjs +30 -0
- package/dist/es/components/Threads/hooks/useCloseThread.mjs.map +1 -0
- package/dist/es/components/TypingIndicator/TypingIndicator.mjs +23 -17
- package/dist/es/components/TypingIndicator/TypingIndicator.mjs.map +1 -1
- package/dist/es/components/TypingIndicator/TypingIndicatorHeader.mjs +15 -11
- package/dist/es/components/TypingIndicator/TypingIndicatorHeader.mjs.map +1 -1
- package/dist/es/components/TypingIndicator/hooks/useDebouncedTypingActive.mjs.map +1 -1
- package/dist/es/components/TypingIndicator/utils/getTypingStatusMessage.mjs +7 -3
- package/dist/es/components/TypingIndicator/utils/getTypingStatusMessage.mjs.map +1 -1
- package/dist/es/components/VideoPlayer/VideoThumbnail.mjs +2 -2
- package/dist/es/components/VideoPlayer/VideoThumbnail.mjs.map +1 -1
- package/dist/es/context/AttachmentContext.mjs +16 -0
- package/dist/es/context/AttachmentContext.mjs.map +1 -0
- package/dist/es/context/ChannelInstanceContext.mjs +17 -0
- package/dist/es/context/ChannelInstanceContext.mjs.map +1 -0
- package/dist/es/context/ChannelListContext.mjs +3 -6
- package/dist/es/context/ChannelListContext.mjs.map +1 -1
- package/dist/es/context/ChatContext.mjs +2 -8
- package/dist/es/context/ChatContext.mjs.map +1 -1
- package/dist/es/context/ComponentContext.mjs +1 -1
- package/dist/es/context/ComponentContext.mjs.map +1 -1
- package/dist/es/context/DialogManagerContext.mjs +2 -2
- package/dist/es/context/DialogManagerContext.mjs.map +1 -1
- package/dist/es/context/MessageBounceContext.mjs +12 -14
- package/dist/es/context/MessageBounceContext.mjs.map +1 -1
- package/dist/es/context/MessageComposerContext.mjs +8 -6
- package/dist/es/context/MessageComposerContext.mjs.map +1 -1
- package/dist/es/context/MessageComposerControllerContext.mjs +19 -0
- package/dist/es/context/MessageComposerControllerContext.mjs.map +1 -0
- package/dist/es/context/MessageContext.mjs +2 -5
- package/dist/es/context/MessageContext.mjs.map +1 -1
- package/dist/es/context/MessageListContext.mjs +2 -8
- package/dist/es/context/MessageListContext.mjs.map +1 -1
- package/dist/es/context/MessageTranslationViewContext.mjs +3 -6
- package/dist/es/context/MessageTranslationViewContext.mjs.map +1 -1
- package/dist/es/context/ModalContext.mjs +6 -8
- package/dist/es/context/ModalContext.mjs.map +1 -1
- package/dist/es/context/PollContext.mjs +2 -3
- package/dist/es/context/PollContext.mjs.map +1 -1
- package/dist/es/context/TranslationContext.mjs +8 -21
- package/dist/es/context/TranslationContext.mjs.map +1 -1
- package/dist/es/context/VirtualizedMessageListContext.mjs +2 -1
- package/dist/es/context/VirtualizedMessageListContext.mjs.map +1 -1
- package/dist/es/context/WithComponents.mjs +3 -3
- package/dist/es/context/WithComponents.mjs.map +1 -1
- package/dist/es/context/WorkspaceNavigationContext.mjs +45 -0
- package/dist/es/context/WorkspaceNavigationContext.mjs.map +1 -0
- package/dist/es/context/requireContext.mjs +17 -0
- package/dist/es/context/requireContext.mjs.map +1 -0
- package/dist/es/context/useChannel.mjs +14 -0
- package/dist/es/context/useChannel.mjs.map +1 -0
- package/dist/es/context/useComponentContextIcons.mjs +8 -13
- package/dist/es/context/useComponentContextIcons.mjs.map +1 -1
- package/dist/es/hooks/useIsDmChannel.mjs +30 -0
- package/dist/es/hooks/useIsDmChannel.mjs.map +1 -0
- package/dist/es/hooks/useMessagePaginator.mjs +14 -0
- package/dist/es/hooks/useMessagePaginator.mjs.map +1 -0
- package/dist/es/i18n/Streami18n.mjs +38 -521
- package/dist/es/i18n/Streami18n.mjs.map +1 -1
- package/dist/es/i18n/TranslationBuilder/index.mjs +3 -0
- package/dist/es/i18n/TranslationBuilder/notifications/NotificationTranslationTopic.mjs +22 -24
- package/dist/es/i18n/TranslationBuilder/notifications/NotificationTranslationTopic.mjs.map +1 -1
- package/dist/es/i18n/TranslationBuilder/notifications/translators.mjs +20 -31
- package/dist/es/i18n/TranslationBuilder/notifications/translators.mjs.map +1 -1
- package/dist/es/i18n/TranslationBuilder/notifications/translatorsByNotificationType.mjs +42 -15
- package/dist/es/i18n/TranslationBuilder/notifications/translatorsByNotificationType.mjs.map +1 -1
- package/dist/es/i18n/runtimeDefaults.mjs +41 -0
- package/dist/es/i18n/runtimeDefaults.mjs.map +1 -0
- package/dist/es/i18n/useStreami18n.mjs +41 -0
- package/dist/es/i18n/useStreami18n.mjs.map +1 -0
- package/dist/es/i18n/utils.mjs +7 -125
- package/dist/es/i18n/utils.mjs.map +1 -1
- package/dist/es/index.mjs +175 -180
- package/dist/es/plugins/ChannelDetail/AvatarWithChannelDetail.mjs +4 -4
- package/dist/es/plugins/ChannelDetail/AvatarWithChannelDetail.mjs.map +1 -1
- package/dist/es/plugins/ChannelDetail/ChannelDetail.mjs +1 -1
- package/dist/es/plugins/ChannelDetail/ChannelDetail.mjs.map +1 -1
- package/dist/es/plugins/ChannelDetail/ChannelDetailEmptyList.mjs.map +1 -1
- package/dist/es/plugins/ChannelDetail/ChannelDetailSearchInput.mjs +3 -3
- package/dist/es/plugins/ChannelDetail/ChannelDetailSearchInput.mjs.map +1 -1
- package/dist/es/plugins/ChannelDetail/SectionNavigator/SectionNavigatorHeader.mjs +4 -5
- package/dist/es/plugins/ChannelDetail/SectionNavigator/SectionNavigatorHeader.mjs.map +1 -1
- package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesEmptyList.mjs +4 -4
- package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesEmptyList.mjs.map +1 -1
- package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesView.mjs +9 -8
- package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesView.mjs.map +1 -1
- package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesView.utils.mjs +7 -6
- package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesView.utils.mjs.map +1 -1
- package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/useChannelFilesSearch.mjs +1 -1
- package/dist/es/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementActions.defaults.mjs +44 -44
- package/dist/es/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementActions.defaults.mjs.map +1 -1
- package/dist/es/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementView.mjs +25 -25
- package/dist/es/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementView.mjs.map +1 -1
- package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaEmptyList.mjs +4 -4
- package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaEmptyList.mjs.map +1 -1
- package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.mjs +13 -13
- package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.mjs.map +1 -1
- package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.utils.mjs +8 -3
- package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.utils.mjs.map +1 -1
- package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/useChannelMediaSearch.mjs +1 -1
- package/dist/es/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberActions.defaults.mjs +44 -41
- package/dist/es/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberActions.defaults.mjs.map +1 -1
- package/dist/es/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberDetail.mjs +6 -5
- package/dist/es/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberDetail.mjs.map +1 -1
- package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersAddView.mjs +19 -11
- package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersAddView.mjs.map +1 -1
- package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersBrowseView.mjs +12 -11
- package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersBrowseView.mjs.map +1 -1
- package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersHeaderActions.defaults.mjs +8 -8
- package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersHeaderActions.defaults.mjs.map +1 -1
- package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersView.mjs +8 -4
- package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersView.mjs.map +1 -1
- package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersView.utils.mjs +1 -1
- package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersView.utils.mjs.map +1 -1
- package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesEmptyList.mjs +3 -3
- package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesEmptyList.mjs.map +1 -1
- package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesView.mjs +24 -21
- package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesView.mjs.map +1 -1
- package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/usePinnedMessagesCount.mjs +9 -17
- package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/usePinnedMessagesCount.mjs.map +1 -1
- package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/usePinnedMessagesSearch.mjs +1 -1
- package/dist/es/plugins/Emojis/EmojiPicker.mjs +9 -8
- package/dist/es/plugins/Emojis/EmojiPicker.mjs.map +1 -1
- package/dist/es/plugins/Emojis/middleware/textComposerEmojiMiddleware.mjs +2 -1
- package/dist/es/plugins/Emojis/middleware/textComposerEmojiMiddleware.mjs.map +1 -1
- package/dist/es/plugins/SlotGeometry/SlotGeometry.mjs +141 -0
- package/dist/es/plugins/SlotGeometry/SlotGeometry.mjs.map +1 -0
- package/dist/es/plugins/SlotLayout/ChannelSlot.mjs +30 -0
- package/dist/es/plugins/SlotLayout/ChannelSlot.mjs.map +1 -0
- package/dist/es/{components/ChatView → plugins/SlotLayout}/ChatView.a11y.utility.mjs +1 -1
- package/dist/es/plugins/SlotLayout/ChatView.a11y.utility.mjs.map +1 -0
- package/dist/es/plugins/SlotLayout/ChatView.mjs +277 -0
- package/dist/es/plugins/SlotLayout/ChatView.mjs.map +1 -0
- package/dist/es/plugins/SlotLayout/ChatViewNavigationContext.mjs +239 -0
- package/dist/es/plugins/SlotLayout/ChatViewNavigationContext.mjs.map +1 -0
- package/dist/es/plugins/SlotLayout/ThreadListSlot.mjs +42 -0
- package/dist/es/plugins/SlotLayout/ThreadListSlot.mjs.map +1 -0
- package/dist/es/plugins/SlotLayout/ThreadSlot.mjs +34 -0
- package/dist/es/plugins/SlotLayout/ThreadSlot.mjs.map +1 -0
- package/dist/es/plugins/SlotLayout/hooks/useLayoutViewState.mjs +26 -0
- package/dist/es/plugins/SlotLayout/hooks/useLayoutViewState.mjs.map +1 -0
- package/dist/es/plugins/SlotLayout/hooks/useSlotEntity.mjs +167 -0
- package/dist/es/plugins/SlotLayout/hooks/useSlotEntity.mjs.map +1 -0
- package/dist/es/plugins/SlotLayout/layout/Slot.mjs +46 -0
- package/dist/es/plugins/SlotLayout/layout/Slot.mjs.map +1 -0
- package/dist/es/plugins/SlotLayout/layout/WorkspaceLayout.mjs +23 -0
- package/dist/es/plugins/SlotLayout/layout/WorkspaceLayout.mjs.map +1 -0
- package/dist/es/plugins/SlotLayout/layoutController/LayoutController.mjs +376 -0
- package/dist/es/plugins/SlotLayout/layoutController/LayoutController.mjs.map +1 -0
- package/dist/es/plugins/SlotLayout/layoutController/serialization.mjs +80 -0
- package/dist/es/plugins/SlotLayout/layoutController/serialization.mjs.map +1 -0
- package/dist/es/plugins/SlotLayout/slotBinding.mjs +15 -0
- package/dist/es/plugins/SlotLayout/slotBinding.mjs.map +1 -0
- package/dist/es/plugins/SlotLayout/slotRegistry.mjs +64 -0
- package/dist/es/plugins/SlotLayout/slotRegistry.mjs.map +1 -0
- package/dist/es/plugins/SlotLayout/workspaceNavigationAdapter.mjs +130 -0
- package/dist/es/plugins/SlotLayout/workspaceNavigationAdapter.mjs.map +1 -0
- package/dist/es/slot-geometry.mjs +2 -0
- package/dist/es/slot-layout.mjs +14 -0
- package/dist/es/store/hooks/useStateStore.mjs.map +1 -1
- package/dist/es/utils/getChannel.mjs +5 -2
- package/dist/es/utils/getChannel.mjs.map +1 -1
- package/dist/es/utils/useStableCallback.mjs +1 -1
- package/dist/es/utils/useStableCallback.mjs.map +1 -1
- package/dist/types/a11y/accessibleLabel.d.ts.map +1 -1
- package/dist/types/components/AIStateIndicator/AIStateIndicator.d.ts.map +1 -1
- package/dist/types/components/AIStateIndicator/hooks/useAIState.d.ts +3 -8
- package/dist/types/components/AIStateIndicator/hooks/useAIState.d.ts.map +1 -1
- package/dist/types/components/Accessibility/NotificationAnnouncer.d.ts +1 -2
- package/dist/types/components/Accessibility/NotificationAnnouncer.d.ts.map +1 -1
- package/dist/types/components/Accessibility/hooks/useIncomingMessageAnnouncements.d.ts.map +1 -1
- package/dist/types/components/Accessibility/hooks/useInteractionAnnouncements.d.ts.map +1 -1
- package/dist/types/components/Accessibility/useAriaLiveAnnouncer.d.ts +4 -0
- package/dist/types/components/Accessibility/useAriaLiveAnnouncer.d.ts.map +1 -1
- package/dist/types/components/Attachment/Attachment.d.ts +13 -2
- package/dist/types/components/Attachment/Attachment.d.ts.map +1 -1
- package/dist/types/components/Attachment/AttachmentActions.d.ts.map +1 -1
- package/dist/types/components/Attachment/AttachmentContainer.d.ts +2 -2
- package/dist/types/components/Attachment/AttachmentContainer.d.ts.map +1 -1
- package/dist/types/components/Attachment/Audio.d.ts.map +1 -1
- package/dist/types/components/Attachment/FileAttachment.d.ts.map +1 -1
- package/dist/types/components/Attachment/Geolocation.d.ts +3 -3
- package/dist/types/components/Attachment/Geolocation.d.ts.map +1 -1
- package/dist/types/components/Attachment/Giphy.d.ts.map +1 -1
- package/dist/types/components/Attachment/LinkPreview/Card.d.ts.map +1 -1
- package/dist/types/components/Attachment/LinkPreview/CardAudio.d.ts +1 -1
- package/dist/types/components/Attachment/LinkPreview/CardAudio.d.ts.map +1 -1
- package/dist/types/components/Attachment/ModalGallery.d.ts.map +1 -1
- package/dist/types/components/Attachment/UnsupportedAttachment.d.ts.map +1 -1
- package/dist/types/components/Attachment/VideoAttachment.d.ts.map +1 -1
- package/dist/types/components/Attachment/VisibilityDisclaimer.d.ts.map +1 -1
- package/dist/types/components/Attachment/VoiceRecording.d.ts.map +1 -1
- package/dist/types/components/Attachment/components/DownloadButton.d.ts.map +1 -1
- package/dist/types/components/Attachment/components/index.d.ts +1 -1
- package/dist/types/components/Attachment/components/index.d.ts.map +1 -1
- package/dist/types/components/Attachment/hooks/useAttachmentUploadState.d.ts +0 -28
- package/dist/types/components/Attachment/hooks/useAttachmentUploadState.d.ts.map +1 -1
- package/dist/types/components/Attachment/index.d.ts +1 -1
- package/dist/types/components/Attachment/index.d.ts.map +1 -1
- package/dist/types/components/Attachment/utils.d.ts +2 -2
- package/dist/types/components/Attachment/utils.d.ts.map +1 -1
- package/dist/types/components/AudioPlayback/AudioPlaybackArbiter.d.ts +37 -0
- package/dist/types/components/AudioPlayback/AudioPlaybackArbiter.d.ts.map +1 -0
- package/dist/types/components/AudioPlayback/AudioPlayer.d.ts +1 -1
- package/dist/types/components/AudioPlayback/AudioPlayer.d.ts.map +1 -1
- package/dist/types/components/AudioPlayback/AudioPlayerPool.d.ts +19 -31
- package/dist/types/components/AudioPlayback/AudioPlayerPool.d.ts.map +1 -1
- package/dist/types/components/AudioPlayback/WithAudioPlayback.d.ts +17 -2
- package/dist/types/components/AudioPlayback/WithAudioPlayback.d.ts.map +1 -1
- package/dist/types/components/AudioPlayback/components/ProgressBar.d.ts.map +1 -1
- package/dist/types/components/AudioPlayback/components/WaveProgressBar.d.ts.map +1 -1
- package/dist/types/components/AudioPlayback/components/progressBarA11y.d.ts +2 -2
- package/dist/types/components/AudioPlayback/components/progressBarA11y.d.ts.map +1 -1
- package/dist/types/components/AudioPlayback/index.d.ts.map +1 -1
- package/dist/types/components/AudioPlayback/plugins/AudioPlayerNotificationsPlugin.d.ts +2 -2
- package/dist/types/components/AudioPlayback/plugins/AudioPlayerNotificationsPlugin.d.ts.map +1 -1
- package/dist/types/components/Avatar/Avatar.d.ts +1 -5
- package/dist/types/components/Avatar/Avatar.d.ts.map +1 -1
- package/dist/types/components/Badge/Badge.d.ts.map +1 -1
- package/dist/types/components/Badge/MediaBadge.d.ts.map +1 -1
- package/dist/types/components/BaseImage/ImagePlaceholder.d.ts.map +1 -1
- package/dist/types/components/Button/PlayButton.d.ts.map +1 -1
- package/dist/types/components/Button/WorkspaceNavigationButtons.d.ts +11 -0
- package/dist/types/components/Button/WorkspaceNavigationButtons.d.ts.map +1 -0
- package/dist/types/components/Button/index.d.ts +1 -0
- package/dist/types/components/Button/index.d.ts.map +1 -1
- package/dist/types/components/Channel/Channel.d.ts +9 -57
- package/dist/types/components/Channel/Channel.d.ts.map +1 -1
- package/dist/types/components/Channel/hooks/useChannelCapabilities.d.ts +4 -0
- package/dist/types/components/Channel/hooks/useChannelCapabilities.d.ts.map +1 -0
- package/dist/types/components/Channel/index.d.ts +1 -2
- package/dist/types/components/Channel/index.d.ts.map +1 -1
- package/dist/types/components/ChannelHeader/ChannelHeader.d.ts +12 -0
- package/dist/types/components/ChannelHeader/ChannelHeader.d.ts.map +1 -1
- package/dist/types/components/ChannelHeader/hooks/useChannelHasMembersOnline.d.ts +8 -0
- package/dist/types/components/ChannelHeader/hooks/useChannelHasMembersOnline.d.ts.map +1 -1
- package/dist/types/components/ChannelHeader/hooks/useChannelHeaderOnlineStatus.d.ts +7 -8
- package/dist/types/components/ChannelHeader/hooks/useChannelHeaderOnlineStatus.d.ts.map +1 -1
- package/dist/types/components/ChannelList/ChannelList.d.ts +11 -78
- package/dist/types/components/ChannelList/ChannelList.d.ts.map +1 -1
- package/dist/types/components/ChannelList/ChannelListHeader.d.ts.map +1 -1
- package/dist/types/components/ChannelList/ChannelLists.d.ts +10 -0
- package/dist/types/components/ChannelList/ChannelLists.d.ts.map +1 -0
- package/dist/types/components/ChannelList/ChannelNavigation.d.ts +9 -0
- package/dist/types/components/ChannelList/ChannelNavigation.d.ts.map +1 -0
- package/dist/types/components/ChannelList/hooks/index.d.ts +1 -2
- package/dist/types/components/ChannelList/hooks/index.d.ts.map +1 -1
- package/dist/types/components/ChannelList/hooks/useChannelMembersState.d.ts.map +1 -1
- package/dist/types/components/ChannelList/hooks/useChannelMembershipState.d.ts.map +1 -1
- package/dist/types/components/ChannelList/hooks/useChannelPaginatorState.d.ts +18 -0
- package/dist/types/components/ChannelList/hooks/useChannelPaginatorState.d.ts.map +1 -0
- package/dist/types/components/ChannelList/hooks/useSelectedChannelState.d.ts +3 -3
- package/dist/types/components/ChannelList/hooks/useSelectedChannelState.d.ts.map +1 -1
- package/dist/types/components/ChannelList/index.d.ts +3 -2
- package/dist/types/components/ChannelList/index.d.ts.map +1 -1
- package/dist/types/components/ChannelListItem/ChannelListItem.d.ts +9 -18
- package/dist/types/components/ChannelListItem/ChannelListItem.d.ts.map +1 -1
- package/dist/types/components/ChannelListItem/ChannelListItemActionButtons.defaults.d.ts.map +1 -1
- package/dist/types/components/ChannelListItem/ChannelListItemTimestamp.d.ts +3 -3
- package/dist/types/components/ChannelListItem/ChannelListItemTimestamp.d.ts.map +1 -1
- package/dist/types/components/ChannelListItem/ChannelListItemUI.d.ts.map +1 -1
- package/dist/types/components/ChannelListItem/hooks/useChannelDisplayName.d.ts +1 -1
- package/dist/types/components/ChannelListItem/hooks/useChannelDisplayName.d.ts.map +1 -1
- package/dist/types/components/ChannelListItem/hooks/useIsChannelMuted.d.ts +8 -5
- package/dist/types/components/ChannelListItem/hooks/useIsChannelMuted.d.ts.map +1 -1
- package/dist/types/components/ChannelListItem/hooks/useMessageDeliveryStatus.d.ts.map +1 -1
- package/dist/types/components/ChannelListItem/utils.a11y.d.ts +14 -5
- package/dist/types/components/ChannelListItem/utils.a11y.d.ts.map +1 -1
- package/dist/types/components/ChannelListItem/utils.d.ts +1 -1
- package/dist/types/components/ChannelListItem/utils.d.ts.map +1 -1
- package/dist/types/components/Chat/Chat.d.ts +1 -4
- package/dist/types/components/Chat/Chat.d.ts.map +1 -1
- package/dist/types/components/Chat/hooks/useChat.d.ts +4 -16
- package/dist/types/components/Chat/hooks/useChat.d.ts.map +1 -1
- package/dist/types/components/Chat/hooks/useCreateChatClient.d.ts +2 -2
- package/dist/types/components/Chat/hooks/useCreateChatClient.d.ts.map +1 -1
- package/dist/types/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -1
- package/dist/types/components/Chat/hooks/useNetworkConnectionState.d.ts +34 -0
- package/dist/types/components/Chat/hooks/useNetworkConnectionState.d.ts.map +1 -0
- package/dist/types/components/Chat/hooks/useReportLostConnectionSystemNotification.d.ts +26 -2
- package/dist/types/components/Chat/hooks/useReportLostConnectionSystemNotification.d.ts.map +1 -1
- package/dist/types/components/Chat/hooks/useWSConnectionState.d.ts +22 -0
- package/dist/types/components/Chat/hooks/useWSConnectionState.d.ts.map +1 -0
- package/dist/types/components/Chat/index.d.ts +2 -0
- package/dist/types/components/Chat/index.d.ts.map +1 -1
- package/dist/types/components/Dialog/components/ContextMenu.d.ts +0 -4
- package/dist/types/components/Dialog/components/ContextMenu.d.ts.map +1 -1
- package/dist/types/components/Dialog/hooks/usePopoverPosition.d.ts +2 -2
- package/dist/types/components/Dialog/hooks/usePopoverPosition.d.ts.map +1 -1
- package/dist/types/components/Dialog/service/DialogManager.d.ts +1 -1
- package/dist/types/components/Dialog/service/DialogManager.d.ts.map +1 -1
- package/dist/types/components/EmptyStateIndicator/EmptyStateIndicator.d.ts.map +1 -1
- package/dist/types/components/Form/Dropdown.d.ts +4 -1
- package/dist/types/components/Form/Dropdown.d.ts.map +1 -1
- package/dist/types/components/Form/NumericInput.d.ts.map +1 -1
- package/dist/types/components/Gallery/GalleryContext.d.ts +5 -0
- package/dist/types/components/Gallery/GalleryContext.d.ts.map +1 -1
- package/dist/types/components/Gallery/GalleryHeader.d.ts.map +1 -1
- package/dist/types/components/Gallery/GalleryUI.d.ts.map +1 -1
- package/dist/types/components/Icons/index.d.ts +1 -1
- package/dist/types/components/Icons/index.d.ts.map +1 -1
- package/dist/types/components/Icons/slots.d.ts +18 -7
- package/dist/types/components/Icons/slots.d.ts.map +1 -1
- package/dist/types/components/InfiniteScrollPaginator/InfiniteScrollPaginator.d.ts +8 -2
- package/dist/types/components/InfiniteScrollPaginator/InfiniteScrollPaginator.d.ts.map +1 -1
- package/dist/types/components/InfiniteScrollPaginator/InfiniteScrollWithComponents.d.ts +43 -0
- package/dist/types/components/InfiniteScrollPaginator/InfiniteScrollWithComponents.d.ts.map +1 -0
- package/dist/types/components/InfiniteScrollPaginator/hooks/useCursorPaginator.d.ts +1 -1
- package/dist/types/components/InfiniteScrollPaginator/hooks/useCursorPaginator.d.ts.map +1 -1
- package/dist/types/components/LoadMore/LoadMoreButton.d.ts.map +1 -1
- package/dist/types/components/Loading/AttachmentUploadedSizeIndicator.d.ts +3 -0
- package/dist/types/components/Loading/AttachmentUploadedSizeIndicator.d.ts.map +1 -1
- package/dist/types/components/Loading/LoadingErrorIndicator.d.ts.map +1 -1
- package/dist/types/components/Loading/LoadingIndicator.d.ts +2 -3
- package/dist/types/components/Loading/LoadingIndicator.d.ts.map +1 -1
- package/dist/types/components/Loading/UploadProgressIndicator.d.ts +2 -2
- package/dist/types/components/Loading/index.d.ts +1 -1
- package/dist/types/components/Loading/index.d.ts.map +1 -1
- package/dist/types/components/Loading/progress-indicators.d.ts.map +1 -1
- package/dist/types/components/Location/ShareLocationDialog.d.ts.map +1 -1
- package/dist/types/components/Location/hooks/useLiveLocationSharingManager.d.ts.map +1 -1
- package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecorderRecordingControls.d.ts.map +1 -1
- package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecordingButtonWithNotification.d.ts.map +1 -1
- package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecordingPlayback.d.ts.map +1 -1
- package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecordingPreview.d.ts.map +1 -1
- package/dist/types/components/MediaRecorder/RecordingPermissionDeniedNotification.d.ts.map +1 -1
- package/dist/types/components/MediaRecorder/classes/MediaRecorderController.d.ts.map +1 -1
- package/dist/types/components/MediaRecorder/hooks/useMediaRecorder.d.ts +2 -2
- package/dist/types/components/MediaRecorder/hooks/useMediaRecorder.d.ts.map +1 -1
- package/dist/types/components/Message/Message.d.ts.map +1 -1
- package/dist/types/components/Message/MessageAlsoSentInChannelIndicator.d.ts +11 -1
- package/dist/types/components/Message/MessageAlsoSentInChannelIndicator.d.ts.map +1 -1
- package/dist/types/components/Message/MessageDeletedBubble.d.ts.map +1 -1
- package/dist/types/components/Message/MessageEditedIndicator.d.ts.map +1 -1
- package/dist/types/components/Message/MessageRepliesCountButton.d.ts.map +1 -1
- package/dist/types/components/Message/MessageStatus.d.ts.map +1 -1
- package/dist/types/components/Message/MessageText.d.ts.map +1 -1
- package/dist/types/components/Message/MessageTimestamp.d.ts.map +1 -1
- package/dist/types/components/Message/MessageTranslationIndicator.d.ts.map +1 -1
- package/dist/types/components/Message/MessageUI.d.ts.map +1 -1
- package/dist/types/components/Message/ReminderNotification.d.ts.map +1 -1
- package/dist/types/components/Message/StreamedMessageText.d.ts.map +1 -1
- package/dist/types/components/Message/Timestamp.d.ts.map +1 -1
- package/dist/types/components/Message/hooks/index.d.ts +1 -0
- package/dist/types/components/Message/hooks/index.d.ts.map +1 -1
- package/dist/types/components/Message/hooks/useActionHandler.d.ts +1 -1
- package/dist/types/components/Message/hooks/useActionHandler.d.ts.map +1 -1
- package/dist/types/components/Message/hooks/useDeleteHandler.d.ts +6 -2
- package/dist/types/components/Message/hooks/useDeleteHandler.d.ts.map +1 -1
- package/dist/types/components/Message/hooks/useMarkUnreadHandler.d.ts +6 -1
- package/dist/types/components/Message/hooks/useMarkUnreadHandler.d.ts.map +1 -1
- package/dist/types/components/Message/hooks/useMentionsHandler.d.ts.map +1 -1
- package/dist/types/components/Message/hooks/useMessageAlsoSentInChannelNavigation.d.ts +22 -0
- package/dist/types/components/Message/hooks/useMessageAlsoSentInChannelNavigation.d.ts.map +1 -0
- package/dist/types/components/Message/hooks/useMuteHandler.d.ts +7 -2
- package/dist/types/components/Message/hooks/useMuteHandler.d.ts.map +1 -1
- package/dist/types/components/Message/hooks/useOpenThreadHandler.d.ts +1 -0
- package/dist/types/components/Message/hooks/useOpenThreadHandler.d.ts.map +1 -1
- package/dist/types/components/Message/hooks/usePinHandler.d.ts +23 -2
- package/dist/types/components/Message/hooks/usePinHandler.d.ts.map +1 -1
- package/dist/types/components/Message/hooks/useReactionHandler.d.ts +1 -1
- package/dist/types/components/Message/hooks/useReactionHandler.d.ts.map +1 -1
- package/dist/types/components/Message/hooks/useReactionsFetcher.d.ts +2 -2
- package/dist/types/components/Message/hooks/useReactionsFetcher.d.ts.map +1 -1
- package/dist/types/components/Message/hooks/useRetryHandler.d.ts +3 -2
- package/dist/types/components/Message/hooks/useRetryHandler.d.ts.map +1 -1
- package/dist/types/components/Message/hooks/useUserRole.d.ts +1 -0
- package/dist/types/components/Message/hooks/useUserRole.d.ts.map +1 -1
- package/dist/types/components/Message/types.d.ts +11 -20
- package/dist/types/components/Message/types.d.ts.map +1 -1
- package/dist/types/components/Message/utils.d.ts +7 -38
- package/dist/types/components/Message/utils.d.ts.map +1 -1
- package/dist/types/components/MessageActions/DeleteMessageAlert.d.ts.map +1 -1
- package/dist/types/components/MessageActions/DownloadSubmenu.d.ts.map +1 -1
- package/dist/types/components/MessageActions/MessageActions.d.ts +6 -2
- package/dist/types/components/MessageActions/MessageActions.d.ts.map +1 -1
- package/dist/types/components/MessageActions/MessageActions.defaults.d.ts.map +1 -1
- package/dist/types/components/MessageActions/RemindMeSubmenu.d.ts.map +1 -1
- package/dist/types/components/MessageActions/hooks/useBaseMessageActionSetFilter.d.ts.map +1 -1
- package/dist/types/components/MessageBounce/MessageBouncePrompt.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/AttachmentPreviewList/AudioAttachmentPreview.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/AttachmentPreviewList/FileAttachmentPreview.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/AttachmentPreviewList/GeolocationPreview.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/AttachmentPreviewList/MediaAttachmentPreview.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/AttachmentPreviewList/UnsupportedAttachmentPreview.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/AttachmentPreviewList/index.d.ts +1 -1
- package/dist/types/components/MessageComposer/AttachmentPreviewList/index.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/AttachmentPreviewList/utils/AttachmentPreviewRoot.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/AttachmentSelector/AttachmentSelector.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/AttachmentSelector/CommandsMenu.d.ts +5 -5
- package/dist/types/components/MessageComposer/AttachmentSelector/CommandsMenu.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/CommandChip.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/EditMessageForm.d.ts +1 -0
- package/dist/types/components/MessageComposer/EditMessageForm.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/MessageComposer.d.ts +1 -17
- package/dist/types/components/MessageComposer/MessageComposer.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/MessageComposerActions.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/MessageComposerUI.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/QuotedMessagePreview.d.ts +3 -3
- package/dist/types/components/MessageComposer/QuotedMessagePreview.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/RemoveAttachmentPreviewButton.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/SendButton.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/SendToChannelCheckbox.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/StopAIGenerationButton.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/WithDragAndDropUpload.d.ts +2 -5
- package/dist/types/components/MessageComposer/WithDragAndDropUpload.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/hooks/index.d.ts +1 -0
- package/dist/types/components/MessageComposer/hooks/index.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/hooks/useAttachmentManagerState.d.ts +5 -1
- package/dist/types/components/MessageComposer/hooks/useAttachmentManagerState.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/hooks/useAttachmentsForPreview.d.ts +1 -2
- package/dist/types/components/MessageComposer/hooks/useAttachmentsForPreview.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/hooks/useCreateMessageComposerContext.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/hooks/useMessageComposerBindings.d.ts +0 -1
- package/dist/types/components/MessageComposer/hooks/useMessageComposerBindings.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/hooks/useMessageComposerCommands.d.ts +2 -2
- package/dist/types/components/MessageComposer/hooks/useMessageComposerCommands.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/hooks/useMessageComposerController.d.ts +1 -1
- package/dist/types/components/MessageComposer/hooks/useMessageComposerController.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/hooks/useMessageComposerHasSendableData.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/hooks/useMessageComposerSubmitFn.d.ts +7 -0
- package/dist/types/components/MessageComposer/hooks/useMessageComposerSubmitFn.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/index.d.ts +2 -1
- package/dist/types/components/MessageComposer/index.d.ts.map +1 -1
- package/dist/types/components/MessageList/FloatingDateSeparator.d.ts +1 -1
- package/dist/types/components/MessageList/FloatingDateSeparator.d.ts.map +1 -1
- package/dist/types/components/MessageList/MessageList.d.ts +24 -25
- package/dist/types/components/MessageList/MessageList.d.ts.map +1 -1
- package/dist/types/components/MessageList/NewMessageNotification.d.ts.map +1 -1
- package/dist/types/components/MessageList/ScrollToLatestMessageButton.d.ts +0 -1
- package/dist/types/components/MessageList/ScrollToLatestMessageButton.d.ts.map +1 -1
- package/dist/types/components/MessageList/UnreadMessagesNotification.d.ts +1 -4
- package/dist/types/components/MessageList/UnreadMessagesNotification.d.ts.map +1 -1
- package/dist/types/components/MessageList/UnreadMessagesSeparator.d.ts.map +1 -1
- package/dist/types/components/MessageList/VirtualizedMessageList.d.ts +23 -42
- package/dist/types/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
- package/dist/types/components/MessageList/VirtualizedMessageListComponents.d.ts.map +1 -1
- package/dist/types/components/MessageList/hooks/MessageList/useEnrichedMessages.d.ts +3 -3
- package/dist/types/components/MessageList/hooks/MessageList/useEnrichedMessages.d.ts.map +1 -1
- package/dist/types/components/MessageList/hooks/MessageList/useFloatingDateSeparatorMessageList.d.ts +2 -2
- package/dist/types/components/MessageList/hooks/MessageList/useFloatingDateSeparatorMessageList.d.ts.map +1 -1
- package/dist/types/components/MessageList/hooks/MessageList/useMessageListElements.d.ts +1 -3
- package/dist/types/components/MessageList/hooks/MessageList/useMessageListElements.d.ts.map +1 -1
- package/dist/types/components/MessageList/hooks/MessageList/useMessageListScrollManager.d.ts +1 -0
- package/dist/types/components/MessageList/hooks/MessageList/useMessageListScrollManager.d.ts.map +1 -1
- package/dist/types/components/MessageList/hooks/MessageList/useScrollLocationLogic.d.ts +6 -25
- package/dist/types/components/MessageList/hooks/MessageList/useScrollLocationLogic.d.ts.map +1 -1
- package/dist/types/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.d.ts +1 -1
- package/dist/types/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.d.ts.map +1 -1
- package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useFloatingDateSeparator.d.ts +2 -2
- package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useFloatingDateSeparator.d.ts.map +1 -1
- package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useNewMessageNotification.d.ts +1 -1
- package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useNewMessageNotification.d.ts.map +1 -1
- package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.d.ts +1 -5
- package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.d.ts.map +1 -1
- package/dist/types/components/MessageList/hooks/useCanPaginateReplies.d.ts +32 -0
- package/dist/types/components/MessageList/hooks/useCanPaginateReplies.d.ts.map +1 -0
- package/dist/types/components/MessageList/hooks/useLastDeliveredData.d.ts +1 -0
- package/dist/types/components/MessageList/hooks/useLastDeliveredData.d.ts.map +1 -1
- package/dist/types/components/MessageList/hooks/useLastReadData.d.ts +1 -0
- package/dist/types/components/MessageList/hooks/useLastReadData.d.ts.map +1 -1
- package/dist/types/components/MessageList/hooks/useMarkRead.d.ts +5 -9
- package/dist/types/components/MessageList/hooks/useMarkRead.d.ts.map +1 -1
- package/dist/types/components/MessageList/hooks/useReceiptsByMessageId.d.ts +12 -0
- package/dist/types/components/MessageList/hooks/useReceiptsByMessageId.d.ts.map +1 -0
- package/dist/types/components/MessageList/hooks/useThreadHead.d.ts +9 -0
- package/dist/types/components/MessageList/hooks/useThreadHead.d.ts.map +1 -0
- package/dist/types/components/MessageList/messageSourceKey.d.ts +14 -0
- package/dist/types/components/MessageList/messageSourceKey.d.ts.map +1 -0
- package/dist/types/components/MessageList/renderMessages.d.ts +11 -9
- package/dist/types/components/MessageList/renderMessages.d.ts.map +1 -1
- package/dist/types/components/MessageList/utils.d.ts +22 -13
- package/dist/types/components/MessageList/utils.d.ts.map +1 -1
- package/dist/types/components/Modal/CloseButtonOnModalOverlay.d.ts.map +1 -1
- package/dist/types/components/Notifications/Notification.d.ts.map +1 -1
- package/dist/types/components/Notifications/NotificationList.d.ts.map +1 -1
- package/dist/types/components/Notifications/hooks/useNotificationApi.d.ts +3 -0
- package/dist/types/components/Notifications/hooks/useNotificationApi.d.ts.map +1 -1
- package/dist/types/components/Notifications/hooks/useNotificationTarget.d.ts.map +1 -1
- package/dist/types/components/Notifications/notificationTarget.d.ts.map +1 -1
- package/dist/types/components/Poll/PollActions/AddCommentPrompt.d.ts.map +1 -1
- package/dist/types/components/Poll/PollActions/EndPollAlert.d.ts.map +1 -1
- package/dist/types/components/Poll/PollActions/PollActions.d.ts.map +1 -1
- package/dist/types/components/Poll/PollActions/PollAnswerList.d.ts.map +1 -1
- package/dist/types/components/Poll/PollActions/PollOptionsFullList.d.ts.map +1 -1
- package/dist/types/components/Poll/PollActions/PollQuestion.d.ts.map +1 -1
- package/dist/types/components/Poll/PollActions/PollResults/PollOptionWithVotes.d.ts +2 -2
- package/dist/types/components/Poll/PollActions/PollResults/PollOptionWithVotes.d.ts.map +1 -1
- package/dist/types/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.d.ts +2 -2
- package/dist/types/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.d.ts.map +1 -1
- package/dist/types/components/Poll/PollActions/PollResults/PollOptionWithVotesList.d.ts +2 -2
- package/dist/types/components/Poll/PollActions/PollResults/PollOptionWithVotesList.d.ts.map +1 -1
- package/dist/types/components/Poll/PollActions/PollResults/PollResults.d.ts.map +1 -1
- package/dist/types/components/Poll/PollActions/SuggestPollOptionPrompt.d.ts.map +1 -1
- package/dist/types/components/Poll/PollCreationDialog/MultipleAnswersField.d.ts.map +1 -1
- package/dist/types/components/Poll/PollCreationDialog/NameField.d.ts.map +1 -1
- package/dist/types/components/Poll/PollCreationDialog/OptionFieldSet.d.ts.map +1 -1
- package/dist/types/components/Poll/PollCreationDialog/PollCreationDialog.d.ts.map +1 -1
- package/dist/types/components/Poll/PollCreationDialog/PollCreationDialogControls.d.ts.map +1 -1
- package/dist/types/components/Poll/PollCreationDialog/PollOptionReorderHandle.d.ts.map +1 -1
- package/dist/types/components/Poll/PollHeader.d.ts.map +1 -1
- package/dist/types/components/Poll/PollOptionList.d.ts.map +1 -1
- package/dist/types/components/Poll/PollOptionSelector.d.ts +2 -2
- package/dist/types/components/Poll/PollOptionSelector.d.ts.map +1 -1
- package/dist/types/components/Poll/PollVote.d.ts +1 -1
- package/dist/types/components/Poll/PollVote.d.ts.map +1 -1
- package/dist/types/components/Poll/hooks/useManagePollVotesRealtime.d.ts +2 -2
- package/dist/types/components/Poll/hooks/useManagePollVotesRealtime.d.ts.map +1 -1
- package/dist/types/components/Poll/hooks/usePollAnswerPagination.d.ts +2 -2
- package/dist/types/components/Poll/hooks/usePollAnswerPagination.d.ts.map +1 -1
- package/dist/types/components/Poll/hooks/usePollOptionVotesPagination.d.ts +2 -2
- package/dist/types/components/Poll/hooks/usePollOptionVotesPagination.d.ts.map +1 -1
- package/dist/types/components/Reactions/MessageReactions.d.ts.map +1 -1
- package/dist/types/components/Reactions/MessageReactionsDetail.d.ts +2 -2
- package/dist/types/components/Reactions/MessageReactionsDetail.d.ts.map +1 -1
- package/dist/types/components/Reactions/ReactionSelector.d.ts.map +1 -1
- package/dist/types/components/Reactions/ReactionSelectorWithButton.d.ts +0 -5
- package/dist/types/components/Reactions/ReactionSelectorWithButton.d.ts.map +1 -1
- package/dist/types/components/Reactions/hooks/useFetchReactions.d.ts +2 -2
- package/dist/types/components/Reactions/hooks/useFetchReactions.d.ts.map +1 -1
- package/dist/types/components/Reactions/hooks/useProcessReactions.d.ts +1 -3
- package/dist/types/components/Reactions/hooks/useProcessReactions.d.ts.map +1 -1
- package/dist/types/components/Search/SearchBar/SearchBar.d.ts.map +1 -1
- package/dist/types/components/Search/SearchContext.d.ts.map +1 -1
- package/dist/types/components/Search/SearchResults/SearchResultItem.d.ts +20 -6
- package/dist/types/components/Search/SearchResults/SearchResultItem.d.ts.map +1 -1
- package/dist/types/components/Search/SearchResults/SearchResultsHeader.d.ts.map +1 -1
- package/dist/types/components/Search/SearchResults/SearchSourceResultsEmpty.d.ts.map +1 -1
- package/dist/types/components/Search/SearchResults/SearchSourceResultsLoadingIndicator.d.ts.map +1 -1
- package/dist/types/components/Search/SearchSourceResultsContext.d.ts.map +1 -1
- package/dist/types/components/Search/hooks/index.d.ts +0 -1
- package/dist/types/components/Search/hooks/index.d.ts.map +1 -1
- package/dist/types/components/SummarizedMessagePreview/SummarizedMessagePreview.d.ts +6 -0
- package/dist/types/components/SummarizedMessagePreview/SummarizedMessagePreview.d.ts.map +1 -1
- package/dist/types/components/SummarizedMessagePreview/hooks/useLatestMessagePreview.d.ts.map +1 -1
- package/dist/types/components/TextareaComposer/SuggestionList/CommandItem.d.ts +2 -2
- package/dist/types/components/TextareaComposer/SuggestionList/CommandItem.d.ts.map +1 -1
- package/dist/types/components/TextareaComposer/SuggestionList/MentionItem/BroadcastMentionItem.d.ts.map +1 -1
- package/dist/types/components/TextareaComposer/SuggestionList/MentionItem/RoleItem.d.ts.map +1 -1
- package/dist/types/components/TextareaComposer/SuggestionList/MentionItem/UserGroupItem.d.ts.map +1 -1
- package/dist/types/components/TextareaComposer/SuggestionList/SuggestionList.d.ts.map +1 -1
- package/dist/types/components/TextareaComposer/TextareaComposer.d.ts.map +1 -1
- package/dist/types/components/TextareaComposer/hooks/useTextareaPlaceholder.d.ts.map +1 -1
- package/dist/types/components/Thread/Thread.d.ts +31 -27
- package/dist/types/components/Thread/Thread.d.ts.map +1 -1
- package/dist/types/components/Thread/ThreadHead.d.ts.map +1 -1
- package/dist/types/components/Thread/ThreadHeader.d.ts +13 -6
- package/dist/types/components/Thread/ThreadHeader.d.ts.map +1 -1
- package/dist/types/components/Thread/ThreadStart.d.ts.map +1 -1
- package/dist/types/components/Thread/index.d.ts +0 -1
- package/dist/types/components/Thread/index.d.ts.map +1 -1
- package/dist/types/components/Threads/ThreadContext.d.ts.map +1 -1
- package/dist/types/components/Threads/ThreadList/ThreadList.d.ts.map +1 -1
- package/dist/types/components/Threads/ThreadList/ThreadListEmptyPlaceholder.d.ts.map +1 -1
- package/dist/types/components/Threads/ThreadList/ThreadListHeader.d.ts.map +1 -1
- package/dist/types/components/Threads/ThreadList/ThreadListItemUI.d.ts.map +1 -1
- package/dist/types/components/Threads/ThreadList/ThreadListUnseenThreadsBanner.d.ts.map +1 -1
- package/dist/types/components/Threads/ThreadList/useThreadHighlighting.d.ts +15 -0
- package/dist/types/components/Threads/ThreadList/useThreadHighlighting.d.ts.map +1 -0
- package/dist/types/components/Threads/ThreadList/utils.a11y.d.ts.map +1 -1
- package/dist/types/components/Threads/hooks/useCloseThread.d.ts +9 -0
- package/dist/types/components/Threads/hooks/useCloseThread.d.ts.map +1 -0
- package/dist/types/components/Threads/index.d.ts +1 -0
- package/dist/types/components/Threads/index.d.ts.map +1 -1
- package/dist/types/components/TypingIndicator/TypingIndicator.d.ts +4 -5
- package/dist/types/components/TypingIndicator/TypingIndicator.d.ts.map +1 -1
- package/dist/types/components/TypingIndicator/TypingIndicatorHeader.d.ts +1 -1
- package/dist/types/components/TypingIndicator/TypingIndicatorHeader.d.ts.map +1 -1
- package/dist/types/components/TypingIndicator/hooks/useDebouncedTypingActive.d.ts +2 -2
- package/dist/types/components/TypingIndicator/hooks/useDebouncedTypingActive.d.ts.map +1 -1
- package/dist/types/components/TypingIndicator/utils/getTypingStatusMessage.d.ts +2 -3
- package/dist/types/components/TypingIndicator/utils/getTypingStatusMessage.d.ts.map +1 -1
- package/dist/types/components/VideoPlayer/VideoThumbnail.d.ts.map +1 -1
- package/dist/types/components/index.d.ts +0 -2
- package/dist/types/components/index.d.ts.map +1 -1
- package/dist/types/context/AttachmentContext.d.ts +19 -0
- package/dist/types/context/AttachmentContext.d.ts.map +1 -0
- package/dist/types/context/ChannelInstanceContext.d.ts +16 -0
- package/dist/types/context/ChannelInstanceContext.d.ts.map +1 -0
- package/dist/types/context/ChannelListContext.d.ts +9 -18
- package/dist/types/context/ChannelListContext.d.ts.map +1 -1
- package/dist/types/context/ChatContext.d.ts +10 -23
- package/dist/types/context/ChatContext.d.ts.map +1 -1
- package/dist/types/context/ComponentContext.d.ts +30 -23
- package/dist/types/context/ComponentContext.d.ts.map +1 -1
- package/dist/types/context/DialogManagerContext.d.ts.map +1 -1
- package/dist/types/context/MessageBounceContext.d.ts +1 -1
- package/dist/types/context/MessageBounceContext.d.ts.map +1 -1
- package/dist/types/context/MessageComposerContext.d.ts +7 -2
- package/dist/types/context/MessageComposerContext.d.ts.map +1 -1
- package/dist/types/context/MessageComposerControllerContext.d.ts +13 -0
- package/dist/types/context/MessageComposerControllerContext.d.ts.map +1 -0
- package/dist/types/context/MessageContext.d.ts +8 -21
- package/dist/types/context/MessageContext.d.ts.map +1 -1
- package/dist/types/context/MessageListContext.d.ts +2 -2
- package/dist/types/context/MessageListContext.d.ts.map +1 -1
- package/dist/types/context/MessageTranslationViewContext.d.ts.map +1 -1
- package/dist/types/context/ModalContext.d.ts +4 -0
- package/dist/types/context/ModalContext.d.ts.map +1 -1
- package/dist/types/context/PollContext.d.ts.map +1 -1
- package/dist/types/context/TranslationContext.d.ts +21 -11
- package/dist/types/context/TranslationContext.d.ts.map +1 -1
- package/dist/types/context/VirtualizedMessageListContext.d.ts.map +1 -1
- package/dist/types/context/WithComponents.d.ts.map +1 -1
- package/dist/types/context/WorkspaceNavigationContext.d.ts +128 -0
- package/dist/types/context/WorkspaceNavigationContext.d.ts.map +1 -0
- package/dist/types/context/index.d.ts +6 -4
- package/dist/types/context/index.d.ts.map +1 -1
- package/dist/types/context/requireContext.d.ts +10 -0
- package/dist/types/context/requireContext.d.ts.map +1 -0
- package/dist/types/context/useChannel.d.ts +3 -0
- package/dist/types/context/useChannel.d.ts.map +1 -0
- package/dist/types/context/useComponentContextIcons.d.ts +4 -6
- package/dist/types/context/useComponentContextIcons.d.ts.map +1 -1
- package/dist/types/hooks/index.d.ts +3 -0
- package/dist/types/hooks/index.d.ts.map +1 -0
- package/dist/types/hooks/useIsDmChannel.d.ts +13 -0
- package/dist/types/hooks/useIsDmChannel.d.ts.map +1 -0
- package/dist/types/hooks/useMessagePaginator.d.ts +6 -0
- package/dist/types/hooks/useMessagePaginator.d.ts.map +1 -0
- package/dist/types/i18n/Streami18n.d.ts +48 -848
- package/dist/types/i18n/Streami18n.d.ts.map +1 -1
- package/dist/types/i18n/TranslationBuilder/index.d.ts +6 -1
- package/dist/types/i18n/TranslationBuilder/index.d.ts.map +1 -1
- package/dist/types/i18n/TranslationBuilder/notifications/NotificationTranslationTopic.d.ts.map +1 -1
- package/dist/types/i18n/TranslationBuilder/notifications/translators.d.ts.map +1 -1
- package/dist/types/i18n/TranslationBuilder/notifications/translatorsByNotificationType.d.ts +3 -1
- package/dist/types/i18n/TranslationBuilder/notifications/translatorsByNotificationType.d.ts.map +1 -1
- package/dist/types/i18n/index.d.ts +2 -2
- package/dist/types/i18n/index.d.ts.map +1 -1
- package/dist/types/i18n/keys.d.ts +583 -0
- package/dist/types/i18n/keys.d.ts.map +1 -0
- package/dist/types/i18n/runtimeDefaults.d.ts +37 -0
- package/dist/types/i18n/runtimeDefaults.d.ts.map +1 -0
- package/dist/types/i18n/types.d.ts +34 -104
- package/dist/types/i18n/types.d.ts.map +1 -1
- package/dist/types/i18n/useStreami18n.d.ts +19 -0
- package/dist/types/i18n/useStreami18n.d.ts.map +1 -0
- package/dist/types/i18n/utils.d.ts +18 -14
- package/dist/types/i18n/utils.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/AvatarWithChannelDetail.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/ChannelDetail.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/ChannelDetailEmptyList.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/ChannelDetailSearchInput.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/SectionNavigator/SectionNavigatorHeader.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesEmptyList.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesView.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesView.utils.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementActions.defaults.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementView.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaEmptyList.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.utils.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberActions.defaults.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberDetail.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersAddView.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersBrowseView.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersHeaderActions.defaults.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersView.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersView.utils.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesEmptyList.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesView.d.ts.map +1 -1
- package/dist/types/plugins/ChannelDetail/Views/PinnedMessagesView/usePinnedMessagesCount.d.ts +5 -1
- package/dist/types/plugins/ChannelDetail/Views/PinnedMessagesView/usePinnedMessagesCount.d.ts.map +1 -1
- package/dist/types/plugins/Emojis/EmojiPicker.d.ts +0 -4
- package/dist/types/plugins/Emojis/EmojiPicker.d.ts.map +1 -1
- package/dist/types/plugins/SlotGeometry/SlotGeometry.d.ts +72 -0
- package/dist/types/plugins/SlotGeometry/SlotGeometry.d.ts.map +1 -0
- package/dist/types/plugins/SlotGeometry/index.d.ts +3 -0
- package/dist/types/plugins/SlotGeometry/index.d.ts.map +1 -0
- package/dist/types/plugins/SlotLayout/ChannelSlot.d.ts +24 -0
- package/dist/types/plugins/SlotLayout/ChannelSlot.d.ts.map +1 -0
- package/dist/types/plugins/SlotLayout/ChatView.a11y.utility.d.ts.map +1 -0
- package/dist/types/plugins/SlotLayout/ChatView.d.ts +113 -0
- package/dist/types/plugins/SlotLayout/ChatView.d.ts.map +1 -0
- package/dist/types/plugins/SlotLayout/ChatViewNavigationContext.d.ts +111 -0
- package/dist/types/plugins/SlotLayout/ChatViewNavigationContext.d.ts.map +1 -0
- package/dist/types/plugins/SlotLayout/ThreadListSlot.d.ts +8 -0
- package/dist/types/plugins/SlotLayout/ThreadListSlot.d.ts.map +1 -0
- package/dist/types/plugins/SlotLayout/ThreadSlot.d.ts +10 -0
- package/dist/types/plugins/SlotLayout/ThreadSlot.d.ts.map +1 -0
- package/dist/types/plugins/SlotLayout/hooks/index.d.ts +3 -0
- package/dist/types/plugins/SlotLayout/hooks/index.d.ts.map +1 -0
- package/dist/types/plugins/SlotLayout/hooks/useLayoutViewState.d.ts +5 -0
- package/dist/types/plugins/SlotLayout/hooks/useLayoutViewState.d.ts.map +1 -0
- package/dist/types/plugins/SlotLayout/hooks/useSlotEntity.d.ts +162 -0
- package/dist/types/plugins/SlotLayout/hooks/useSlotEntity.d.ts.map +1 -0
- package/dist/types/plugins/SlotLayout/index.d.ts +12 -0
- package/dist/types/plugins/SlotLayout/index.d.ts.map +1 -0
- package/dist/types/plugins/SlotLayout/layout/Slot.d.ts +8 -0
- package/dist/types/plugins/SlotLayout/layout/Slot.d.ts.map +1 -0
- package/dist/types/plugins/SlotLayout/layout/WorkspaceLayout.d.ts +11 -0
- package/dist/types/plugins/SlotLayout/layout/WorkspaceLayout.d.ts.map +1 -0
- package/dist/types/plugins/SlotLayout/layoutController/LayoutController.d.ts +25 -0
- package/dist/types/plugins/SlotLayout/layoutController/LayoutController.d.ts.map +1 -0
- package/dist/types/plugins/SlotLayout/layoutController/layoutControllerTypes.d.ts +121 -0
- package/dist/types/plugins/SlotLayout/layoutController/layoutControllerTypes.d.ts.map +1 -0
- package/dist/types/plugins/SlotLayout/layoutController/serialization.d.ts +6 -0
- package/dist/types/plugins/SlotLayout/layoutController/serialization.d.ts.map +1 -0
- package/dist/types/plugins/SlotLayout/slotBinding.d.ts +85 -0
- package/dist/types/plugins/SlotLayout/slotBinding.d.ts.map +1 -0
- package/dist/types/plugins/SlotLayout/slotRegistry.d.ts +60 -0
- package/dist/types/plugins/SlotLayout/slotRegistry.d.ts.map +1 -0
- package/dist/types/plugins/SlotLayout/workspaceNavigationAdapter.d.ts +26 -0
- package/dist/types/plugins/SlotLayout/workspaceNavigationAdapter.d.ts.map +1 -0
- package/dist/types/store/hooks/useStateStore.d.ts +1 -1
- package/dist/types/store/hooks/useStateStore.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +0 -1
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/types/types.d.ts +0 -10
- package/dist/types/types/types.d.ts.map +1 -1
- package/dist/types/utils/getChannel.d.ts +2 -2
- package/dist/types/utils/getChannel.d.ts.map +1 -1
- package/dist/types/utils/useStableCallback.d.ts +1 -1
- package/package.json +34 -16
- package/dist/cjs/NotificationList.4ce251ea.js +0 -9552
- package/dist/cjs/NotificationList.4ce251ea.js.map +0 -1
- package/dist/cjs/useChannelHeaderOnlineStatus.64c443f5.js +0 -961
- package/dist/cjs/useChannelHeaderOnlineStatus.64c443f5.js.map +0 -1
- package/dist/cjs/useInertWhenHidden.1a2a6a2b.js +0 -6573
- package/dist/cjs/useInertWhenHidden.1a2a6a2b.js.map +0 -1
- package/dist/es/components/Channel/channelState.mjs +0 -195
- package/dist/es/components/Channel/channelState.mjs.map +0 -1
- package/dist/es/components/Channel/hooks/useCreateChannelStateContext.mjs +0 -86
- package/dist/es/components/Channel/hooks/useCreateChannelStateContext.mjs.map +0 -1
- package/dist/es/components/Channel/hooks/useCreateTypingContext.mjs +0 -10
- package/dist/es/components/Channel/hooks/useCreateTypingContext.mjs.map +0 -1
- package/dist/es/components/Channel/hooks/useEditMessageHandler.mjs +0 -13
- package/dist/es/components/Channel/hooks/useEditMessageHandler.mjs.map +0 -1
- package/dist/es/components/Channel/hooks/useIsMounted.mjs +0 -16
- package/dist/es/components/Channel/hooks/useIsMounted.mjs.map +0 -1
- package/dist/es/components/Channel/hooks/useMentionsHandlers.mjs +0 -18
- package/dist/es/components/Channel/hooks/useMentionsHandlers.mjs.map +0 -1
- package/dist/es/components/Channel/utils.mjs +0 -156
- package/dist/es/components/Channel/utils.mjs.map +0 -1
- package/dist/es/components/ChannelList/ChannelListUI.mjs +0 -35
- package/dist/es/components/ChannelList/ChannelListUI.mjs.map +0 -1
- package/dist/es/components/ChannelList/hooks/useChannelListShape.mjs +0 -310
- package/dist/es/components/ChannelList/hooks/useChannelListShape.mjs.map +0 -1
- package/dist/es/components/ChannelList/hooks/useConnectionRecoveredListener.mjs +0 -19
- package/dist/es/components/ChannelList/hooks/useConnectionRecoveredListener.mjs.map +0 -1
- package/dist/es/components/ChannelList/hooks/usePaginatedChannels.mjs +0 -110
- package/dist/es/components/ChannelList/hooks/usePaginatedChannels.mjs.map +0 -1
- package/dist/es/components/ChannelList/utils.mjs +0 -86
- package/dist/es/components/ChannelList/utils.mjs.map +0 -1
- package/dist/es/components/Chat/hooks/useChannelsQueryState.mjs +0 -16
- package/dist/es/components/Chat/hooks/useChannelsQueryState.mjs.map +0 -1
- package/dist/es/components/ChatView/ChatView.a11y.utility.mjs.map +0 -1
- package/dist/es/components/ChatView/ChatView.mjs +0 -224
- package/dist/es/components/ChatView/ChatView.mjs.map +0 -1
- package/dist/es/components/MessageComposer/hooks/useSubmitHandler.mjs +0 -98
- package/dist/es/components/MessageComposer/hooks/useSubmitHandler.mjs.map +0 -1
- package/dist/es/components/MessageList/hooks/useReducedMotionPreference.mjs +0 -23
- package/dist/es/components/MessageList/hooks/useReducedMotionPreference.mjs.map +0 -1
- package/dist/es/components/Search/hooks/useSearchFocusedMessage.mjs +0 -13
- package/dist/es/components/Search/hooks/useSearchFocusedMessage.mjs.map +0 -1
- package/dist/es/components/Thread/LegacyThreadContext.mjs +0 -8
- package/dist/es/components/Thread/LegacyThreadContext.mjs.map +0 -1
- package/dist/es/components/UtilityComponents/NullComponent.mjs +0 -6
- package/dist/es/components/UtilityComponents/NullComponent.mjs.map +0 -1
- package/dist/es/components/Window/Window.mjs +0 -21
- package/dist/es/components/Window/Window.mjs.map +0 -1
- package/dist/es/context/ChannelActionContext.mjs +0 -20
- package/dist/es/context/ChannelActionContext.mjs.map +0 -1
- package/dist/es/context/ChannelStateContext.mjs +0 -24
- package/dist/es/context/ChannelStateContext.mjs.map +0 -1
- package/dist/es/context/TypingContext.mjs +0 -20
- package/dist/es/context/TypingContext.mjs.map +0 -1
- package/dist/es/i18n/TranslationBuilder/TranslationBuilder.mjs +0 -86
- package/dist/es/i18n/TranslationBuilder/TranslationBuilder.mjs.map +0 -1
- package/dist/es/i18n/de.mjs +0 -782
- package/dist/es/i18n/de.mjs.map +0 -1
- package/dist/es/i18n/en.mjs +0 -779
- package/dist/es/i18n/en.mjs.map +0 -1
- package/dist/es/i18n/es.mjs +0 -821
- package/dist/es/i18n/es.mjs.map +0 -1
- package/dist/es/i18n/fr.mjs +0 -822
- package/dist/es/i18n/fr.mjs.map +0 -1
- package/dist/es/i18n/hi.mjs +0 -786
- package/dist/es/i18n/hi.mjs.map +0 -1
- package/dist/es/i18n/it.mjs +0 -821
- package/dist/es/i18n/it.mjs.map +0 -1
- package/dist/es/i18n/ja.mjs +0 -760
- package/dist/es/i18n/ja.mjs.map +0 -1
- package/dist/es/i18n/ko.mjs +0 -760
- package/dist/es/i18n/ko.mjs.map +0 -1
- package/dist/es/i18n/nl.mjs +0 -786
- package/dist/es/i18n/nl.mjs.map +0 -1
- package/dist/es/i18n/pt.mjs +0 -819
- package/dist/es/i18n/pt.mjs.map +0 -1
- package/dist/es/i18n/ru.mjs +0 -868
- package/dist/es/i18n/ru.mjs.map +0 -1
- package/dist/es/i18n/tr.mjs +0 -781
- package/dist/es/i18n/tr.mjs.map +0 -1
- package/dist/es/utils/getChannelConfig.mjs +0 -11
- package/dist/es/utils/getChannelConfig.mjs.map +0 -1
- package/dist/types/components/Channel/channelState.d.ts +0 -90
- package/dist/types/components/Channel/channelState.d.ts.map +0 -1
- package/dist/types/components/Channel/hooks/useCreateChannelStateContext.d.ts +0 -6
- package/dist/types/components/Channel/hooks/useCreateChannelStateContext.d.ts.map +0 -1
- package/dist/types/components/Channel/hooks/useCreateTypingContext.d.ts +0 -3
- package/dist/types/components/Channel/hooks/useCreateTypingContext.d.ts.map +0 -1
- package/dist/types/components/Channel/hooks/useEditMessageHandler.d.ts +0 -5
- package/dist/types/components/Channel/hooks/useEditMessageHandler.d.ts.map +0 -1
- package/dist/types/components/Channel/hooks/useMentionsHandlers.d.ts +0 -10
- package/dist/types/components/Channel/hooks/useMentionsHandlers.d.ts.map +0 -1
- package/dist/types/components/Channel/utils.d.ts +0 -55
- package/dist/types/components/Channel/utils.d.ts.map +0 -1
- package/dist/types/components/ChannelList/ChannelListUI.d.ts +0 -18
- package/dist/types/components/ChannelList/ChannelListUI.d.ts.map +0 -1
- package/dist/types/components/ChannelList/hooks/useChannelListShape.d.ts +0 -61
- package/dist/types/components/ChannelList/hooks/useChannelListShape.d.ts.map +0 -1
- package/dist/types/components/ChannelList/hooks/useConnectionRecoveredListener.d.ts +0 -2
- package/dist/types/components/ChannelList/hooks/useConnectionRecoveredListener.d.ts.map +0 -1
- package/dist/types/components/ChannelList/hooks/usePaginatedChannels.d.ts +0 -29
- package/dist/types/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +0 -1
- package/dist/types/components/ChannelList/utils.d.ts +0 -46
- package/dist/types/components/ChannelList/utils.d.ts.map +0 -1
- package/dist/types/components/Chat/hooks/useChannelsQueryState.d.ts +0 -12
- package/dist/types/components/Chat/hooks/useChannelsQueryState.d.ts.map +0 -1
- package/dist/types/components/ChatView/ChatView.a11y.utility.d.ts.map +0 -1
- package/dist/types/components/ChatView/ChatView.d.ts +0 -59
- package/dist/types/components/ChatView/ChatView.d.ts.map +0 -1
- package/dist/types/components/ChatView/index.d.ts +0 -2
- package/dist/types/components/ChatView/index.d.ts.map +0 -1
- package/dist/types/components/MessageComposer/hooks/useSubmitHandler.d.ts +0 -5
- package/dist/types/components/MessageComposer/hooks/useSubmitHandler.d.ts.map +0 -1
- package/dist/types/components/Search/hooks/useSearchFocusedMessage.d.ts +0 -2
- package/dist/types/components/Search/hooks/useSearchFocusedMessage.d.ts.map +0 -1
- package/dist/types/components/Thread/LegacyThreadContext.d.ts +0 -9
- package/dist/types/components/Thread/LegacyThreadContext.d.ts.map +0 -1
- package/dist/types/components/Window/Window.d.ts +0 -13
- package/dist/types/components/Window/Window.d.ts.map +0 -1
- package/dist/types/components/Window/index.d.ts +0 -2
- package/dist/types/components/Window/index.d.ts.map +0 -1
- package/dist/types/context/ChannelActionContext.d.ts +0 -46
- package/dist/types/context/ChannelActionContext.d.ts.map +0 -1
- package/dist/types/context/ChannelStateContext.d.ts +0 -51
- package/dist/types/context/ChannelStateContext.d.ts.map +0 -1
- package/dist/types/context/TypingContext.d.ts +0 -12
- package/dist/types/context/TypingContext.d.ts.map +0 -1
- package/dist/types/i18n/TranslationBuilder/TranslationBuilder.d.ts +0 -36
- package/dist/types/i18n/TranslationBuilder/TranslationBuilder.d.ts.map +0 -1
- package/dist/types/i18n/translations.d.ts +0 -14
- package/dist/types/i18n/translations.d.ts.map +0 -1
- package/dist/types/utils/getChannelConfig.d.ts +0 -8
- package/dist/types/utils/getChannelConfig.d.ts.map +0 -1
- /package/dist/types/{components/ChatView → plugins/SlotLayout}/ChatView.a11y.utility.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageActions.defaults.mjs","names":[],"sources":["../../../../src/components/MessageActions/MessageActions.defaults.tsx"],"sourcesContent":["/* eslint-disable sort-keys */\nimport React, { forwardRef, useState } from 'react';\n\nimport { GlobalModal } from '../Modal';\nimport { isMessageDeleted, isUserMuted } from '../Message/utils';\nimport { useMessageComposerController } from '../MessageComposer/hooks/useMessageComposerController';\nimport { savePreEditSnapshot } from '../MessageComposer/preEditSnapshot';\nimport { useNotificationApi } from '../Notifications';\nimport { useMessageReminder } from '../Message/hooks/useMessageReminder';\nimport { ReactionSelector as DefaultReactionSelector } from '../Reactions';\nimport { ReactionSelectorWithButton } from '../Reactions/ReactionSelectorWithButton';\nimport {\n useChatContext,\n useComponentContext,\n useComponentContextIcons,\n useMessageContext,\n useTranslationContext,\n} from '../../context';\nimport { RemindMeSubmenu, RemindMeSubmenuHeader } from './RemindMeSubmenu';\nimport { DownloadSubmenu, DownloadSubmenuHeader } from './DownloadSubmenu';\nimport {\n ContextMenuButton,\n DialogAnchor,\n useContextMenuContext,\n useDialogIsOpen,\n useDialogOnNearestManager,\n} from '../Dialog';\nimport { MessageActions, type MessageActionSetItem } from './MessageActions';\nimport { QuickMessageActionsButton } from './QuickMessageActionButton';\nimport clsx from 'clsx';\nimport { DeleteMessageAlert } from './DeleteMessageAlert';\nimport { downloadAttachment, isDownloadableAttachment } from './downloadUtils';\n\nconst msgActionsBoxButtonClassName =\n 'str-chat__message-actions-list-item-button' as const;\n\nconst MessageActionsMenuItemButton = (\n props: React.ComponentProps<typeof ContextMenuButton>,\n) => <ContextMenuButton {...props} />;\n\nconst getErrorMessage = (error: unknown, fallback: string) =>\n error instanceof Error && error.message ? error.message : fallback;\n\nconst getNotificationError = (error: unknown): Error | undefined => {\n if (error instanceof Error) return error;\n if (typeof error === 'string') return new Error(error);\n if (error && typeof error === 'object' && 'message' in error) {\n const message = error.message;\n if (typeof message === 'string') return new Error(message);\n }\n return undefined;\n};\n\nconst DefaultMessageActionComponents = {\n dropdown: {\n React() {\n const { ReactionSelector = DefaultReactionSelector } = useComponentContext();\n const { anchorReferenceElement } = useContextMenuContext();\n const { isMyMessage, message, threadList } = useMessageContext();\n const { t } = useTranslationContext();\n const [referenceElement, setReferenceElement] = useState<HTMLElement | null>(null);\n const dialogId = `${DefaultReactionSelector.getDialogId({\n messageId: message.id,\n threadList,\n })}-dropdown`;\n const { dialog, dialogManager } = useDialogOnNearestManager({\n id: dialogId,\n });\n const dialogIsOpen = useDialogIsOpen(dialogId, dialogManager?.id);\n\n const { IconEmoji } = useComponentContextIcons();\n return (\n <>\n <DialogAnchor\n dialogManagerId={dialogManager?.id}\n id={dialogId}\n offset={8}\n placement={isMyMessage() ? 'top-end' : 'top-start'}\n referenceElement={referenceElement}\n trapFocus\n updatePositionOnContentResize\n >\n <ReactionSelector dialogId={dialogId} />\n </DialogAnchor>\n <MessageActionsMenuItemButton\n aria-expanded={dialogIsOpen}\n aria-label={t('aria/Open Reaction Selector')}\n className={clsx(\n msgActionsBoxButtonClassName,\n 'str-chat__message-actions-list-item-button--react',\n )}\n data-testid='dropdown-react-action'\n Icon={IconEmoji}\n onClick={(event) => {\n if (dialogIsOpen) {\n dialog.close();\n return;\n }\n setReferenceElement(\n anchorReferenceElement instanceof HTMLElement\n ? anchorReferenceElement\n : event.currentTarget,\n );\n dialog.open();\n }}\n >\n {t('Add reaction')}\n </MessageActionsMenuItemButton>\n </>\n );\n },\n ThreadReply() {\n const { closeMenu } = useContextMenuContext();\n const { handleOpenThread } = useMessageContext();\n const { t } = useTranslationContext();\n\n const { IconThread } = useComponentContextIcons();\n return (\n <MessageActionsMenuItemButton\n aria-label={t('aria/Open Thread')}\n className={msgActionsBoxButtonClassName}\n data-testid='thread-action'\n Icon={IconThread}\n onClick={(e) => {\n handleOpenThread(e);\n closeMenu();\n }}\n >\n {t('Thread Reply')}\n </MessageActionsMenuItemButton>\n );\n },\n Quote() {\n const { closeMenu } = useContextMenuContext();\n const { message } = useMessageContext();\n const { t } = useTranslationContext();\n const messageComposer = useMessageComposerController();\n\n const handleQuote = () => {\n messageComposer.setQuotedMessage(message);\n\n const elements = message.parent_id\n ? document.querySelectorAll('.str-chat__thread .str-chat__textarea__textarea')\n : document.getElementsByClassName('str-chat__textarea__textarea');\n const textarea = elements.item(0);\n\n if (textarea instanceof HTMLTextAreaElement) {\n textarea.focus();\n }\n };\n\n const { IconQuote } = useComponentContextIcons();\n return (\n <MessageActionsMenuItemButton\n aria-label={t('aria/Quote Message')}\n className={msgActionsBoxButtonClassName}\n Icon={IconQuote}\n onClick={() => {\n handleQuote();\n closeMenu();\n }}\n >\n {t('Quote Reply')}\n </MessageActionsMenuItemButton>\n );\n },\n Download() {\n const { closeMenu, openSubmenu } = useContextMenuContext();\n const { message } = useMessageContext();\n const { t } = useTranslationContext();\n const { IconDownload } = useComponentContextIcons();\n\n const downloadableAttachments = (message.attachments ?? []).filter(\n isDownloadableAttachment,\n );\n\n if (!downloadableAttachments.length) return null;\n\n return (\n <MessageActionsMenuItemButton\n aria-label={t('aria/Download attachment')}\n className={msgActionsBoxButtonClassName}\n hasSubMenu={downloadableAttachments.length > 1}\n Icon={IconDownload}\n onClick={(event) => {\n if (downloadableAttachments.length > 1) {\n openSubmenu({\n focusReturnTarget: event.currentTarget,\n Header: DownloadSubmenuHeader,\n Submenu: DownloadSubmenu,\n });\n return;\n }\n\n void downloadAttachment(downloadableAttachments[0]);\n closeMenu();\n }}\n >\n {t('Download Attachment')}\n </MessageActionsMenuItemButton>\n );\n },\n Pin() {\n const { closeMenu } = useContextMenuContext();\n const { handlePin, message } = useMessageContext();\n const { addNotification } = useNotificationApi();\n const { t } = useTranslationContext();\n const isPinned = !!message.pinned;\n const { IconPin, IconUnpin } = useComponentContextIcons();\n return (\n <MessageActionsMenuItemButton\n aria-label={isPinned ? t('aria/Unpin Message') : t('aria/Pin Message')}\n className={msgActionsBoxButtonClassName}\n Icon={isPinned ? IconUnpin : IconPin}\n onClick={async (event) => {\n try {\n await handlePin(event);\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: isPinned ? t('Message unpinned') : t('Message pinned'),\n severity: 'success',\n type: isPinned ? 'api:message:unpin:success' : 'api:message:pin:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(\n error,\n isPinned ? t('Error removing message pin') : t('Error pinning message'),\n ),\n severity: 'error',\n type: isPinned ? 'api:message:unpin:failed' : 'api:message:pin:failed',\n });\n }\n closeMenu();\n }}\n >\n {isPinned ? t('Unpin') : t('Pin')}\n </MessageActionsMenuItemButton>\n );\n },\n CopyMessageText() {\n const { closeMenu } = useContextMenuContext();\n const { message } = useMessageContext();\n const { t } = useTranslationContext();\n\n const { IconCopy } = useComponentContextIcons();\n return (\n <MessageActionsMenuItemButton\n aria-label={t('aria/Copy Message Text')}\n className={msgActionsBoxButtonClassName}\n Icon={IconCopy}\n onClick={() => {\n if (message.text) navigator.clipboard.writeText(message.text);\n closeMenu();\n }}\n >\n {t('Copy Message')}\n </MessageActionsMenuItemButton>\n );\n },\n Resend() {\n const { closeMenu } = useContextMenuContext();\n const { handleRetry, message } = useMessageContext();\n const { t } = useTranslationContext();\n\n const { IconRetry } = useComponentContextIcons();\n return (\n <MessageActionsMenuItemButton\n aria-label={t('aria/Resend Message')}\n className={msgActionsBoxButtonClassName}\n Icon={IconRetry}\n onClick={() => {\n handleRetry(message);\n closeMenu();\n }}\n >\n {t('Resend')}\n </MessageActionsMenuItemButton>\n );\n },\n Edit() {\n const messageComposer = useMessageComposerController();\n const { message } = useMessageContext();\n const { t } = useTranslationContext();\n const { closeMenu } = useContextMenuContext();\n\n const { IconEdit } = useComponentContextIcons();\n return (\n <MessageActionsMenuItemButton\n aria-label={t('aria/Edit Message')}\n className={msgActionsBoxButtonClassName}\n Icon={IconEdit}\n onClick={() => {\n savePreEditSnapshot(messageComposer);\n messageComposer.initState({ composition: message });\n closeMenu();\n }}\n >\n {t('Edit Message')}\n </MessageActionsMenuItemButton>\n );\n },\n MarkUnread() {\n const { closeMenu } = useContextMenuContext();\n const { handleMarkUnread, message } = useMessageContext();\n const { addNotification } = useNotificationApi();\n const { t } = useTranslationContext();\n\n const { IconNotification } = useComponentContextIcons();\n return (\n <MessageActionsMenuItemButton\n aria-label={t('aria/Mark Message Unread')}\n className={msgActionsBoxButtonClassName}\n Icon={IconNotification}\n onClick={async (event) => {\n try {\n await handleMarkUnread(event);\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t('Message marked as unread'),\n severity: 'success',\n type: 'api:message:markUnread:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(\n error,\n t(\n 'Error marking message unread. Cannot mark unread messages older than the newest 100 channel messages.',\n ),\n ),\n severity: 'error',\n type: 'api:message:markUnread:failed',\n });\n }\n closeMenu();\n }}\n >\n {t('Mark as unread')}\n </MessageActionsMenuItemButton>\n );\n },\n RemindMe() {\n const { closeMenu, openSubmenu } = useContextMenuContext();\n const { client } = useChatContext();\n const { addNotification } = useNotificationApi();\n const { t } = useTranslationContext();\n const { message } = useMessageContext();\n const reminder = useMessageReminder(message.id);\n const { IconBell, IconBellOff } = useComponentContextIcons();\n const messageAlreadyBookmarked = reminder && !reminder?.remindAt;\n\n if (messageAlreadyBookmarked) return null;\n\n return (\n <MessageActionsMenuItemButton\n aria-label={reminder ? t('aria/Remind Me Message') : t('aria/Remove Reminder')}\n className={msgActionsBoxButtonClassName}\n hasSubMenu={!reminder}\n Icon={reminder ? IconBellOff : IconBell}\n onClick={async (event) => {\n if (reminder) {\n try {\n await client.reminders.deleteReminder(reminder.id);\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t('Remove reminder'),\n severity: 'success',\n type: 'api:message:reminder:delete:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(error, 'Error removing reminder'),\n severity: 'error',\n type: 'api:message:reminder:delete:failed',\n });\n } finally {\n closeMenu();\n }\n } else {\n openSubmenu({\n focusReturnTarget: event.currentTarget,\n Header: RemindMeSubmenuHeader,\n Submenu: RemindMeSubmenu,\n });\n }\n }}\n >\n {reminder ? t('Remove reminder') : t('Remind me')}\n </MessageActionsMenuItemButton>\n );\n },\n SaveForLater() {\n const { closeMenu } = useContextMenuContext();\n const { client } = useChatContext();\n const { addNotification } = useNotificationApi();\n const { message } = useMessageContext();\n const { t } = useTranslationContext();\n const reminder = useMessageReminder(message.id);\n const { IconBookmark, IconBookmarkRemove } = useComponentContextIcons();\n const messageAlreadyHasReminderScheduled = Boolean(reminder && reminder?.remindAt);\n\n if (messageAlreadyHasReminderScheduled) return null;\n\n return (\n <MessageActionsMenuItemButton\n aria-label={\n reminder ? t('aria/Remove Save For Later') : t('aria/Bookmark Message')\n }\n className={msgActionsBoxButtonClassName}\n Icon={reminder ? IconBookmarkRemove : IconBookmark}\n onClick={async () => {\n try {\n if (reminder) {\n await client.reminders.deleteReminder(reminder.id);\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t('Remove save for later'),\n severity: 'success',\n type: 'api:message:saveForLater:delete:success',\n });\n } else {\n await client.reminders.createReminder({ messageId: message.id });\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t('Saved for later'),\n severity: 'success',\n type: 'api:message:saveForLater:create:success',\n });\n }\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(\n error,\n reminder\n ? 'Error removing message from saved for later'\n : 'Error saving message for later',\n ),\n severity: 'error',\n type: reminder\n ? 'api:message:saveForLater:delete:failed'\n : 'api:message:saveForLater:create:failed',\n });\n } finally {\n closeMenu();\n }\n }}\n >\n {reminder ? t('Remove save for later') : t('Save for later')}\n </MessageActionsMenuItemButton>\n );\n },\n Flag() {\n const { closeMenu } = useContextMenuContext();\n const { handleFlag, message } = useMessageContext();\n const { addNotification } = useNotificationApi();\n const { t } = useTranslationContext();\n\n const { IconFlag } = useComponentContextIcons();\n return (\n <MessageActionsMenuItemButton\n aria-label={t('aria/Flag Message')}\n className={msgActionsBoxButtonClassName}\n Icon={IconFlag}\n onClick={async (event) => {\n try {\n await handleFlag(event);\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t('Message has been successfully flagged'),\n severity: 'success',\n type: 'api:message:flag:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(error, t('Error adding flag')),\n severity: 'error',\n type: 'api:message:flag:failed',\n });\n }\n closeMenu();\n }}\n >\n {t('Flag')}\n </MessageActionsMenuItemButton>\n );\n },\n Mute() {\n const { closeMenu } = useContextMenuContext();\n const { handleMute, message } = useMessageContext();\n const { addNotification } = useNotificationApi();\n const { mutes } = useChatContext();\n const { t } = useTranslationContext();\n\n const isMuted = isUserMuted(message, mutes);\n const { IconAudio, IconMute } = useComponentContextIcons();\n return (\n <MessageActionsMenuItemButton\n aria-label={isMuted ? t('aria/Unmute User') : t('aria/Mute User')}\n className={msgActionsBoxButtonClassName}\n Icon={isMuted ? IconAudio : IconMute}\n onClick={async (event) => {\n try {\n await handleMute(event);\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: isMuted\n ? t('{{ user }} has been unmuted', {\n user: message.user?.name || message.user?.id,\n })\n : t('{{ user }} has been muted', {\n user: message.user?.name || message.user?.id,\n }),\n severity: 'success',\n type: isMuted ? 'api:user:unmute:success' : 'api:user:mute:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(\n error,\n isMuted ? t('Error unmuting a user ...') : t('Error muting a user ...'),\n ),\n severity: 'error',\n type: isMuted ? 'api:user:unmute:failed' : 'api:user:mute:failed',\n });\n }\n closeMenu();\n }}\n >\n {isMuted ? t('Unmute') : t('Mute')}\n </MessageActionsMenuItemButton>\n );\n },\n Delete() {\n const { closeMenu } = useContextMenuContext();\n const { addNotification } = useNotificationApi();\n const { Modal = GlobalModal } = useComponentContext();\n const { IconDelete } = useComponentContextIcons();\n const { handleDelete, message } = useMessageContext();\n const { t } = useTranslationContext();\n const [openModal, setOpenModal] = useState(false);\n\n if (isMessageDeleted(message)) return null;\n\n return (\n <>\n <MessageActionsMenuItemButton\n aria-label={t('aria/Delete Message')}\n className={msgActionsBoxButtonClassName}\n Icon={IconDelete}\n onClick={() => {\n setOpenModal(true);\n }}\n variant='destructive'\n >\n {t('Delete message')}\n </MessageActionsMenuItemButton>\n <Modal open={openModal} role='alertdialog'>\n <DeleteMessageAlert\n onCancel={() => {\n setOpenModal(false);\n closeMenu();\n }}\n onDelete={async () => {\n try {\n await handleDelete();\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t('Message deleted'),\n severity: 'success',\n type: 'api:message:delete:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(error, t('Error deleting message')),\n severity: 'error',\n type: 'api:message:delete:failed',\n });\n } finally {\n setOpenModal(false);\n closeMenu();\n }\n }}\n />\n </Modal>\n </>\n );\n },\n BlockUser() {\n const { closeMenu } = useContextMenuContext();\n const { client } = useChatContext();\n const { message } = useMessageContext();\n const { t } = useTranslationContext();\n const isBlocked =\n !message.user?.id ||\n new Set(client.blockedUsers.getLatestValue().userIds).has(message.user?.id);\n\n const { IconNoSign, IconUserCheck } = useComponentContextIcons();\n return (\n <MessageActionsMenuItemButton\n aria-label={isBlocked ? t('Unblock') : t('aria/Block User')}\n className={clsx(msgActionsBoxButtonClassName)}\n Icon={isBlocked ? IconUserCheck : IconNoSign}\n onClick={() => {\n const targetId = message.user?.id;\n if (targetId) {\n if (isBlocked) client.unBlockUser(targetId);\n else client.blockUser(targetId);\n }\n closeMenu();\n }}\n >\n {isBlocked ? t('Unblock') : t('Block User')}\n </MessageActionsMenuItemButton>\n );\n },\n },\n quick: {\n // eslint-disable-next-line react/display-name\n DropdownToggle: forwardRef<HTMLButtonElement>((_, ref) => {\n const { t } = useTranslationContext();\n const { message, threadList } = useMessageContext();\n const dropdownDialogIsOpen = useDialogIsOpen(\n MessageActions.getDialogId({ messageId: message.id }),\n );\n const { dialog } = useDialogOnNearestManager({\n id: MessageActions.getDialogId({ messageId: message.id }),\n });\n const reactionSelectorDialogId = DefaultReactionSelector.getDialogId({\n messageId: message.id,\n threadList,\n });\n const { dialog: dropdownReactionSelectorDialog } = useDialogOnNearestManager({\n id: `${reactionSelectorDialogId}-dropdown`,\n });\n\n const { IconMore } = useComponentContextIcons();\n return (\n <QuickMessageActionsButton\n aria-expanded={dropdownDialogIsOpen}\n aria-haspopup='true'\n aria-label={t('aria/Open Message Actions Menu')}\n className='str-chat__message-actions-box-button'\n data-testid='message-actions-toggle-button'\n onClick={() => {\n // Close dropdown-anchored reaction selectors before toggling actions menu\n // to avoid stale selector re-anchoring.\n dropdownReactionSelectorDialog?.close();\n dialog?.toggle();\n }}\n ref={ref}\n >\n <IconMore className='str-chat__message-action-icon' />\n </QuickMessageActionsButton>\n );\n }),\n React() {\n const { IconEmoji } = useComponentContextIcons();\n return <ReactionSelectorWithButton ReactionIcon={IconEmoji} />;\n },\n Reply() {\n const { handleOpenThread } = useMessageContext();\n const { t } = useTranslationContext();\n\n const { IconReply } = useComponentContextIcons();\n return (\n <QuickMessageActionsButton\n aria-label={t('aria/Open Thread')}\n className='str-chat__message-reply-in-thread-button'\n data-testid='thread-action'\n onClick={handleOpenThread}\n >\n <IconReply className='str-chat__message-action-icon' />\n </QuickMessageActionsButton>\n );\n },\n },\n};\n\nexport const defaultMessageActionSet: MessageActionSetItem[] = [\n {\n Component: DefaultMessageActionComponents.quick.DropdownToggle,\n placement: 'quick-dropdown-toggle',\n },\n {\n Component: DefaultMessageActionComponents.quick.Reply,\n placement: 'quick',\n type: 'reply',\n },\n {\n Component: DefaultMessageActionComponents.quick.React,\n placement: 'quick',\n type: 'react',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.React,\n placement: 'dropdown',\n type: 'react',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.ThreadReply,\n placement: 'dropdown',\n type: 'reply',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Quote,\n placement: 'dropdown',\n type: 'quote',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Download,\n placement: 'dropdown',\n type: 'download',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Pin,\n placement: 'dropdown',\n type: 'pin',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.CopyMessageText,\n placement: 'dropdown',\n type: 'copyMessageText',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Resend,\n placement: 'dropdown',\n type: 'resendMessage',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Edit,\n placement: 'dropdown',\n type: 'edit',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.MarkUnread,\n placement: 'dropdown',\n type: 'markUnread',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.RemindMe,\n placement: 'dropdown',\n type: 'remindMe',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.SaveForLater,\n placement: 'dropdown',\n type: 'saveForLater',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Flag,\n placement: 'dropdown',\n type: 'flag',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Mute,\n placement: 'dropdown',\n type: 'mute',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Delete,\n placement: 'dropdown',\n type: 'delete',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.BlockUser,\n placement: 'dropdown',\n type: 'blockUser',\n },\n] as const;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MessageActions.defaults.mjs","names":[],"sources":["../../../../src/components/MessageActions/MessageActions.defaults.tsx"],"sourcesContent":["/* eslint-disable sort-keys */\nimport React, { forwardRef, useState } from 'react';\n\nimport { GlobalModal } from '../Modal';\nimport { isMessageDeleted, isUserMuted } from '../Message/utils';\nimport { useMessageComposerController } from '../MessageComposer/hooks/useMessageComposerController';\nimport { savePreEditSnapshot } from '../MessageComposer/preEditSnapshot';\nimport { useNotificationApi } from '../Notifications';\nimport { useMessageReminder } from '../Message/hooks/useMessageReminder';\nimport { ReactionSelector as DefaultReactionSelector } from '../Reactions';\nimport { ReactionSelectorWithButton } from '../Reactions/ReactionSelectorWithButton';\nimport {\n useChatContext,\n useComponentContext,\n useComponentContextIcons,\n useMessageContext,\n useTranslationContext,\n} from '../../context';\nimport { RemindMeSubmenu, RemindMeSubmenuHeader } from './RemindMeSubmenu';\nimport { DownloadSubmenu, DownloadSubmenuHeader } from './DownloadSubmenu';\nimport {\n ContextMenuButton,\n DialogAnchor,\n useContextMenuContext,\n useDialogIsOpen,\n useDialogOnNearestManager,\n} from '../Dialog';\nimport { MessageActions, type MessageActionSetItem } from './MessageActions';\nimport { QuickMessageActionsButton } from './QuickMessageActionButton';\nimport clsx from 'clsx';\nimport { DeleteMessageAlert } from './DeleteMessageAlert';\nimport { downloadAttachment, isDownloadableAttachment } from './downloadUtils';\n\nconst msgActionsBoxButtonClassName =\n 'str-chat__message-actions-list-item-button' as const;\n\nconst MessageActionsMenuItemButton = (\n props: React.ComponentProps<typeof ContextMenuButton>,\n) => <ContextMenuButton {...props} />;\n\nconst getErrorMessage = (error: unknown, fallback: string) =>\n error instanceof Error && error.message ? error.message : fallback;\n\nconst getNotificationError = (error: unknown): Error | undefined => {\n if (error instanceof Error) return error;\n if (typeof error === 'string') return new Error(error);\n if (error && typeof error === 'object' && 'message' in error) {\n const message = error.message;\n if (typeof message === 'string') return new Error(message);\n }\n return undefined;\n};\n\nconst DefaultMessageActionComponents = {\n dropdown: {\n React() {\n const { IconEmoji } = useComponentContextIcons();\n const { ReactionSelector = DefaultReactionSelector } = useComponentContext();\n const { anchorReferenceElement } = useContextMenuContext();\n const { isMyMessage, message, threadList } = useMessageContext();\n const { t } = useTranslationContext();\n const [referenceElement, setReferenceElement] = useState<HTMLElement | null>(null);\n const dialogId = `${DefaultReactionSelector.getDialogId({\n messageId: message.id,\n threadList,\n })}-dropdown`;\n const { dialog, dialogManager } = useDialogOnNearestManager({\n id: dialogId,\n });\n const dialogIsOpen = useDialogIsOpen(dialogId, dialogManager?.id);\n\n return (\n <>\n <DialogAnchor\n dialogManagerId={dialogManager?.id}\n id={dialogId}\n offset={8}\n placement={isMyMessage() ? 'top-end' : 'top-start'}\n referenceElement={referenceElement}\n trapFocus\n updatePositionOnContentResize\n >\n <ReactionSelector dialogId={dialogId} />\n </DialogAnchor>\n <MessageActionsMenuItemButton\n aria-expanded={dialogIsOpen}\n aria-label={t(\n 'common.openReactionSelector.ariaLabel',\n 'Open Reaction Selector',\n )}\n className={clsx(\n msgActionsBoxButtonClassName,\n 'str-chat__message-actions-list-item-button--react',\n )}\n data-testid='dropdown-react-action'\n Icon={IconEmoji}\n onClick={(event) => {\n if (dialogIsOpen) {\n dialog.close();\n return;\n }\n setReferenceElement(\n anchorReferenceElement instanceof HTMLElement\n ? anchorReferenceElement\n : event.currentTarget,\n );\n dialog.open();\n }}\n >\n {t('common.addReaction.text', 'Add reaction')}\n </MessageActionsMenuItemButton>\n </>\n );\n },\n ThreadReply() {\n const { IconThread } = useComponentContextIcons();\n const { closeMenu } = useContextMenuContext();\n const { handleOpenThread } = useMessageContext();\n const { t } = useTranslationContext();\n\n return (\n <MessageActionsMenuItemButton\n aria-label={t('messageActions.openThread.ariaLabel', 'Open Thread')}\n className={msgActionsBoxButtonClassName}\n data-testid='thread-action'\n Icon={IconThread}\n onClick={(e) => {\n handleOpenThread(e);\n closeMenu();\n }}\n >\n {t('messageActions.threadReply.text', 'Thread Reply')}\n </MessageActionsMenuItemButton>\n );\n },\n Quote() {\n const { IconQuote } = useComponentContextIcons();\n const { closeMenu } = useContextMenuContext();\n const { message } = useMessageContext();\n const { t } = useTranslationContext();\n const messageComposer = useMessageComposerController();\n\n const handleQuote = () => {\n messageComposer.setQuotedMessage(message);\n\n const elements = message.parent_id\n ? document.querySelectorAll('.str-chat__thread .str-chat__textarea__textarea')\n : document.getElementsByClassName('str-chat__textarea__textarea');\n const textarea = elements.item(0);\n\n if (textarea instanceof HTMLTextAreaElement) {\n textarea.focus();\n }\n };\n\n return (\n <MessageActionsMenuItemButton\n aria-label={t('messageActions.quoteMessage.ariaLabel', 'Quote Message')}\n className={msgActionsBoxButtonClassName}\n Icon={IconQuote}\n onClick={() => {\n handleQuote();\n closeMenu();\n }}\n >\n {t('messageActions.quoteReply.text', 'Quote Reply')}\n </MessageActionsMenuItemButton>\n );\n },\n Download() {\n const { IconDownload } = useComponentContextIcons();\n const { closeMenu, openSubmenu } = useContextMenuContext();\n const { message } = useMessageContext();\n const { t } = useTranslationContext();\n\n const downloadableAttachments = (message.attachments ?? []).filter(\n isDownloadableAttachment,\n );\n\n if (!downloadableAttachments.length) return null;\n\n return (\n <MessageActionsMenuItemButton\n aria-label={t('common.downloadAttachment.ariaLabel', 'Download attachment')}\n className={msgActionsBoxButtonClassName}\n hasSubMenu={downloadableAttachments.length > 1}\n Icon={IconDownload}\n onClick={(event) => {\n if (downloadableAttachments.length > 1) {\n openSubmenu({\n focusReturnTarget: event.currentTarget,\n Header: DownloadSubmenuHeader,\n Submenu: DownloadSubmenu,\n });\n return;\n }\n\n void downloadAttachment(downloadableAttachments[0]);\n closeMenu();\n }}\n >\n {t('common.downloadAttachment.title', 'Download Attachment')}\n </MessageActionsMenuItemButton>\n );\n },\n Pin() {\n const { IconPin, IconUnpin } = useComponentContextIcons();\n const { closeMenu } = useContextMenuContext();\n const { handlePin, message } = useMessageContext();\n const { addNotification } = useNotificationApi();\n const { t } = useTranslationContext();\n const isPinned = !!message.pinned;\n return (\n <MessageActionsMenuItemButton\n aria-label={\n isPinned\n ? t('messageActions.unpinMessage.ariaLabel', 'Unpin Message')\n : t('messageActions.pinMessage.ariaLabel', 'Pin Message')\n }\n className={msgActionsBoxButtonClassName}\n Icon={isPinned ? IconUnpin : IconPin}\n onClick={async (event) => {\n try {\n await handlePin(event);\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: isPinned\n ? t('messageActions.messageUnpinned.text', 'Message unpinned')\n : t('common.messagePinned.label', 'Message pinned'),\n severity: 'success',\n type: isPinned ? 'api:message:unpin:success' : 'api:message:pin:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(\n error,\n isPinned\n ? t(\n 'common.errorRemovingMessagePin.label',\n 'Error removing message pin',\n )\n : t('common.errorPinningMessage.label', 'Error pinning message'),\n ),\n severity: 'error',\n type: isPinned ? 'api:message:unpin:failed' : 'api:message:pin:failed',\n });\n }\n closeMenu();\n }}\n >\n {isPinned ? t('common.unpin.title', 'Unpin') : t('common.pin.title', 'Pin')}\n </MessageActionsMenuItemButton>\n );\n },\n CopyMessageText() {\n const { IconCopy } = useComponentContextIcons();\n const { closeMenu } = useContextMenuContext();\n const { message } = useMessageContext();\n const { t } = useTranslationContext();\n\n return (\n <MessageActionsMenuItemButton\n aria-label={t('messageActions.copyMessageText.ariaLabel', 'Copy Message Text')}\n className={msgActionsBoxButtonClassName}\n Icon={IconCopy}\n onClick={() => {\n if (message.text) navigator.clipboard.writeText(message.text);\n closeMenu();\n }}\n >\n {t('messageActions.copyMessage.text', 'Copy Message')}\n </MessageActionsMenuItemButton>\n );\n },\n Resend() {\n const { IconRetry } = useComponentContextIcons();\n const { closeMenu } = useContextMenuContext();\n const { handleRetry, message } = useMessageContext();\n const { t } = useTranslationContext();\n\n return (\n <MessageActionsMenuItemButton\n aria-label={t('messageActions.resendMessage.ariaLabel', 'Resend Message')}\n className={msgActionsBoxButtonClassName}\n Icon={IconRetry}\n onClick={() => {\n handleRetry(message);\n closeMenu();\n }}\n >\n {t('messageActions.resend.text', 'Resend')}\n </MessageActionsMenuItemButton>\n );\n },\n Edit() {\n const { IconEdit } = useComponentContextIcons();\n const messageComposer = useMessageComposerController();\n const { message } = useMessageContext();\n const { t } = useTranslationContext();\n const { closeMenu } = useContextMenuContext();\n\n return (\n <MessageActionsMenuItemButton\n aria-label={t('messageActions.editMessage.ariaLabel', 'Edit Message')}\n className={msgActionsBoxButtonClassName}\n Icon={IconEdit}\n onClick={() => {\n savePreEditSnapshot(messageComposer);\n messageComposer.initState({ composition: message });\n closeMenu();\n }}\n >\n {t('common.editMessage.text', 'Edit Message')}\n </MessageActionsMenuItemButton>\n );\n },\n MarkUnread() {\n const { IconNotification } = useComponentContextIcons();\n const { closeMenu } = useContextMenuContext();\n const { handleMarkUnread, message } = useMessageContext();\n const { addNotification } = useNotificationApi();\n const { t } = useTranslationContext();\n\n return (\n <MessageActionsMenuItemButton\n aria-label={t(\n 'messageActions.markMessageUnread.ariaLabel',\n 'Mark Message Unread',\n )}\n className={msgActionsBoxButtonClassName}\n Icon={IconNotification}\n onClick={async (event) => {\n try {\n await handleMarkUnread(event);\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t(\n 'messageActions.messageMarkedUnread.text',\n 'Message marked as unread',\n ),\n severity: 'success',\n type: 'api:message:markUnread:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(\n error,\n t(\n 'messageActions.errorMarkingMessageUnread.text',\n 'Error marking message unread. Cannot mark unread messages older than the newest 100 channel messages.',\n ),\n ),\n severity: 'error',\n type: 'api:message:markUnread:failed',\n });\n }\n closeMenu();\n }}\n >\n {t('messageActions.markUnread.text', 'Mark as unread')}\n </MessageActionsMenuItemButton>\n );\n },\n RemindMe() {\n const { IconBell, IconBellOff } = useComponentContextIcons();\n const { closeMenu, openSubmenu } = useContextMenuContext();\n const { client } = useChatContext();\n const { addNotification } = useNotificationApi();\n const { t } = useTranslationContext();\n const { message } = useMessageContext();\n const reminder = useMessageReminder(message.id);\n const messageAlreadyBookmarked = reminder != null && reminder.remindAt == null;\n\n if (messageAlreadyBookmarked) return null;\n\n return (\n <MessageActionsMenuItemButton\n aria-label={\n reminder\n ? t('messageActions.remindMeMessage.ariaLabel', 'Remind Me Message')\n : t('messageActions.removeReminder.ariaLabel', 'Remove Reminder')\n }\n className={msgActionsBoxButtonClassName}\n hasSubMenu={!reminder}\n Icon={reminder ? IconBellOff : IconBell}\n onClick={async (event) => {\n if (reminder) {\n try {\n await client.reminders.deleteReminder(reminder.id);\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t('messageActions.removeReminder.text', 'Remove reminder'),\n severity: 'success',\n type: 'api:message:reminder:delete:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(error, 'Error removing reminder'),\n severity: 'error',\n type: 'api:message:reminder:delete:failed',\n });\n } finally {\n closeMenu();\n }\n } else {\n openSubmenu({\n focusReturnTarget: event.currentTarget,\n Header: RemindMeSubmenuHeader,\n Submenu: RemindMeSubmenu,\n });\n }\n }}\n >\n {reminder\n ? t('messageActions.removeReminder.text', 'Remove reminder')\n : t('messageActions.remindMe.text', 'Remind me')}\n </MessageActionsMenuItemButton>\n );\n },\n SaveForLater() {\n const { IconBookmark, IconBookmarkRemove } = useComponentContextIcons();\n const { closeMenu } = useContextMenuContext();\n const { client } = useChatContext();\n const { addNotification } = useNotificationApi();\n const { message } = useMessageContext();\n const { t } = useTranslationContext();\n const reminder = useMessageReminder(message.id);\n const messageAlreadyHasReminderScheduled = reminder?.remindAt != null;\n\n if (messageAlreadyHasReminderScheduled) return null;\n\n return (\n <MessageActionsMenuItemButton\n aria-label={\n reminder\n ? t('messageActions.removeSaveLater.ariaLabel', 'Remove Save For Later')\n : t('messageActions.bookmarkMessage.ariaLabel', 'Bookmark Message')\n }\n className={msgActionsBoxButtonClassName}\n Icon={reminder ? IconBookmarkRemove : IconBookmark}\n onClick={async () => {\n try {\n if (reminder) {\n await client.reminders.deleteReminder(reminder.id);\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t(\n 'messageActions.removeSaveLater.text',\n 'Remove save for later',\n ),\n severity: 'success',\n type: 'api:message:saveForLater:delete:success',\n });\n } else {\n await client.reminders.createReminder({ message_id: message.id });\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t('common.savedLater.text', 'Saved for later'),\n severity: 'success',\n type: 'api:message:saveForLater:create:success',\n });\n }\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(\n error,\n reminder\n ? 'Error removing message from saved for later'\n : 'Error saving message for later',\n ),\n severity: 'error',\n type: reminder\n ? 'api:message:saveForLater:delete:failed'\n : 'api:message:saveForLater:create:failed',\n });\n } finally {\n closeMenu();\n }\n }}\n >\n {reminder\n ? t('messageActions.removeSaveLater.text', 'Remove save for later')\n : t('messageActions.saveLater.text', 'Save for later')}\n </MessageActionsMenuItemButton>\n );\n },\n Flag() {\n const { IconFlag } = useComponentContextIcons();\n const { closeMenu } = useContextMenuContext();\n const { handleFlag, message } = useMessageContext();\n const { addNotification } = useNotificationApi();\n const { t } = useTranslationContext();\n\n return (\n <MessageActionsMenuItemButton\n aria-label={t('messageActions.flagMessage.ariaLabel', 'Flag Message')}\n className={msgActionsBoxButtonClassName}\n Icon={IconFlag}\n onClick={async (event) => {\n try {\n await handleFlag(event);\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t(\n 'messageActions.messageSuccessfullyFlagged.text',\n 'Message has been successfully flagged',\n ),\n severity: 'success',\n type: 'api:message:flag:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(\n error,\n t('messageActions.errorAddingFlag.text', 'Error adding flag'),\n ),\n severity: 'error',\n type: 'api:message:flag:failed',\n });\n }\n closeMenu();\n }}\n >\n {t('messageActions.flag.text', 'Flag')}\n </MessageActionsMenuItemButton>\n );\n },\n Mute() {\n const { IconAudio, IconMute } = useComponentContextIcons();\n const { closeMenu } = useContextMenuContext();\n const { handleMute, message } = useMessageContext();\n const { addNotification } = useNotificationApi();\n const { mutes } = useChatContext();\n const { t } = useTranslationContext();\n\n const isMuted = isUserMuted(message, mutes);\n return (\n <MessageActionsMenuItemButton\n aria-label={\n isMuted\n ? t('messageActions.unmuteUser.ariaLabel', 'Unmute User')\n : t('messageActions.muteUser.ariaLabel', 'Mute User')\n }\n className={msgActionsBoxButtonClassName}\n Icon={isMuted ? IconAudio : IconMute}\n onClick={async (event) => {\n try {\n await handleMute(event);\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: isMuted\n ? t('common.unmuted.label', '{{ user }} has been unmuted', {\n user: message.user?.name || message.user?.id,\n })\n : t('common.muted.label', '{{ user }} has been muted', {\n user: message.user?.name || message.user?.id,\n }),\n severity: 'success',\n type: isMuted ? 'api:user:unmute:success' : 'api:user:mute:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(\n error,\n isMuted\n ? t('common.errorUnmutingUser.label', 'Error unmuting a user ...')\n : t('common.errorMutingUser.label', 'Error muting a user ...'),\n ),\n severity: 'error',\n type: isMuted ? 'api:user:unmute:failed' : 'api:user:mute:failed',\n });\n }\n closeMenu();\n }}\n >\n {isMuted ? t('common.unmute.title', 'Unmute') : t('common.mute.title', 'Mute')}\n </MessageActionsMenuItemButton>\n );\n },\n Delete() {\n const { IconDelete } = useComponentContextIcons();\n const { closeMenu } = useContextMenuContext();\n const { addNotification } = useNotificationApi();\n const { Modal = GlobalModal } = useComponentContext();\n const { handleDelete, message } = useMessageContext();\n const { t } = useTranslationContext();\n const [openModal, setOpenModal] = useState(false);\n\n if (isMessageDeleted(message)) return null;\n\n return (\n <>\n <MessageActionsMenuItemButton\n aria-label={t('messageActions.deleteMessage.ariaLabel', 'Delete Message')}\n className={msgActionsBoxButtonClassName}\n Icon={IconDelete}\n onClick={() => {\n setOpenModal(true);\n }}\n variant='destructive'\n >\n {t('messageActions.deleteMessageAlert.deleteMessage.title', 'Delete message')}\n </MessageActionsMenuItemButton>\n <Modal open={openModal} role='alertdialog'>\n <DeleteMessageAlert\n onCancel={() => {\n setOpenModal(false);\n closeMenu();\n }}\n onDelete={async () => {\n try {\n await handleDelete();\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t('common.messageDeleted.text', 'Message deleted'),\n severity: 'success',\n type: 'api:message:delete:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(\n error,\n t('common.errorDeletingMessage.label', 'Error deleting message'),\n ),\n severity: 'error',\n type: 'api:message:delete:failed',\n });\n } finally {\n setOpenModal(false);\n closeMenu();\n }\n }}\n />\n </Modal>\n </>\n );\n },\n BlockUser() {\n const { IconNoSign, IconUserCheck } = useComponentContextIcons();\n const { closeMenu } = useContextMenuContext();\n const { client } = useChatContext();\n const { message } = useMessageContext();\n const { t } = useTranslationContext();\n const isBlocked =\n !message.user?.id ||\n new Set(client.blockedUsers.getLatestValue().userIds).has(message.user?.id);\n\n return (\n <MessageActionsMenuItemButton\n aria-label={\n isBlocked\n ? t('common.unblock.ariaLabel', 'Unblock')\n : t('messageActions.blockUser.ariaLabel', 'Block User')\n }\n className={clsx(msgActionsBoxButtonClassName)}\n Icon={isBlocked ? IconUserCheck : IconNoSign}\n onClick={() => {\n const targetId = message.user?.id;\n if (targetId) {\n if (isBlocked) client.unblockUser(targetId);\n else client.blockUser(targetId);\n }\n closeMenu();\n }}\n >\n {isBlocked\n ? t('common.unblock.ariaLabel', 'Unblock')\n : t('common.blockUser.title', 'Block User')}\n </MessageActionsMenuItemButton>\n );\n },\n },\n quick: {\n // eslint-disable-next-line react/display-name\n DropdownToggle: forwardRef<HTMLButtonElement>((_, ref) => {\n const { IconMore } = useComponentContextIcons();\n const { t } = useTranslationContext();\n const { message, threadList } = useMessageContext();\n const dropdownDialogIsOpen = useDialogIsOpen(\n MessageActions.getDialogId({ messageId: message.id }),\n );\n const { dialog } = useDialogOnNearestManager({\n id: MessageActions.getDialogId({ messageId: message.id }),\n });\n const reactionSelectorDialogId = DefaultReactionSelector.getDialogId({\n messageId: message.id,\n threadList,\n });\n const { dialog: dropdownReactionSelectorDialog } = useDialogOnNearestManager({\n id: `${reactionSelectorDialogId}-dropdown`,\n });\n\n return (\n <QuickMessageActionsButton\n aria-expanded={dropdownDialogIsOpen}\n aria-haspopup='true'\n aria-label={t(\n 'messageActions.openMessageActionsMenu.ariaLabel',\n 'Open Message Actions Menu',\n )}\n className='str-chat__message-actions-box-button'\n data-testid='message-actions-toggle-button'\n onClick={() => {\n // Close dropdown-anchored reaction selectors before toggling actions menu\n // to avoid stale selector re-anchoring.\n dropdownReactionSelectorDialog?.close();\n dialog?.toggle();\n }}\n ref={ref}\n >\n <IconMore className='str-chat__message-action-icon' />\n </QuickMessageActionsButton>\n );\n }),\n React() {\n // No `ReactionIcon`: the component resolves the `IconEmoji` slot itself. Passing it from\n // here would read the same value and only add a hop that invites a direct import later.\n return <ReactionSelectorWithButton />;\n },\n Reply() {\n const { IconReply } = useComponentContextIcons();\n const { handleOpenThread } = useMessageContext();\n const { t } = useTranslationContext();\n\n return (\n <QuickMessageActionsButton\n aria-label={t('messageActions.openThread.ariaLabel', 'Open Thread')}\n className='str-chat__message-reply-in-thread-button'\n data-testid='thread-action'\n onClick={handleOpenThread}\n >\n <IconReply className='str-chat__message-action-icon' />\n </QuickMessageActionsButton>\n );\n },\n },\n};\n\nexport const defaultMessageActionSet: MessageActionSetItem[] = [\n {\n Component: DefaultMessageActionComponents.quick.DropdownToggle,\n placement: 'quick-dropdown-toggle',\n },\n {\n Component: DefaultMessageActionComponents.quick.Reply,\n placement: 'quick',\n type: 'reply',\n },\n {\n Component: DefaultMessageActionComponents.quick.React,\n placement: 'quick',\n type: 'react',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.React,\n placement: 'dropdown',\n type: 'react',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.ThreadReply,\n placement: 'dropdown',\n type: 'reply',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Quote,\n placement: 'dropdown',\n type: 'quote',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Download,\n placement: 'dropdown',\n type: 'download',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Pin,\n placement: 'dropdown',\n type: 'pin',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.CopyMessageText,\n placement: 'dropdown',\n type: 'copyMessageText',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Resend,\n placement: 'dropdown',\n type: 'resendMessage',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Edit,\n placement: 'dropdown',\n type: 'edit',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.MarkUnread,\n placement: 'dropdown',\n type: 'markUnread',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.RemindMe,\n placement: 'dropdown',\n type: 'remindMe',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.SaveForLater,\n placement: 'dropdown',\n type: 'saveForLater',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Flag,\n placement: 'dropdown',\n type: 'flag',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Mute,\n placement: 'dropdown',\n type: 'mute',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.Delete,\n placement: 'dropdown',\n type: 'delete',\n },\n {\n Component: DefaultMessageActionComponents.dropdown.BlockUser,\n placement: 'dropdown',\n type: 'blockUser',\n },\n] as const;\n"],"mappings":"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,+BAA+B,SAAS;EACnD,WAAW;EACX,MAAM;CACR;CACA;EACE,WAAW,+BAA+B,SAAS;EACnD,WAAW;EACX,MAAM;CACR;CACA;EACE,WAAW,+BAA+B,SAAS;EACnD,WAAW;EACX,MAAM;CACR;CACA;EACE,WAAW,+BAA+B,SAAS;EACnD,WAAW;EACX,MAAM;CACR;CACA;EACE,WAAW,+BAA+B,SAAS;EACnD,WAAW;EACX,MAAM;CACR;CACA;EACE,WAAW,+BAA+B,SAAS;EACnD,WAAW;EACX,MAAM;CACR;CACA;EACE,WAAW,+BAA+B,SAAS;EACnD,WAAW;EACX,MAAM;CACR;CACA;EACE,WAAW,+BAA+B,SAAS;EACnD,WAAW;EACX,MAAM;CACR;CACA;EACE,WAAW,+BAA+B,SAAS;EACnD,WAAW;EACX,MAAM;CACR;CACA;EACE,WAAW,+BAA+B,SAAS;EACnD,WAAW;EACX,MAAM;CACR;CACA;EACE,WAAW,+BAA+B,SAAS;EACnD,WAAW;EACX,MAAM;CACR;CACA;EACE,WAAW,+BAA+B,SAAS;EACnD,WAAW;EACX,MAAM;CACR;CACA;EACE,WAAW,+BAA+B,SAAS;EACnD,WAAW;EACX,MAAM;CACR;AACF"}
|
|
@@ -3,10 +3,10 @@ import { useDialogIsOpen, useDialogOnNearestManager } from "../Dialog/hooks/useD
|
|
|
3
3
|
import { useMessageContext } from "../../context/MessageContext.mjs";
|
|
4
4
|
import { useTranslationContext } from "../../context/TranslationContext.mjs";
|
|
5
5
|
import { ContextMenu } from "../Dialog/components/ContextMenu.mjs";
|
|
6
|
+
import { useSplitActionSet } from "../Chat/hooks/useSplitActionSet.mjs";
|
|
6
7
|
import { useBaseMessageActionSetFilter } from "./hooks/useBaseMessageActionSetFilter.mjs";
|
|
7
8
|
import { ReactionSelector } from "../Reactions/ReactionSelector.mjs";
|
|
8
9
|
import { defaultMessageActionSet } from "./MessageActions.defaults.mjs";
|
|
9
|
-
import { useSplitActionSet } from "../Chat/hooks/useSplitActionSet.mjs";
|
|
10
10
|
import { useState } from "react";
|
|
11
11
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
12
12
|
import clsx from "clsx";
|
|
@@ -36,8 +36,8 @@ var MessageActions = ({ disableBaseMessageActionSetFilter = false, messageAction
|
|
|
36
36
|
return /* @__PURE__ */ jsxs("div", {
|
|
37
37
|
className: clsx("str-chat__message-options", { "str-chat__message-options--active": messageActionsDialogIsOpen || reactionSelectorDialogIsOpen || dropdownReactionSelectorDialogIsOpen }),
|
|
38
38
|
children: [quickDropdownToggleAction && dropdownActionSet.length > 0 && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(quickDropdownToggleAction.Component, { ref: setActionsBoxButtonElement }), /* @__PURE__ */ jsx(ContextMenuComponent, {
|
|
39
|
-
"aria-label": t("
|
|
40
|
-
backLabel: t("Back"),
|
|
39
|
+
"aria-label": t("messageActions.messageActions.ariaLabel", "Message Actions"),
|
|
40
|
+
backLabel: t("common.back.label", "Back"),
|
|
41
41
|
className: clsx("str-chat__message-actions-box", {
|
|
42
42
|
"str-chat__message-actions-box--hidden": dropdownReactionSelectorDialogIsOpen,
|
|
43
43
|
"str-chat__message-actions-box--open": messageActionsDialogIsOpen
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageActions.mjs","names":[],"sources":["../../../../src/components/MessageActions/MessageActions.tsx"],"sourcesContent":["import clsx from 'clsx';\nimport React, { type ComponentPropsWithRef, useState } from 'react';\n\nimport {\n useComponentContext,\n useMessageContext,\n useTranslationContext,\n} from '../../context';\nimport {\n ContextMenu,\n type ContextMenuItemProps,\n useDialogIsOpen,\n useDialogOnNearestManager,\n} from '../Dialog';\nimport { useBaseMessageActionSetFilter } from './hooks';\nimport { defaultMessageActionSet } from './MessageActions.defaults';\nimport {
|
|
1
|
+
{"version":3,"file":"MessageActions.mjs","names":[],"sources":["../../../../src/components/MessageActions/MessageActions.tsx"],"sourcesContent":["import clsx from 'clsx';\nimport React, { type ComponentPropsWithRef, useState } from 'react';\n\nimport {\n useComponentContext,\n useMessageContext,\n useTranslationContext,\n} from '../../context';\nimport {\n ContextMenu,\n type ContextMenuItemProps,\n useDialogIsOpen,\n useDialogOnNearestManager,\n} from '../Dialog';\nimport { useBaseMessageActionSetFilter } from './hooks';\nimport { defaultMessageActionSet } from './MessageActions.defaults';\nimport { ReactionSelector } from '../Reactions';\nimport { useSplitActionSet } from '../Chat/hooks/useSplitActionSet';\n\n/**\n * The action types {@link defaultMessageActionSet} ships. Listed for autocomplete only -- a custom\n * action names itself, so any string is accepted.\n */\nexport type DefaultMessageActionType =\n | 'blockUser'\n | 'copyMessageText'\n | 'delete'\n | 'download'\n | 'edit'\n | 'flag'\n | 'markUnread'\n | 'mute'\n | 'pin'\n | 'quote'\n | 'react'\n | 'remindMe'\n | 'reply'\n | 'resendMessage'\n | 'saveForLater';\n\ntype BaseMessageActionSetItem = {\n type: DefaultMessageActionType | (string & {});\n};\n\nexport type QuickMessageActionSetItem = BaseMessageActionSetItem & {\n Component: React.ComponentType;\n placement: 'quick';\n};\n\nexport type DropdownMessageActionSetItem = BaseMessageActionSetItem & {\n Component: React.ComponentType<ContextMenuItemProps>;\n placement: 'dropdown';\n};\n\nexport type QuickDropdownToggleActionSetItem = {\n Component: React.ComponentType<ComponentPropsWithRef<'button'>>;\n placement: 'quick-dropdown-toggle';\n};\n\nexport type MessageActionSetItem =\n | QuickMessageActionSetItem\n | DropdownMessageActionSetItem\n | QuickDropdownToggleActionSetItem;\n\nexport type MessageActionsProps = {\n disableBaseMessageActionSetFilter?: boolean;\n messageActionSet?: MessageActionSetItem[];\n};\n\ninterface MessageActionsInterface {\n (props: MessageActionsProps): React.ReactNode;\n getDialogId: (_: { messageId: string }) => string;\n displayName: string;\n}\n\n/**\n * A new actions component to replace current `MessageOptions` component.\n * Exports from `stream-chat-react/experimental` __MIGHT__ change - use with caution\n * and follow release notes in case you notice unexpected behavior.\n */\nexport const MessageActions: MessageActionsInterface = ({\n disableBaseMessageActionSetFilter = false,\n messageActionSet = defaultMessageActionSet,\n}) => {\n const { isMyMessage, message, threadList } = useMessageContext();\n const { ContextMenu: ContextMenuComponent = ContextMenu } = useComponentContext();\n const { t } = useTranslationContext();\n const [actionsBoxButtonElement, setActionsBoxButtonElement] =\n useState<HTMLButtonElement | null>(null);\n\n const filteredMessageActionSet = useBaseMessageActionSetFilter(\n messageActionSet,\n disableBaseMessageActionSetFilter,\n );\n\n const { dropdownActionSet, quickActionSet, quickDropdownToggleAction } =\n useSplitActionSet(filteredMessageActionSet);\n\n const messageActionsDialogId = MessageActions.getDialogId({ messageId: message.id });\n const reactionSelectorDialogId = ReactionSelector.getDialogId({\n messageId: message.id,\n threadList,\n });\n const dropdownReactionSelectorDialogId = `${reactionSelectorDialogId}-dropdown`;\n const { dialog, dialogManager } = useDialogOnNearestManager({\n id: messageActionsDialogId,\n });\n const messageActionsDialogIsOpen = useDialogIsOpen(\n messageActionsDialogId,\n dialogManager?.id,\n );\n const reactionSelectorDialogIsOpen = useDialogIsOpen(\n reactionSelectorDialogId,\n dialogManager?.id,\n );\n const dropdownReactionSelectorDialogIsOpen = useDialogIsOpen(\n dropdownReactionSelectorDialogId,\n dialogManager?.id,\n );\n\n // do not render anything if total action count is zero\n if (dropdownActionSet.length + quickActionSet.length === 0) {\n return null;\n }\n\n return (\n <div\n className={clsx('str-chat__message-options', {\n 'str-chat__message-options--active':\n messageActionsDialogIsOpen ||\n reactionSelectorDialogIsOpen ||\n dropdownReactionSelectorDialogIsOpen,\n })}\n >\n {quickDropdownToggleAction && dropdownActionSet.length > 0 && (\n <>\n <quickDropdownToggleAction.Component ref={setActionsBoxButtonElement} />\n\n <ContextMenuComponent\n aria-label={t('messageActions.messageActions.ariaLabel', 'Message Actions')}\n backLabel={t('common.back.label', 'Back')}\n className={clsx('str-chat__message-actions-box', {\n 'str-chat__message-actions-box--hidden':\n dropdownReactionSelectorDialogIsOpen,\n 'str-chat__message-actions-box--open': messageActionsDialogIsOpen,\n })}\n dialogManagerId={dialogManager?.id}\n id={messageActionsDialogId}\n onClose={dialog?.close}\n placement={isMyMessage() ? 'top-end' : 'top-start'}\n referenceElement={actionsBoxButtonElement}\n tabIndex={-1}\n trapFocus\n >\n {dropdownActionSet.map(({ Component, type }) => (\n <Component key={type} />\n ))}\n </ContextMenuComponent>\n </>\n )}\n {quickActionSet.map(({ Component: QuickActionComponent, type }) => (\n <QuickActionComponent key={type} />\n ))}\n </div>\n );\n};\n\nMessageActions.getDialogId = ({ messageId }) => `message-actions-${messageId}`;\n\nMessageActions.displayName = 'MessageActions';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAgFA,IAAa,kBAA2C,EACtD,oCAAoC,OACpC,mBAAmB,8BACf;CACJ,MAAM,EAAE,aAAa,SAAS,eAAe,kBAAkB;CAC/D,MAAM,EAAE,aAAa,uBAAuB,gBAAgB,oBAAoB;CAChF,MAAM,EAAE,MAAM,sBAAsB;CACpC,MAAM,CAAC,yBAAyB,8BAC9B,SAAmC,IAAI;CAOzC,MAAM,EAAE,mBAAmB,gBAAgB,8BACzC,kBAN+B,8BAC/B,kBACA,iCAIkB,CAAwB;CAE5C,MAAM,yBAAyB,eAAe,YAAY,EAAE,WAAW,QAAQ,GAAG,CAAC;CACnF,MAAM,2BAA2B,iBAAiB,YAAY;EAC5D,WAAW,QAAQ;EACnB;CACF,CAAC;CACD,MAAM,mCAAmC,GAAG,yBAAyB;CACrE,MAAM,EAAE,QAAQ,kBAAkB,0BAA0B,EAC1D,IAAI,uBACN,CAAC;CACD,MAAM,6BAA6B,gBACjC,wBACA,eAAe,EACjB;CACA,MAAM,+BAA+B,gBACnC,0BACA,eAAe,EACjB;CACA,MAAM,uCAAuC,gBAC3C,kCACA,eAAe,EACjB;CAGA,IAAI,kBAAkB,SAAS,eAAe,WAAW,GACvD,OAAO;CAGT,OACE,qBAAC,OAAD;EACE,WAAW,KAAK,6BAA6B,EAC3C,qCACE,8BACA,gCACA,qCACJ,CAAC;YANH,CAQG,6BAA6B,kBAAkB,SAAS,KACvD,qBAAA,YAAA,EAAA,UAAA,CACE,oBAAC,0BAA0B,WAA3B,EAAqC,KAAK,2BAA6B,CAAA,GAEvE,oBAAC,sBAAD;GACE,cAAY,EAAE,2CAA2C,iBAAiB;GAC1E,WAAW,EAAE,qBAAqB,MAAM;GACxC,WAAW,KAAK,iCAAiC;IAC/C,yCACE;IACF,uCAAuC;GACzC,CAAC;GACD,iBAAiB,eAAe;GAChC,IAAI;GACJ,SAAS,QAAQ;GACjB,WAAW,YAAY,IAAI,YAAY;GACvC,kBAAkB;GAClB,UAAU;GACV,WAAA;aAEC,kBAAkB,KAAK,EAAE,WAAW,WACnC,oBAAC,WAAD,CAAuB,GAAP,IAAO,CACxB;EACmB,CAAA,CACtB,EAAA,CAAA,GAEH,eAAe,KAAK,EAAE,WAAW,sBAAsB,WACtD,oBAAC,sBAAD,CAAkC,GAAP,IAAO,CACnC,CACE;;AAET;AAEA,eAAe,eAAe,EAAE,gBAAgB,mBAAmB;AAEnE,eAAe,cAAc"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { useChatContext } from "../../context/ChatContext.mjs";
|
|
2
|
-
import { useComponentContextIcons } from "../../context/useComponentContextIcons.mjs";
|
|
3
2
|
import { useMessageContext } from "../../context/MessageContext.mjs";
|
|
4
3
|
import { useTranslationContext } from "../../context/TranslationContext.mjs";
|
|
5
|
-
import { ContextMenuBackButton, ContextMenuButton, ContextMenuHeader, useContextMenuContext } from "../Dialog/components/ContextMenu.mjs";
|
|
6
4
|
import { useNotificationApi } from "../Notifications/hooks/useNotificationApi.mjs";
|
|
5
|
+
import { ContextMenuBackButton, ContextMenuButton, ContextMenuHeader, useContextMenuContext } from "../Dialog/components/ContextMenu.mjs";
|
|
6
|
+
import { useComponentContextIcons } from "../../context/useComponentContextIcons.mjs";
|
|
7
7
|
import "react";
|
|
8
8
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
9
|
//#region src/components/MessageActions/RemindMeSubmenu.tsx
|
|
@@ -22,7 +22,7 @@ var RemindMeSubmenuHeader = () => {
|
|
|
22
22
|
const { returnToParentMenu } = useContextMenuContext();
|
|
23
23
|
return /* @__PURE__ */ jsx(ContextMenuHeader, { children: /* @__PURE__ */ jsxs(ContextMenuBackButton, {
|
|
24
24
|
onClick: returnToParentMenu,
|
|
25
|
-
children: [/* @__PURE__ */ jsx(IconChevronLeft, {}), /* @__PURE__ */ jsx("span", { children: t("Remind Me") })]
|
|
25
|
+
children: [/* @__PURE__ */ jsx(IconChevronLeft, {}), /* @__PURE__ */ jsx("span", { children: t("messageActions.remindMeSubmenu.remindMe.text", "Remind Me") })]
|
|
26
26
|
}) });
|
|
27
27
|
};
|
|
28
28
|
var RemindMeSubmenu = () => {
|
|
@@ -38,13 +38,13 @@ var RemindMeSubmenu = () => {
|
|
|
38
38
|
onClick: async () => {
|
|
39
39
|
try {
|
|
40
40
|
await client.reminders.upsertReminder({
|
|
41
|
-
|
|
42
|
-
remind_at: new Date((/* @__PURE__ */ new Date()).getTime() + offsetMs)
|
|
41
|
+
message_id: message.id,
|
|
42
|
+
remind_at: new Date((/* @__PURE__ */ new Date()).getTime() + offsetMs)
|
|
43
43
|
});
|
|
44
44
|
addNotification({
|
|
45
45
|
context: { message },
|
|
46
46
|
emitter: "MessageActions",
|
|
47
|
-
message: t("Reminder set"),
|
|
47
|
+
message: t("common.reminderSet.text", "Reminder set"),
|
|
48
48
|
severity: "success",
|
|
49
49
|
type: "api:message:reminder:set:success"
|
|
50
50
|
});
|
|
@@ -61,7 +61,7 @@ var RemindMeSubmenu = () => {
|
|
|
61
61
|
closeMenu();
|
|
62
62
|
}
|
|
63
63
|
},
|
|
64
|
-
children: t("duration
|
|
64
|
+
children: t("duration.remindMe", { milliseconds: offsetMs })
|
|
65
65
|
}, `reminder-offset-option--${offsetMs}`))
|
|
66
66
|
});
|
|
67
67
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemindMeSubmenu.mjs","names":[],"sources":["../../../../src/components/MessageActions/RemindMeSubmenu.tsx"],"sourcesContent":["import React from 'react';\nimport {\n useChatContext,\n useComponentContextIcons,\n useMessageContext,\n useTranslationContext,\n} from '../../context';\nimport { useNotificationApi } from '../Notifications';\nimport {\n ContextMenuBackButton,\n ContextMenuButton,\n ContextMenuHeader,\n useContextMenuContext,\n} from '../Dialog';\n\nconst getErrorMessage = (error: unknown, fallback: string) =>\n error instanceof Error && error.message ? error.message : fallback;\n\nconst getNotificationError = (error: unknown): Error | undefined => {\n if (error instanceof Error) return error;\n if (typeof error === 'string') return new Error(error);\n if (error && typeof error === 'object' && 'message' in error) {\n const message = error.message;\n if (typeof message === 'string') return new Error(message);\n }\n return undefined;\n};\n\nexport const RemindMeSubmenuHeader = () => {\n const { IconChevronLeft } = useComponentContextIcons();\n
|
|
1
|
+
{"version":3,"file":"RemindMeSubmenu.mjs","names":[],"sources":["../../../../src/components/MessageActions/RemindMeSubmenu.tsx"],"sourcesContent":["import React from 'react';\nimport {\n useChatContext,\n useComponentContextIcons,\n useMessageContext,\n useTranslationContext,\n} from '../../context';\nimport { useNotificationApi } from '../Notifications';\nimport {\n ContextMenuBackButton,\n ContextMenuButton,\n ContextMenuHeader,\n useContextMenuContext,\n} from '../Dialog';\n\nconst getErrorMessage = (error: unknown, fallback: string) =>\n error instanceof Error && error.message ? error.message : fallback;\n\nconst getNotificationError = (error: unknown): Error | undefined => {\n if (error instanceof Error) return error;\n if (typeof error === 'string') return new Error(error);\n if (error && typeof error === 'object' && 'message' in error) {\n const message = error.message;\n if (typeof message === 'string') return new Error(message);\n }\n return undefined;\n};\n\nexport const RemindMeSubmenuHeader = () => {\n const { IconChevronLeft } = useComponentContextIcons();\n const { t } = useTranslationContext();\n const { returnToParentMenu } = useContextMenuContext();\n return (\n <ContextMenuHeader>\n <ContextMenuBackButton onClick={returnToParentMenu}>\n <IconChevronLeft />\n <span>{t('messageActions.remindMeSubmenu.remindMe.text', 'Remind Me')}</span>\n </ContextMenuBackButton>\n </ContextMenuHeader>\n );\n};\n\nexport const RemindMeSubmenu = () => {\n const { t } = useTranslationContext();\n const { client } = useChatContext();\n const { message } = useMessageContext();\n const { closeMenu } = useContextMenuContext();\n const { addNotification } = useNotificationApi();\n return (\n <div className='str-chat__message-actions-box__submenu'>\n {client.reminders.scheduledOffsetsMs.map((offsetMs) => (\n <ContextMenuButton\n className='str-chat__message-actions-list-item-button'\n key={`reminder-offset-option--${offsetMs}`}\n onClick={async () => {\n try {\n await client.reminders.upsertReminder({\n message_id: message.id,\n remind_at: new Date(new Date().getTime() + offsetMs),\n });\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n message: t('common.reminderSet.text', 'Reminder set'),\n severity: 'success',\n type: 'api:message:reminder:set:success',\n });\n } catch (error) {\n addNotification({\n context: {\n message,\n },\n emitter: 'MessageActions',\n error: getNotificationError(error),\n message: getErrorMessage(error, 'Error setting reminder'),\n severity: 'error',\n type: 'api:message:reminder:set:failed',\n });\n } finally {\n closeMenu();\n }\n }}\n >\n {t('duration.remindMe', { milliseconds: offsetMs })}\n </ContextMenuButton>\n ))}\n {/* todo: potential improvement to add a custom option that would trigger rendering modal with custom date picker - we need date picker */}\n </div>\n );\n};\n"],"mappings":";;;;;;;;;AAeA,IAAM,mBAAmB,OAAgB,aACvC,iBAAiB,SAAS,MAAM,UAAU,MAAM,UAAU;AAE5D,IAAM,wBAAwB,UAAsC;CAClE,IAAI,iBAAiB,OAAO,OAAO;CACnC,IAAI,OAAO,UAAU,UAAU,OAAO,IAAI,MAAM,KAAK;CACrD,IAAI,SAAS,OAAO,UAAU,YAAY,aAAa,OAAO;EAC5D,MAAM,UAAU,MAAM;EACtB,IAAI,OAAO,YAAY,UAAU,OAAO,IAAI,MAAM,OAAO;CAC3D;AAEF;AAEA,IAAa,8BAA8B;CACzC,MAAM,EAAE,oBAAoB,yBAAyB;CACrD,MAAM,EAAE,MAAM,sBAAsB;CACpC,MAAM,EAAE,uBAAuB,sBAAsB;CACrD,OACE,oBAAC,mBAAD,EAAA,UACE,qBAAC,uBAAD;EAAuB,SAAS;YAAhC,CACE,oBAAC,iBAAD,CAAkB,CAAA,GAClB,oBAAC,QAAD,EAAA,UAAO,EAAE,gDAAgD,WAAW,EAAQ,CAAA,CACvD;IACN,CAAA;AAEvB;AAEA,IAAa,wBAAwB;CACnC,MAAM,EAAE,MAAM,sBAAsB;CACpC,MAAM,EAAE,WAAW,eAAe;CAClC,MAAM,EAAE,YAAY,kBAAkB;CACtC,MAAM,EAAE,cAAc,sBAAsB;CAC5C,MAAM,EAAE,oBAAoB,mBAAmB;CAC/C,OACE,oBAAC,OAAD;EAAK,WAAU;YACZ,OAAO,UAAU,mBAAmB,KAAK,aACxC,oBAAC,mBAAD;GACE,WAAU;GAEV,SAAS,YAAY;IACnB,IAAI;KACF,MAAM,OAAO,UAAU,eAAe;MACpC,YAAY,QAAQ;MACpB,WAAW,IAAI,sBAAK,IAAI,KAAK,EAAA,CAAE,QAAQ,IAAI,QAAQ;KACrD,CAAC;KACD,gBAAgB;MACd,SAAS,EACP,QACF;MACA,SAAS;MACT,SAAS,EAAE,2BAA2B,cAAc;MACpD,UAAU;MACV,MAAM;KACR,CAAC;IACH,SAAS,OAAO;KACd,gBAAgB;MACd,SAAS,EACP,QACF;MACA,SAAS;MACT,OAAO,qBAAqB,KAAK;MACjC,SAAS,gBAAgB,OAAO,wBAAwB;MACxD,UAAU;MACV,MAAM;KACR,CAAC;IACH,UAAU;KACR,UAAU;IACZ;GACF;aAEC,EAAE,qBAAqB,EAAE,cAAc,SAAS,CAAC;EACjC,GAjCZ,2BAA2B,UAiCf,CACpB;CAEE,CAAA;AAET"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useStateStore } from "../../../store/hooks/useStateStore.mjs";
|
|
2
2
|
import { useMessageContext } from "../../../context/MessageContext.mjs";
|
|
3
3
|
import { ACTIONS_NOT_WORKING_IN_THREAD, isMessageBounced, isMessageDeleted, isMessageErrorRetryable, isNetworkSendFailure } from "../../Message/utils.mjs";
|
|
4
4
|
import { useUserRole } from "../../Message/hooks/useUserRole.mjs";
|
|
5
|
+
import { useChannel } from "../../../context/useChannel.mjs";
|
|
5
6
|
import { useMemo } from "react";
|
|
6
7
|
import { isAudioAttachment, isFileAttachment, isImageAttachment, isVideoAttachment, isVoiceRecordingAttachment } from "stream-chat";
|
|
7
8
|
//#region src/components/MessageActions/hooks/useBaseMessageActionSetFilter.ts
|
|
9
|
+
var userMessageRemindersStateSelector = ({ userMessageReminders }) => ({ userMessageRemindersEnabled: userMessageReminders.enabled });
|
|
8
10
|
/**
|
|
9
11
|
* Base filter hook which covers actions of type `delete`, `edit`,
|
|
10
12
|
* `flag`, `markUnread`, `mute`, `quote`, `react` and `reply`, whether
|
|
@@ -12,8 +14,9 @@ import { isAudioAttachment, isFileAttachment, isImageAttachment, isVideoAttachme
|
|
|
12
14
|
* whether the message has appropriate type and status (including soft-deleted).
|
|
13
15
|
*/
|
|
14
16
|
var useBaseMessageActionSetFilter = (messageActionSet, disable = false) => {
|
|
17
|
+
const channel = useChannel();
|
|
15
18
|
const { initialMessage: isInitialMessage, message } = useMessageContext();
|
|
16
|
-
const {
|
|
19
|
+
const { userMessageRemindersEnabled } = useStateStore(channel.configState, userMessageRemindersStateSelector);
|
|
17
20
|
const messageIsDeleted = isMessageDeleted(message);
|
|
18
21
|
const { canBlockUser, canDelete, canEdit, canFlag, canMarkUnread, canMute, canQuote, canReact, canReply, canSendMessage } = useUserRole(message);
|
|
19
22
|
const isMessageThreadReply = typeof message.parent_id === "string";
|
|
@@ -28,7 +31,7 @@ var useBaseMessageActionSetFilter = (messageActionSet, disable = false) => {
|
|
|
28
31
|
const type = action.type;
|
|
29
32
|
if (ACTIONS_NOT_WORKING_IN_THREAD.includes(type) && isMessageThreadReply) return false;
|
|
30
33
|
if (message.error) return type === "resendMessage" && canSendMessage && (allowRetry || isBounced) || type === "edit" && (isBounced && canEdit || hasNetworkSendFailure) || type === "delete" && !messageIsDeleted && (isBounced && canDelete || hasNetworkSendFailure);
|
|
31
|
-
if (type === "resendMessage" || type === "blockUser" && !canBlockUser || type === "copyMessageText" && !message.text || type === "download" && !message.attachments?.some((attachment) => isFileAttachment(attachment) || isImageAttachment(attachment) || isVideoAttachment(attachment) || isAudioAttachment(attachment) || isVoiceRecordingAttachment(attachment)) || type === "delete" && (!canDelete || messageIsDeleted) || type === "edit" && !canEdit || type === "flag" && !canFlag || type === "markUnread" && !canMarkUnread || type === "mute" && !canMute || type === "quote" && !canQuote || type === "react" && !canReact || type === "reply" && !canReply || type === "remindMe" && !
|
|
34
|
+
if (type === "resendMessage" || type === "blockUser" && !canBlockUser || type === "copyMessageText" && !message.text || type === "download" && !message.attachments?.some((attachment) => isFileAttachment(attachment) || isImageAttachment(attachment) || isVideoAttachment(attachment) || isAudioAttachment(attachment) || isVoiceRecordingAttachment(attachment)) || type === "delete" && (!canDelete || messageIsDeleted) || type === "edit" && !canEdit || type === "flag" && !canFlag || type === "markUnread" && !canMarkUnread || type === "mute" && !canMute || type === "quote" && !canQuote || type === "react" && !canReact || type === "reply" && !canReply || type === "remindMe" && !userMessageRemindersEnabled || type === "saveForLater" && !userMessageRemindersEnabled) return false;
|
|
32
35
|
return true;
|
|
33
36
|
});
|
|
34
37
|
}, [
|
|
@@ -43,7 +46,7 @@ var useBaseMessageActionSetFilter = (messageActionSet, disable = false) => {
|
|
|
43
46
|
canReact,
|
|
44
47
|
canReply,
|
|
45
48
|
canSendMessage,
|
|
46
|
-
|
|
49
|
+
userMessageRemindersEnabled,
|
|
47
50
|
isBounced,
|
|
48
51
|
isInitialMessage,
|
|
49
52
|
messageIsDeleted,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBaseMessageActionSetFilter.mjs","names":[],"sources":["../../../../../src/components/MessageActions/hooks/useBaseMessageActionSetFilter.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport {
|
|
1
|
+
{"version":3,"file":"useBaseMessageActionSetFilter.mjs","names":[],"sources":["../../../../../src/components/MessageActions/hooks/useBaseMessageActionSetFilter.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { useChannel, useMessageContext } from '../../../context';\nimport { useUserRole } from '../../Message/hooks';\nimport {\n ACTIONS_NOT_WORKING_IN_THREAD,\n isMessageBounced,\n isMessageDeleted,\n isMessageErrorRetryable,\n isNetworkSendFailure,\n} from '../../Message/utils';\n\nimport type { MessageActionSetItem } from '../MessageActions';\nimport {\n isAudioAttachment,\n isFileAttachment,\n isImageAttachment,\n isVideoAttachment,\n isVoiceRecordingAttachment,\n} from 'stream-chat';\nimport type { ChannelConfig } from 'stream-chat';\nimport { useStateStore } from '../../../store';\n\nconst userMessageRemindersStateSelector = ({ userMessageReminders }: ChannelConfig) => ({\n userMessageRemindersEnabled: userMessageReminders.enabled,\n});\n\n/**\n * Base filter hook which covers actions of type `delete`, `edit`,\n * `flag`, `markUnread`, `mute`, `quote`, `react` and `reply`, whether\n * the rendered message is a reply (replies are limited to certain actions) and\n * whether the message has appropriate type and status (including soft-deleted).\n */\nexport const useBaseMessageActionSetFilter = (\n messageActionSet: MessageActionSetItem[],\n disable = false,\n) => {\n const channel = useChannel();\n const { initialMessage: isInitialMessage, message } = useMessageContext();\n const { userMessageRemindersEnabled } = useStateStore(\n channel.configState,\n userMessageRemindersStateSelector,\n );\n const messageIsDeleted = isMessageDeleted(message);\n const {\n canBlockUser,\n canDelete,\n canEdit,\n canFlag,\n canMarkUnread,\n canMute,\n canQuote,\n canReact,\n canReply,\n canSendMessage,\n } = useUserRole(message);\n const isMessageThreadReply = typeof message.parent_id === 'string';\n const isBounced = isMessageBounced(message);\n const allowRetry = isMessageErrorRetryable(message);\n const hasNetworkSendFailure = isNetworkSendFailure(message);\n\n return useMemo(() => {\n if (disable) return messageActionSet;\n\n // filter out all actions if any of these are true\n if (\n isBounced ||\n isInitialMessage || // not sure whether this thing even works anymore\n !message.type ||\n message.type === 'system' ||\n message.type === 'ephemeral' ||\n message.status === 'sending'\n )\n return [];\n\n return messageActionSet.filter((action) => {\n if (action.placement === 'quick-dropdown-toggle') return true;\n\n const type = action.type;\n\n // filter out actions with types that do not work in thread\n if (ACTIONS_NOT_WORKING_IN_THREAD.includes(type) && isMessageThreadReply)\n return false;\n\n // failed message menu has special treatment\n if (message.error) {\n return (\n (type === 'resendMessage' && canSendMessage && (allowRetry || isBounced)) ||\n (type === 'edit' && ((isBounced && canEdit) || hasNetworkSendFailure)) ||\n (type === 'delete' &&\n !messageIsDeleted &&\n ((isBounced && canDelete) || hasNetworkSendFailure))\n );\n }\n\n if (\n type === 'resendMessage' ||\n (type === 'blockUser' && !canBlockUser) ||\n (type === 'copyMessageText' && !message.text) ||\n (type === 'download' &&\n !message.attachments?.some(\n (attachment) =>\n isFileAttachment(attachment) ||\n isImageAttachment(attachment) ||\n isVideoAttachment(attachment) ||\n isAudioAttachment(attachment) ||\n isVoiceRecordingAttachment(attachment),\n )) ||\n (type === 'delete' && (!canDelete || messageIsDeleted)) ||\n (type === 'edit' && !canEdit) ||\n (type === 'flag' && !canFlag) ||\n (type === 'markUnread' && !canMarkUnread) ||\n (type === 'mute' && !canMute) ||\n (type === 'quote' && !canQuote) ||\n (type === 'react' && !canReact) ||\n (type === 'reply' && !canReply) ||\n (type === 'remindMe' && !userMessageRemindersEnabled) ||\n (type === 'saveForLater' && !userMessageRemindersEnabled)\n )\n return false;\n\n return true;\n });\n }, [\n allowRetry,\n canBlockUser,\n canDelete,\n canEdit,\n canFlag,\n canMarkUnread,\n canMute,\n canQuote,\n canReact,\n canReply,\n canSendMessage,\n userMessageRemindersEnabled,\n isBounced,\n isInitialMessage,\n messageIsDeleted,\n isMessageThreadReply,\n message.error,\n message.attachments,\n message.status,\n message.text,\n message.type,\n disable,\n hasNetworkSendFailure,\n messageActionSet,\n ]);\n};\n"],"mappings":";;;;;;;;AAuBA,IAAM,qCAAqC,EAAE,4BAA2C,EACtF,6BAA6B,qBAAqB,QACpD;;;;;;;AAQA,IAAa,iCACX,kBACA,UAAU,UACP;CACH,MAAM,UAAU,WAAW;CAC3B,MAAM,EAAE,gBAAgB,kBAAkB,YAAY,kBAAkB;CACxE,MAAM,EAAE,gCAAgC,cACtC,QAAQ,aACR,iCACF;CACA,MAAM,mBAAmB,iBAAiB,OAAO;CACjD,MAAM,EACJ,cACA,WACA,SACA,SACA,eACA,SACA,UACA,UACA,UACA,mBACE,YAAY,OAAO;CACvB,MAAM,uBAAuB,OAAO,QAAQ,cAAc;CAC1D,MAAM,YAAY,iBAAiB,OAAO;CAC1C,MAAM,aAAa,wBAAwB,OAAO;CAClD,MAAM,wBAAwB,qBAAqB,OAAO;CAE1D,OAAO,cAAc;EACnB,IAAI,SAAS,OAAO;EAGpB,IACE,aACA,oBACA,CAAC,QAAQ,QACT,QAAQ,SAAS,YACjB,QAAQ,SAAS,eACjB,QAAQ,WAAW,WAEnB,OAAO,CAAC;EAEV,OAAO,iBAAiB,QAAQ,WAAW;GACzC,IAAI,OAAO,cAAc,yBAAyB,OAAO;GAEzD,MAAM,OAAO,OAAO;GAGpB,IAAI,8BAA8B,SAAS,IAAI,KAAK,sBAClD,OAAO;GAGT,IAAI,QAAQ,OACV,OACG,SAAS,mBAAmB,mBAAmB,cAAc,cAC7D,SAAS,WAAY,aAAa,WAAY,0BAC9C,SAAS,YACR,CAAC,qBACC,aAAa,aAAc;GAInC,IACE,SAAS,mBACR,SAAS,eAAe,CAAC,gBACzB,SAAS,qBAAqB,CAAC,QAAQ,QACvC,SAAS,cACR,CAAC,QAAQ,aAAa,MACnB,eACC,iBAAiB,UAAU,KAC3B,kBAAkB,UAAU,KAC5B,kBAAkB,UAAU,KAC5B,kBAAkB,UAAU,KAC5B,2BAA2B,UAAU,CACzC,KACD,SAAS,aAAa,CAAC,aAAa,qBACpC,SAAS,UAAU,CAAC,WACpB,SAAS,UAAU,CAAC,WACpB,SAAS,gBAAgB,CAAC,iBAC1B,SAAS,UAAU,CAAC,WACpB,SAAS,WAAW,CAAC,YACrB,SAAS,WAAW,CAAC,YACrB,SAAS,WAAW,CAAC,YACrB,SAAS,cAAc,CAAC,+BACxB,SAAS,kBAAkB,CAAC,6BAE7B,OAAO;GAET,OAAO;EACT,CAAC;CACH,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR;EACA;EACA;CACF,CAAC;AACH"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useComponentContext } from "../../context/ComponentContext.mjs";
|
|
2
|
-
import { MessageBounceProvider } from "../../context/MessageBounceContext.mjs";
|
|
3
2
|
import { GlobalModal } from "../Modal/GlobalModal.mjs";
|
|
3
|
+
import { MessageBounceProvider } from "../../context/MessageBounceContext.mjs";
|
|
4
4
|
import "react";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
6
6
|
//#region src/components/MessageBounce/MessageBounceModal.tsx
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { useComponentContextIcons } from "../../context/useComponentContextIcons.mjs";
|
|
2
|
-
import { useMessageBounceContext } from "../../context/MessageBounceContext.mjs";
|
|
3
|
-
import { useModalContext } from "../../context/ModalContext.mjs";
|
|
4
1
|
import { useTranslationContext } from "../../context/TranslationContext.mjs";
|
|
5
2
|
import { Button } from "../Button/Button.mjs";
|
|
6
3
|
import { Alert } from "../Dialog/components/Alert.mjs";
|
|
4
|
+
import { useMessageBounceContext } from "../../context/MessageBounceContext.mjs";
|
|
5
|
+
import { useModalContext } from "../../context/ModalContext.mjs";
|
|
6
|
+
import { useComponentContextIcons } from "../../context/useComponentContextIcons.mjs";
|
|
7
7
|
import "react";
|
|
8
8
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
9
|
//#region src/components/MessageBounce/MessageBouncePrompt.tsx
|
|
@@ -23,9 +23,9 @@ function MessageBouncePrompt({ children }) {
|
|
|
23
23
|
"data-testid": "message-bounce-prompt",
|
|
24
24
|
children: [/* @__PURE__ */ jsx(Alert.Header, {
|
|
25
25
|
className: "str-chat__message-bounce-alert-header",
|
|
26
|
-
description: !children ? t("Review this message and choose whether to delete it, edit it, or send it anyway") : void 0,
|
|
26
|
+
description: !children ? t("messageBounce.prompt.description", "Review this message and choose whether to delete it, edit it, or send it anyway") : void 0,
|
|
27
27
|
Icon: IconExclamationMark,
|
|
28
|
-
title: !children ? t("This message did not meet our content guidelines") : void 0,
|
|
28
|
+
title: !children ? t("messageBounce.prompt.title", "This message did not meet our content guidelines") : void 0,
|
|
29
29
|
children
|
|
30
30
|
}), /* @__PURE__ */ jsxs(Alert.Actions, {
|
|
31
31
|
className: "str-chat__message-bounce-actions",
|
|
@@ -37,7 +37,7 @@ function MessageBouncePrompt({ children }) {
|
|
|
37
37
|
onClick: createHandler(handleDelete),
|
|
38
38
|
size: "md",
|
|
39
39
|
variant: "danger",
|
|
40
|
-
children: t("Delete")
|
|
40
|
+
children: t("common.delete.text", "Delete")
|
|
41
41
|
}),
|
|
42
42
|
/* @__PURE__ */ jsx(Button, {
|
|
43
43
|
appearance: "outline",
|
|
@@ -46,7 +46,7 @@ function MessageBouncePrompt({ children }) {
|
|
|
46
46
|
onClick: createHandler(handleEdit),
|
|
47
47
|
size: "md",
|
|
48
48
|
variant: "secondary",
|
|
49
|
-
children: t("Edit Message")
|
|
49
|
+
children: t("common.editMessage.text", "Edit Message")
|
|
50
50
|
}),
|
|
51
51
|
/* @__PURE__ */ jsx(Button, {
|
|
52
52
|
appearance: "outline",
|
|
@@ -55,7 +55,7 @@ function MessageBouncePrompt({ children }) {
|
|
|
55
55
|
onClick: createHandler(handleRetry),
|
|
56
56
|
size: "md",
|
|
57
57
|
variant: "secondary",
|
|
58
|
-
children: t("Send Anyway")
|
|
58
|
+
children: t("messageBounce.prompt.sendAnyway.text", "Send Anyway")
|
|
59
59
|
})
|
|
60
60
|
]
|
|
61
61
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageBouncePrompt.mjs","names":[],"sources":["../../../../src/components/MessageBounce/MessageBouncePrompt.tsx"],"sourcesContent":["import type { MouseEventHandler } from 'react';\nimport React from 'react';\nimport {\n useComponentContextIcons,\n useMessageBounceContext,\n useModalContext,\n useTranslationContext,\n} from '../../context';\nimport { Button } from '../Button';\nimport { Alert } from '../Dialog';\nimport type { PropsWithChildrenOnly } from '../../types/types';\n\nexport type MessageBouncePromptProps = PropsWithChildrenOnly;\n\n// todo: shall we rename this to MessageBounceAlert?\nexport function MessageBouncePrompt({ children }: MessageBouncePromptProps) {\n const { IconExclamationMark } = useComponentContextIcons();\n
|
|
1
|
+
{"version":3,"file":"MessageBouncePrompt.mjs","names":[],"sources":["../../../../src/components/MessageBounce/MessageBouncePrompt.tsx"],"sourcesContent":["import type { MouseEventHandler } from 'react';\nimport React from 'react';\nimport {\n useComponentContextIcons,\n useMessageBounceContext,\n useModalContext,\n useTranslationContext,\n} from '../../context';\nimport { Button } from '../Button';\nimport { Alert } from '../Dialog';\nimport type { PropsWithChildrenOnly } from '../../types/types';\n\nexport type MessageBouncePromptProps = PropsWithChildrenOnly;\n\n// todo: shall we rename this to MessageBounceAlert?\nexport function MessageBouncePrompt({ children }: MessageBouncePromptProps) {\n const { IconExclamationMark } = useComponentContextIcons();\n const { handleDelete, handleEdit, handleRetry } = useMessageBounceContext();\n const { t } = useTranslationContext();\n const { close } = useModalContext();\n\n function createHandler(\n handle: MouseEventHandler<HTMLButtonElement>,\n ): MouseEventHandler<HTMLButtonElement> {\n return (e) => {\n handle(e);\n close();\n };\n }\n\n return (\n <Alert.Root\n className='str-chat__message-bounce-alert'\n data-testid='message-bounce-prompt'\n >\n <Alert.Header\n className='str-chat__message-bounce-alert-header'\n description={\n !children\n ? t(\n 'messageBounce.prompt.description',\n 'Review this message and choose whether to delete it, edit it, or send it anyway',\n )\n : undefined\n }\n Icon={IconExclamationMark}\n title={\n !children\n ? t(\n 'messageBounce.prompt.title',\n 'This message did not meet our content guidelines',\n )\n : undefined\n }\n >\n {children}\n </Alert.Header>\n <Alert.Actions className={'str-chat__message-bounce-actions'}>\n <Button\n appearance='outline'\n className='str-chat__message-bounce-delete'\n data-testid='message-bounce-delete'\n onClick={createHandler(handleDelete)}\n size='md'\n variant='danger'\n >\n {t('common.delete.text', 'Delete')}\n </Button>\n <Button\n appearance='outline'\n className='str-chat__message-bounce-edit'\n data-testid='message-bounce-edit'\n onClick={createHandler(handleEdit)}\n size='md'\n variant='secondary'\n >\n {t('common.editMessage.text', 'Edit Message')}\n </Button>\n <Button\n appearance='outline'\n className='str-chat__message-bounce-send'\n data-testid='message-bounce-send'\n onClick={createHandler(handleRetry)}\n size='md'\n variant='secondary'\n >\n {t('messageBounce.prompt.sendAnyway.text', 'Send Anyway')}\n </Button>\n </Alert.Actions>\n </Alert.Root>\n );\n}\n"],"mappings":";;;;;;;;;AAeA,SAAgB,oBAAoB,EAAE,YAAsC;CAC1E,MAAM,EAAE,wBAAwB,yBAAyB;CACzD,MAAM,EAAE,cAAc,YAAY,gBAAgB,wBAAwB;CAC1E,MAAM,EAAE,MAAM,sBAAsB;CACpC,MAAM,EAAE,UAAU,gBAAgB;CAElC,SAAS,cACP,QACsC;EACtC,QAAQ,MAAM;GACZ,OAAO,CAAC;GACR,MAAM;EACR;CACF;CAEA,OACE,qBAAC,MAAM,MAAP;EACE,WAAU;EACV,eAAY;YAFd,CAIE,oBAAC,MAAM,QAAP;GACE,WAAU;GACV,aACE,CAAC,WACG,EACE,oCACA,iFACF,IACA,KAAA;GAEN,MAAM;GACN,OACE,CAAC,WACG,EACE,8BACA,kDACF,IACA,KAAA;GAGL;EACW,CAAA,GACd,qBAAC,MAAM,SAAP;GAAe,WAAW;aAA1B;IACE,oBAAC,QAAD;KACE,YAAW;KACX,WAAU;KACV,eAAY;KACZ,SAAS,cAAc,YAAY;KACnC,MAAK;KACL,SAAQ;eAEP,EAAE,sBAAsB,QAAQ;IAC3B,CAAA;IACR,oBAAC,QAAD;KACE,YAAW;KACX,WAAU;KACV,eAAY;KACZ,SAAS,cAAc,UAAU;KACjC,MAAK;KACL,SAAQ;eAEP,EAAE,2BAA2B,cAAc;IACtC,CAAA;IACR,oBAAC,QAAD;KACE,YAAW;KACX,WAAU;KACV,eAAY;KACZ,SAAS,cAAc,WAAW;KAClC,MAAK;KACL,SAAQ;eAEP,EAAE,wCAAwC,aAAa;IAClD,CAAA;GACK;IACL;;AAEhB"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { useComponentContext } from "../../../context/ComponentContext.mjs";
|
|
2
2
|
import { GlobalModal } from "../../Modal/GlobalModal.mjs";
|
|
3
|
+
import { useMessageComposerController } from "../hooks/useMessageComposerController.mjs";
|
|
3
4
|
import { toBaseImageDescriptors } from "../../BaseImage/toBaseImageDescriptors.mjs";
|
|
4
5
|
import { Gallery } from "../../Gallery/Gallery.mjs";
|
|
5
6
|
import { useAttachmentsForPreview } from "../hooks/useAttachmentsForPreview.mjs";
|
|
6
7
|
import { UnsupportedAttachmentPreview } from "./UnsupportedAttachmentPreview.mjs";
|
|
7
8
|
import { FileAttachmentPreview } from "./FileAttachmentPreview.mjs";
|
|
8
9
|
import { MediaAttachmentPreview } from "./MediaAttachmentPreview.mjs";
|
|
9
|
-
import { useMessageComposerController } from "../hooks/useMessageComposerController.mjs";
|
|
10
10
|
import { useCallback, useMemo, useRef, useState } from "react";
|
|
11
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
12
11
|
import { isLocalAttachment, isLocalAudioAttachment, isLocalFileAttachment, isLocalImageAttachment, isLocalVideoAttachment, isLocalVoiceRecordingAttachment, isScrapedContent, isVoiceRecordingAttachment } from "stream-chat";
|
|
12
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
13
13
|
//#region src/components/MessageComposer/AttachmentPreviewList/AttachmentPreviewList.tsx
|
|
14
14
|
var AttachmentPreviewList = ({ AudioAttachmentPreview = FileAttachmentPreview, FileAttachmentPreview: FileAttachmentPreview$1 = FileAttachmentPreview, ImageAttachmentPreview = MediaAttachmentPreview, UnsupportedAttachmentPreview: UnsupportedAttachmentPreview$1 = UnsupportedAttachmentPreview, VideoAttachmentPreview = MediaAttachmentPreview }) => {
|
|
15
15
|
const messageComposer = useMessageComposerController();
|