stream-chat-react 14.11.1 → 14.12.0
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/{NotificationList.6abbee1c.js → NotificationList.4ce251ea.js} +127 -34
- package/dist/cjs/NotificationList.4ce251ea.js.map +1 -0
- package/dist/cjs/{ReactPlayerWrapper.a94a0cd1.js → ReactPlayerWrapper.7cc7b0d8.js} +4 -4
- package/dist/cjs/{ReactPlayerWrapper.a94a0cd1.js.map → ReactPlayerWrapper.7cc7b0d8.js.map} +1 -1
- package/dist/cjs/channel-detail.js +2 -2
- package/dist/cjs/emojis.js +2 -2
- package/dist/cjs/index.js +232 -55
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/{useChannelHeaderOnlineStatus.7e17671e.js → useChannelHeaderOnlineStatus.64c443f5.js} +2 -2
- package/dist/cjs/{useChannelHeaderOnlineStatus.7e17671e.js.map → useChannelHeaderOnlineStatus.64c443f5.js.map} +1 -1
- package/dist/cjs/{useInertWhenHidden.22151beb.js → useInertWhenHidden.1a2a6a2b.js} +200 -53
- package/dist/cjs/useInertWhenHidden.1a2a6a2b.js.map +1 -0
- package/dist/css/index.css +71 -12
- package/dist/css/index.css.map +1 -1
- package/dist/es/_virtual/_rolldown/runtime.mjs +13 -0
- package/dist/es/a11y/a11yUtils.mjs +42 -0
- package/dist/es/a11y/a11yUtils.mjs.map +1 -0
- package/dist/es/a11y/accessibleLabel.mjs +27 -0
- package/dist/es/a11y/accessibleLabel.mjs.map +1 -0
- package/dist/es/a11y/hooks/useAriaIdentifiers.mjs +25 -0
- package/dist/es/a11y/hooks/useAriaIdentifiers.mjs.map +1 -0
- package/dist/es/a11y/hooks/useListboxKeyboardNavigation.mjs +85 -0
- package/dist/es/a11y/hooks/useListboxKeyboardNavigation.mjs.map +1 -0
- package/dist/es/a11y/hooks/useResolvedModalAriaProps.mjs +32 -0
- package/dist/es/a11y/hooks/useResolvedModalAriaProps.mjs.map +1 -0
- package/dist/es/a11y/hooks/useVirtualizedListboxKeyboardNavigation.mjs +68 -0
- package/dist/es/a11y/hooks/useVirtualizedListboxKeyboardNavigation.mjs.map +1 -0
- package/dist/es/channel-detail.mjs +29 -3020
- package/dist/es/components/AIStateIndicator/AIStateIndicator.mjs +26 -0
- package/dist/es/components/AIStateIndicator/AIStateIndicator.mjs.map +1 -0
- package/dist/es/components/AIStateIndicator/hooks/useAIState.mjs +44 -0
- package/dist/es/components/AIStateIndicator/hooks/useAIState.mjs.map +1 -0
- package/dist/es/components/Accessibility/AriaLiveAnnouncerProvider.mjs +144 -0
- package/dist/es/components/Accessibility/AriaLiveAnnouncerProvider.mjs.map +1 -0
- package/dist/es/components/Accessibility/AriaLiveOutlet.mjs +58 -0
- package/dist/es/components/Accessibility/AriaLiveOutlet.mjs.map +1 -0
- package/dist/es/components/Accessibility/AriaLiveOutletContext.mjs +8 -0
- package/dist/es/components/Accessibility/AriaLiveOutletContext.mjs.map +1 -0
- package/dist/es/components/Accessibility/NotificationAnnouncer.mjs +87 -0
- package/dist/es/components/Accessibility/NotificationAnnouncer.mjs.map +1 -0
- package/dist/es/components/Accessibility/hooks/useAudioPlaybackChangeAnnouncements.mjs +20 -0
- package/dist/es/components/Accessibility/hooks/useAudioPlaybackChangeAnnouncements.mjs.map +1 -0
- package/dist/es/components/Accessibility/hooks/useFocusReturn.mjs +37 -0
- package/dist/es/components/Accessibility/hooks/useFocusReturn.mjs.map +1 -0
- package/dist/es/components/Accessibility/hooks/useIncomingMessageAnnouncements.mjs +84 -0
- package/dist/es/components/Accessibility/hooks/useIncomingMessageAnnouncements.mjs.map +1 -0
- package/dist/es/components/Accessibility/hooks/useInertWhenHidden.mjs +85 -0
- package/dist/es/components/Accessibility/hooks/useInertWhenHidden.mjs.map +1 -0
- package/dist/es/components/Accessibility/hooks/useInteractionAnnouncements.mjs +155 -0
- package/dist/es/components/Accessibility/hooks/useInteractionAnnouncements.mjs.map +1 -0
- package/dist/es/components/Accessibility/scheduling/useAnnouncementQueue.mjs +43 -0
- package/dist/es/components/Accessibility/scheduling/useAnnouncementQueue.mjs.map +1 -0
- package/dist/es/components/Accessibility/scheduling/useDebouncedAnnounce.mjs +78 -0
- package/dist/es/components/Accessibility/scheduling/useDebouncedAnnounce.mjs.map +1 -0
- package/dist/es/components/Accessibility/scheduling/useSettledAnnouncement.mjs +90 -0
- package/dist/es/components/Accessibility/scheduling/useSettledAnnouncement.mjs.map +1 -0
- package/dist/es/components/Accessibility/useAriaLiveAnnouncer.mjs +16 -0
- package/dist/es/components/Accessibility/useAriaLiveAnnouncer.mjs.map +1 -0
- package/dist/es/components/Attachment/Attachment.mjs +74 -0
- package/dist/es/components/Attachment/Attachment.mjs.map +1 -0
- package/dist/es/components/Attachment/AttachmentActions.mjs +109 -0
- package/dist/es/components/Attachment/AttachmentActions.mjs.map +1 -0
- package/dist/es/components/Attachment/AttachmentContainer.mjs +265 -0
- package/dist/es/components/Attachment/AttachmentContainer.mjs.map +1 -0
- package/dist/es/components/Attachment/Audio.mjs +104 -0
- package/dist/es/components/Attachment/Audio.mjs.map +1 -0
- package/dist/es/components/Attachment/FileAttachment.mjs +47 -0
- package/dist/es/components/Attachment/FileAttachment.mjs.map +1 -0
- package/dist/es/components/Attachment/Geolocation.mjs +77 -0
- package/dist/es/components/Attachment/Geolocation.mjs.map +1 -0
- package/dist/es/components/Attachment/Giphy.mjs +62 -0
- package/dist/es/components/Attachment/Giphy.mjs.map +1 -0
- package/dist/es/components/Attachment/Image.mjs +19 -0
- package/dist/es/components/Attachment/Image.mjs.map +1 -0
- package/dist/es/components/Attachment/LinkPreview/Card.mjs +93 -0
- package/dist/es/components/Attachment/LinkPreview/Card.mjs.map +1 -0
- package/dist/es/components/Attachment/LinkPreview/UnableToRenderCard.mjs +22 -0
- package/dist/es/components/Attachment/LinkPreview/UnableToRenderCard.mjs.map +1 -0
- package/dist/es/components/Attachment/ModalGallery.mjs +166 -0
- package/dist/es/components/Attachment/ModalGallery.mjs.map +1 -0
- package/dist/es/components/Attachment/UnsupportedAttachment.mjs +25 -0
- package/dist/es/components/Attachment/UnsupportedAttachment.mjs.map +1 -0
- package/dist/es/components/Attachment/VideoAttachment.mjs +56 -0
- package/dist/es/components/Attachment/VideoAttachment.mjs.map +1 -0
- package/dist/es/components/Attachment/VisibilityDisclaimer.mjs +17 -0
- package/dist/es/components/Attachment/VisibilityDisclaimer.mjs.map +1 -0
- package/dist/es/components/Attachment/VoiceRecording.mjs +134 -0
- package/dist/es/components/Attachment/VoiceRecording.mjs.map +1 -0
- package/dist/es/components/Attachment/attachment-sizing.mjs +73 -0
- package/dist/es/components/Attachment/attachment-sizing.mjs.map +1 -0
- package/dist/es/components/Attachment/audioSampling.mjs +74 -0
- package/dist/es/components/Attachment/audioSampling.mjs.map +1 -0
- package/dist/es/components/Attachment/components/AttachmentUploadProgressIndicator.mjs +38 -0
- package/dist/es/components/Attachment/components/AttachmentUploadProgressIndicator.mjs.map +1 -0
- package/dist/es/components/Attachment/components/DownloadButton.mjs +35 -0
- package/dist/es/components/Attachment/components/DownloadButton.mjs.map +1 -0
- package/dist/es/components/Attachment/components/FileSizeIndicator.mjs +17 -0
- package/dist/es/components/Attachment/components/FileSizeIndicator.mjs.map +1 -0
- package/dist/es/components/Attachment/giphyAccessibility.mjs +15 -0
- package/dist/es/components/Attachment/giphyAccessibility.mjs.map +1 -0
- package/dist/es/components/Attachment/hooks/useAttachmentUploadState.mjs +106 -0
- package/dist/es/components/Attachment/hooks/useAttachmentUploadState.mjs.map +1 -0
- package/dist/es/components/Attachment/hooks/useLocalVideoDimensions.mjs +79 -0
- package/dist/es/components/Attachment/hooks/useLocalVideoDimensions.mjs.map +1 -0
- package/dist/es/components/Attachment/icons.mjs +13 -0
- package/dist/es/components/Attachment/icons.mjs.map +1 -0
- package/dist/es/components/Attachment/utils.mjs +41 -0
- package/dist/es/components/Attachment/utils.mjs.map +1 -0
- package/dist/es/components/AudioPlayback/AudioPlayer.mjs +457 -0
- package/dist/es/components/AudioPlayback/AudioPlayer.mjs.map +1 -0
- package/dist/es/components/AudioPlayback/AudioPlayerPool.mjs +109 -0
- package/dist/es/components/AudioPlayback/AudioPlayerPool.mjs.map +1 -0
- package/dist/es/components/AudioPlayback/WithAudioPlayback.mjs +72 -0
- package/dist/es/components/AudioPlayback/WithAudioPlayback.mjs.map +1 -0
- package/dist/es/components/AudioPlayback/components/DurationDisplay.mjs +33 -0
- package/dist/es/components/AudioPlayback/components/DurationDisplay.mjs.map +1 -0
- package/dist/es/components/AudioPlayback/components/PlaybackRateButton.mjs +15 -0
- package/dist/es/components/AudioPlayback/components/PlaybackRateButton.mjs.map +1 -0
- package/dist/es/components/AudioPlayback/components/ProgressBar.mjs +56 -0
- package/dist/es/components/AudioPlayback/components/ProgressBar.mjs.map +1 -0
- package/dist/es/components/AudioPlayback/components/WaveProgressBar.mjs +107 -0
- package/dist/es/components/AudioPlayback/components/WaveProgressBar.mjs.map +1 -0
- package/dist/es/components/AudioPlayback/components/formatTime.mjs +14 -0
- package/dist/es/components/AudioPlayback/components/formatTime.mjs.map +1 -0
- package/dist/es/components/AudioPlayback/components/keyboardSeek.mjs +36 -0
- package/dist/es/components/AudioPlayback/components/keyboardSeek.mjs.map +1 -0
- package/dist/es/components/AudioPlayback/components/progressBarA11y.mjs +19 -0
- package/dist/es/components/AudioPlayback/components/progressBarA11y.mjs.map +1 -0
- package/dist/es/components/AudioPlayback/components/useInteractiveProgressBar.mjs +77 -0
- package/dist/es/components/AudioPlayback/components/useInteractiveProgressBar.mjs.map +1 -0
- package/dist/es/components/AudioPlayback/plugins/AudioPlayerNotificationsPlugin.mjs +33 -0
- package/dist/es/components/AudioPlayback/plugins/AudioPlayerNotificationsPlugin.mjs.map +1 -0
- package/dist/es/components/Avatar/Avatar.mjs +62 -0
- package/dist/es/components/Avatar/Avatar.mjs.map +1 -0
- package/dist/es/components/Avatar/AvatarStack.mjs +32 -0
- package/dist/es/components/Avatar/AvatarStack.mjs.map +1 -0
- package/dist/es/components/Avatar/ChannelAvatar.mjs +25 -0
- package/dist/es/components/Avatar/ChannelAvatar.mjs.map +1 -0
- package/dist/es/components/Avatar/GroupAvatar.mjs +53 -0
- package/dist/es/components/Avatar/GroupAvatar.mjs.map +1 -0
- package/dist/es/components/Avatar/utils.mjs +10 -0
- package/dist/es/components/Avatar/utils.mjs.map +1 -0
- package/dist/es/components/Badge/Badge.mjs +28 -0
- package/dist/es/components/Badge/Badge.mjs.map +1 -0
- package/dist/es/components/Badge/MediaBadge.mjs +20 -0
- package/dist/es/components/Badge/MediaBadge.mjs.map +1 -0
- package/dist/es/components/BaseImage/BaseImage.mjs +35 -0
- package/dist/es/components/BaseImage/BaseImage.mjs.map +1 -0
- package/dist/es/components/BaseImage/ImagePlaceholder.mjs +21 -0
- package/dist/es/components/BaseImage/ImagePlaceholder.mjs.map +1 -0
- package/dist/es/components/BaseImage/toBaseImageDescriptors.mjs +57 -0
- package/dist/es/components/BaseImage/toBaseImageDescriptors.mjs.map +1 -0
- package/dist/es/components/Button/Button.mjs +36 -0
- package/dist/es/components/Button/Button.mjs.map +1 -0
- package/dist/es/components/Button/PlayButton.mjs +26 -0
- package/dist/es/components/Button/PlayButton.mjs.map +1 -0
- package/dist/es/components/Channel/Channel.mjs +752 -0
- package/dist/es/components/Channel/Channel.mjs.map +1 -0
- package/dist/es/components/Channel/channelState.mjs +195 -0
- package/dist/es/components/Channel/channelState.mjs.map +1 -0
- package/dist/es/components/Channel/constants.mjs +6 -0
- package/dist/es/components/Channel/constants.mjs.map +1 -0
- package/dist/es/components/Channel/hooks/useChannelContainerClasses.mjs +20 -0
- package/dist/es/components/Channel/hooks/useChannelContainerClasses.mjs.map +1 -0
- package/dist/es/components/Channel/hooks/useCreateChannelStateContext.mjs +86 -0
- package/dist/es/components/Channel/hooks/useCreateChannelStateContext.mjs.map +1 -0
- package/dist/es/components/Channel/hooks/useCreateTypingContext.mjs +10 -0
- package/dist/es/components/Channel/hooks/useCreateTypingContext.mjs.map +1 -0
- package/dist/es/components/Channel/hooks/useEditMessageHandler.mjs +13 -0
- package/dist/es/components/Channel/hooks/useEditMessageHandler.mjs.map +1 -0
- package/dist/es/components/Channel/hooks/useIsMounted.mjs +16 -0
- package/dist/es/components/Channel/hooks/useIsMounted.mjs.map +1 -0
- package/dist/es/components/Channel/hooks/useMentionsHandlers.mjs +18 -0
- package/dist/es/components/Channel/hooks/useMentionsHandlers.mjs.map +1 -0
- package/dist/es/components/Channel/utils.mjs +156 -0
- package/dist/es/components/Channel/utils.mjs.map +1 -0
- package/dist/es/components/ChannelHeader/ChannelHeader.mjs +70 -0
- package/dist/es/components/ChannelHeader/ChannelHeader.mjs.map +1 -0
- package/dist/es/components/ChannelHeader/hooks/useChannelHasMembersOnline.mjs +51 -0
- package/dist/es/components/ChannelHeader/hooks/useChannelHasMembersOnline.mjs.map +1 -0
- package/dist/es/components/ChannelHeader/hooks/useChannelHeaderOnlineStatus.mjs +33 -0
- package/dist/es/components/ChannelHeader/hooks/useChannelHeaderOnlineStatus.mjs.map +1 -0
- package/dist/es/components/ChannelList/ChannelList.mjs +143 -0
- package/dist/es/components/ChannelList/ChannelList.mjs.map +1 -0
- package/dist/es/components/ChannelList/ChannelListHeader.mjs +22 -0
- package/dist/es/components/ChannelList/ChannelListHeader.mjs.map +1 -0
- package/dist/es/components/ChannelList/ChannelListUI.mjs +35 -0
- package/dist/es/components/ChannelList/ChannelListUI.mjs.map +1 -0
- package/dist/es/components/ChannelList/hooks/useChannelListKeyboardNavigation.mjs +82 -0
- package/dist/es/components/ChannelList/hooks/useChannelListKeyboardNavigation.mjs.map +1 -0
- package/dist/es/components/ChannelList/hooks/useChannelListShape.mjs +310 -0
- package/dist/es/components/ChannelList/hooks/useChannelListShape.mjs.map +1 -0
- package/dist/es/components/ChannelList/hooks/useChannelMembersState.mjs +23 -0
- package/dist/es/components/ChannelList/hooks/useChannelMembersState.mjs.map +1 -0
- package/dist/es/components/ChannelList/hooks/useChannelMembershipState.mjs +15 -0
- package/dist/es/components/ChannelList/hooks/useChannelMembershipState.mjs.map +1 -0
- package/dist/es/components/ChannelList/hooks/useConnectionRecoveredListener.mjs +19 -0
- package/dist/es/components/ChannelList/hooks/useConnectionRecoveredListener.mjs.map +1 -0
- package/dist/es/components/ChannelList/hooks/usePaginatedChannels.mjs +110 -0
- package/dist/es/components/ChannelList/hooks/usePaginatedChannels.mjs.map +1 -0
- package/dist/es/components/ChannelList/hooks/useSelectedChannelState.mjs +24 -0
- package/dist/es/components/ChannelList/hooks/useSelectedChannelState.mjs.map +1 -0
- package/dist/es/components/ChannelList/utils.mjs +86 -0
- package/dist/es/components/ChannelList/utils.mjs.map +1 -0
- package/dist/es/components/ChannelListItem/ChannelListItem.mjs +116 -0
- package/dist/es/components/ChannelListItem/ChannelListItem.mjs.map +1 -0
- package/dist/es/components/ChannelListItem/ChannelListItemActionButtons.defaults.mjs +432 -0
- package/dist/es/components/ChannelListItem/ChannelListItemActionButtons.defaults.mjs.map +1 -0
- package/dist/es/components/ChannelListItem/ChannelListItemActionButtons.mjs +67 -0
- package/dist/es/components/ChannelListItem/ChannelListItemActionButtons.mjs.map +1 -0
- package/dist/es/components/ChannelListItem/ChannelListItemTimestamp.mjs +30 -0
- package/dist/es/components/ChannelListItem/ChannelListItemTimestamp.mjs.map +1 -0
- package/dist/es/components/ChannelListItem/ChannelListItemUI.mjs +118 -0
- package/dist/es/components/ChannelListItem/ChannelListItemUI.mjs.map +1 -0
- package/dist/es/components/ChannelListItem/hooks/useChannelDisplayName.mjs +56 -0
- package/dist/es/components/ChannelListItem/hooks/useChannelDisplayName.mjs.map +1 -0
- package/dist/es/components/ChannelListItem/hooks/useChannelPreviewInfo.mjs +51 -0
- package/dist/es/components/ChannelListItem/hooks/useChannelPreviewInfo.mjs.map +1 -0
- package/dist/es/components/ChannelListItem/hooks/useIsChannelMuted.mjs +33 -0
- package/dist/es/components/ChannelListItem/hooks/useIsChannelMuted.mjs.map +1 -0
- package/dist/es/components/ChannelListItem/hooks/useIsUserMuted.mjs +11 -0
- package/dist/es/components/ChannelListItem/hooks/useIsUserMuted.mjs.map +1 -0
- package/dist/es/components/ChannelListItem/hooks/useMessageDeliveryStatus.mjs +68 -0
- package/dist/es/components/ChannelListItem/hooks/useMessageDeliveryStatus.mjs.map +1 -0
- package/dist/es/components/ChannelListItem/utils.a11y.mjs +121 -0
- package/dist/es/components/ChannelListItem/utils.a11y.mjs.map +1 -0
- package/dist/es/components/ChannelListItem/utils.mjs +195 -0
- package/dist/es/components/ChannelListItem/utils.mjs.map +1 -0
- package/dist/es/components/Chat/Chat.mjs +88 -0
- package/dist/es/components/Chat/Chat.mjs.map +1 -0
- package/dist/es/components/Chat/hooks/useChannelsQueryState.mjs +16 -0
- package/dist/es/components/Chat/hooks/useChannelsQueryState.mjs.map +1 -0
- package/dist/es/components/Chat/hooks/useChat.mjs +86 -0
- package/dist/es/components/Chat/hooks/useChat.mjs.map +1 -0
- package/dist/es/components/Chat/hooks/useCreateChatClient.mjs +36 -0
- package/dist/es/components/Chat/hooks/useCreateChatClient.mjs.map +1 -0
- package/dist/es/components/Chat/hooks/useCreateChatContext.mjs +38 -0
- package/dist/es/components/Chat/hooks/useCreateChatContext.mjs.map +1 -0
- package/dist/es/components/Chat/hooks/useReportLostConnectionSystemNotification.mjs +51 -0
- package/dist/es/components/Chat/hooks/useReportLostConnectionSystemNotification.mjs.map +1 -0
- package/dist/es/components/Chat/hooks/useSplitActionSet.mjs +21 -0
- package/dist/es/components/Chat/hooks/useSplitActionSet.mjs.map +1 -0
- package/dist/es/components/ChatView/ChatView.a11y.utility.mjs +13 -0
- package/dist/es/components/ChatView/ChatView.a11y.utility.mjs.map +1 -0
- package/dist/es/components/ChatView/ChatView.mjs +224 -0
- package/dist/es/components/ChatView/ChatView.mjs.map +1 -0
- package/dist/es/components/DateSeparator/DateSeparator.mjs +36 -0
- package/dist/es/components/DateSeparator/DateSeparator.mjs.map +1 -0
- package/dist/es/components/Dialog/components/Alert.mjs +53 -0
- package/dist/es/components/Dialog/components/Alert.mjs.map +1 -0
- package/dist/es/components/Dialog/components/Callout.mjs +57 -0
- package/dist/es/components/Dialog/components/Callout.mjs.map +1 -0
- package/dist/es/components/Dialog/components/ContextMenu.mjs +550 -0
- package/dist/es/components/Dialog/components/ContextMenu.mjs.map +1 -0
- package/dist/es/components/Dialog/components/Prompt.mjs +112 -0
- package/dist/es/components/Dialog/components/Prompt.mjs.map +1 -0
- package/dist/es/components/Dialog/components/Viewer.mjs +100 -0
- package/dist/es/components/Dialog/components/Viewer.mjs.map +1 -0
- package/dist/es/components/Dialog/hooks/useDialog.mjs +53 -0
- package/dist/es/components/Dialog/hooks/useDialog.mjs.map +1 -0
- package/dist/es/components/Dialog/hooks/usePopoverPosition.mjs +49 -0
- package/dist/es/components/Dialog/hooks/usePopoverPosition.mjs.map +1 -0
- package/dist/es/components/Dialog/service/DialogAnchor.mjs +175 -0
- package/dist/es/components/Dialog/service/DialogAnchor.mjs.map +1 -0
- package/dist/es/components/Dialog/service/DialogManager.mjs +169 -0
- package/dist/es/components/Dialog/service/DialogManager.mjs.map +1 -0
- package/dist/es/components/Dialog/service/DialogPortal.mjs +63 -0
- package/dist/es/components/Dialog/service/DialogPortal.mjs.map +1 -0
- package/dist/es/components/DragAndDrop/DragAndDropContainer.mjs +90 -0
- package/dist/es/components/DragAndDrop/DragAndDropContainer.mjs.map +1 -0
- package/dist/es/components/EmptyStateIndicator/EmptyStateIndicator.mjs +38 -0
- package/dist/es/components/EmptyStateIndicator/EmptyStateIndicator.mjs.map +1 -0
- package/dist/es/components/EventComponent/EventComponent.mjs +27 -0
- package/dist/es/components/EventComponent/EventComponent.mjs.map +1 -0
- package/dist/es/components/FileIcon/FileIcon.mjs +43 -0
- package/dist/es/components/FileIcon/FileIcon.mjs.map +1 -0
- package/dist/es/components/FileIcon/FileIconSet.mjs +407 -0
- package/dist/es/components/FileIcon/FileIconSet.mjs.map +1 -0
- package/dist/es/components/FileIcon/iconMap.mjs +41 -0
- package/dist/es/components/FileIcon/iconMap.mjs.map +1 -0
- package/dist/es/components/FileIcon/mimeTypes.mjs +242 -0
- package/dist/es/components/FileIcon/mimeTypes.mjs.map +1 -0
- package/dist/es/components/Form/Checkbox.mjs +15 -0
- package/dist/es/components/Form/Checkbox.mjs.map +1 -0
- package/dist/es/components/Form/Dropdown.mjs +132 -0
- package/dist/es/components/Form/Dropdown.mjs.map +1 -0
- package/dist/es/components/Form/FieldError.mjs +13 -0
- package/dist/es/components/Form/FieldError.mjs.map +1 -0
- package/dist/es/components/Form/NumericInput.mjs +125 -0
- package/dist/es/components/Form/NumericInput.mjs.map +1 -0
- package/dist/es/components/Form/SwitchField.mjs +103 -0
- package/dist/es/components/Form/SwitchField.mjs.map +1 -0
- package/dist/es/components/Form/TextInput.mjs +113 -0
- package/dist/es/components/Form/TextInput.mjs.map +1 -0
- package/dist/es/components/Form/TextInputFieldSet.mjs +21 -0
- package/dist/es/components/Form/TextInputFieldSet.mjs.map +1 -0
- package/dist/es/components/Form/hooks/useFormState.mjs +54 -0
- package/dist/es/components/Form/hooks/useFormState.mjs.map +1 -0
- package/dist/es/components/Gallery/Gallery.mjs +60 -0
- package/dist/es/components/Gallery/Gallery.mjs.map +1 -0
- package/dist/es/components/Gallery/GalleryContext.mjs +21 -0
- package/dist/es/components/Gallery/GalleryContext.mjs.map +1 -0
- package/dist/es/components/Gallery/GalleryHeader.mjs +65 -0
- package/dist/es/components/Gallery/GalleryHeader.mjs.map +1 -0
- package/dist/es/components/Gallery/GalleryUI.mjs +206 -0
- package/dist/es/components/Gallery/GalleryUI.mjs.map +1 -0
- package/dist/es/components/Icons/BaseIcon.mjs +20 -0
- package/dist/es/components/Icons/BaseIcon.mjs.map +1 -0
- package/dist/es/components/Icons/createIcon.mjs +23 -0
- package/dist/es/components/Icons/createIcon.mjs.map +1 -0
- package/dist/es/components/Icons/icons.mjs +802 -0
- package/dist/es/components/Icons/icons.mjs.map +1 -0
- package/dist/es/components/InfiniteScrollPaginator/InfiniteScroll.mjs +81 -0
- package/dist/es/components/InfiniteScrollPaginator/InfiniteScroll.mjs.map +1 -0
- package/dist/es/components/InfiniteScrollPaginator/InfiniteScrollPaginator.mjs +73 -0
- package/dist/es/components/InfiniteScrollPaginator/InfiniteScrollPaginator.mjs.map +1 -0
- package/dist/es/components/InfiniteScrollPaginator/hooks/useCursorPaginator.mjs +47 -0
- package/dist/es/components/InfiniteScrollPaginator/hooks/useCursorPaginator.mjs.map +1 -0
- package/dist/es/components/ListItemLayout/ListItemLayout.mjs +62 -0
- package/dist/es/components/ListItemLayout/ListItemLayout.mjs.map +1 -0
- package/dist/es/components/LoadMore/LoadMoreButton.mjs +28 -0
- package/dist/es/components/LoadMore/LoadMoreButton.mjs.map +1 -0
- package/dist/es/components/LoadMore/LoadMorePaginator.mjs +20 -0
- package/dist/es/components/LoadMore/LoadMorePaginator.mjs.map +1 -0
- package/dist/es/components/Loading/AttachmentUploadedSizeIndicator.mjs +33 -0
- package/dist/es/components/Loading/AttachmentUploadedSizeIndicator.mjs.map +1 -0
- package/dist/es/components/Loading/LoadingChannel.mjs +59 -0
- package/dist/es/components/Loading/LoadingChannel.mjs.map +1 -0
- package/dist/es/components/Loading/LoadingChannels.mjs +28 -0
- package/dist/es/components/Loading/LoadingChannels.mjs.map +1 -0
- package/dist/es/components/Loading/LoadingErrorIndicator.mjs +17 -0
- package/dist/es/components/Loading/LoadingErrorIndicator.mjs.map +1 -0
- package/dist/es/components/Loading/LoadingIndicator.mjs +15 -0
- package/dist/es/components/Loading/LoadingIndicator.mjs.map +1 -0
- package/dist/es/components/Loading/UploadProgressIndicator.mjs +15 -0
- package/dist/es/components/Loading/UploadProgressIndicator.mjs.map +1 -0
- package/dist/es/components/Loading/UploadedSizeIndicator.mjs +22 -0
- package/dist/es/components/Loading/UploadedSizeIndicator.mjs.map +1 -0
- package/dist/es/components/Loading/progress-indicators.mjs +50 -0
- package/dist/es/components/Loading/progress-indicators.mjs.map +1 -0
- package/dist/es/components/Location/ShareLocationDialog.mjs +206 -0
- package/dist/es/components/Location/ShareLocationDialog.mjs.map +1 -0
- package/dist/es/components/Location/hooks/useLiveLocationSharingManager.mjs +57 -0
- package/dist/es/components/Location/hooks/useLiveLocationSharingManager.mjs.map +1 -0
- package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecorder.mjs +32 -0
- package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecorder.mjs.map +1 -0
- package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecorderRecordingControls.mjs +77 -0
- package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecorderRecordingControls.mjs.map +1 -0
- package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingButtonWithNotification.mjs +58 -0
- package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingButtonWithNotification.mjs.map +1 -0
- package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingPlayback.mjs +71 -0
- package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingPlayback.mjs.map +1 -0
- package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingPreview.mjs +65 -0
- package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingPreview.mjs.map +1 -0
- package/dist/es/components/MediaRecorder/AudioRecorder/RecordingTimer.mjs +13 -0
- package/dist/es/components/MediaRecorder/AudioRecorder/RecordingTimer.mjs.map +1 -0
- package/dist/es/components/MediaRecorder/AudioRecorder/hooks/useTimeElapsed.mjs +40 -0
- package/dist/es/components/MediaRecorder/AudioRecorder/hooks/useTimeElapsed.mjs.map +1 -0
- package/dist/es/components/MediaRecorder/AudioRecorder/recordingStateIdentity.mjs +8 -0
- package/dist/es/components/MediaRecorder/AudioRecorder/recordingStateIdentity.mjs.map +1 -0
- package/dist/es/components/MediaRecorder/RecordingPermissionDeniedNotification.mjs +31 -0
- package/dist/es/components/MediaRecorder/RecordingPermissionDeniedNotification.mjs.map +1 -0
- package/dist/es/components/MediaRecorder/classes/AmplitudeRecorder.mjs +75 -0
- package/dist/es/components/MediaRecorder/classes/AmplitudeRecorder.mjs.map +1 -0
- package/dist/es/components/MediaRecorder/classes/BrowserPermission.mjs +62 -0
- package/dist/es/components/MediaRecorder/classes/BrowserPermission.mjs.map +1 -0
- package/dist/es/components/MediaRecorder/classes/MediaRecorderController.mjs +237 -0
- package/dist/es/components/MediaRecorder/classes/MediaRecorderController.mjs.map +1 -0
- package/dist/es/components/MediaRecorder/hooks/useMediaRecorder.mjs +79 -0
- package/dist/es/components/MediaRecorder/hooks/useMediaRecorder.mjs.map +1 -0
- package/dist/es/components/MediaRecorder/observable/BehaviorSubject.mjs +27 -0
- package/dist/es/components/MediaRecorder/observable/BehaviorSubject.mjs.map +1 -0
- package/dist/es/components/MediaRecorder/observable/Observable.mjs +23 -0
- package/dist/es/components/MediaRecorder/observable/Observable.mjs.map +1 -0
- package/dist/es/components/MediaRecorder/observable/Observer.mjs +8 -0
- package/dist/es/components/MediaRecorder/observable/Observer.mjs.map +1 -0
- package/dist/es/components/MediaRecorder/observable/Subject.mjs +54 -0
- package/dist/es/components/MediaRecorder/observable/Subject.mjs.map +1 -0
- package/dist/es/components/MediaRecorder/observable/Subscription.mjs +15 -0
- package/dist/es/components/MediaRecorder/observable/Subscription.mjs.map +1 -0
- package/dist/es/components/MediaRecorder/transcode/audioProcessing.mjs +34 -0
- package/dist/es/components/MediaRecorder/transcode/audioProcessing.mjs.map +1 -0
- package/dist/es/components/MediaRecorder/transcode/index.mjs +12 -0
- package/dist/es/components/MediaRecorder/transcode/index.mjs.map +1 -0
- package/dist/es/components/MediaRecorder/transcode/wav.mjs +99 -0
- package/dist/es/components/MediaRecorder/transcode/wav.mjs.map +1 -0
- package/dist/es/components/Message/Message.mjs +154 -0
- package/dist/es/components/Message/Message.mjs.map +1 -0
- package/dist/es/components/Message/MessageAlsoSentInChannelIndicator.mjs +79 -0
- package/dist/es/components/Message/MessageAlsoSentInChannelIndicator.mjs.map +1 -0
- package/dist/es/components/Message/MessageBlocked.mjs +27 -0
- package/dist/es/components/Message/MessageBlocked.mjs.map +1 -0
- package/dist/es/components/Message/MessageBubble.mjs +12 -0
- package/dist/es/components/Message/MessageBubble.mjs.map +1 -0
- package/dist/es/components/Message/MessageDeletedBubble.mjs +21 -0
- package/dist/es/components/Message/MessageDeletedBubble.mjs.map +1 -0
- package/dist/es/components/Message/MessageEditedIndicator.mjs +41 -0
- package/dist/es/components/Message/MessageEditedIndicator.mjs.map +1 -0
- package/dist/es/components/Message/MessageRepliesCountButton.mjs +37 -0
- package/dist/es/components/Message/MessageRepliesCountButton.mjs.map +1 -0
- package/dist/es/components/Message/MessageStatus.mjs +85 -0
- package/dist/es/components/Message/MessageStatus.mjs.map +1 -0
- package/dist/es/components/Message/MessageText.mjs +101 -0
- package/dist/es/components/Message/MessageText.mjs.map +1 -0
- package/dist/es/components/Message/MessageTimestamp.mjs +20 -0
- package/dist/es/components/Message/MessageTimestamp.mjs.map +1 -0
- package/dist/es/components/Message/MessageTranslationIndicator.mjs +53 -0
- package/dist/es/components/Message/MessageTranslationIndicator.mjs.map +1 -0
- package/dist/es/components/Message/MessageUI.mjs +185 -0
- package/dist/es/components/Message/MessageUI.mjs.map +1 -0
- package/dist/es/components/Message/PinIndicator.mjs +34 -0
- package/dist/es/components/Message/PinIndicator.mjs.map +1 -0
- package/dist/es/components/Message/QuotedMessage.mjs +26 -0
- package/dist/es/components/Message/QuotedMessage.mjs.map +1 -0
- package/dist/es/components/Message/ReminderNotification.mjs +57 -0
- package/dist/es/components/Message/ReminderNotification.mjs.map +1 -0
- package/dist/es/components/Message/StreamedMessageText.mjs +35 -0
- package/dist/es/components/Message/StreamedMessageText.mjs.map +1 -0
- package/dist/es/components/Message/Timestamp.mjs +41 -0
- package/dist/es/components/Message/Timestamp.mjs.map +1 -0
- package/dist/es/components/Message/emojiRegex.mjs +20 -0
- package/dist/es/components/Message/emojiRegex.mjs.map +1 -0
- package/dist/es/components/Message/hooks/useActionHandler.mjs +30 -0
- package/dist/es/components/Message/hooks/useActionHandler.mjs.map +1 -0
- package/dist/es/components/Message/hooks/useDeleteHandler.mjs +21 -0
- package/dist/es/components/Message/hooks/useDeleteHandler.mjs.map +1 -0
- package/dist/es/components/Message/hooks/useFlagHandler.mjs +20 -0
- package/dist/es/components/Message/hooks/useFlagHandler.mjs.map +1 -0
- package/dist/es/components/Message/hooks/useMarkUnreadHandler.mjs +17 -0
- package/dist/es/components/Message/hooks/useMarkUnreadHandler.mjs.map +1 -0
- package/dist/es/components/Message/hooks/useMentionsHandler.mjs +22 -0
- package/dist/es/components/Message/hooks/useMentionsHandler.mjs.map +1 -0
- package/dist/es/components/Message/hooks/useMessageReminder.mjs +14 -0
- package/dist/es/components/Message/hooks/useMessageReminder.mjs.map +1 -0
- package/dist/es/components/Message/hooks/useMessageTextStreaming.mjs +48 -0
- package/dist/es/components/Message/hooks/useMessageTextStreaming.mjs.map +1 -0
- package/dist/es/components/Message/hooks/useMuteHandler.mjs +24 -0
- package/dist/es/components/Message/hooks/useMuteHandler.mjs.map +1 -0
- package/dist/es/components/Message/hooks/useOpenThreadHandler.mjs +17 -0
- package/dist/es/components/Message/hooks/useOpenThreadHandler.mjs.map +1 -0
- package/dist/es/components/Message/hooks/usePinHandler.mjs +45 -0
- package/dist/es/components/Message/hooks/usePinHandler.mjs.map +1 -0
- package/dist/es/components/Message/hooks/useReactionHandler.mjs +90 -0
- package/dist/es/components/Message/hooks/useReactionHandler.mjs.map +1 -0
- package/dist/es/components/Message/hooks/useReactionsFetcher.mjs +28 -0
- package/dist/es/components/Message/hooks/useReactionsFetcher.mjs.map +1 -0
- package/dist/es/components/Message/hooks/useRetryHandler.mjs +13 -0
- package/dist/es/components/Message/hooks/useRetryHandler.mjs.map +1 -0
- package/dist/es/components/Message/hooks/useUserHandler.mjs +15 -0
- package/dist/es/components/Message/hooks/useUserHandler.mjs.map +1 -0
- package/dist/es/components/Message/hooks/useUserRole.mjs +47 -0
- package/dist/es/components/Message/hooks/useUserRole.mjs.map +1 -0
- package/dist/es/components/Message/renderText/componentRenderers/Anchor.mjs +20 -0
- package/dist/es/components/Message/renderText/componentRenderers/Anchor.mjs.map +1 -0
- package/dist/es/components/Message/renderText/componentRenderers/Emoji.mjs +12 -0
- package/dist/es/components/Message/renderText/componentRenderers/Emoji.mjs.map +1 -0
- package/dist/es/components/Message/renderText/componentRenderers/Mention.mjs +14 -0
- package/dist/es/components/Message/renderText/componentRenderers/Mention.mjs.map +1 -0
- package/dist/es/components/Message/renderText/regex.mjs +22 -0
- package/dist/es/components/Message/renderText/regex.mjs.map +1 -0
- package/dist/es/components/Message/renderText/rehypePlugins/emojiMarkdownPlugin.mjs +16 -0
- package/dist/es/components/Message/renderText/rehypePlugins/emojiMarkdownPlugin.mjs.map +1 -0
- package/dist/es/components/Message/renderText/rehypePlugins/mentionsMarkdownPlugin.mjs +111 -0
- package/dist/es/components/Message/renderText/rehypePlugins/mentionsMarkdownPlugin.mjs.map +1 -0
- package/dist/es/components/Message/renderText/remarkPlugins/htmlToTextPlugin.mjs +14 -0
- package/dist/es/components/Message/renderText/remarkPlugins/htmlToTextPlugin.mjs.map +1 -0
- package/dist/es/components/Message/renderText/remarkPlugins/imageToLink.mjs +33 -0
- package/dist/es/components/Message/renderText/remarkPlugins/imageToLink.mjs.map +1 -0
- package/dist/es/components/Message/renderText/remarkPlugins/keepLineBreaksPlugin.mjs +44 -0
- package/dist/es/components/Message/renderText/remarkPlugins/keepLineBreaksPlugin.mjs.map +1 -0
- package/dist/es/components/Message/renderText/remarkPlugins/plusPlusToEmphasis.mjs +68 -0
- package/dist/es/components/Message/renderText/remarkPlugins/plusPlusToEmphasis.mjs.map +1 -0
- package/dist/es/components/Message/renderText/remarkPlugins/remarkIgnoreMarkdown.mjs +19 -0
- package/dist/es/components/Message/renderText/remarkPlugins/remarkIgnoreMarkdown.mjs.map +1 -0
- package/dist/es/components/Message/renderText/renderText.mjs +131 -0
- package/dist/es/components/Message/renderText/renderText.mjs.map +1 -0
- package/dist/es/components/Message/utils.mjs +151 -0
- package/dist/es/components/Message/utils.mjs.map +1 -0
- package/dist/es/components/MessageActions/DeleteMessageAlert.mjs +43 -0
- package/dist/es/components/MessageActions/DeleteMessageAlert.mjs.map +1 -0
- package/dist/es/components/MessageActions/DownloadSubmenu.mjs +52 -0
- package/dist/es/components/MessageActions/DownloadSubmenu.mjs.map +1 -0
- package/dist/es/components/MessageActions/MessageActions.defaults.mjs +644 -0
- package/dist/es/components/MessageActions/MessageActions.defaults.mjs.map +1 -0
- package/dist/es/components/MessageActions/MessageActions.mjs +61 -0
- package/dist/es/components/MessageActions/MessageActions.mjs.map +1 -0
- package/dist/es/components/MessageActions/QuickMessageActionButton.mjs +20 -0
- package/dist/es/components/MessageActions/QuickMessageActionButton.mjs.map +1 -0
- package/dist/es/components/MessageActions/RemindMeSubmenu.mjs +71 -0
- package/dist/es/components/MessageActions/RemindMeSubmenu.mjs.map +1 -0
- package/dist/es/components/MessageActions/downloadUtils.mjs +65 -0
- package/dist/es/components/MessageActions/downloadUtils.mjs.map +1 -0
- package/dist/es/components/MessageActions/hooks/useBaseMessageActionSetFilter.mjs +64 -0
- package/dist/es/components/MessageActions/hooks/useBaseMessageActionSetFilter.mjs.map +1 -0
- package/dist/es/components/MessageBounce/MessageBounceModal.mjs +18 -0
- package/dist/es/components/MessageBounce/MessageBounceModal.mjs.map +1 -0
- package/dist/es/components/MessageBounce/MessageBouncePrompt.mjs +67 -0
- package/dist/es/components/MessageBounce/MessageBouncePrompt.mjs.map +1 -0
- package/dist/es/components/MessageComposer/AttachmentPreviewList/AttachmentPreviewList.mjs +91 -0
- package/dist/es/components/MessageComposer/AttachmentPreviewList/AttachmentPreviewList.mjs.map +1 -0
- package/dist/es/components/MessageComposer/AttachmentPreviewList/AudioAttachmentPreview.mjs +131 -0
- package/dist/es/components/MessageComposer/AttachmentPreviewList/AudioAttachmentPreview.mjs.map +1 -0
- package/dist/es/components/MessageComposer/AttachmentPreviewList/FileAttachmentPreview.mjs +82 -0
- package/dist/es/components/MessageComposer/AttachmentPreviewList/FileAttachmentPreview.mjs.map +1 -0
- package/dist/es/components/MessageComposer/AttachmentPreviewList/GeolocationPreview.mjs +53 -0
- package/dist/es/components/MessageComposer/AttachmentPreviewList/GeolocationPreview.mjs.map +1 -0
- package/dist/es/components/MessageComposer/AttachmentPreviewList/MediaAttachmentPreview.mjs +97 -0
- package/dist/es/components/MessageComposer/AttachmentPreviewList/MediaAttachmentPreview.mjs.map +1 -0
- package/dist/es/components/MessageComposer/AttachmentPreviewList/UnsupportedAttachmentPreview.mjs +36 -0
- package/dist/es/components/MessageComposer/AttachmentPreviewList/UnsupportedAttachmentPreview.mjs.map +1 -0
- package/dist/es/components/MessageComposer/AttachmentPreviewList/VoiceRecordingPreviewSlot.mjs +29 -0
- package/dist/es/components/MessageComposer/AttachmentPreviewList/VoiceRecordingPreviewSlot.mjs.map +1 -0
- package/dist/es/components/MessageComposer/AttachmentPreviewList/utils/AttachmentPreviewRoot.mjs +53 -0
- package/dist/es/components/MessageComposer/AttachmentPreviewList/utils/AttachmentPreviewRoot.mjs.map +1 -0
- package/dist/es/components/MessageComposer/AttachmentSelector/AttachmentSelector.mjs +308 -0
- package/dist/es/components/MessageComposer/AttachmentSelector/AttachmentSelector.mjs.map +1 -0
- package/dist/es/components/MessageComposer/AttachmentSelector/CommandsMenu.mjs +104 -0
- package/dist/es/components/MessageComposer/AttachmentSelector/CommandsMenu.mjs.map +1 -0
- package/dist/es/components/MessageComposer/CommandChip.mjs +37 -0
- package/dist/es/components/MessageComposer/CommandChip.mjs.map +1 -0
- package/dist/es/components/MessageComposer/CooldownTimer.mjs +15 -0
- package/dist/es/components/MessageComposer/CooldownTimer.mjs.map +1 -0
- package/dist/es/components/MessageComposer/EditedMessagePreview.mjs +17 -0
- package/dist/es/components/MessageComposer/EditedMessagePreview.mjs.map +1 -0
- package/dist/es/components/MessageComposer/LinkPreviewList.mjs +78 -0
- package/dist/es/components/MessageComposer/LinkPreviewList.mjs.map +1 -0
- package/dist/es/components/MessageComposer/MessageComposer.mjs +66 -0
- package/dist/es/components/MessageComposer/MessageComposer.mjs.map +1 -0
- package/dist/es/components/MessageComposer/MessageComposerActions.mjs +71 -0
- package/dist/es/components/MessageComposer/MessageComposerActions.mjs.map +1 -0
- package/dist/es/components/MessageComposer/MessageComposerUI.mjs +100 -0
- package/dist/es/components/MessageComposer/MessageComposerUI.mjs.map +1 -0
- package/dist/es/components/MessageComposer/QuotedMessageIndicator.mjs +9 -0
- package/dist/es/components/MessageComposer/QuotedMessageIndicator.mjs.map +1 -0
- package/dist/es/components/MessageComposer/QuotedMessagePreview.mjs +325 -0
- package/dist/es/components/MessageComposer/QuotedMessagePreview.mjs.map +1 -0
- package/dist/es/components/MessageComposer/RemoveAttachmentPreviewButton.mjs +25 -0
- package/dist/es/components/MessageComposer/RemoveAttachmentPreviewButton.mjs.map +1 -0
- package/dist/es/components/MessageComposer/SendButton.mjs +29 -0
- package/dist/es/components/MessageComposer/SendButton.mjs.map +1 -0
- package/dist/es/components/MessageComposer/SendToChannelCheckbox.mjs +51 -0
- package/dist/es/components/MessageComposer/SendToChannelCheckbox.mjs.map +1 -0
- package/dist/es/components/MessageComposer/StopAIGenerationButton.mjs +18 -0
- package/dist/es/components/MessageComposer/StopAIGenerationButton.mjs.map +1 -0
- package/dist/es/components/MessageComposer/WithDragAndDropUpload.mjs +109 -0
- package/dist/es/components/MessageComposer/WithDragAndDropUpload.mjs.map +1 -0
- package/dist/es/components/MessageComposer/hooks/useAttachmentManagerState.mjs +24 -0
- package/dist/es/components/MessageComposer/hooks/useAttachmentManagerState.mjs.map +1 -0
- package/dist/es/components/MessageComposer/hooks/useAttachmentsForPreview.mjs +21 -0
- package/dist/es/components/MessageComposer/hooks/useAttachmentsForPreview.mjs.map +1 -0
- package/dist/es/components/MessageComposer/hooks/useCanCreatePoll.mjs +15 -0
- package/dist/es/components/MessageComposer/hooks/useCanCreatePoll.mjs.map +1 -0
- package/dist/es/components/MessageComposer/hooks/useCooldownRemaining.mjs +19 -0
- package/dist/es/components/MessageComposer/hooks/useCooldownRemaining.mjs.map +1 -0
- package/dist/es/components/MessageComposer/hooks/useCreateMessageComposerContext.mjs +35 -0
- package/dist/es/components/MessageComposer/hooks/useCreateMessageComposerContext.mjs.map +1 -0
- package/dist/es/components/MessageComposer/hooks/useIsCooldownActive.mjs +12 -0
- package/dist/es/components/MessageComposer/hooks/useIsCooldownActive.mjs.map +1 -0
- package/dist/es/components/MessageComposer/hooks/useMessageComposerBindings.mjs +27 -0
- package/dist/es/components/MessageComposer/hooks/useMessageComposerBindings.mjs.map +1 -0
- package/dist/es/components/MessageComposer/hooks/useMessageComposerCommands.mjs +27 -0
- package/dist/es/components/MessageComposer/hooks/useMessageComposerCommands.mjs.map +1 -0
- package/dist/es/components/MessageComposer/hooks/useMessageComposerController.mjs +56 -0
- package/dist/es/components/MessageComposer/hooks/useMessageComposerController.mjs.map +1 -0
- package/dist/es/components/MessageComposer/hooks/useMessageComposerHasSendableData.mjs +13 -0
- package/dist/es/components/MessageComposer/hooks/useMessageComposerHasSendableData.mjs.map +1 -0
- package/dist/es/components/MessageComposer/hooks/useMessageContentIsEmpty.mjs +13 -0
- package/dist/es/components/MessageComposer/hooks/useMessageContentIsEmpty.mjs.map +1 -0
- package/dist/es/components/MessageComposer/hooks/usePasteHandler.mjs +34 -0
- package/dist/es/components/MessageComposer/hooks/usePasteHandler.mjs.map +1 -0
- package/dist/es/components/MessageComposer/hooks/useSubmitHandler.mjs +98 -0
- package/dist/es/components/MessageComposer/hooks/useSubmitHandler.mjs.map +1 -0
- package/dist/es/components/MessageComposer/hooks/useTextareaRef.mjs +14 -0
- package/dist/es/components/MessageComposer/hooks/useTextareaRef.mjs.map +1 -0
- package/dist/es/components/MessageComposer/hooks/utils.mjs +16 -0
- package/dist/es/components/MessageComposer/hooks/utils.mjs.map +1 -0
- package/dist/es/components/MessageComposer/icons.mjs +62 -0
- package/dist/es/components/MessageComposer/icons.mjs.map +1 -0
- package/dist/es/components/MessageComposer/preEditSnapshot.mjs +45 -0
- package/dist/es/components/MessageComposer/preEditSnapshot.mjs.map +1 -0
- package/dist/es/components/MessageList/FloatingDateSeparator.mjs +46 -0
- package/dist/es/components/MessageList/FloatingDateSeparator.mjs.map +1 -0
- package/dist/es/components/MessageList/GiphyPreviewMessage.mjs +15 -0
- package/dist/es/components/MessageList/GiphyPreviewMessage.mjs.map +1 -0
- package/dist/es/components/MessageList/MessageList.mjs +329 -0
- package/dist/es/components/MessageList/MessageList.mjs.map +1 -0
- package/dist/es/components/MessageList/MessageListMainPanel.mjs +12 -0
- package/dist/es/components/MessageList/MessageListMainPanel.mjs.map +1 -0
- package/dist/es/components/MessageList/NewMessageNotification.mjs +32 -0
- package/dist/es/components/MessageList/NewMessageNotification.mjs.map +1 -0
- package/dist/es/components/MessageList/ScrollToLatestMessageButton.mjs +78 -0
- package/dist/es/components/MessageList/ScrollToLatestMessageButton.mjs.map +1 -0
- package/dist/es/components/MessageList/UnreadMessagesNotification.mjs +33 -0
- package/dist/es/components/MessageList/UnreadMessagesNotification.mjs.map +1 -0
- package/dist/es/components/MessageList/UnreadMessagesSeparator.mjs +33 -0
- package/dist/es/components/MessageList/UnreadMessagesSeparator.mjs.map +1 -0
- package/dist/es/components/MessageList/VirtualizedMessageList.mjs +339 -0
- package/dist/es/components/MessageList/VirtualizedMessageList.mjs.map +1 -0
- package/dist/es/components/MessageList/VirtualizedMessageListComponents.mjs +93 -0
- package/dist/es/components/MessageList/VirtualizedMessageListComponents.mjs.map +1 -0
- package/dist/es/components/MessageList/hooks/MessageList/useEnrichedMessages.mjs +39 -0
- package/dist/es/components/MessageList/hooks/MessageList/useEnrichedMessages.mjs.map +1 -0
- package/dist/es/components/MessageList/hooks/MessageList/useFloatingDateSeparatorMessageList.mjs +78 -0
- package/dist/es/components/MessageList/hooks/MessageList/useFloatingDateSeparatorMessageList.mjs.map +1 -0
- package/dist/es/components/MessageList/hooks/MessageList/useMessageListElements.mjs +58 -0
- package/dist/es/components/MessageList/hooks/MessageList/useMessageListElements.mjs.map +1 -0
- package/dist/es/components/MessageList/hooks/MessageList/useMessageListScrollManager.mjs +141 -0
- package/dist/es/components/MessageList/hooks/MessageList/useMessageListScrollManager.mjs.map +1 -0
- package/dist/es/components/MessageList/hooks/MessageList/useScrollLocationLogic.mjs +275 -0
- package/dist/es/components/MessageList/hooks/MessageList/useScrollLocationLogic.mjs.map +1 -0
- package/dist/es/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.mjs +81 -0
- package/dist/es/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.mjs.map +1 -0
- package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useFloatingDateSeparator.mjs +69 -0
- package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useFloatingDateSeparator.mjs.map +1 -0
- package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.mjs +24 -0
- package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.mjs.map +1 -0
- package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useMessageSetKey.mjs +18 -0
- package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useMessageSetKey.mjs.map +1 -0
- package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useNewMessageNotification.mjs +41 -0
- package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useNewMessageNotification.mjs.map +1 -0
- package/dist/es/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.mjs +41 -0
- package/dist/es/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.mjs.map +1 -0
- package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.mjs +33 -0
- package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.mjs.map +1 -0
- package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useShouldForceScrollToBottom.mjs +27 -0
- package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useShouldForceScrollToBottom.mjs.map +1 -0
- package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.mjs +43 -0
- package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.mjs.map +1 -0
- package/dist/es/components/MessageList/hooks/useLastDeliveredData.mjs +43 -0
- package/dist/es/components/MessageList/hooks/useLastDeliveredData.mjs.map +1 -0
- package/dist/es/components/MessageList/hooks/useLastOwnMessage.mjs +8 -0
- package/dist/es/components/MessageList/hooks/useLastOwnMessage.mjs.map +1 -0
- package/dist/es/components/MessageList/hooks/useLastReadData.mjs +28 -0
- package/dist/es/components/MessageList/hooks/useLastReadData.mjs.map +1 -0
- package/dist/es/components/MessageList/hooks/useMarkRead.mjs +75 -0
- package/dist/es/components/MessageList/hooks/useMarkRead.mjs.map +1 -0
- package/dist/es/components/MessageList/hooks/useReducedMotionPreference.mjs +23 -0
- package/dist/es/components/MessageList/hooks/useReducedMotionPreference.mjs.map +1 -0
- package/dist/es/components/MessageList/renderMessages.mjs +76 -0
- package/dist/es/components/MessageList/renderMessages.mjs.map +1 -0
- package/dist/es/components/MessageList/utils.mjs +155 -0
- package/dist/es/components/MessageList/utils.mjs.map +1 -0
- package/dist/es/components/Modal/GlobalModal.mjs +157 -0
- package/dist/es/components/Modal/GlobalModal.mjs.map +1 -0
- package/dist/es/components/Notifications/Notification.mjs +91 -0
- package/dist/es/components/Notifications/Notification.mjs.map +1 -0
- package/dist/es/components/Notifications/NotificationConfigurationContext.mjs +19 -0
- package/dist/es/components/Notifications/NotificationConfigurationContext.mjs.map +1 -0
- package/dist/es/components/Notifications/NotificationList.mjs +314 -0
- package/dist/es/components/Notifications/NotificationList.mjs.map +1 -0
- package/dist/es/components/Notifications/hooks/useNotificationApi.mjs +107 -0
- package/dist/es/components/Notifications/hooks/useNotificationApi.mjs.map +1 -0
- package/dist/es/components/Notifications/hooks/useNotificationTarget.mjs +25 -0
- package/dist/es/components/Notifications/hooks/useNotificationTarget.mjs.map +1 -0
- package/dist/es/components/Notifications/hooks/useNotifications.mjs +39 -0
- package/dist/es/components/Notifications/hooks/useNotifications.mjs.map +1 -0
- package/dist/es/components/Notifications/hooks/useSystemNotifications.mjs +22 -0
- package/dist/es/components/Notifications/hooks/useSystemNotifications.mjs.map +1 -0
- package/dist/es/components/Notifications/notificationTarget.mjs +38 -0
- package/dist/es/components/Notifications/notificationTarget.mjs.map +1 -0
- package/dist/es/components/Poll/Poll.mjs +18 -0
- package/dist/es/components/Poll/Poll.mjs.map +1 -0
- package/dist/es/components/Poll/PollActions/AddCommentPrompt.mjs +79 -0
- package/dist/es/components/Poll/PollActions/AddCommentPrompt.mjs.map +1 -0
- package/dist/es/components/Poll/PollActions/EndPollAlert.mjs +61 -0
- package/dist/es/components/Poll/PollActions/EndPollAlert.mjs.map +1 -0
- package/dist/es/components/Poll/PollActions/PollAction.mjs +27 -0
- package/dist/es/components/Poll/PollActions/PollAction.mjs.map +1 -0
- package/dist/es/components/Poll/PollActions/PollActions.mjs +92 -0
- package/dist/es/components/Poll/PollActions/PollActions.mjs.map +1 -0
- package/dist/es/components/Poll/PollActions/PollAnswerList.mjs +70 -0
- package/dist/es/components/Poll/PollActions/PollAnswerList.mjs.map +1 -0
- package/dist/es/components/Poll/PollActions/PollOptionsFullList.mjs +32 -0
- package/dist/es/components/Poll/PollActions/PollOptionsFullList.mjs.map +1 -0
- package/dist/es/components/Poll/PollActions/PollQuestion.mjs +20 -0
- package/dist/es/components/Poll/PollActions/PollQuestion.mjs.map +1 -0
- package/dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotes.mjs +49 -0
- package/dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotes.mjs.map +1 -0
- package/dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.mjs +44 -0
- package/dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.mjs.map +1 -0
- package/dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotesList.mjs +39 -0
- package/dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotesList.mjs.map +1 -0
- package/dist/es/components/Poll/PollActions/PollResults/PollResults.mjs +75 -0
- package/dist/es/components/Poll/PollActions/PollResults/PollResults.mjs.map +1 -0
- package/dist/es/components/Poll/PollActions/SuggestPollOptionPrompt.mjs +79 -0
- package/dist/es/components/Poll/PollActions/SuggestPollOptionPrompt.mjs.map +1 -0
- package/dist/es/components/Poll/PollContent.mjs +28 -0
- package/dist/es/components/Poll/PollContent.mjs.map +1 -0
- package/dist/es/components/Poll/PollCreationDialog/MultipleAnswersField.mjs +84 -0
- package/dist/es/components/Poll/PollCreationDialog/MultipleAnswersField.mjs.map +1 -0
- package/dist/es/components/Poll/PollCreationDialog/NameField.mjs +41 -0
- package/dist/es/components/Poll/PollCreationDialog/NameField.mjs.map +1 -0
- package/dist/es/components/Poll/PollCreationDialog/OptionFieldSet.mjs +193 -0
- package/dist/es/components/Poll/PollCreationDialog/OptionFieldSet.mjs.map +1 -0
- package/dist/es/components/Poll/PollCreationDialog/PollCreationDialog.mjs +78 -0
- package/dist/es/components/Poll/PollCreationDialog/PollCreationDialog.mjs.map +1 -0
- package/dist/es/components/Poll/PollCreationDialog/PollCreationDialogControls.mjs +62 -0
- package/dist/es/components/Poll/PollCreationDialog/PollCreationDialogControls.mjs.map +1 -0
- package/dist/es/components/Poll/PollCreationDialog/PollOptionReorderHandle.mjs +79 -0
- package/dist/es/components/Poll/PollCreationDialog/PollOptionReorderHandle.mjs.map +1 -0
- package/dist/es/components/Poll/PollHeader.mjs +46 -0
- package/dist/es/components/Poll/PollHeader.mjs.map +1 -0
- package/dist/es/components/Poll/PollOptionList.mjs +41 -0
- package/dist/es/components/Poll/PollOptionList.mjs.map +1 -0
- package/dist/es/components/Poll/PollOptionSelector.mjs +99 -0
- package/dist/es/components/Poll/PollOptionSelector.mjs.map +1 -0
- package/dist/es/components/Poll/PollVote.mjs +59 -0
- package/dist/es/components/Poll/PollVote.mjs.map +1 -0
- package/dist/es/components/Poll/hooks/useManagePollVotesRealtime.mjs +36 -0
- package/dist/es/components/Poll/hooks/useManagePollVotesRealtime.mjs.map +1 -0
- package/dist/es/components/Poll/hooks/usePollAnswerPagination.mjs +44 -0
- package/dist/es/components/Poll/hooks/usePollAnswerPagination.mjs.map +1 -0
- package/dist/es/components/Poll/hooks/usePollOptionVotesPagination.mjs +44 -0
- package/dist/es/components/Poll/hooks/usePollOptionVotesPagination.mjs.map +1 -0
- package/dist/es/components/Portal/Portal.mjs +17 -0
- package/dist/es/components/Portal/Portal.mjs.map +1 -0
- package/dist/es/components/ReactFileUtilities/UploadButton.mjs +54 -0
- package/dist/es/components/ReactFileUtilities/UploadButton.mjs.map +1 -0
- package/dist/es/{audioProcessing.766ca76c.mjs → components/ReactFileUtilities/utils.mjs} +2 -32
- package/dist/es/components/ReactFileUtilities/utils.mjs.map +1 -0
- package/dist/es/components/Reactions/MessageReactions.mjs +150 -0
- package/dist/es/components/Reactions/MessageReactions.mjs.map +1 -0
- package/dist/es/components/Reactions/MessageReactionsDetail.mjs +150 -0
- package/dist/es/components/Reactions/MessageReactionsDetail.mjs.map +1 -0
- package/dist/es/components/Reactions/ReactionSelector.mjs +140 -0
- package/dist/es/components/Reactions/ReactionSelector.mjs.map +1 -0
- package/dist/es/components/Reactions/ReactionSelectorWithButton.mjs +51 -0
- package/dist/es/components/Reactions/ReactionSelectorWithButton.mjs.map +1 -0
- package/dist/es/components/Reactions/SpriteImage.mjs +34 -0
- package/dist/es/components/Reactions/SpriteImage.mjs.map +1 -0
- package/dist/es/components/Reactions/hooks/useFetchReactions.mjs +61 -0
- package/dist/es/components/Reactions/hooks/useFetchReactions.mjs.map +1 -0
- package/dist/es/components/Reactions/hooks/useProcessReactions.mjs +82 -0
- package/dist/es/components/Reactions/hooks/useProcessReactions.mjs.map +1 -0
- package/dist/es/components/Reactions/reactionOptions.mjs +79 -0
- package/dist/es/components/Reactions/reactionOptions.mjs.map +1 -0
- package/dist/es/components/Reactions/utils/utils.mjs +13 -0
- package/dist/es/components/Reactions/utils/utils.mjs.map +1 -0
- package/dist/es/components/SafeAnchor/SafeAnchor.mjs +21 -0
- package/dist/es/components/SafeAnchor/SafeAnchor.mjs.map +1 -0
- package/dist/es/components/Search/Search.mjs +40 -0
- package/dist/es/components/Search/Search.mjs.map +1 -0
- package/dist/es/components/Search/SearchBar/SearchBar.mjs +113 -0
- package/dist/es/components/Search/SearchBar/SearchBar.mjs.map +1 -0
- package/dist/es/components/Search/SearchContext.mjs +18 -0
- package/dist/es/components/Search/SearchContext.mjs.map +1 -0
- package/dist/es/components/Search/SearchResults/SearchResultItem.mjs +113 -0
- package/dist/es/components/Search/SearchResults/SearchResultItem.mjs.map +1 -0
- package/dist/es/components/Search/SearchResults/SearchResults.mjs +37 -0
- package/dist/es/components/Search/SearchResults/SearchResults.mjs.map +1 -0
- package/dist/es/components/Search/SearchResults/SearchResultsHeader.mjs +54 -0
- package/dist/es/components/Search/SearchResults/SearchResultsHeader.mjs.map +1 -0
- package/dist/es/components/Search/SearchResults/SearchResultsPresearch.mjs +15 -0
- package/dist/es/components/Search/SearchResults/SearchResultsPresearch.mjs.map +1 -0
- package/dist/es/components/Search/SearchResults/SearchSourceResultList.mjs +31 -0
- package/dist/es/components/Search/SearchResults/SearchSourceResultList.mjs.map +1 -0
- package/dist/es/components/Search/SearchResults/SearchSourceResultListFooter.mjs +31 -0
- package/dist/es/components/Search/SearchResults/SearchSourceResultListFooter.mjs.map +1 -0
- package/dist/es/components/Search/SearchResults/SearchSourceResults.mjs +30 -0
- package/dist/es/components/Search/SearchResults/SearchSourceResults.mjs.map +1 -0
- package/dist/es/components/Search/SearchResults/SearchSourceResultsEmpty.mjs +15 -0
- package/dist/es/components/Search/SearchResults/SearchSourceResultsEmpty.mjs.map +1 -0
- package/dist/es/components/Search/SearchResults/SearchSourceResultsHeader.mjs +6 -0
- package/dist/es/components/Search/SearchResults/SearchSourceResultsHeader.mjs.map +1 -0
- package/dist/es/components/Search/SearchResults/SearchSourceResultsLoadingIndicator.mjs +18 -0
- package/dist/es/components/Search/SearchResults/SearchSourceResultsLoadingIndicator.mjs.map +1 -0
- package/dist/es/components/Search/SearchSourceResultsContext.mjs +18 -0
- package/dist/es/components/Search/SearchSourceResultsContext.mjs.map +1 -0
- package/dist/es/components/Search/hooks/useAnnounceSearchResultCount.mjs +57 -0
- package/dist/es/components/Search/hooks/useAnnounceSearchResultCount.mjs.map +1 -0
- package/dist/es/components/Search/hooks/useSearchFocusedMessage.mjs +13 -0
- package/dist/es/components/Search/hooks/useSearchFocusedMessage.mjs.map +1 -0
- package/dist/es/components/Search/hooks/useSearchQueriesInProgress.mjs +24 -0
- package/dist/es/components/Search/hooks/useSearchQueriesInProgress.mjs.map +1 -0
- package/dist/es/components/Search/hooks/useSearchResultsKeyboardNavigation.mjs +28 -0
- package/dist/es/components/Search/hooks/useSearchResultsKeyboardNavigation.mjs.map +1 -0
- package/dist/es/components/SkipNavigation/SkipNavigation.mjs +64 -0
- package/dist/es/components/SkipNavigation/SkipNavigation.mjs.map +1 -0
- package/dist/es/components/SummarizedMessagePreview/SummarizedMessagePreview.mjs +55 -0
- package/dist/es/components/SummarizedMessagePreview/SummarizedMessagePreview.mjs.map +1 -0
- package/dist/es/components/SummarizedMessagePreview/hooks/useLatestMessagePreview.mjs +116 -0
- package/dist/es/components/SummarizedMessagePreview/hooks/useLatestMessagePreview.mjs.map +1 -0
- package/dist/es/components/TextareaComposer/SuggestionList/CommandItem.mjs +26 -0
- package/dist/es/components/TextareaComposer/SuggestionList/CommandItem.mjs.map +1 -0
- package/dist/es/components/TextareaComposer/SuggestionList/EmoticonItem.mjs +26 -0
- package/dist/es/components/TextareaComposer/SuggestionList/EmoticonItem.mjs.map +1 -0
- package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/BroadcastMentionItem.mjs +32 -0
- package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/BroadcastMentionItem.mjs.map +1 -0
- package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/MentionItem.mjs +39 -0
- package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/MentionItem.mjs.map +1 -0
- package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/MentionSuggestionTitle.mjs +7 -0
- package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/MentionSuggestionTitle.mjs.map +1 -0
- package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/RoleItem.mjs +34 -0
- package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/RoleItem.mjs.map +1 -0
- package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/SpecialMentionItem.mjs +6 -0
- package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/SpecialMentionItem.mjs.map +1 -0
- package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/UserGroupItem.mjs +31 -0
- package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/UserGroupItem.mjs.map +1 -0
- package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/UserItem.mjs +50 -0
- package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/UserItem.mjs.map +1 -0
- package/dist/es/components/TextareaComposer/SuggestionList/SuggestionList.mjs +198 -0
- package/dist/es/components/TextareaComposer/SuggestionList/SuggestionList.mjs.map +1 -0
- package/dist/es/components/TextareaComposer/SuggestionList/SuggestionListItem.mjs +46 -0
- package/dist/es/components/TextareaComposer/SuggestionList/SuggestionListItem.mjs.map +1 -0
- package/dist/es/components/TextareaComposer/SuggestionList/TokenizedSuggestionParts.mjs +30 -0
- package/dist/es/components/TextareaComposer/SuggestionList/TokenizedSuggestionParts.mjs.map +1 -0
- package/dist/es/components/TextareaComposer/TextareaComposer.mjs +288 -0
- package/dist/es/components/TextareaComposer/TextareaComposer.mjs.map +1 -0
- package/dist/es/components/TextareaComposer/hooks/useTextareaPlaceholder.mjs +30 -0
- package/dist/es/components/TextareaComposer/hooks/useTextareaPlaceholder.mjs.map +1 -0
- package/dist/es/components/Thread/LegacyThreadContext.mjs +8 -0
- package/dist/es/components/Thread/LegacyThreadContext.mjs.map +1 -0
- package/dist/es/components/Thread/Thread.mjs +106 -0
- package/dist/es/components/Thread/Thread.mjs.map +1 -0
- package/dist/es/components/Thread/ThreadHead.mjs +26 -0
- package/dist/es/components/Thread/ThreadHead.mjs.map +1 -0
- package/dist/es/components/Thread/ThreadHeader.mjs +88 -0
- package/dist/es/components/Thread/ThreadHeader.mjs.map +1 -0
- package/dist/es/components/Thread/ThreadStart.mjs +24 -0
- package/dist/es/components/Thread/ThreadStart.mjs.map +1 -0
- package/dist/es/components/Threads/ThreadContext.mjs +17 -0
- package/dist/es/components/Threads/ThreadContext.mjs.map +1 -0
- package/dist/es/components/Threads/ThreadList/ThreadList.mjs +120 -0
- package/dist/es/components/Threads/ThreadList/ThreadList.mjs.map +1 -0
- package/dist/es/components/Threads/ThreadList/ThreadListEmptyPlaceholder.mjs +17 -0
- package/dist/es/components/Threads/ThreadList/ThreadListEmptyPlaceholder.mjs.map +1 -0
- package/dist/es/components/Threads/ThreadList/ThreadListHeader.mjs +22 -0
- package/dist/es/components/Threads/ThreadList/ThreadListHeader.mjs.map +1 -0
- package/dist/es/components/Threads/ThreadList/ThreadListItem.mjs +18 -0
- package/dist/es/components/Threads/ThreadList/ThreadListItem.mjs.map +1 -0
- package/dist/es/components/Threads/ThreadList/ThreadListItemUI.mjs +160 -0
- package/dist/es/components/Threads/ThreadList/ThreadListItemUI.mjs.map +1 -0
- package/dist/es/components/Threads/ThreadList/ThreadListLoadingIndicator.mjs +22 -0
- package/dist/es/components/Threads/ThreadList/ThreadListLoadingIndicator.mjs.map +1 -0
- package/dist/es/components/Threads/ThreadList/ThreadListUnseenThreadsBanner.mjs +30 -0
- package/dist/es/components/Threads/ThreadList/ThreadListUnseenThreadsBanner.mjs.map +1 -0
- package/dist/es/components/Threads/ThreadList/utils.a11y.mjs +86 -0
- package/dist/es/components/Threads/ThreadList/utils.a11y.mjs.map +1 -0
- package/dist/es/components/Threads/UnreadCountBadge.mjs +16 -0
- package/dist/es/components/Threads/UnreadCountBadge.mjs.map +1 -0
- package/dist/es/components/Tooltip/Tooltip.mjs +39 -0
- package/dist/es/components/Tooltip/Tooltip.mjs.map +1 -0
- package/dist/es/components/Tooltip/hooks/useEnterLeaveHandlers.mjs +20 -0
- package/dist/es/components/Tooltip/hooks/useEnterLeaveHandlers.mjs.map +1 -0
- package/dist/es/components/TypingIndicator/TypingIndicator.mjs +79 -0
- package/dist/es/components/TypingIndicator/TypingIndicator.mjs.map +1 -0
- package/dist/es/components/TypingIndicator/TypingIndicatorDots.mjs +33 -0
- package/dist/es/components/TypingIndicator/TypingIndicatorDots.mjs.map +1 -0
- package/dist/es/components/TypingIndicator/TypingIndicatorHeader.mjs +44 -0
- package/dist/es/components/TypingIndicator/TypingIndicatorHeader.mjs.map +1 -0
- package/dist/es/components/TypingIndicator/hooks/useDebouncedTypingActive.mjs +53 -0
- package/dist/es/components/TypingIndicator/hooks/useDebouncedTypingActive.mjs.map +1 -0
- package/dist/es/components/TypingIndicator/utils/getTypingStatusMessage.mjs +15 -0
- package/dist/es/components/TypingIndicator/utils/getTypingStatusMessage.mjs.map +1 -0
- package/dist/es/components/UtilityComponents/ErrorBoundary.mjs +22 -0
- package/dist/es/components/UtilityComponents/ErrorBoundary.mjs.map +1 -0
- package/dist/es/components/UtilityComponents/NullComponent.mjs +6 -0
- package/dist/es/components/UtilityComponents/NullComponent.mjs.map +1 -0
- package/dist/es/components/UtilityComponents/hooks/useMutationObserver.mjs +45 -0
- package/dist/es/components/UtilityComponents/hooks/useMutationObserver.mjs.map +1 -0
- package/dist/es/components/UtilityComponents/useStableId.mjs +20 -0
- package/dist/es/components/UtilityComponents/useStableId.mjs.map +1 -0
- package/dist/es/{ReactPlayerWrapper.d2ae5941.mjs → components/VideoPlayer/ReactPlayerWrapper.mjs} +3 -3
- package/dist/es/components/VideoPlayer/ReactPlayerWrapper.mjs.map +1 -0
- package/dist/es/components/VideoPlayer/VideoPlayer.mjs +30 -0
- package/dist/es/components/VideoPlayer/VideoPlayer.mjs.map +1 -0
- package/dist/es/components/VideoPlayer/VideoThumbnail.mjs +35 -0
- package/dist/es/components/VideoPlayer/VideoThumbnail.mjs.map +1 -0
- package/dist/es/components/VisuallyHidden/VisuallyHidden.mjs +29 -0
- package/dist/es/components/VisuallyHidden/VisuallyHidden.mjs.map +1 -0
- package/dist/es/components/Window/Window.mjs +21 -0
- package/dist/es/components/Window/Window.mjs.map +1 -0
- package/dist/es/constants/messageTypes.mjs +9 -0
- package/dist/es/constants/messageTypes.mjs.map +1 -0
- package/dist/es/context/AttachmentSelectorContext.mjs +13 -0
- package/dist/es/context/AttachmentSelectorContext.mjs.map +1 -0
- package/dist/es/context/ChannelActionContext.mjs +20 -0
- package/dist/es/context/ChannelActionContext.mjs.map +1 -0
- package/dist/es/context/ChannelListContext.mjs +20 -0
- package/dist/es/context/ChannelListContext.mjs.map +1 -0
- package/dist/es/context/ChannelStateContext.mjs +24 -0
- package/dist/es/context/ChannelStateContext.mjs.map +1 -0
- package/dist/es/context/ChatContext.mjs +20 -0
- package/dist/es/context/ChatContext.mjs.map +1 -0
- package/dist/es/context/ComponentContext.mjs +13 -0
- package/dist/es/context/ComponentContext.mjs.map +1 -0
- package/dist/es/context/DialogManagerContext.mjs +119 -0
- package/dist/es/context/DialogManagerContext.mjs.map +1 -0
- package/dist/es/context/MessageBounceContext.mjs +53 -0
- package/dist/es/context/MessageBounceContext.mjs.map +1 -0
- package/dist/es/context/MessageComposerContext.mjs +17 -0
- package/dist/es/context/MessageComposerContext.mjs.map +1 -0
- package/dist/es/context/MessageContext.mjs +17 -0
- package/dist/es/context/MessageContext.mjs.map +1 -0
- package/dist/es/context/MessageListContext.mjs +23 -0
- package/dist/es/context/MessageListContext.mjs.map +1 -0
- package/dist/es/context/MessageTranslationViewContext.mjs +76 -0
- package/dist/es/context/MessageTranslationViewContext.mjs.map +1 -0
- package/dist/es/context/ModalContext.mjs +20 -0
- package/dist/es/context/ModalContext.mjs.map +1 -0
- package/dist/es/context/PollContext.mjs +15 -0
- package/dist/es/context/PollContext.mjs.map +1 -0
- package/dist/es/context/TranslationContext.mjs +30 -0
- package/dist/es/context/TranslationContext.mjs.map +1 -0
- package/dist/es/context/TypingContext.mjs +20 -0
- package/dist/es/context/TypingContext.mjs.map +1 -0
- package/dist/es/context/VirtualizedMessageListContext.mjs +16 -0
- package/dist/es/context/VirtualizedMessageListContext.mjs.map +1 -0
- package/dist/es/context/WithComponents.mjs +23 -0
- package/dist/es/context/WithComponents.mjs.map +1 -0
- package/dist/es/context/useComponentContextIcons.mjs +31 -0
- package/dist/es/context/useComponentContextIcons.mjs.map +1 -0
- package/dist/es/emojis.mjs +2 -229
- package/dist/es/i18n/Streami18n.mjs +545 -0
- package/dist/es/i18n/Streami18n.mjs.map +1 -0
- package/dist/es/i18n/TranslationBuilder/TranslationBuilder.mjs +86 -0
- package/dist/es/i18n/TranslationBuilder/TranslationBuilder.mjs.map +1 -0
- package/dist/es/i18n/TranslationBuilder/notifications/NotificationTranslationTopic.mjs +51 -0
- package/dist/es/i18n/TranslationBuilder/notifications/NotificationTranslationTopic.mjs.map +1 -0
- package/dist/es/i18n/TranslationBuilder/notifications/translators.mjs +47 -0
- package/dist/es/i18n/TranslationBuilder/notifications/translators.mjs.map +1 -0
- package/dist/es/i18n/TranslationBuilder/notifications/translatorsByNotificationType.mjs +24 -0
- package/dist/es/i18n/TranslationBuilder/notifications/translatorsByNotificationType.mjs.map +1 -0
- package/dist/es/i18n/de.mjs +782 -0
- package/dist/es/i18n/de.mjs.map +1 -0
- package/dist/es/i18n/en.mjs +779 -0
- package/dist/es/i18n/en.mjs.map +1 -0
- package/dist/es/i18n/es.mjs +821 -0
- package/dist/es/i18n/es.mjs.map +1 -0
- package/dist/es/i18n/fr.mjs +822 -0
- package/dist/es/i18n/fr.mjs.map +1 -0
- package/dist/es/i18n/hi.mjs +786 -0
- package/dist/es/i18n/hi.mjs.map +1 -0
- package/dist/es/i18n/it.mjs +821 -0
- package/dist/es/i18n/it.mjs.map +1 -0
- package/dist/es/i18n/ja.mjs +760 -0
- package/dist/es/i18n/ja.mjs.map +1 -0
- package/dist/es/i18n/ko.mjs +760 -0
- package/dist/es/i18n/ko.mjs.map +1 -0
- package/dist/es/i18n/nl.mjs +786 -0
- package/dist/es/i18n/nl.mjs.map +1 -0
- package/dist/es/i18n/pt.mjs +819 -0
- package/dist/es/i18n/pt.mjs.map +1 -0
- package/dist/es/i18n/ru.mjs +868 -0
- package/dist/es/i18n/ru.mjs.map +1 -0
- package/dist/es/i18n/tr.mjs +781 -0
- package/dist/es/i18n/tr.mjs.map +1 -0
- package/dist/es/i18n/utils.mjs +132 -0
- package/dist/es/i18n/utils.mjs.map +1 -0
- package/dist/es/index.mjs +323 -20870
- package/dist/es/mp3-encoder.mjs +1 -1
- package/dist/es/plugins/ChannelDetail/AvatarWithChannelDetail.mjs +40 -0
- package/dist/es/plugins/ChannelDetail/AvatarWithChannelDetail.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/ChannelDetail.mjs +105 -0
- package/dist/es/plugins/ChannelDetail/ChannelDetail.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/ChannelDetailContext.mjs +20 -0
- package/dist/es/plugins/ChannelDetail/ChannelDetailContext.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/ChannelDetailEmptyList.mjs +14 -0
- package/dist/es/plugins/ChannelDetail/ChannelDetailEmptyList.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/ChannelDetailListLoadingIndicator.mjs +20 -0
- package/dist/es/plugins/ChannelDetail/ChannelDetailListLoadingIndicator.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/ChannelDetailNavButton.mjs +26 -0
- package/dist/es/plugins/ChannelDetail/ChannelDetailNavButton.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/ChannelDetailSearchInput.mjs +35 -0
- package/dist/es/plugins/ChannelDetail/ChannelDetailSearchInput.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/SectionNavigator/SectionNavigator.mjs +164 -0
- package/dist/es/plugins/ChannelDetail/SectionNavigator/SectionNavigator.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/SectionNavigator/SectionNavigatorHeader.mjs +50 -0
- package/dist/es/plugins/ChannelDetail/SectionNavigator/SectionNavigatorHeader.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesEmptyList.mjs +25 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesEmptyList.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesView.mjs +130 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesView.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesView.utils.mjs +63 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesView.utils.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/useChannelFilesSearch.mjs +47 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/useChannelFilesSearch.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementActions.defaults.mjs +568 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementActions.defaults.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementView.mjs +324 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementView.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaEmptyList.mjs +25 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaEmptyList.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.mjs +215 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.utils.mjs +37 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.utils.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/useChannelMediaSearch.mjs +47 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/useChannelMediaSearch.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberActions.defaults.mjs +451 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberActions.defaults.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberDetail.mjs +76 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberDetail.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersAddView.mjs +182 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersAddView.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersBrowseView.mjs +110 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersBrowseView.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersHeaderActions.defaults.mjs +120 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersHeaderActions.defaults.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersView.mjs +91 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersView.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersView.utils.mjs +11 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersView.utils.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/useChannelMemberCount.mjs +22 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/useChannelMemberCount.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/useChannelMemberIds.mjs +23 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/useChannelMemberIds.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/useChannelMembersSearch.mjs +52 -0
- package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/useChannelMembersSearch.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesEmptyList.mjs +25 -0
- package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesEmptyList.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesView.mjs +140 -0
- package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesView.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/usePinnedMessagesCount.mjs +24 -0
- package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/usePinnedMessagesCount.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/usePinnedMessagesSearch.mjs +68 -0
- package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/usePinnedMessagesSearch.mjs.map +1 -0
- package/dist/es/plugins/ChannelDetail/VirtualizedList/VirtualizedList.mjs +42 -0
- package/dist/es/plugins/ChannelDetail/VirtualizedList/VirtualizedList.mjs.map +1 -0
- package/dist/es/plugins/Emojis/EmojiPicker.mjs +95 -0
- package/dist/es/plugins/Emojis/EmojiPicker.mjs.map +1 -0
- package/dist/es/plugins/Emojis/Picker.mjs +23 -0
- package/dist/es/plugins/Emojis/Picker.mjs.map +1 -0
- package/dist/es/plugins/Emojis/middleware/textComposerEmojiMiddleware.mjs +126 -0
- package/dist/es/plugins/Emojis/middleware/textComposerEmojiMiddleware.mjs.map +1 -0
- package/dist/es/store/hooks/useStateStore.mjs +32 -0
- package/dist/es/store/hooks/useStateStore.mjs.map +1 -0
- package/dist/es/utils/findReverse.mjs +8 -0
- package/dist/es/utils/findReverse.mjs.map +1 -0
- package/dist/es/utils/getChannel.mjs +38 -0
- package/dist/es/utils/getChannel.mjs.map +1 -0
- package/dist/es/utils/getChannelConfig.mjs +11 -0
- package/dist/es/utils/getChannelConfig.mjs.map +1 -0
- package/dist/es/utils/getTextareaCaretRect.mjs +45 -0
- package/dist/es/utils/getTextareaCaretRect.mjs.map +1 -0
- package/dist/es/utils/getWholeChar.mjs +20 -0
- package/dist/es/utils/getWholeChar.mjs.map +1 -0
- package/dist/es/utils/isDmChannel.mjs +9 -0
- package/dist/es/utils/isDmChannel.mjs.map +1 -0
- package/dist/es/utils/mergeDeep.mjs +8 -0
- package/dist/es/utils/mergeDeep.mjs.map +1 -0
- package/dist/es/utils/useStableCallback.mjs +34 -0
- package/dist/es/utils/useStableCallback.mjs.map +1 -0
- 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/VideoAttachment.d.ts.map +1 -1
- package/dist/types/components/Attachment/VoiceRecording.d.ts.map +1 -1
- package/dist/types/components/Attachment/components/AttachmentUploadProgressIndicator.d.ts +32 -0
- package/dist/types/components/Attachment/components/AttachmentUploadProgressIndicator.d.ts.map +1 -0
- package/dist/types/components/Attachment/components/index.d.ts +1 -0
- package/dist/types/components/Attachment/components/index.d.ts.map +1 -1
- package/dist/types/components/Attachment/hooks/useAttachmentUploadState.d.ts +89 -0
- package/dist/types/components/Attachment/hooks/useAttachmentUploadState.d.ts.map +1 -0
- package/dist/types/components/Attachment/hooks/useLocalVideoDimensions.d.ts +16 -0
- package/dist/types/components/Attachment/hooks/useLocalVideoDimensions.d.ts.map +1 -0
- package/dist/types/components/Attachment/index.d.ts +1 -0
- package/dist/types/components/Attachment/index.d.ts.map +1 -1
- package/dist/types/components/Channel/Channel.d.ts.map +1 -1
- package/dist/types/components/Channel/utils.d.ts +25 -3
- package/dist/types/components/Channel/utils.d.ts.map +1 -1
- package/dist/types/components/Dialog/service/DialogAnchor.d.ts +8 -1
- package/dist/types/components/Dialog/service/DialogAnchor.d.ts.map +1 -1
- package/dist/types/components/Loading/AttachmentUploadedSizeIndicator.d.ts +20 -0
- package/dist/types/components/Loading/AttachmentUploadedSizeIndicator.d.ts.map +1 -0
- package/dist/types/components/Loading/UploadProgressIndicator.d.ts +7 -1
- package/dist/types/components/Loading/UploadProgressIndicator.d.ts.map +1 -1
- package/dist/types/components/Loading/index.d.ts +1 -0
- package/dist/types/components/Loading/index.d.ts.map +1 -1
- package/dist/types/components/Message/MessageStatus.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/MediaAttachmentPreview.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/RemoveAttachmentPreviewButton.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/hooks/useMessageComposerHasSendableData.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/hooks/useSubmitHandler.d.ts.map +1 -1
- package/dist/types/components/MessageComposer/hooks/utils.d.ts.map +1 -1
- package/dist/types/components/TextareaComposer/TextareaComposer.d.ts.map +1 -1
- package/dist/types/components/VideoPlayer/ReactPlayerWrapper.d.ts +1 -1
- package/dist/types/components/VideoPlayer/ReactPlayerWrapper.d.ts.map +1 -1
- package/dist/types/components/VideoPlayer/VideoPlayer.d.ts +7 -1
- package/dist/types/components/VideoPlayer/VideoPlayer.d.ts.map +1 -1
- package/dist/types/context/ComponentContext.d.ts +3 -0
- package/dist/types/context/ComponentContext.d.ts.map +1 -1
- package/dist/types/i18n/Streami18n.d.ts +1 -0
- package/dist/types/i18n/Streami18n.d.ts.map +1 -1
- package/package.json +5 -9
- package/dist/cjs/NotificationList.6abbee1c.js.map +0 -1
- package/dist/cjs/useInertWhenHidden.22151beb.js.map +0 -1
- package/dist/es/NotificationList.db01a56d.mjs +0 -7703
- package/dist/es/NotificationList.db01a56d.mjs.map +0 -1
- package/dist/es/ReactPlayerWrapper.d2ae5941.mjs.map +0 -1
- package/dist/es/audioProcessing.766ca76c.mjs.map +0 -1
- package/dist/es/channel-detail.mjs.map +0 -1
- package/dist/es/emojis.mjs.map +0 -1
- package/dist/es/index.mjs.map +0 -1
- package/dist/es/useChannelHeaderOnlineStatus.a9357343.mjs +0 -771
- package/dist/es/useChannelHeaderOnlineStatus.a9357343.mjs.map +0 -1
- package/dist/es/useInertWhenHidden.3d5fbdba.mjs +0 -5765
- package/dist/es/useInertWhenHidden.3d5fbdba.mjs.map +0 -1
- package/dist/types/components/MessageComposer/AttachmentPreviewList/AttachmentUploadedSizeIndicator.d.ts +0 -14
- package/dist/types/components/MessageComposer/AttachmentPreviewList/AttachmentUploadedSizeIndicator.d.ts.map +0 -1
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { renderAudio, toAudioBuffer } from "./audioProcessing.mjs";
|
|
2
|
+
//#region src/components/MediaRecorder/transcode/wav.ts
|
|
3
|
+
var WAV_HEADER_LENGTH_BYTES = 44;
|
|
4
|
+
var BYTES_PER_SAMPLE = 2;
|
|
5
|
+
var RIFF_FILE_MAX_BYTES = 4294967295;
|
|
6
|
+
var HEADER = {
|
|
7
|
+
AUDIO_FORMAT: {
|
|
8
|
+
offset: 20,
|
|
9
|
+
value: 1
|
|
10
|
+
},
|
|
11
|
+
BITS_PER_SAMPLE: {
|
|
12
|
+
offset: 34,
|
|
13
|
+
value: BYTES_PER_SAMPLE * 8
|
|
14
|
+
},
|
|
15
|
+
BLOCK_ALIGN: { offset: 32 },
|
|
16
|
+
BYTE_RATE: { offset: 28 },
|
|
17
|
+
CHANNEL_COUNT: { offset: 22 },
|
|
18
|
+
CHUNK_ID: {
|
|
19
|
+
offset: 0,
|
|
20
|
+
value: 1380533830
|
|
21
|
+
},
|
|
22
|
+
CHUNK_SIZE: { offset: 4 },
|
|
23
|
+
FILE_FORMAT: {
|
|
24
|
+
offset: 8,
|
|
25
|
+
value: 1463899717
|
|
26
|
+
},
|
|
27
|
+
SAMPLE_RATE: { offset: 24 },
|
|
28
|
+
SUBCHUNK1_ID: {
|
|
29
|
+
offset: 12,
|
|
30
|
+
value: 1718449184
|
|
31
|
+
},
|
|
32
|
+
SUBCHUNK1_SIZE: {
|
|
33
|
+
offset: 16,
|
|
34
|
+
value: 16
|
|
35
|
+
},
|
|
36
|
+
SUBCHUNK2_ID: {
|
|
37
|
+
offset: 36,
|
|
38
|
+
value: 1684108385
|
|
39
|
+
},
|
|
40
|
+
SUBCHUNK2_SIZE: { offset: 40 }
|
|
41
|
+
};
|
|
42
|
+
var fourCharsToInt = (chars) => chars.charCodeAt(0) << 24 | chars.charCodeAt(1) << 16 | chars.charCodeAt(2) << 8 | chars.charCodeAt(3);
|
|
43
|
+
fourCharsToInt("data"), fourCharsToInt("fmt "), fourCharsToInt("RIFF"), fourCharsToInt("WAVE");
|
|
44
|
+
var writeWavHeader = ({ arrayBuffer, channelCount, sampleRate }) => {
|
|
45
|
+
const byteRate = sampleRate * channelCount * BYTES_PER_SAMPLE;
|
|
46
|
+
const blockAlign = channelCount * BYTES_PER_SAMPLE;
|
|
47
|
+
const dataView = new DataView(arrayBuffer);
|
|
48
|
+
const dataChunkSize = Math.min(dataView.byteLength - WAV_HEADER_LENGTH_BYTES, RIFF_FILE_MAX_BYTES - WAV_HEADER_LENGTH_BYTES);
|
|
49
|
+
dataView.setUint32(HEADER.CHUNK_ID.offset, HEADER.CHUNK_ID.value);
|
|
50
|
+
dataView.setUint32(HEADER.CHUNK_SIZE.offset, arrayBuffer.byteLength - 8, true);
|
|
51
|
+
dataView.setUint32(HEADER.FILE_FORMAT.offset, HEADER.FILE_FORMAT.value);
|
|
52
|
+
dataView.setUint32(HEADER.SUBCHUNK1_ID.offset, HEADER.SUBCHUNK1_ID.value);
|
|
53
|
+
dataView.setUint32(HEADER.SUBCHUNK1_SIZE.offset, HEADER.SUBCHUNK1_SIZE.value, true);
|
|
54
|
+
dataView.setUint16(HEADER.AUDIO_FORMAT.offset, HEADER.AUDIO_FORMAT.value, true);
|
|
55
|
+
dataView.setUint16(HEADER.CHANNEL_COUNT.offset, channelCount, true);
|
|
56
|
+
dataView.setUint32(HEADER.SAMPLE_RATE.offset, sampleRate, true);
|
|
57
|
+
dataView.setUint32(HEADER.BYTE_RATE.offset, byteRate, true);
|
|
58
|
+
dataView.setUint16(HEADER.BLOCK_ALIGN.offset, blockAlign, true);
|
|
59
|
+
dataView.setUint16(HEADER.BITS_PER_SAMPLE.offset, HEADER.BITS_PER_SAMPLE.value, true);
|
|
60
|
+
dataView.setUint32(HEADER.SUBCHUNK2_ID.offset, HEADER.SUBCHUNK2_ID.value);
|
|
61
|
+
dataView.setUint32(HEADER.SUBCHUNK2_SIZE.offset, dataChunkSize, true);
|
|
62
|
+
};
|
|
63
|
+
var splitDataByChannel = (audioBuffer) => Array.from({ length: audioBuffer.numberOfChannels }, (_, i) => audioBuffer.getChannelData(i));
|
|
64
|
+
/**
|
|
65
|
+
* In a WAV file, samples for each channel are usually interleaved, meaning samples from each channel are grouped together sequentially.
|
|
66
|
+
* For example, in a stereo audio file (2 channels), samples alternate between the left and right channels.
|
|
67
|
+
* @param arrayBuffer
|
|
68
|
+
* @param dataByChannel
|
|
69
|
+
*/
|
|
70
|
+
var writeWavAudioData = ({ arrayBuffer, dataByChannel }) => {
|
|
71
|
+
const dataView = new DataView(arrayBuffer);
|
|
72
|
+
const channelCount = dataByChannel.length;
|
|
73
|
+
dataByChannel.forEach((channelData, channelIndex) => {
|
|
74
|
+
let writeOffset = WAV_HEADER_LENGTH_BYTES + channelCount * channelIndex;
|
|
75
|
+
channelData.forEach((float32Value) => {
|
|
76
|
+
dataView.setInt16(writeOffset, float32Value < 0 ? Math.max(-1, float32Value) * 32768 : Math.min(1, float32Value) * 32767, true);
|
|
77
|
+
writeOffset += channelCount * BYTES_PER_SAMPLE;
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
var encodeToWaw = async (file, sampleRate) => {
|
|
82
|
+
const audioBuffer = await renderAudio(await toAudioBuffer(file), sampleRate);
|
|
83
|
+
const fileSizeBytes = audioBuffer.duration * sampleRate * audioBuffer.numberOfChannels * BYTES_PER_SAMPLE + WAV_HEADER_LENGTH_BYTES;
|
|
84
|
+
const arrayBuffer = new ArrayBuffer(fileSizeBytes);
|
|
85
|
+
writeWavHeader({
|
|
86
|
+
arrayBuffer,
|
|
87
|
+
channelCount: audioBuffer.numberOfChannels,
|
|
88
|
+
sampleRate
|
|
89
|
+
});
|
|
90
|
+
writeWavAudioData({
|
|
91
|
+
arrayBuffer,
|
|
92
|
+
dataByChannel: splitDataByChannel(audioBuffer)
|
|
93
|
+
});
|
|
94
|
+
return new Blob([arrayBuffer], { type: "audio/wav" });
|
|
95
|
+
};
|
|
96
|
+
//#endregion
|
|
97
|
+
export { encodeToWaw };
|
|
98
|
+
|
|
99
|
+
//# sourceMappingURL=wav.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wav.mjs","names":[],"sources":["../../../../../src/components/MediaRecorder/transcode/wav.ts"],"sourcesContent":["import { renderAudio, toAudioBuffer } from './audioProcessing';\n\nconst WAV_HEADER_LENGTH_BYTES = 44 as const;\nconst BYTES_PER_SAMPLE = 2 as const;\nconst RIFF_FILE_MAX_BYTES = 4294967295 as const;\n\nconst HEADER = {\n AUDIO_FORMAT: { offset: 20, value: 1 }, // PCM = 1\n BITS_PER_SAMPLE: { offset: 34, value: BYTES_PER_SAMPLE * 8 }, // 16 bits encoding\n BLOCK_ALIGN: { offset: 32 },\n BYTE_RATE: { offset: 28 },\n CHANNEL_COUNT: { offset: 22 }, // 1 - mono, 2 - stereo\n CHUNK_ID: { offset: 0, value: 0x52494646 }, // hex representation of string \"RIFF\" (Resource Interchange File Format) - identifies the file structure that defines a class of more specific file formats, e.g. WAVE\n CHUNK_SIZE: { offset: 4 },\n FILE_FORMAT: { offset: 8, value: 0x57415645 }, // hex representation of string \"WAVE\"\n SAMPLE_RATE: { offset: 24 },\n SUBCHUNK1_ID: { offset: 12, value: 0x666d7420 }, // hex representation of string \"fmt \" - identifies the start of \"format\" section of the header\n SUBCHUNK1_SIZE: { offset: 16, value: 16 }, // Subchunk1 Size without SUBCHUNK1_ID and SUBCHUNK1_SIZE fields\n SUBCHUNK2_ID: { offset: 36, value: 0x64617461 }, // hex representation of string \"data\" - identifies the start of actual audio data section\n SUBCHUNK2_SIZE: { offset: 40 }, // actual audio data size\n} as const;\n\nconst fourCharsToInt = (chars: string) =>\n (chars.charCodeAt(0) << 24) |\n (chars.charCodeAt(1) << 16) |\n (chars.charCodeAt(2) << 8) |\n chars.charCodeAt(3);\n\nconst WAV_HEADER_FLAGS = {\n data: fourCharsToInt('data'),\n fmt: fourCharsToInt('fmt '),\n RIFF: fourCharsToInt('RIFF'),\n WAVE: fourCharsToInt('WAVE'),\n};\n\ntype WriteWaveHeaderParams = {\n arrayBuffer: ArrayBuffer;\n // 1 - mono, 2 - stereo\n channelCount: number;\n // Number of samples per second, e.g. 44100Hz\n sampleRate: number;\n};\nconst writeWavHeader = ({\n arrayBuffer,\n channelCount,\n sampleRate,\n}: WriteWaveHeaderParams) => {\n const byteRate = sampleRate * channelCount * BYTES_PER_SAMPLE; // bytes/sec\n const blockAlign = channelCount * BYTES_PER_SAMPLE;\n\n const dataView = new DataView(arrayBuffer);\n /*\n * The maximum size of a RIFF file is 4294967295 bytes and since the header takes up 44 bytes there are 4294967251 bytes left for the\n * data chunk.\n */\n const dataChunkSize = Math.min(\n dataView.byteLength - WAV_HEADER_LENGTH_BYTES,\n RIFF_FILE_MAX_BYTES - WAV_HEADER_LENGTH_BYTES,\n );\n\n dataView.setUint32(HEADER.CHUNK_ID.offset, HEADER.CHUNK_ID.value); // \"RIFF\"\n dataView.setUint32(HEADER.CHUNK_SIZE.offset, arrayBuffer.byteLength - 8, true); // adjustment for the first two headers - chunk id + file size\n dataView.setUint32(HEADER.FILE_FORMAT.offset, HEADER.FILE_FORMAT.value); // \"WAVE\"\n\n dataView.setUint32(HEADER.SUBCHUNK1_ID.offset, HEADER.SUBCHUNK1_ID.value); // \"fmt \"\n dataView.setUint32(HEADER.SUBCHUNK1_SIZE.offset, HEADER.SUBCHUNK1_SIZE.value, true);\n dataView.setUint16(HEADER.AUDIO_FORMAT.offset, HEADER.AUDIO_FORMAT.value, true);\n dataView.setUint16(HEADER.CHANNEL_COUNT.offset, channelCount, true);\n dataView.setUint32(HEADER.SAMPLE_RATE.offset, sampleRate, true);\n dataView.setUint32(HEADER.BYTE_RATE.offset, byteRate, true);\n dataView.setUint16(HEADER.BLOCK_ALIGN.offset, blockAlign, true);\n dataView.setUint16(HEADER.BITS_PER_SAMPLE.offset, HEADER.BITS_PER_SAMPLE.value, true);\n\n dataView.setUint32(HEADER.SUBCHUNK2_ID.offset, HEADER.SUBCHUNK2_ID.value); // \"data\"\n dataView.setUint32(HEADER.SUBCHUNK2_SIZE.offset, dataChunkSize, true);\n};\n\nexport const readWavHeader = (dataView: DataView) => {\n const header = dataView.getUint32(0, false);\n if (WAV_HEADER_FLAGS.RIFF !== header) {\n console.error('Missing RIFF header in WAVE file');\n return;\n }\n if (WAV_HEADER_FLAGS.WAVE !== dataView.getUint32(HEADER.FILE_FORMAT.offset, false)) {\n console.error('Missing WAVE header in WAVE file');\n return;\n }\n if (WAV_HEADER_FLAGS.fmt !== dataView.getUint32(HEADER.SUBCHUNK1_ID.offset, false)) {\n console.error('Missing fmt header in WAVE file');\n return;\n }\n\n return {\n audioDataSizeBytes: dataView.getUint32(HEADER.SUBCHUNK2_SIZE.offset, true),\n audioDataStartOffset: WAV_HEADER_LENGTH_BYTES,\n channelCount: dataView.getUint16(HEADER.CHANNEL_COUNT.offset, true),\n sampleRate: dataView.getUint32(HEADER.SAMPLE_RATE.offset, true),\n };\n};\n\nconst splitDataByChannel = (audioBuffer: AudioBuffer) =>\n Array.from({ length: audioBuffer.numberOfChannels }, (_, i) =>\n audioBuffer.getChannelData(i),\n );\n\ntype WriteAudioDataParams = {\n arrayBuffer: ArrayBuffer;\n dataByChannel: Float32Array[];\n};\n\n/**\n * In a WAV file, samples for each channel are usually interleaved, meaning samples from each channel are grouped together sequentially.\n * For example, in a stereo audio file (2 channels), samples alternate between the left and right channels.\n * @param arrayBuffer\n * @param dataByChannel\n */\nconst writeWavAudioData = ({ arrayBuffer, dataByChannel }: WriteAudioDataParams) => {\n const dataView = new DataView(arrayBuffer);\n const channelCount = dataByChannel.length;\n\n dataByChannel.forEach((channelData, channelIndex) => {\n let writeOffset = WAV_HEADER_LENGTH_BYTES + channelCount * channelIndex;\n\n channelData.forEach((float32Value) => {\n dataView.setInt16(\n writeOffset,\n float32Value < 0\n ? Math.max(-1, float32Value) * 32768\n : Math.min(1, float32Value) * 32767,\n true,\n );\n writeOffset += channelCount * BYTES_PER_SAMPLE;\n });\n });\n};\n\nexport const encodeToWaw = async (file: File, sampleRate: number) => {\n const audioBuffer = await renderAudio(await toAudioBuffer(file), sampleRate);\n const numberOfSamples = audioBuffer.duration * sampleRate;\n const fileSizeBytes =\n numberOfSamples * audioBuffer.numberOfChannels * BYTES_PER_SAMPLE +\n WAV_HEADER_LENGTH_BYTES;\n\n const arrayBuffer = new ArrayBuffer(fileSizeBytes);\n writeWavHeader({ arrayBuffer, channelCount: audioBuffer.numberOfChannels, sampleRate });\n writeWavAudioData({ arrayBuffer, dataByChannel: splitDataByChannel(audioBuffer) });\n return new Blob([arrayBuffer], { type: 'audio/wav' });\n};\n"],"mappings":";;AAEA,IAAM,0BAA0B;AAChC,IAAM,mBAAmB;AACzB,IAAM,sBAAsB;AAE5B,IAAM,SAAS;CACb,cAAc;EAAE,QAAQ;EAAI,OAAO;CAAE;CACrC,iBAAiB;EAAE,QAAQ;EAAI,OAAO,mBAAmB;CAAE;CAC3D,aAAa,EAAE,QAAQ,GAAG;CAC1B,WAAW,EAAE,QAAQ,GAAG;CACxB,eAAe,EAAE,QAAQ,GAAG;CAC5B,UAAU;EAAE,QAAQ;EAAG,OAAO;CAAW;CACzC,YAAY,EAAE,QAAQ,EAAE;CACxB,aAAa;EAAE,QAAQ;EAAG,OAAO;CAAW;CAC5C,aAAa,EAAE,QAAQ,GAAG;CAC1B,cAAc;EAAE,QAAQ;EAAI,OAAO;CAAW;CAC9C,gBAAgB;EAAE,QAAQ;EAAI,OAAO;CAAG;CACxC,cAAc;EAAE,QAAQ;EAAI,OAAO;CAAW;CAC9C,gBAAgB,EAAE,QAAQ,GAAG;AAC/B;AAEA,IAAM,kBAAkB,UACrB,MAAM,WAAW,CAAC,KAAK,KACvB,MAAM,WAAW,CAAC,KAAK,KACvB,MAAM,WAAW,CAAC,KAAK,IACxB,MAAM,WAAW,CAAC;AAGZ,eAAe,MAAM,GACtB,eAAe,MAAM,GACpB,eAAe,MAAM,GACrB,eAAe,MAAM;AAU7B,IAAM,kBAAkB,EACtB,aACA,cACA,iBAC2B;CAC3B,MAAM,WAAW,aAAa,eAAe;CAC7C,MAAM,aAAa,eAAe;CAElC,MAAM,WAAW,IAAI,SAAS,WAAW;CAKzC,MAAM,gBAAgB,KAAK,IACzB,SAAS,aAAa,yBACtB,sBAAsB,uBACxB;CAEA,SAAS,UAAU,OAAO,SAAS,QAAQ,OAAO,SAAS,KAAK;CAChE,SAAS,UAAU,OAAO,WAAW,QAAQ,YAAY,aAAa,GAAG,IAAI;CAC7E,SAAS,UAAU,OAAO,YAAY,QAAQ,OAAO,YAAY,KAAK;CAEtE,SAAS,UAAU,OAAO,aAAa,QAAQ,OAAO,aAAa,KAAK;CACxE,SAAS,UAAU,OAAO,eAAe,QAAQ,OAAO,eAAe,OAAO,IAAI;CAClF,SAAS,UAAU,OAAO,aAAa,QAAQ,OAAO,aAAa,OAAO,IAAI;CAC9E,SAAS,UAAU,OAAO,cAAc,QAAQ,cAAc,IAAI;CAClE,SAAS,UAAU,OAAO,YAAY,QAAQ,YAAY,IAAI;CAC9D,SAAS,UAAU,OAAO,UAAU,QAAQ,UAAU,IAAI;CAC1D,SAAS,UAAU,OAAO,YAAY,QAAQ,YAAY,IAAI;CAC9D,SAAS,UAAU,OAAO,gBAAgB,QAAQ,OAAO,gBAAgB,OAAO,IAAI;CAEpF,SAAS,UAAU,OAAO,aAAa,QAAQ,OAAO,aAAa,KAAK;CACxE,SAAS,UAAU,OAAO,eAAe,QAAQ,eAAe,IAAI;AACtE;AAyBA,IAAM,sBAAsB,gBAC1B,MAAM,KAAK,EAAE,QAAQ,YAAY,iBAAiB,IAAI,GAAG,MACvD,YAAY,eAAe,CAAC,CAC9B;;;;;;;AAaF,IAAM,qBAAqB,EAAE,aAAa,oBAA0C;CAClF,MAAM,WAAW,IAAI,SAAS,WAAW;CACzC,MAAM,eAAe,cAAc;CAEnC,cAAc,SAAS,aAAa,iBAAiB;EACnD,IAAI,cAAc,0BAA0B,eAAe;EAE3D,YAAY,SAAS,iBAAiB;GACpC,SAAS,SACP,aACA,eAAe,IACX,KAAK,IAAI,IAAI,YAAY,IAAI,QAC7B,KAAK,IAAI,GAAG,YAAY,IAAI,OAChC,IACF;GACA,eAAe,eAAe;EAChC,CAAC;CACH,CAAC;AACH;AAEA,IAAa,cAAc,OAAO,MAAY,eAAuB;CACnE,MAAM,cAAc,MAAM,YAAY,MAAM,cAAc,IAAI,GAAG,UAAU;CAE3E,MAAM,gBADkB,YAAY,WAAW,aAE3B,YAAY,mBAAmB,mBACjD;CAEF,MAAM,cAAc,IAAI,YAAY,aAAa;CACjD,eAAe;EAAE;EAAa,cAAc,YAAY;EAAkB;CAAW,CAAC;CACtF,kBAAkB;EAAE;EAAa,eAAe,mBAAmB,WAAW;CAAE,CAAC;CACjF,OAAO,IAAI,KAAK,CAAC,WAAW,GAAG,EAAE,MAAM,YAAY,CAAC;AACtD"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { useChannelStateContext } from "../../context/ChannelStateContext.mjs";
|
|
2
|
+
import { useChatContext } from "../../context/ChatContext.mjs";
|
|
3
|
+
import { useComponentContext } from "../../context/ComponentContext.mjs";
|
|
4
|
+
import { MessageProvider } from "../../context/MessageContext.mjs";
|
|
5
|
+
import { useMessageTranslationViewContext } from "../../context/MessageTranslationViewContext.mjs";
|
|
6
|
+
import { useActionHandler } from "./hooks/useActionHandler.mjs";
|
|
7
|
+
import { MESSAGE_ACTIONS, areMessagePropsEqual, getMessageActions } from "./utils.mjs";
|
|
8
|
+
import { useDeleteHandler } from "./hooks/useDeleteHandler.mjs";
|
|
9
|
+
import { useFlagHandler } from "./hooks/useFlagHandler.mjs";
|
|
10
|
+
import { useMentionsHandler } from "./hooks/useMentionsHandler.mjs";
|
|
11
|
+
import { useMarkUnreadHandler } from "./hooks/useMarkUnreadHandler.mjs";
|
|
12
|
+
import { useMuteHandler } from "./hooks/useMuteHandler.mjs";
|
|
13
|
+
import { useOpenThreadHandler } from "./hooks/useOpenThreadHandler.mjs";
|
|
14
|
+
import { usePinHandler } from "./hooks/usePinHandler.mjs";
|
|
15
|
+
import { useReactionHandler } from "./hooks/useReactionHandler.mjs";
|
|
16
|
+
import { useRetryHandler } from "./hooks/useRetryHandler.mjs";
|
|
17
|
+
import { useUserHandler } from "./hooks/useUserHandler.mjs";
|
|
18
|
+
import { useUserRole } from "./hooks/useUserRole.mjs";
|
|
19
|
+
import { useReactionsFetcher } from "./hooks/useReactionsFetcher.mjs";
|
|
20
|
+
import { MessageUI } from "./MessageUI.mjs";
|
|
21
|
+
import React, { useCallback, useMemo } from "react";
|
|
22
|
+
import { jsx } from "react/jsx-runtime";
|
|
23
|
+
//#region src/components/Message/Message.tsx
|
|
24
|
+
var MessageWithContext = (props) => {
|
|
25
|
+
const { canPin, Message: propMessage, message, messageActions = Object.keys(MESSAGE_ACTIONS), onUserClick: propOnUserClick, onUserHover: propOnUserHover, userRoles } = props;
|
|
26
|
+
const { client, isMessageAIGenerated } = useChatContext("Message");
|
|
27
|
+
const { channelConfig, read } = useChannelStateContext("Message");
|
|
28
|
+
const { Message: contextMessage = MessageUI, MessageUI: contextMessageUI = contextMessage } = useComponentContext("Message");
|
|
29
|
+
const { getTranslationView, setTranslationView: setTranslationViewInContext } = useMessageTranslationViewContext();
|
|
30
|
+
const translationView = getTranslationView(message.id, !!message.i18n);
|
|
31
|
+
const setTranslationView = useCallback((view) => setTranslationViewInContext(message.id, view), [message.id, setTranslationViewInContext]);
|
|
32
|
+
const actionsEnabled = message.type === "regular" && message.status === "received";
|
|
33
|
+
const MessageUIComponent = propMessage ?? contextMessageUI;
|
|
34
|
+
const { onUserClick, onUserHover } = useUserHandler(message, {
|
|
35
|
+
onUserClickHandler: propOnUserClick,
|
|
36
|
+
onUserHoverHandler: propOnUserHover
|
|
37
|
+
});
|
|
38
|
+
const { canDelete, canEdit, canFlag, canMarkUnread, canMute, canQuote, canReact, canReply, isMyMessage } = userRoles;
|
|
39
|
+
const messageIsUnread = useMemo(() => !!(!isMyMessage && client.user?.id && read && (!read[client.user.id] || message?.created_at && new Date(message.created_at).getTime() > read[client.user.id].last_read.getTime())), [
|
|
40
|
+
client,
|
|
41
|
+
isMyMessage,
|
|
42
|
+
message.created_at,
|
|
43
|
+
read
|
|
44
|
+
]);
|
|
45
|
+
const messageActionsHandler = useCallback(() => getMessageActions(messageActions, {
|
|
46
|
+
canDelete,
|
|
47
|
+
canEdit,
|
|
48
|
+
canFlag,
|
|
49
|
+
canMarkUnread,
|
|
50
|
+
canMute,
|
|
51
|
+
canPin,
|
|
52
|
+
canQuote,
|
|
53
|
+
canReact,
|
|
54
|
+
canReply
|
|
55
|
+
}, channelConfig), [
|
|
56
|
+
messageActions,
|
|
57
|
+
canDelete,
|
|
58
|
+
canEdit,
|
|
59
|
+
canFlag,
|
|
60
|
+
canMarkUnread,
|
|
61
|
+
canMute,
|
|
62
|
+
canPin,
|
|
63
|
+
canQuote,
|
|
64
|
+
canReact,
|
|
65
|
+
canReply,
|
|
66
|
+
channelConfig
|
|
67
|
+
]);
|
|
68
|
+
const { canPin: canPinPropToNotPass, messageActions: messageActionsPropToNotPass, onUserClick: onUserClickPropToNotPass, onUserHover: onUserHoverPropToNotPass, userRoles: userRolesPropToNotPass, ...rest } = props;
|
|
69
|
+
return /* @__PURE__ */ jsx(MessageProvider, {
|
|
70
|
+
value: {
|
|
71
|
+
...rest,
|
|
72
|
+
actionsEnabled,
|
|
73
|
+
getMessageActions: messageActionsHandler,
|
|
74
|
+
isMessageAIGenerated,
|
|
75
|
+
isMyMessage: () => isMyMessage,
|
|
76
|
+
messageIsUnread,
|
|
77
|
+
onUserClick,
|
|
78
|
+
onUserHover,
|
|
79
|
+
setTranslationView,
|
|
80
|
+
translationView
|
|
81
|
+
},
|
|
82
|
+
children: /* @__PURE__ */ jsx(MessageUIComponent, {})
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
var MemoizedMessage = React.memo(MessageWithContext, areMessagePropsEqual);
|
|
86
|
+
/**
|
|
87
|
+
* The Message component is a context provider which implements all the logic required for rendering
|
|
88
|
+
* an individual message. The actual UI of the message is delegated via the Message prop on Channel.
|
|
89
|
+
*/
|
|
90
|
+
var Message = (props) => {
|
|
91
|
+
const { closeReactionSelectorOnClick, disableQuotedMessages, message, onMentionsClick: propOnMentionsClick, onMentionsHover: propOnMentionsHover, openThread: propOpenThread, reactionDetailsSort, retrySendMessage: propRetrySendMessage, sortReactions } = props;
|
|
92
|
+
const { highlightedMessageId, mutes } = useChannelStateContext("Message");
|
|
93
|
+
const handleAction = useActionHandler(message);
|
|
94
|
+
const handleOpenThread = useOpenThreadHandler(message, propOpenThread);
|
|
95
|
+
const handleReaction = useReactionHandler(message);
|
|
96
|
+
const handleRetry = useRetryHandler(propRetrySendMessage);
|
|
97
|
+
const userRoles = useUserRole(message, disableQuotedMessages);
|
|
98
|
+
const handleFetchReactions = useReactionsFetcher(message);
|
|
99
|
+
const handleDelete = useDeleteHandler(message);
|
|
100
|
+
const handleFlag = useFlagHandler(message);
|
|
101
|
+
const handleMarkUnread = useMarkUnreadHandler(message);
|
|
102
|
+
const handleMute = useMuteHandler(message);
|
|
103
|
+
const { onMentionsClick, onMentionsHover } = useMentionsHandler(message, {
|
|
104
|
+
onMentionsClick: propOnMentionsClick,
|
|
105
|
+
onMentionsHover: propOnMentionsHover
|
|
106
|
+
});
|
|
107
|
+
const { canPin, handlePin } = usePinHandler(message);
|
|
108
|
+
const highlighted = highlightedMessageId === message.id;
|
|
109
|
+
return /* @__PURE__ */ jsx(MemoizedMessage, {
|
|
110
|
+
additionalMessageComposerProps: props.additionalMessageComposerProps,
|
|
111
|
+
autoscrollToBottom: props.autoscrollToBottom,
|
|
112
|
+
canPin,
|
|
113
|
+
closeReactionSelectorOnClick,
|
|
114
|
+
deliveredTo: props.deliveredTo,
|
|
115
|
+
disableQuotedMessages: props.disableQuotedMessages,
|
|
116
|
+
formatDate: props.formatDate,
|
|
117
|
+
groupStyles: props.groupStyles,
|
|
118
|
+
handleAction,
|
|
119
|
+
handleDelete,
|
|
120
|
+
handleFetchReactions,
|
|
121
|
+
handleFlag,
|
|
122
|
+
handleMarkUnread,
|
|
123
|
+
handleMute,
|
|
124
|
+
handleOpenThread,
|
|
125
|
+
handlePin,
|
|
126
|
+
handleReaction,
|
|
127
|
+
handleRetry,
|
|
128
|
+
highlighted,
|
|
129
|
+
initialMessage: props.initialMessage,
|
|
130
|
+
lastOwnMessage: props.lastOwnMessage,
|
|
131
|
+
lastReceivedId: props.lastReceivedId,
|
|
132
|
+
message,
|
|
133
|
+
Message: props.Message,
|
|
134
|
+
messageActions: props.messageActions,
|
|
135
|
+
messageListRect: props.messageListRect,
|
|
136
|
+
mutes,
|
|
137
|
+
onMentionsClickMessage: onMentionsClick,
|
|
138
|
+
onMentionsHoverMessage: onMentionsHover,
|
|
139
|
+
onUserClick: props.onUserClick,
|
|
140
|
+
onUserHover: props.onUserHover,
|
|
141
|
+
reactionDetailsSort,
|
|
142
|
+
readBy: props.readBy,
|
|
143
|
+
renderText: props.renderText,
|
|
144
|
+
returnAllReadData: props.returnAllReadData,
|
|
145
|
+
sortReactions,
|
|
146
|
+
threadList: props.threadList,
|
|
147
|
+
unsafeHTML: props.unsafeHTML,
|
|
148
|
+
userRoles
|
|
149
|
+
});
|
|
150
|
+
};
|
|
151
|
+
//#endregion
|
|
152
|
+
export { Message };
|
|
153
|
+
|
|
154
|
+
//# sourceMappingURL=Message.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Message.mjs","names":[],"sources":["../../../../src/components/Message/Message.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react';\n\nimport {\n useActionHandler,\n useDeleteHandler,\n useFlagHandler,\n useMarkUnreadHandler,\n useMentionsHandler,\n useMuteHandler,\n useOpenThreadHandler,\n usePinHandler,\n useReactionHandler,\n useReactionsFetcher,\n useRetryHandler,\n useUserHandler,\n useUserRole,\n} from './hooks';\nimport { areMessagePropsEqual, getMessageActions, MESSAGE_ACTIONS } from './utils';\n\nimport type { MessageContextValue } from '../../context';\nimport {\n MessageProvider,\n useChannelStateContext,\n useChatContext,\n useComponentContext,\n useMessageTranslationViewContext,\n} from '../../context';\n\nimport { MessageUI as DefaultMessageUI } from './MessageUI';\n\nimport type { MessageProps } from './types';\n\ntype MessagePropsToOmit =\n | 'onMentionsClick'\n | 'onMentionsHover'\n | 'openThread'\n | 'retrySendMessage';\n\ntype MessageContextPropsToPick =\n | 'handleAction'\n | 'handleDelete'\n | 'handleFetchReactions'\n | 'handleFlag'\n | 'handleMarkUnread'\n | 'handleMute'\n | 'handleOpenThread'\n | 'handlePin'\n | 'handleReaction'\n | 'handleRetry'\n | 'mutes'\n | 'onMentionsClickMessage'\n | 'onMentionsHoverMessage'\n | 'reactionDetailsSort'\n | 'sortReactions';\n\ntype MessageWithContextProps = Omit<MessageProps, MessagePropsToOmit> &\n Pick<MessageContextValue, MessageContextPropsToPick> & {\n canPin: boolean;\n userRoles: ReturnType<typeof useUserRole>;\n };\n\nconst MessageWithContext = (props: MessageWithContextProps) => {\n const {\n canPin,\n Message: propMessage,\n message,\n messageActions = Object.keys(MESSAGE_ACTIONS),\n onUserClick: propOnUserClick,\n onUserHover: propOnUserHover,\n userRoles,\n } = props;\n\n const { client, isMessageAIGenerated } = useChatContext('Message');\n const { channelConfig, read } = useChannelStateContext('Message');\n const {\n Message: contextMessage = DefaultMessageUI,\n // TODO: remove this passthrough once we drop Message from the ComponentContext\n MessageUI: contextMessageUI = contextMessage,\n } = useComponentContext('Message');\n const { getTranslationView, setTranslationView: setTranslationViewInContext } =\n useMessageTranslationViewContext();\n\n const translationView = getTranslationView(message.id, !!message.i18n);\n const setTranslationView = useCallback(\n (view: 'original' | 'translated') => setTranslationViewInContext(message.id, view),\n [message.id, setTranslationViewInContext],\n );\n\n const actionsEnabled = message.type === 'regular' && message.status === 'received';\n const MessageUIComponent = propMessage ?? contextMessageUI;\n\n const { onUserClick, onUserHover } = useUserHandler(message, {\n onUserClickHandler: propOnUserClick,\n onUserHoverHandler: propOnUserHover,\n });\n\n const {\n canDelete,\n canEdit,\n canFlag,\n canMarkUnread,\n canMute,\n canQuote,\n canReact,\n canReply,\n isMyMessage,\n } = userRoles;\n\n const messageIsUnread = useMemo(\n () =>\n !!(\n !isMyMessage &&\n client.user?.id &&\n read &&\n (!read[client.user.id] ||\n (message?.created_at &&\n new Date(message.created_at).getTime() >\n read[client.user.id].last_read.getTime()))\n ),\n [client, isMyMessage, message.created_at, read],\n );\n\n const messageActionsHandler = useCallback(\n () =>\n getMessageActions(\n messageActions,\n {\n canDelete,\n canEdit,\n canFlag,\n canMarkUnread,\n canMute,\n canPin,\n canQuote,\n canReact,\n canReply,\n },\n channelConfig,\n ),\n\n [\n messageActions,\n canDelete,\n canEdit,\n canFlag,\n canMarkUnread,\n canMute,\n canPin,\n canQuote,\n canReact,\n canReply,\n channelConfig,\n ],\n );\n\n const {\n canPin: canPinPropToNotPass, // eslint-disable-line @typescript-eslint/no-unused-vars\n messageActions: messageActionsPropToNotPass, // eslint-disable-line @typescript-eslint/no-unused-vars\n onUserClick: onUserClickPropToNotPass, // eslint-disable-line @typescript-eslint/no-unused-vars\n onUserHover: onUserHoverPropToNotPass, // eslint-disable-line @typescript-eslint/no-unused-vars\n userRoles: userRolesPropToNotPass, // eslint-disable-line @typescript-eslint/no-unused-vars\n ...rest\n } = props;\n\n const messageContextValue: MessageContextValue = {\n ...rest,\n actionsEnabled,\n getMessageActions: messageActionsHandler,\n isMessageAIGenerated,\n isMyMessage: () => isMyMessage,\n messageIsUnread,\n onUserClick,\n onUserHover,\n setTranslationView,\n translationView,\n };\n\n return (\n <MessageProvider value={messageContextValue}>\n <MessageUIComponent />\n </MessageProvider>\n );\n};\n\nconst MemoizedMessage = React.memo(\n MessageWithContext,\n areMessagePropsEqual,\n) as typeof MessageWithContext;\n\n/**\n * The Message component is a context provider which implements all the logic required for rendering\n * an individual message. The actual UI of the message is delegated via the Message prop on Channel.\n */\nexport const Message = (props: MessageProps) => {\n const {\n closeReactionSelectorOnClick,\n disableQuotedMessages,\n message,\n onMentionsClick: propOnMentionsClick,\n onMentionsHover: propOnMentionsHover,\n openThread: propOpenThread,\n reactionDetailsSort,\n retrySendMessage: propRetrySendMessage,\n sortReactions,\n } = props;\n\n const { highlightedMessageId, mutes } = useChannelStateContext('Message');\n\n const handleAction = useActionHandler(message);\n const handleOpenThread = useOpenThreadHandler(message, propOpenThread);\n const handleReaction = useReactionHandler(message);\n const handleRetry = useRetryHandler(propRetrySendMessage);\n const userRoles = useUserRole(message, disableQuotedMessages);\n\n const handleFetchReactions = useReactionsFetcher(message);\n\n const handleDelete = useDeleteHandler(message);\n\n const handleFlag = useFlagHandler(message);\n\n const handleMarkUnread = useMarkUnreadHandler(message);\n\n const handleMute = useMuteHandler(message);\n\n const { onMentionsClick, onMentionsHover } = useMentionsHandler(message, {\n onMentionsClick: propOnMentionsClick,\n onMentionsHover: propOnMentionsHover,\n });\n\n const { canPin, handlePin } = usePinHandler(message);\n\n const highlighted = highlightedMessageId === message.id;\n\n return (\n <MemoizedMessage\n additionalMessageComposerProps={props.additionalMessageComposerProps}\n autoscrollToBottom={props.autoscrollToBottom}\n canPin={canPin}\n closeReactionSelectorOnClick={closeReactionSelectorOnClick}\n deliveredTo={props.deliveredTo}\n disableQuotedMessages={props.disableQuotedMessages}\n formatDate={props.formatDate}\n groupStyles={props.groupStyles}\n handleAction={handleAction}\n handleDelete={handleDelete}\n handleFetchReactions={handleFetchReactions}\n handleFlag={handleFlag}\n handleMarkUnread={handleMarkUnread}\n handleMute={handleMute}\n handleOpenThread={handleOpenThread}\n handlePin={handlePin}\n handleReaction={handleReaction}\n handleRetry={handleRetry}\n highlighted={highlighted}\n initialMessage={props.initialMessage}\n lastOwnMessage={props.lastOwnMessage}\n lastReceivedId={props.lastReceivedId}\n message={message}\n Message={props.Message}\n messageActions={props.messageActions}\n messageListRect={props.messageListRect}\n mutes={mutes}\n onMentionsClickMessage={onMentionsClick}\n onMentionsHoverMessage={onMentionsHover}\n onUserClick={props.onUserClick}\n onUserHover={props.onUserHover}\n reactionDetailsSort={reactionDetailsSort}\n readBy={props.readBy}\n renderText={props.renderText}\n returnAllReadData={props.returnAllReadData}\n sortReactions={sortReactions}\n threadList={props.threadList}\n unsafeHTML={props.unsafeHTML}\n userRoles={userRoles}\n />\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA6DA,IAAM,sBAAsB,UAAmC;CAC7D,MAAM,EACJ,QACA,SAAS,aACT,SACA,iBAAiB,OAAO,KAAK,eAAe,GAC5C,aAAa,iBACb,aAAa,iBACb,cACE;CAEJ,MAAM,EAAE,QAAQ,yBAAyB,eAAe,SAAS;CACjE,MAAM,EAAE,eAAe,SAAS,uBAAuB,SAAS;CAChE,MAAM,EACJ,SAAS,iBAAiB,WAE1B,WAAW,mBAAmB,mBAC5B,oBAAoB,SAAS;CACjC,MAAM,EAAE,oBAAoB,oBAAoB,gCAC9C,iCAAiC;CAEnC,MAAM,kBAAkB,mBAAmB,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI;CACrE,MAAM,qBAAqB,aACxB,SAAoC,4BAA4B,QAAQ,IAAI,IAAI,GACjF,CAAC,QAAQ,IAAI,2BAA2B,CAC1C;CAEA,MAAM,iBAAiB,QAAQ,SAAS,aAAa,QAAQ,WAAW;CACxE,MAAM,qBAAqB,eAAe;CAE1C,MAAM,EAAE,aAAa,gBAAgB,eAAe,SAAS;EAC3D,oBAAoB;EACpB,oBAAoB;CACtB,CAAC;CAED,MAAM,EACJ,WACA,SACA,SACA,eACA,SACA,UACA,UACA,UACA,gBACE;CAEJ,MAAM,kBAAkB,cAEpB,CAAC,EACC,CAAC,eACD,OAAO,MAAM,MACb,SACC,CAAC,KAAK,OAAO,KAAK,OAChB,SAAS,cACR,IAAI,KAAK,QAAQ,UAAU,CAAC,CAAC,QAAQ,IACnC,KAAK,OAAO,KAAK,GAAG,CAAC,UAAU,QAAQ,KAEjD;EAAC;EAAQ;EAAa,QAAQ;EAAY;CAAI,CAChD;CAEA,MAAM,wBAAwB,kBAE1B,kBACE,gBACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,GACA,aACF,GAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CAEA,MAAM,EACJ,QAAQ,qBACR,gBAAgB,6BAChB,aAAa,0BACb,aAAa,0BACb,WAAW,wBACX,GAAG,SACD;CAeJ,OACE,oBAAC,iBAAD;EAAiB,OAAO;GAbxB,GAAG;GACH;GACA,mBAAmB;GACnB;GACA,mBAAmB;GACnB;GACA;GACA;GACA;GACA;EAIwB;YACtB,oBAAC,oBAAD,CAAqB,CAAA;CACN,CAAA;AAErB;AAEA,IAAM,kBAAkB,MAAM,KAC5B,oBACA,oBACF;;;;;AAMA,IAAa,WAAW,UAAwB;CAC9C,MAAM,EACJ,8BACA,uBACA,SACA,iBAAiB,qBACjB,iBAAiB,qBACjB,YAAY,gBACZ,qBACA,kBAAkB,sBAClB,kBACE;CAEJ,MAAM,EAAE,sBAAsB,UAAU,uBAAuB,SAAS;CAExE,MAAM,eAAe,iBAAiB,OAAO;CAC7C,MAAM,mBAAmB,qBAAqB,SAAS,cAAc;CACrE,MAAM,iBAAiB,mBAAmB,OAAO;CACjD,MAAM,cAAc,gBAAgB,oBAAoB;CACxD,MAAM,YAAY,YAAY,SAAS,qBAAqB;CAE5D,MAAM,uBAAuB,oBAAoB,OAAO;CAExD,MAAM,eAAe,iBAAiB,OAAO;CAE7C,MAAM,aAAa,eAAe,OAAO;CAEzC,MAAM,mBAAmB,qBAAqB,OAAO;CAErD,MAAM,aAAa,eAAe,OAAO;CAEzC,MAAM,EAAE,iBAAiB,oBAAoB,mBAAmB,SAAS;EACvE,iBAAiB;EACjB,iBAAiB;CACnB,CAAC;CAED,MAAM,EAAE,QAAQ,cAAc,cAAc,OAAO;CAEnD,MAAM,cAAc,yBAAyB,QAAQ;CAErD,OACE,oBAAC,iBAAD;EACE,gCAAgC,MAAM;EACtC,oBAAoB,MAAM;EAClB;EACsB;EAC9B,aAAa,MAAM;EACnB,uBAAuB,MAAM;EAC7B,YAAY,MAAM;EAClB,aAAa,MAAM;EACL;EACA;EACQ;EACV;EACM;EACN;EACM;EACP;EACK;EACH;EACA;EACb,gBAAgB,MAAM;EACtB,gBAAgB,MAAM;EACtB,gBAAgB,MAAM;EACb;EACT,SAAS,MAAM;EACf,gBAAgB,MAAM;EACtB,iBAAiB,MAAM;EAChB;EACP,wBAAwB;EACxB,wBAAwB;EACxB,aAAa,MAAM;EACnB,aAAa,MAAM;EACE;EACrB,QAAQ,MAAM;EACd,YAAY,MAAM;EAClB,mBAAmB,MAAM;EACV;EACf,YAAY,MAAM;EAClB,YAAY,MAAM;EACP;CACZ,CAAA;AAEL"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { useChannelActionContext } from "../../context/ChannelActionContext.mjs";
|
|
2
|
+
import { useChannelStateContext } from "../../context/ChannelStateContext.mjs";
|
|
3
|
+
import { useComponentContextIcons } from "../../context/useComponentContextIcons.mjs";
|
|
4
|
+
import { useMessageContext } from "../../context/MessageContext.mjs";
|
|
5
|
+
import { useTranslationContext } from "../../context/TranslationContext.mjs";
|
|
6
|
+
import { useNotificationApi } from "../Notifications/hooks/useNotificationApi.mjs";
|
|
7
|
+
import { useEffect, useRef } from "react";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
import { formatMessage } from "stream-chat";
|
|
10
|
+
//#region src/components/Message/MessageAlsoSentInChannelIndicator.tsx
|
|
11
|
+
/**
|
|
12
|
+
* Indicator shown when the message was also sent to the main channel (show_in_channel === true).
|
|
13
|
+
*/
|
|
14
|
+
var MessageAlsoSentInChannelIndicator = () => {
|
|
15
|
+
const { IconArrowUpRight } = useComponentContextIcons();
|
|
16
|
+
const { addNotification } = useNotificationApi();
|
|
17
|
+
const { t } = useTranslationContext();
|
|
18
|
+
const { channel } = useChannelStateContext();
|
|
19
|
+
const { jumpToMessage, openThread } = useChannelActionContext();
|
|
20
|
+
const { message, threadList } = useMessageContext("MessageAlsoSentInChannelIndicator");
|
|
21
|
+
const targetMessageRef = useRef(void 0);
|
|
22
|
+
const queryParent = () => channel.getClient().search({ cid: channel.cid }, { id: message.parent_id }).then(({ results }) => {
|
|
23
|
+
if (!results.length) throw new Error("Thread has not been found");
|
|
24
|
+
targetMessageRef.current = formatMessage(results[0].message);
|
|
25
|
+
}).catch((error) => {
|
|
26
|
+
addNotification({
|
|
27
|
+
context: { threadReply: message },
|
|
28
|
+
emitter: "MessageIsThreadReplyInChannelButtonIndicator",
|
|
29
|
+
error,
|
|
30
|
+
message: t("Thread has not been found"),
|
|
31
|
+
severity: "error",
|
|
32
|
+
type: "api:reply:search:failed"
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
const jumpToReplyInChannelMessages = async (id) => {
|
|
36
|
+
await jumpToMessage(id);
|
|
37
|
+
};
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
if (targetMessageRef.current || targetMessageRef.current === null || !message.parent_id) return;
|
|
40
|
+
const localMessage = channel.state.findMessage(message.parent_id);
|
|
41
|
+
if (localMessage) {
|
|
42
|
+
targetMessageRef.current = localMessage;
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
}, [channel, message]);
|
|
46
|
+
const handleClickViewReference = async () => {
|
|
47
|
+
if (!targetMessageRef.current) if (threadList) {
|
|
48
|
+
await jumpToReplyInChannelMessages(message.id);
|
|
49
|
+
return;
|
|
50
|
+
} else await queryParent();
|
|
51
|
+
const target = targetMessageRef.current;
|
|
52
|
+
if (!target) {
|
|
53
|
+
targetMessageRef.current = null;
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (threadList) await jumpToReplyInChannelMessages(message.id);
|
|
57
|
+
else openThread(target);
|
|
58
|
+
};
|
|
59
|
+
if (!message?.show_in_channel) return null;
|
|
60
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
61
|
+
className: "str-chat__message-also-sent-in-channel",
|
|
62
|
+
role: "status",
|
|
63
|
+
children: [
|
|
64
|
+
/* @__PURE__ */ jsx(IconArrowUpRight, {}),
|
|
65
|
+
/* @__PURE__ */ jsx("span", { children: threadList ? t("Also sent in channel") : t("Replied to a thread") }),
|
|
66
|
+
/* @__PURE__ */ jsx("span", { children: " · " }),
|
|
67
|
+
/* @__PURE__ */ jsx("button", {
|
|
68
|
+
className: "str-chat__message-also-sent-in-channel__link-button",
|
|
69
|
+
onClick: handleClickViewReference,
|
|
70
|
+
type: "button",
|
|
71
|
+
children: t("View")
|
|
72
|
+
})
|
|
73
|
+
]
|
|
74
|
+
});
|
|
75
|
+
};
|
|
76
|
+
//#endregion
|
|
77
|
+
export { MessageAlsoSentInChannelIndicator };
|
|
78
|
+
|
|
79
|
+
//# sourceMappingURL=MessageAlsoSentInChannelIndicator.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageAlsoSentInChannelIndicator.mjs","names":[],"sources":["../../../../src/components/Message/MessageAlsoSentInChannelIndicator.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\n\nimport { useNotificationApi } from '../Notifications';\nimport {\n useChannelActionContext,\n useChannelStateContext,\n useComponentContextIcons,\n useMessageContext,\n useTranslationContext,\n} from '../../context';\nimport { formatMessage, type LocalMessage } from 'stream-chat';\n\n/**\n * Indicator shown when the message was also sent to the main channel (show_in_channel === true).\n */\nexport const MessageAlsoSentInChannelIndicator = () => {\n const { IconArrowUpRight } = useComponentContextIcons();\n\n const { addNotification } = useNotificationApi();\n const { t } = useTranslationContext();\n const { channel } = useChannelStateContext();\n const { jumpToMessage, openThread } = useChannelActionContext();\n const { message, threadList } = useMessageContext('MessageAlsoSentInChannelIndicator');\n const targetMessageRef = useRef<LocalMessage | null | undefined>(undefined);\n\n const queryParent = () =>\n channel\n .getClient()\n .search({ cid: channel.cid }, { id: message.parent_id })\n .then(({ results }) => {\n if (!results.length) {\n throw new Error('Thread has not been found');\n }\n targetMessageRef.current = formatMessage(results[0].message);\n })\n .catch((error: Error) => {\n addNotification({\n context: { threadReply: message },\n emitter: 'MessageIsThreadReplyInChannelButtonIndicator',\n error,\n message: t('Thread has not been found'),\n severity: 'error',\n type: 'api:reply:search:failed',\n });\n });\n\n // todo: it is not possible to jump to a message in thread\n const jumpToReplyInChannelMessages = async (id: string) => {\n await jumpToMessage(id);\n // todo: we do not have API to control, whether thread of channel message list is show - on mobile devices important\n };\n\n useEffect(() => {\n if (\n targetMessageRef.current ||\n targetMessageRef.current === null ||\n !message.parent_id\n )\n return;\n const localMessage = channel.state.findMessage(message.parent_id);\n if (localMessage) {\n targetMessageRef.current = localMessage;\n return;\n }\n }, [channel, message]);\n\n const handleClickViewReference = async () => {\n if (!targetMessageRef.current) {\n // search query is performed here in order to prevent multiple search queries in useEffect\n // due to the message list 3x remounting its items\n if (threadList) {\n await jumpToReplyInChannelMessages(message.id); // we are in thread, and we want to jump to this reply in the main message list\n return;\n } else await queryParent(); // we are in the main list and need to query the thread\n }\n const target = targetMessageRef.current;\n if (!target) {\n // prevent further search queries if the message is not found in the DB\n targetMessageRef.current = null;\n return;\n }\n\n if (threadList) await jumpToReplyInChannelMessages(message.id);\n else openThread(target);\n };\n\n if (!message?.show_in_channel) return null;\n\n return (\n <div className='str-chat__message-also-sent-in-channel' role='status'>\n <IconArrowUpRight />\n <span>{threadList ? t('Also sent in channel') : t('Replied to a thread')}</span>\n <span> · </span>\n <button\n className='str-chat__message-also-sent-in-channel__link-button'\n onClick={handleClickViewReference}\n type='button'\n >\n {t('View')}\n </button>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;;AAeA,IAAa,0CAA0C;CACrD,MAAM,EAAE,qBAAqB,yBAAyB;CAEtD,MAAM,EAAE,oBAAoB,mBAAmB;CAC/C,MAAM,EAAE,MAAM,sBAAsB;CACpC,MAAM,EAAE,YAAY,uBAAuB;CAC3C,MAAM,EAAE,eAAe,eAAe,wBAAwB;CAC9D,MAAM,EAAE,SAAS,eAAe,kBAAkB,mCAAmC;CACrF,MAAM,mBAAmB,OAAwC,KAAA,CAAS;CAE1E,MAAM,oBACJ,QACG,UAAU,CAAC,CACX,OAAO,EAAE,KAAK,QAAQ,IAAI,GAAG,EAAE,IAAI,QAAQ,UAAU,CAAC,CAAC,CACvD,MAAM,EAAE,cAAc;EACrB,IAAI,CAAC,QAAQ,QACX,MAAM,IAAI,MAAM,2BAA2B;EAE7C,iBAAiB,UAAU,cAAc,QAAQ,EAAE,CAAC,OAAO;CAC7D,CAAC,CAAC,CACD,OAAO,UAAiB;EACvB,gBAAgB;GACd,SAAS,EAAE,aAAa,QAAQ;GAChC,SAAS;GACT;GACA,SAAS,EAAE,2BAA2B;GACtC,UAAU;GACV,MAAM;EACR,CAAC;CACH,CAAC;CAGL,MAAM,+BAA+B,OAAO,OAAe;EACzD,MAAM,cAAc,EAAE;CAExB;CAEA,gBAAgB;EACd,IACE,iBAAiB,WACjB,iBAAiB,YAAY,QAC7B,CAAC,QAAQ,WAET;EACF,MAAM,eAAe,QAAQ,MAAM,YAAY,QAAQ,SAAS;EAChE,IAAI,cAAc;GAChB,iBAAiB,UAAU;GAC3B;EACF;CACF,GAAG,CAAC,SAAS,OAAO,CAAC;CAErB,MAAM,2BAA2B,YAAY;EAC3C,IAAI,CAAC,iBAAiB,SAGpB,IAAI,YAAY;GACd,MAAM,6BAA6B,QAAQ,EAAE;GAC7C;EACF,OAAO,MAAM,YAAY;EAE3B,MAAM,SAAS,iBAAiB;EAChC,IAAI,CAAC,QAAQ;GAEX,iBAAiB,UAAU;GAC3B;EACF;EAEA,IAAI,YAAY,MAAM,6BAA6B,QAAQ,EAAE;OACxD,WAAW,MAAM;CACxB;CAEA,IAAI,CAAC,SAAS,iBAAiB,OAAO;CAEtC,OACE,qBAAC,OAAD;EAAK,WAAU;EAAyC,MAAK;YAA7D;GACE,oBAAC,kBAAD,CAAmB,CAAA;GACnB,oBAAC,QAAD,EAAA,UAAO,aAAa,EAAE,sBAAsB,IAAI,EAAE,qBAAqB,EAAQ,CAAA;GAC/E,oBAAC,QAAD,EAAA,UAAM,MAAS,CAAA;GACf,oBAAC,UAAD;IACE,WAAU;IACV,SAAS;IACT,MAAK;cAEJ,EAAE,MAAM;GACH,CAAA;EACL;;AAET"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { useMessageContext } from "../../context/MessageContext.mjs";
|
|
2
|
+
import { useTranslationContext } from "../../context/TranslationContext.mjs";
|
|
3
|
+
import { useUserRole } from "./hooks/useUserRole.mjs";
|
|
4
|
+
import "react";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
import clsx from "clsx";
|
|
7
|
+
//#region src/components/Message/MessageBlocked.tsx
|
|
8
|
+
var MessageBlocked = () => {
|
|
9
|
+
const { message } = useMessageContext();
|
|
10
|
+
const { t } = useTranslationContext("MessageBlocked");
|
|
11
|
+
const { isMyMessage } = useUserRole(message);
|
|
12
|
+
return /* @__PURE__ */ jsx("div", {
|
|
13
|
+
className: clsx("str-chat__message str-chat__message--blocked", message.type, {
|
|
14
|
+
"str-chat__message--me": isMyMessage,
|
|
15
|
+
"str-chat__message--other": !isMyMessage
|
|
16
|
+
}),
|
|
17
|
+
"data-testid": "message-blocked-component",
|
|
18
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
19
|
+
className: "str-chat__message--blocked-inner",
|
|
20
|
+
children: t("Message was blocked by moderation policies")
|
|
21
|
+
})
|
|
22
|
+
}, message.id);
|
|
23
|
+
};
|
|
24
|
+
//#endregion
|
|
25
|
+
export { MessageBlocked };
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=MessageBlocked.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageBlocked.mjs","names":[],"sources":["../../../../src/components/Message/MessageBlocked.tsx"],"sourcesContent":["import React from 'react';\nimport clsx from 'clsx';\n\nimport { useUserRole } from './hooks/useUserRole';\nimport { useTranslationContext } from '../../context/TranslationContext';\nimport { useMessageContext } from '../../context';\n\nexport const MessageBlocked = () => {\n const { message } = useMessageContext();\n const { t } = useTranslationContext('MessageBlocked');\n\n const { isMyMessage } = useUserRole(message);\n\n const messageClasses = clsx(\n 'str-chat__message str-chat__message--blocked',\n message.type,\n {\n 'str-chat__message--me': isMyMessage,\n 'str-chat__message--other': !isMyMessage,\n },\n );\n\n return (\n <div\n className={messageClasses}\n data-testid='message-blocked-component'\n key={message.id}\n >\n <div className='str-chat__message--blocked-inner'>\n {t('Message was blocked by moderation policies')}\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;AAOA,IAAa,uBAAuB;CAClC,MAAM,EAAE,YAAY,kBAAkB;CACtC,MAAM,EAAE,MAAM,sBAAsB,gBAAgB;CAEpD,MAAM,EAAE,gBAAgB,YAAY,OAAO;CAW3C,OACE,oBAAC,OAAD;EACE,WAXmB,KACrB,gDACA,QAAQ,MACR;GACE,yBAAyB;GACzB,4BAA4B,CAAC;EAC/B,CAKa;EACX,eAAY;YAGZ,oBAAC,OAAD;GAAK,WAAU;aACZ,EAAE,4CAA4C;EAC5C,CAAA;CACF,GALE,QAAQ,EAKV;AAET"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import "react";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import clsx from "clsx";
|
|
4
|
+
//#region src/components/Message/MessageBubble.tsx
|
|
5
|
+
var MessageBubble = ({ className, ...props }) => /* @__PURE__ */ jsx("div", {
|
|
6
|
+
...props,
|
|
7
|
+
className: clsx("str-chat__message-bubble", className)
|
|
8
|
+
});
|
|
9
|
+
//#endregion
|
|
10
|
+
export { MessageBubble };
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=MessageBubble.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageBubble.mjs","names":[],"sources":["../../../../src/components/Message/MessageBubble.tsx"],"sourcesContent":["import React, { type ComponentProps } from 'react';\nimport clsx from 'clsx';\n\nexport const MessageBubble = ({ className, ...props }: ComponentProps<'div'>) => (\n <div {...props} className={clsx('str-chat__message-bubble', className)} />\n);\n"],"mappings":";;;;AAGA,IAAa,iBAAiB,EAAE,WAAW,GAAG,YAC5C,oBAAC,OAAD;CAAK,GAAI;CAAO,WAAW,KAAK,4BAA4B,SAAS;AAAI,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useComponentContextIcons } from "../../context/useComponentContextIcons.mjs";
|
|
2
|
+
import { useTranslationContext } from "../../context/TranslationContext.mjs";
|
|
3
|
+
import { MessageBubble } from "./MessageBubble.mjs";
|
|
4
|
+
import "react";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
//#region src/components/Message/MessageDeletedBubble.tsx
|
|
7
|
+
var MessageDeletedBubble = () => {
|
|
8
|
+
const { IconNoSign } = useComponentContextIcons();
|
|
9
|
+
const { t } = useTranslationContext();
|
|
10
|
+
return /* @__PURE__ */ jsx(MessageBubble, {
|
|
11
|
+
"data-testid": "message-deleted-bubble",
|
|
12
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
13
|
+
className: "str-chat__message-text",
|
|
14
|
+
children: [/* @__PURE__ */ jsx(IconNoSign, {}), /* @__PURE__ */ jsx("span", { children: t("Message deleted") })]
|
|
15
|
+
})
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
//#endregion
|
|
19
|
+
export { MessageDeletedBubble };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=MessageDeletedBubble.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageDeletedBubble.mjs","names":[],"sources":["../../../../src/components/Message/MessageDeletedBubble.tsx"],"sourcesContent":["import React from 'react';\n\nimport { useComponentContextIcons } from '../../context';\nimport { useTranslationContext } from '../../context/TranslationContext';\n\nimport type { LocalMessage } from 'stream-chat';\nimport { MessageBubble } from './MessageBubble';\n\nexport type MessageDeletedProps = {\n message: LocalMessage;\n};\n\nexport const MessageDeletedBubble = () => {\n const { IconNoSign } = useComponentContextIcons();\n\n const { t } = useTranslationContext();\n\n return (\n <MessageBubble data-testid={'message-deleted-bubble'}>\n <div className='str-chat__message-text'>\n <IconNoSign />\n <span>{t('Message deleted')}</span>\n </div>\n </MessageBubble>\n );\n};\n"],"mappings":";;;;;;AAYA,IAAa,6BAA6B;CACxC,MAAM,EAAE,eAAe,yBAAyB;CAEhD,MAAM,EAAE,MAAM,sBAAsB;CAEpC,OACE,oBAAC,eAAD;EAAe,eAAa;YAC1B,qBAAC,OAAD;GAAK,WAAU;aAAf,CACE,oBAAC,YAAD,CAAa,CAAA,GACb,oBAAC,QAAD,EAAA,UAAO,EAAE,iBAAiB,EAAQ,CAAA,CAC/B;;CACQ,CAAA;AAEnB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { useComponentContext } from "../../context/ComponentContext.mjs";
|
|
2
|
+
import { useMessageContext } from "../../context/MessageContext.mjs";
|
|
3
|
+
import { useTranslationContext } from "../../context/TranslationContext.mjs";
|
|
4
|
+
import { PopperTooltip } from "../Tooltip/Tooltip.mjs";
|
|
5
|
+
import { useEnterLeaveHandlers } from "../Tooltip/hooks/useEnterLeaveHandlers.mjs";
|
|
6
|
+
import { Timestamp } from "./Timestamp.mjs";
|
|
7
|
+
import React, { useState } from "react";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
//#region src/components/Message/MessageEditedIndicator.tsx
|
|
10
|
+
var UnMemoizedMessageEditedIndicator = (props) => {
|
|
11
|
+
const { customClass, message: propMessage, ...timestampProps } = props;
|
|
12
|
+
const { message: contextMessage } = useMessageContext("MessageEditedIndicator");
|
|
13
|
+
const { t } = useTranslationContext("MessageEditedIndicator");
|
|
14
|
+
const { Timestamp: Timestamp$1 = Timestamp } = useComponentContext("MessageEditedIndicator");
|
|
15
|
+
const message = propMessage ?? contextMessage;
|
|
16
|
+
const [referenceElement, setReferenceElement] = useState(null);
|
|
17
|
+
const { handleEnter, handleLeave, tooltipVisible } = useEnterLeaveHandlers();
|
|
18
|
+
if (!message?.message_text_updated_at) return null;
|
|
19
|
+
return /* @__PURE__ */ jsxs("span", {
|
|
20
|
+
className: customClass ?? "str-chat__message-edited-indicator",
|
|
21
|
+
"data-testid": "message-edited-indicator",
|
|
22
|
+
onMouseEnter: handleEnter,
|
|
23
|
+
onMouseLeave: handleLeave,
|
|
24
|
+
ref: setReferenceElement,
|
|
25
|
+
children: [t("Edited"), /* @__PURE__ */ jsx(PopperTooltip, {
|
|
26
|
+
offset: [0, 5],
|
|
27
|
+
placement: "top",
|
|
28
|
+
referenceElement,
|
|
29
|
+
visible: tooltipVisible,
|
|
30
|
+
children: /* @__PURE__ */ jsx(Timestamp$1, {
|
|
31
|
+
timestamp: message.message_text_updated_at,
|
|
32
|
+
...timestampProps
|
|
33
|
+
})
|
|
34
|
+
})]
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
var MessageEditedIndicator = React.memo(UnMemoizedMessageEditedIndicator);
|
|
38
|
+
//#endregion
|
|
39
|
+
export { MessageEditedIndicator };
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=MessageEditedIndicator.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageEditedIndicator.mjs","names":[],"sources":["../../../../src/components/Message/MessageEditedIndicator.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport type { LocalMessage } from 'stream-chat';\nimport type { TimestampFormatterOptions } from '../../i18n/types';\nimport { PopperTooltip } from '../Tooltip';\nimport { useEnterLeaveHandlers } from '../Tooltip/hooks';\nimport { Timestamp as DefaultTimestamp } from './Timestamp';\nimport {\n useComponentContext,\n useMessageContext,\n useTranslationContext,\n} from '../../context';\n\nexport type MessageEditedIndicatorProps = TimestampFormatterOptions & {\n /* Adds a CSS class name to the component's outer container. */\n customClass?: string;\n /* The `StreamChat` message object, which provides necessary data to the underlying UI components (overrides the value from `MessageContext`) */\n message?: LocalMessage;\n};\n\nconst UnMemoizedMessageEditedIndicator = (props: MessageEditedIndicatorProps) => {\n const { customClass, message: propMessage, ...timestampProps } = props;\n const { message: contextMessage } = useMessageContext('MessageEditedIndicator');\n const { t } = useTranslationContext('MessageEditedIndicator');\n const { Timestamp = DefaultTimestamp } = useComponentContext('MessageEditedIndicator');\n const message = propMessage ?? contextMessage;\n\n const [referenceElement, setReferenceElement] = useState<HTMLSpanElement | null>(null);\n const { handleEnter, handleLeave, tooltipVisible } =\n useEnterLeaveHandlers<HTMLSpanElement>();\n\n if (!message?.message_text_updated_at) {\n return null;\n }\n\n return (\n <span\n className={customClass ?? 'str-chat__message-edited-indicator'}\n data-testid='message-edited-indicator'\n onMouseEnter={handleEnter}\n onMouseLeave={handleLeave}\n ref={setReferenceElement}\n >\n {t('Edited')}\n <PopperTooltip\n offset={[0, 5]}\n placement='top'\n referenceElement={referenceElement}\n visible={tooltipVisible}\n >\n <Timestamp timestamp={message.message_text_updated_at} {...timestampProps} />\n </PopperTooltip>\n </span>\n );\n};\n\nexport const MessageEditedIndicator = React.memo(\n UnMemoizedMessageEditedIndicator,\n) as typeof UnMemoizedMessageEditedIndicator;\n"],"mappings":";;;;;;;;;AAmBA,IAAM,oCAAoC,UAAuC;CAC/E,MAAM,EAAE,aAAa,SAAS,aAAa,GAAG,mBAAmB;CACjE,MAAM,EAAE,SAAS,mBAAmB,kBAAkB,wBAAwB;CAC9E,MAAM,EAAE,MAAM,sBAAsB,wBAAwB;CAC5D,MAAM,EAAE,WAAA,cAAY,cAAqB,oBAAoB,wBAAwB;CACrF,MAAM,UAAU,eAAe;CAE/B,MAAM,CAAC,kBAAkB,uBAAuB,SAAiC,IAAI;CACrF,MAAM,EAAE,aAAa,aAAa,mBAChC,sBAAuC;CAEzC,IAAI,CAAC,SAAS,yBACZ,OAAO;CAGT,OACE,qBAAC,QAAD;EACE,WAAW,eAAe;EAC1B,eAAY;EACZ,cAAc;EACd,cAAc;EACd,KAAK;YALP,CAOG,EAAE,QAAQ,GACX,oBAAC,eAAD;GACE,QAAQ,CAAC,GAAG,CAAC;GACb,WAAU;GACQ;GAClB,SAAS;aAET,oBAAC,aAAD;IAAW,WAAW,QAAQ;IAAyB,GAAI;GAAiB,CAAA;EAC/D,CAAA,CACX;;AAEV;AAEA,IAAa,yBAAyB,MAAM,KAC1C,gCACF"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { useChannelStateContext } from "../../context/ChannelStateContext.mjs";
|
|
2
|
+
import { useComponentContext } from "../../context/ComponentContext.mjs";
|
|
3
|
+
import { useTranslationContext } from "../../context/TranslationContext.mjs";
|
|
4
|
+
import { AvatarStack } from "../Avatar/AvatarStack.mjs";
|
|
5
|
+
import { extractDisplayInfo } from "../Avatar/utils.mjs";
|
|
6
|
+
import React, { useMemo } from "react";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
//#region src/components/Message/MessageRepliesCountButton.tsx
|
|
9
|
+
function UnMemoizedMessageRepliesCountButton(props) {
|
|
10
|
+
const { AvatarStack: AvatarStack$1 = AvatarStack, extractDisplayInfo: extractDisplayInfo$1 = extractDisplayInfo } = useComponentContext(MessageRepliesCountButton.name);
|
|
11
|
+
const { labelPlural, labelSingle, onClick, reply_count: replyCount = 0, thread_participants: threadParticipants = [] } = props;
|
|
12
|
+
const { channelCapabilities } = useChannelStateContext();
|
|
13
|
+
const { t } = useTranslationContext("MessageRepliesCountButton");
|
|
14
|
+
const avatarStackDisplayInfo = useMemo(() => threadParticipants.slice(0, 3).map((user) => extractDisplayInfo$1({ user })), [extractDisplayInfo$1, threadParticipants]);
|
|
15
|
+
if (!replyCount) return null;
|
|
16
|
+
let replyCountText = t("replyCount", { count: replyCount });
|
|
17
|
+
if (labelPlural && replyCount > 1) replyCountText = `${replyCount} ${labelPlural}`;
|
|
18
|
+
else if (labelSingle) replyCountText = `1 ${labelSingle}`;
|
|
19
|
+
return /* @__PURE__ */ jsx("div", {
|
|
20
|
+
className: "str-chat__message-replies-count-button-wrapper",
|
|
21
|
+
children: /* @__PURE__ */ jsxs("button", {
|
|
22
|
+
className: "str-chat__message-replies-count-button",
|
|
23
|
+
"data-testid": "replies-count-button",
|
|
24
|
+
disabled: !channelCapabilities["send-reply"],
|
|
25
|
+
onClick,
|
|
26
|
+
children: [replyCountText, /* @__PURE__ */ jsx(AvatarStack$1, {
|
|
27
|
+
displayInfo: avatarStackDisplayInfo,
|
|
28
|
+
size: "xs"
|
|
29
|
+
})]
|
|
30
|
+
})
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
var MessageRepliesCountButton = React.memo(UnMemoizedMessageRepliesCountButton);
|
|
34
|
+
//#endregion
|
|
35
|
+
export { MessageRepliesCountButton };
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=MessageRepliesCountButton.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageRepliesCountButton.mjs","names":[],"sources":["../../../../src/components/Message/MessageRepliesCountButton.tsx"],"sourcesContent":["import type { MouseEventHandler } from 'react';\nimport type { UserResponse } from 'stream-chat';\nimport React, { useMemo } from 'react';\n\nimport { useTranslationContext } from '../../context/TranslationContext';\nimport { useChannelStateContext, useComponentContext } from '../../context';\nimport { AvatarStack as DefaultAvatarStack } from '../Avatar';\nimport { extractDisplayInfo as defaultExtractDisplayInfo } from '../Avatar/utils';\n\nexport type MessageRepliesCountButtonProps = {\n /* If supplied, adds custom text to the end of a multiple replies message */\n labelPlural?: string;\n /* If supplied, adds custom text to the end of a single reply message */\n labelSingle?: string;\n /* Function to navigate into an existing thread on a message */\n onClick?: MouseEventHandler;\n /* The amount of replies (i.e., threaded messages) on a message */\n reply_count?: number;\n thread_participants?: UserResponse[];\n};\n\nfunction UnMemoizedMessageRepliesCountButton(props: MessageRepliesCountButtonProps) {\n const {\n AvatarStack = DefaultAvatarStack,\n extractDisplayInfo = defaultExtractDisplayInfo,\n } = useComponentContext(MessageRepliesCountButton.name);\n const {\n labelPlural,\n labelSingle,\n onClick,\n reply_count: replyCount = 0,\n thread_participants: threadParticipants = [],\n } = props;\n const { channelCapabilities } = useChannelStateContext();\n\n const { t } = useTranslationContext('MessageRepliesCountButton');\n\n const avatarStackDisplayInfo = useMemo(\n () => threadParticipants.slice(0, 3).map((user) => extractDisplayInfo({ user })),\n [extractDisplayInfo, threadParticipants],\n );\n\n if (!replyCount) return null;\n\n let replyCountText = t('replyCount', { count: replyCount });\n\n if (labelPlural && replyCount > 1) {\n replyCountText = `${replyCount} ${labelPlural}`;\n } else if (labelSingle) {\n replyCountText = `1 ${labelSingle}`;\n }\n\n return (\n <div className='str-chat__message-replies-count-button-wrapper'>\n <button\n className='str-chat__message-replies-count-button'\n data-testid='replies-count-button'\n disabled={!channelCapabilities['send-reply']}\n onClick={onClick}\n >\n {replyCountText}\n\n <AvatarStack displayInfo={avatarStackDisplayInfo} size='xs' />\n </button>\n </div>\n );\n}\n\nexport const MessageRepliesCountButton = React.memo(\n UnMemoizedMessageRepliesCountButton,\n) as typeof UnMemoizedMessageRepliesCountButton;\n"],"mappings":";;;;;;;;AAqBA,SAAS,oCAAoC,OAAuC;CAClF,MAAM,EACJ,aAAA,gBAAc,aACd,oBAAA,uBAAqB,uBACnB,oBAAoB,0BAA0B,IAAI;CACtD,MAAM,EACJ,aACA,aACA,SACA,aAAa,aAAa,GAC1B,qBAAqB,qBAAqB,CAAC,MACzC;CACJ,MAAM,EAAE,wBAAwB,uBAAuB;CAEvD,MAAM,EAAE,MAAM,sBAAsB,2BAA2B;CAE/D,MAAM,yBAAyB,cACvB,mBAAmB,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,qBAAmB,EAAE,KAAK,CAAC,CAAC,GAC/E,CAAC,sBAAoB,kBAAkB,CACzC;CAEA,IAAI,CAAC,YAAY,OAAO;CAExB,IAAI,iBAAiB,EAAE,cAAc,EAAE,OAAO,WAAW,CAAC;CAE1D,IAAI,eAAe,aAAa,GAC9B,iBAAiB,GAAG,WAAW,GAAG;MAC7B,IAAI,aACT,iBAAiB,KAAK;CAGxB,OACE,oBAAC,OAAD;EAAK,WAAU;YACb,qBAAC,UAAD;GACE,WAAU;GACV,eAAY;GACZ,UAAU,CAAC,oBAAoB;GACtB;aAJX,CAMG,gBAED,oBAAC,eAAD;IAAa,aAAa;IAAwB,MAAK;GAAM,CAAA,CACvD;;CACL,CAAA;AAET;AAEA,IAAa,4BAA4B,MAAM,KAC7C,mCACF"}
|