stream-chat-react 14.11.0 → 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 +248 -62
- 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 -20861
- 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/ChannelListItem/ChannelListItem.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,113 @@
|
|
|
1
|
+
import { useChannelListContext } from "../../../context/ChannelListContext.mjs";
|
|
2
|
+
import { useChatContext } from "../../../context/ChatContext.mjs";
|
|
3
|
+
import { useComponentContext } from "../../../context/ComponentContext.mjs";
|
|
4
|
+
import { useTranslationContext } from "../../../context/TranslationContext.mjs";
|
|
5
|
+
import { Avatar } from "../../Avatar/Avatar.mjs";
|
|
6
|
+
import { extractDisplayInfo } from "../../Avatar/utils.mjs";
|
|
7
|
+
import { Timestamp } from "../../Message/Timestamp.mjs";
|
|
8
|
+
import { useSearchContext } from "../SearchContext.mjs";
|
|
9
|
+
import { ChannelListItem } from "../../ChannelListItem/ChannelListItem.mjs";
|
|
10
|
+
import { useCallback, useMemo } from "react";
|
|
11
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
12
|
+
import uniqBy from "lodash.uniqby";
|
|
13
|
+
//#region src/components/Search/SearchResults/SearchResultItem.tsx
|
|
14
|
+
var ChannelSearchResultItem = ({ item }) => {
|
|
15
|
+
const { setActiveChannel } = useChatContext();
|
|
16
|
+
const { setChannels } = useChannelListContext();
|
|
17
|
+
return /* @__PURE__ */ jsx(ChannelListItem, {
|
|
18
|
+
channel: item,
|
|
19
|
+
className: "str-chat__search-result",
|
|
20
|
+
onSelect: useCallback(() => {
|
|
21
|
+
setActiveChannel(item);
|
|
22
|
+
setChannels?.((channels) => uniqBy([item, ...channels], "cid"));
|
|
23
|
+
}, [
|
|
24
|
+
item,
|
|
25
|
+
setActiveChannel,
|
|
26
|
+
setChannels
|
|
27
|
+
])
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
var MessageSearchResultItem = ({ item }) => {
|
|
31
|
+
const { channel: activeChannel, client, searchController, setActiveChannel } = useChatContext();
|
|
32
|
+
const { setChannels } = useChannelListContext();
|
|
33
|
+
const channel = useMemo(() => {
|
|
34
|
+
const { channel: channelData } = item;
|
|
35
|
+
const type = channelData?.type ?? "unknown";
|
|
36
|
+
const id = channelData?.id ?? "unknown";
|
|
37
|
+
return client.channel(type, id);
|
|
38
|
+
}, [client, item]);
|
|
39
|
+
const onSelect = useCallback(async () => {
|
|
40
|
+
if (!channel) return;
|
|
41
|
+
await channel.state.loadMessageIntoState(item.id, void 0, 25);
|
|
42
|
+
searchController._internalState.partialNext({ focusedMessage: item });
|
|
43
|
+
setActiveChannel(channel);
|
|
44
|
+
setChannels?.((channels) => uniqBy([channel, ...channels], "cid"));
|
|
45
|
+
}, [
|
|
46
|
+
channel,
|
|
47
|
+
item,
|
|
48
|
+
searchController,
|
|
49
|
+
setActiveChannel,
|
|
50
|
+
setChannels
|
|
51
|
+
]);
|
|
52
|
+
const getLatestMessagePreview = useCallback(() => item.text, [item]);
|
|
53
|
+
if (!channel) return null;
|
|
54
|
+
return /* @__PURE__ */ jsx(ChannelListItem, {
|
|
55
|
+
active: channel.cid === activeChannel?.cid && item.id === searchController._internalState.getLatestValue().focusedMessage?.id,
|
|
56
|
+
channel,
|
|
57
|
+
className: "str-chat__search-result",
|
|
58
|
+
getLatestMessagePreview,
|
|
59
|
+
onSelect
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
var UserSearchResultItem = ({ item }) => {
|
|
63
|
+
const { client, setActiveChannel } = useChatContext();
|
|
64
|
+
const { setChannels } = useChannelListContext();
|
|
65
|
+
const { directMessagingChannelType } = useSearchContext();
|
|
66
|
+
const { t } = useTranslationContext();
|
|
67
|
+
const { Avatar: Avatar$1 = Avatar, extractDisplayInfo: extractDisplayInfo$1 = extractDisplayInfo } = useComponentContext();
|
|
68
|
+
const onClick = useCallback(() => {
|
|
69
|
+
const newChannel = client.channel(directMessagingChannelType, { members: [client.userID, item.id] });
|
|
70
|
+
newChannel.watch();
|
|
71
|
+
setActiveChannel(newChannel);
|
|
72
|
+
setChannels?.((channels) => uniqBy([newChannel, ...channels], "cid"));
|
|
73
|
+
}, [
|
|
74
|
+
client,
|
|
75
|
+
item,
|
|
76
|
+
setActiveChannel,
|
|
77
|
+
setChannels,
|
|
78
|
+
directMessagingChannelType
|
|
79
|
+
]);
|
|
80
|
+
return /* @__PURE__ */ jsx("div", {
|
|
81
|
+
className: "str-chat__search-result-container",
|
|
82
|
+
children: /* @__PURE__ */ jsxs("button", {
|
|
83
|
+
"aria-label": t("aria/Select User Channel: {{ name }}", { name: item.name || "" }),
|
|
84
|
+
className: "str-chat__search-result str-chat__search-result--user",
|
|
85
|
+
"data-testid": "search-result-user",
|
|
86
|
+
onClick,
|
|
87
|
+
role: "option",
|
|
88
|
+
children: [/* @__PURE__ */ jsx(Avatar$1, {
|
|
89
|
+
...extractDisplayInfo$1({ user: item }),
|
|
90
|
+
isOnline: item.online,
|
|
91
|
+
size: "xl"
|
|
92
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
93
|
+
className: "str-chat__search-result-data",
|
|
94
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
95
|
+
className: "str-chat__search-result__display-name",
|
|
96
|
+
children: item.name || item.username || item.id
|
|
97
|
+
}), /* @__PURE__ */ jsx(Timestamp, {
|
|
98
|
+
customClass: "str-chat__search-result__last-active-timestamp",
|
|
99
|
+
timestamp: item.last_active
|
|
100
|
+
})]
|
|
101
|
+
})]
|
|
102
|
+
})
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
var DefaultSearchResultItems = {
|
|
106
|
+
channels: ChannelSearchResultItem,
|
|
107
|
+
messages: MessageSearchResultItem,
|
|
108
|
+
users: UserSearchResultItem
|
|
109
|
+
};
|
|
110
|
+
//#endregion
|
|
111
|
+
export { ChannelSearchResultItem, DefaultSearchResultItems, MessageSearchResultItem, UserSearchResultItem };
|
|
112
|
+
|
|
113
|
+
//# sourceMappingURL=SearchResultItem.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchResultItem.mjs","names":[],"sources":["../../../../../src/components/Search/SearchResults/SearchResultItem.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react';\nimport uniqBy from 'lodash.uniqby';\nimport type { ComponentType } from 'react';\nimport type { Channel, MessageResponse, User } from 'stream-chat';\n\nimport { useSearchContext } from '../SearchContext';\nimport { Avatar as DefaultAvatar } from '../../../components/Avatar';\nimport { extractDisplayInfo as defaultExtractDisplayInfo } from '../../../components/Avatar/utils';\nimport { ChannelListItem } from '../../../components/ChannelListItem';\nimport {\n useChannelListContext,\n useChatContext,\n useComponentContext,\n useTranslationContext,\n} from '../../../context';\nimport { DEFAULT_JUMP_TO_PAGE_SIZE } from '../../../constants/limits';\nimport { Timestamp } from '../../../components/Message/Timestamp';\n\nexport type ChannelSearchResultItemProps = {\n item: Channel;\n};\n\nexport const ChannelSearchResultItem = ({ item }: ChannelSearchResultItemProps) => {\n const { setActiveChannel } = useChatContext();\n const { setChannels } = useChannelListContext();\n\n const onSelect = useCallback(() => {\n setActiveChannel(item);\n setChannels?.((channels) => uniqBy([item, ...channels], 'cid'));\n }, [item, setActiveChannel, setChannels]);\n\n return (\n <ChannelListItem\n channel={item}\n className='str-chat__search-result'\n onSelect={onSelect}\n />\n );\n};\n\nexport type ChannelByMessageSearchResultItemProps = {\n item: MessageResponse;\n};\n\nexport const MessageSearchResultItem = ({\n item,\n}: ChannelByMessageSearchResultItemProps) => {\n const {\n channel: activeChannel,\n client,\n searchController,\n setActiveChannel,\n } = useChatContext();\n const { setChannels } = useChannelListContext();\n\n const channel = useMemo(() => {\n const { channel: channelData } = item;\n const type = channelData?.type ?? 'unknown';\n const id = channelData?.id ?? 'unknown';\n return client.channel(type, id);\n }, [client, item]);\n\n const onSelect = useCallback(async () => {\n if (!channel) return;\n await channel.state.loadMessageIntoState(\n item.id,\n undefined,\n DEFAULT_JUMP_TO_PAGE_SIZE,\n );\n // FIXME: message focus should be handled by yet non-existent msg list controller in client packaged\n searchController._internalState.partialNext({ focusedMessage: item });\n setActiveChannel(channel);\n setChannels?.((channels) => uniqBy([channel, ...channels], 'cid'));\n }, [channel, item, searchController, setActiveChannel, setChannels]);\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const getLatestMessagePreview = useCallback(() => item.text!, [item]);\n\n if (!channel) return null;\n\n return (\n <ChannelListItem\n active={\n channel.cid === activeChannel?.cid &&\n item.id === searchController._internalState.getLatestValue().focusedMessage?.id\n }\n channel={channel}\n className='str-chat__search-result'\n getLatestMessagePreview={getLatestMessagePreview}\n onSelect={onSelect}\n />\n );\n};\n\nexport type UserSearchResultItemProps = {\n item: User;\n};\n\nexport const UserSearchResultItem = ({ item }: UserSearchResultItemProps) => {\n const { client, setActiveChannel } = useChatContext();\n const { setChannels } = useChannelListContext();\n const { directMessagingChannelType } = useSearchContext();\n const { t } = useTranslationContext();\n const { Avatar = DefaultAvatar, extractDisplayInfo = defaultExtractDisplayInfo } =\n useComponentContext();\n\n const onClick = useCallback(() => {\n const newChannel = client.channel(directMessagingChannelType, {\n members: [client.userID as string, item.id],\n });\n newChannel.watch();\n setActiveChannel(newChannel);\n setChannels?.((channels) => uniqBy([newChannel, ...channels], 'cid'));\n }, [client, item, setActiveChannel, setChannels, directMessagingChannelType]);\n\n return (\n <div className='str-chat__search-result-container'>\n <button\n aria-label={t('aria/Select User Channel: {{ name }}', {\n name: item.name || '',\n })}\n className='str-chat__search-result str-chat__search-result--user'\n data-testid='search-result-user'\n onClick={onClick}\n role='option'\n >\n <Avatar\n {...extractDisplayInfo({ user: item })}\n isOnline={item.online}\n size='xl'\n />\n <div className='str-chat__search-result-data'>\n <div className='str-chat__search-result__display-name'>\n {item.name || item.username || item.id}\n </div>\n <Timestamp\n customClass='str-chat__search-result__last-active-timestamp'\n timestamp={item.last_active}\n />\n </div>\n </button>\n </div>\n );\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type SearchResultItemComponents = Record<string, ComponentType<{ item: any }>>;\n\nexport const DefaultSearchResultItems: SearchResultItemComponents = {\n channels: ChannelSearchResultItem,\n messages: MessageSearchResultItem,\n users: UserSearchResultItem,\n};\n"],"mappings":";;;;;;;;;;;;;AAsBA,IAAa,2BAA2B,EAAE,WAAyC;CACjF,MAAM,EAAE,qBAAqB,eAAe;CAC5C,MAAM,EAAE,gBAAgB,sBAAsB;CAO9C,OACE,oBAAC,iBAAD;EACE,SAAS;EACT,WAAU;EACA,UATG,kBAAkB;GACjC,iBAAiB,IAAI;GACrB,eAAe,aAAa,OAAO,CAAC,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;EAChE,GAAG;GAAC;GAAM;GAAkB;EAAW,CAMzB;CACX,CAAA;AAEL;AAMA,IAAa,2BAA2B,EACtC,WAC2C;CAC3C,MAAM,EACJ,SAAS,eACT,QACA,kBACA,qBACE,eAAe;CACnB,MAAM,EAAE,gBAAgB,sBAAsB;CAE9C,MAAM,UAAU,cAAc;EAC5B,MAAM,EAAE,SAAS,gBAAgB;EACjC,MAAM,OAAO,aAAa,QAAQ;EAClC,MAAM,KAAK,aAAa,MAAM;EAC9B,OAAO,OAAO,QAAQ,MAAM,EAAE;CAChC,GAAG,CAAC,QAAQ,IAAI,CAAC;CAEjB,MAAM,WAAW,YAAY,YAAY;EACvC,IAAI,CAAC,SAAS;EACd,MAAM,QAAQ,MAAM,qBAClB,KAAK,IACL,KAAA,GAAA,EAEF;EAEA,iBAAiB,eAAe,YAAY,EAAE,gBAAgB,KAAK,CAAC;EACpE,iBAAiB,OAAO;EACxB,eAAe,aAAa,OAAO,CAAC,SAAS,GAAG,QAAQ,GAAG,KAAK,CAAC;CACnE,GAAG;EAAC;EAAS;EAAM;EAAkB;EAAkB;CAAW,CAAC;CAGnE,MAAM,0BAA0B,kBAAkB,KAAK,MAAO,CAAC,IAAI,CAAC;CAEpE,IAAI,CAAC,SAAS,OAAO;CAErB,OACE,oBAAC,iBAAD;EACE,QACE,QAAQ,QAAQ,eAAe,OAC/B,KAAK,OAAO,iBAAiB,eAAe,eAAe,CAAC,CAAC,gBAAgB;EAEtE;EACT,WAAU;EACe;EACf;CACX,CAAA;AAEL;AAMA,IAAa,wBAAwB,EAAE,WAAsC;CAC3E,MAAM,EAAE,QAAQ,qBAAqB,eAAe;CACpD,MAAM,EAAE,gBAAgB,sBAAsB;CAC9C,MAAM,EAAE,+BAA+B,iBAAiB;CACxD,MAAM,EAAE,MAAM,sBAAsB;CACpC,MAAM,EAAE,QAAA,WAAS,QAAe,oBAAA,uBAAqB,uBACnD,oBAAoB;CAEtB,MAAM,UAAU,kBAAkB;EAChC,MAAM,aAAa,OAAO,QAAQ,4BAA4B,EAC5D,SAAS,CAAC,OAAO,QAAkB,KAAK,EAAE,EAC5C,CAAC;EACD,WAAW,MAAM;EACjB,iBAAiB,UAAU;EAC3B,eAAe,aAAa,OAAO,CAAC,YAAY,GAAG,QAAQ,GAAG,KAAK,CAAC;CACtE,GAAG;EAAC;EAAQ;EAAM;EAAkB;EAAa;CAA0B,CAAC;CAE5E,OACE,oBAAC,OAAD;EAAK,WAAU;YACb,qBAAC,UAAD;GACE,cAAY,EAAE,wCAAwC,EACpD,MAAM,KAAK,QAAQ,GACrB,CAAC;GACD,WAAU;GACV,eAAY;GACH;GACT,MAAK;aAPP,CASE,oBAAC,UAAD;IACE,GAAI,qBAAmB,EAAE,MAAM,KAAK,CAAC;IACrC,UAAU,KAAK;IACf,MAAK;GACN,CAAA,GACD,qBAAC,OAAD;IAAK,WAAU;cAAf,CACE,oBAAC,OAAD;KAAK,WAAU;eACZ,KAAK,QAAQ,KAAK,YAAY,KAAK;IACjC,CAAA,GACL,oBAAC,WAAD;KACE,aAAY;KACZ,WAAW,KAAK;IACjB,CAAA,CACE;KACC;;CACL,CAAA;AAET;AAKA,IAAa,2BAAuD;CAClE,UAAU;CACV,UAAU;CACV,OAAO;AACT"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { useComponentContext } from "../../../context/ComponentContext.mjs";
|
|
2
|
+
import { useStateStore } from "../../../store/hooks/useStateStore.mjs";
|
|
3
|
+
import { useTranslationContext } from "../../../context/TranslationContext.mjs";
|
|
4
|
+
import { useAnnounceSearchResultCount } from "../hooks/useAnnounceSearchResultCount.mjs";
|
|
5
|
+
import { useSearchResultsKeyboardNavigation } from "../hooks/useSearchResultsKeyboardNavigation.mjs";
|
|
6
|
+
import { useSearchContext } from "../SearchContext.mjs";
|
|
7
|
+
import { SearchSourceResults } from "./SearchSourceResults.mjs";
|
|
8
|
+
import { SearchResultsHeader } from "./SearchResultsHeader.mjs";
|
|
9
|
+
import { SearchResultsPresearch } from "./SearchResultsPresearch.mjs";
|
|
10
|
+
import { useRef } from "react";
|
|
11
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
12
|
+
//#region src/components/Search/SearchResults/SearchResults.tsx
|
|
13
|
+
var searchControllerStateSelector = (nextValue) => ({
|
|
14
|
+
activeSources: nextValue.sources.filter((s) => s.isActive),
|
|
15
|
+
isActive: nextValue.isActive,
|
|
16
|
+
searchQuery: nextValue.searchQuery
|
|
17
|
+
});
|
|
18
|
+
var SearchResults = () => {
|
|
19
|
+
const { t } = useTranslationContext("ResultsContainer");
|
|
20
|
+
const { SearchResultsHeader: SearchResultsHeader$1 = SearchResultsHeader, SearchResultsPresearch: SearchResultsPresearch$1 = SearchResultsPresearch, SearchSourceResults: SearchSourceResults$1 = SearchSourceResults } = useComponentContext();
|
|
21
|
+
const { searchController } = useSearchContext();
|
|
22
|
+
const { activeSources, isActive, searchQuery } = useStateStore(searchController.state, searchControllerStateSelector);
|
|
23
|
+
const resultsRef = useRef(null);
|
|
24
|
+
const { onKeyDown } = useSearchResultsKeyboardNavigation(resultsRef);
|
|
25
|
+
useAnnounceSearchResultCount(resultsRef, isActive && !!searchQuery, activeSources);
|
|
26
|
+
return !isActive ? null : /* @__PURE__ */ jsxs("div", {
|
|
27
|
+
"aria-label": t("aria/Search results"),
|
|
28
|
+
className: "str-chat__search-results",
|
|
29
|
+
onKeyDown,
|
|
30
|
+
ref: resultsRef,
|
|
31
|
+
children: [/* @__PURE__ */ jsx(SearchResultsHeader$1, {}), !searchQuery ? /* @__PURE__ */ jsx(SearchResultsPresearch$1, { activeSources }) : activeSources.map((source) => /* @__PURE__ */ jsx(SearchSourceResults$1, { searchSource: source }, source.type))]
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
//#endregion
|
|
35
|
+
export { SearchResults };
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=SearchResults.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchResults.mjs","names":[],"sources":["../../../../../src/components/Search/SearchResults/SearchResults.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport type { SearchControllerState } from 'stream-chat';\n\nimport { SearchSourceResults as DefaultSourceSearchResults } from './SearchSourceResults';\nimport { SearchResultsHeader as DefaultSearchResultsHeader } from './SearchResultsHeader';\nimport { SearchResultsPresearch as DefaultSearchResultsPresearch } from './SearchResultsPresearch';\nimport { useSearchContext } from '../SearchContext';\nimport {\n useAnnounceSearchResultCount,\n useSearchResultsKeyboardNavigation,\n} from '../hooks';\nimport { useComponentContext, useTranslationContext } from '../../../context';\nimport { useStateStore } from '../../../store';\n\nconst searchControllerStateSelector = (nextValue: SearchControllerState) => ({\n activeSources: nextValue.sources.filter((s) => s.isActive),\n isActive: nextValue.isActive,\n searchQuery: nextValue.searchQuery,\n});\n\nexport const SearchResults = () => {\n const { t } = useTranslationContext('ResultsContainer');\n const {\n SearchResultsHeader = DefaultSearchResultsHeader,\n SearchResultsPresearch = DefaultSearchResultsPresearch,\n SearchSourceResults = DefaultSourceSearchResults,\n } = useComponentContext();\n const { searchController } = useSearchContext();\n const { activeSources, isActive, searchQuery } = useStateStore(\n searchController.state,\n searchControllerStateSelector,\n );\n\n const resultsRef = useRef<HTMLDivElement | null>(null);\n const { onKeyDown } = useSearchResultsKeyboardNavigation(resultsRef);\n // Announce the number of listed results once the list settles (only while a query is in progress,\n // not during presearch); the end-of-list status rides along in that same announcement.\n useAnnounceSearchResultCount(resultsRef, isActive && !!searchQuery, activeSources);\n\n return !isActive ? null : (\n <div\n aria-label={t('aria/Search results')}\n className='str-chat__search-results'\n onKeyDown={onKeyDown}\n ref={resultsRef}\n >\n <SearchResultsHeader />\n {!searchQuery ? (\n <SearchResultsPresearch activeSources={activeSources} />\n ) : (\n activeSources.map((source) => (\n <SearchSourceResults key={source.type} searchSource={source} />\n ))\n )}\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;AAcA,IAAM,iCAAiC,eAAsC;CAC3E,eAAe,UAAU,QAAQ,QAAQ,MAAM,EAAE,QAAQ;CACzD,UAAU,UAAU;CACpB,aAAa,UAAU;AACzB;AAEA,IAAa,sBAAsB;CACjC,MAAM,EAAE,MAAM,sBAAsB,kBAAkB;CACtD,MAAM,EACJ,qBAAA,wBAAsB,qBACtB,wBAAA,2BAAyB,wBACzB,qBAAA,wBAAsB,wBACpB,oBAAoB;CACxB,MAAM,EAAE,qBAAqB,iBAAiB;CAC9C,MAAM,EAAE,eAAe,UAAU,gBAAgB,cAC/C,iBAAiB,OACjB,6BACF;CAEA,MAAM,aAAa,OAA8B,IAAI;CACrD,MAAM,EAAE,cAAc,mCAAmC,UAAU;CAGnE,6BAA6B,YAAY,YAAY,CAAC,CAAC,aAAa,aAAa;CAEjF,OAAO,CAAC,WAAW,OACjB,qBAAC,OAAD;EACE,cAAY,EAAE,qBAAqB;EACnC,WAAU;EACC;EACX,KAAK;YAJP,CAME,oBAAC,uBAAD,CAAsB,CAAA,GACrB,CAAC,cACA,oBAAC,0BAAD,EAAuC,cAAgB,CAAA,IAEvD,cAAc,KAAK,WACjB,oBAAC,uBAAD,EAAuC,cAAc,OAAS,GAApC,OAAO,IAA6B,CAC/D,CAEA;;AAET"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { useStateStore } from "../../../store/hooks/useStateStore.mjs";
|
|
2
|
+
import { useTranslationContext } from "../../../context/TranslationContext.mjs";
|
|
3
|
+
import { Button } from "../../Button/Button.mjs";
|
|
4
|
+
import { useSearchContext } from "../SearchContext.mjs";
|
|
5
|
+
import { useMemo } from "react";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
import clsx from "clsx";
|
|
8
|
+
//#region src/components/Search/SearchResults/SearchResultsHeader.tsx
|
|
9
|
+
var searchSourceStateSelector = (nextValue) => ({ isActive: nextValue.isActive });
|
|
10
|
+
var SearchSourceFilterButton = ({ source }) => {
|
|
11
|
+
const { t } = useTranslationContext();
|
|
12
|
+
const { searchController } = useSearchContext();
|
|
13
|
+
const { isActive } = useStateStore(source.state, searchSourceStateSelector);
|
|
14
|
+
const label = `search-results-header-filter-source-button-label--${source.type}`;
|
|
15
|
+
const buttonContent = useMemo(() => ({
|
|
16
|
+
"search-results-header-filter-source-button-label--channels": t("search-results-header-filter-source-button-label--channels"),
|
|
17
|
+
"search-results-header-filter-source-button-label--messages": t("search-results-header-filter-source-button-label--messages"),
|
|
18
|
+
"search-results-header-filter-source-button-label--users": t("search-results-header-filter-source-button-label--users")
|
|
19
|
+
}), [t])[label] ?? t(label);
|
|
20
|
+
return /* @__PURE__ */ jsx(Button, {
|
|
21
|
+
appearance: "outline",
|
|
22
|
+
"aria-label": t("aria/Search results header filter button for: {{ source }}", { source: buttonContent }),
|
|
23
|
+
"aria-pressed": isActive,
|
|
24
|
+
className: clsx("str-chat__search-results-header__filter-source-button", { "str-chat__search-results-header__filter-source-button--active": isActive }),
|
|
25
|
+
onClick: () => {
|
|
26
|
+
if (source.isActive) searchController.deactivateSource(source.type);
|
|
27
|
+
else {
|
|
28
|
+
searchController.activateSource(source.type);
|
|
29
|
+
if (searchController.searchQuery && !source.items?.length) source.search(searchController.searchQuery);
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
size: "xs",
|
|
33
|
+
variant: "secondary",
|
|
34
|
+
children: buttonContent
|
|
35
|
+
}, label);
|
|
36
|
+
};
|
|
37
|
+
var SearchResultsHeader = () => {
|
|
38
|
+
const { filterButtonsContainerRef, searchController } = useSearchContext();
|
|
39
|
+
if (searchController.sources.length < 2) return null;
|
|
40
|
+
return /* @__PURE__ */ jsx("div", {
|
|
41
|
+
className: "str-chat__search-results-header",
|
|
42
|
+
"data-testid": "search-results-header",
|
|
43
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
44
|
+
className: "str-chat__search-results-header__filter-source-buttons",
|
|
45
|
+
"data-testid": "filter-source-buttons",
|
|
46
|
+
ref: filterButtonsContainerRef,
|
|
47
|
+
children: searchController.sources.map((source) => /* @__PURE__ */ jsx(SearchSourceFilterButton, { source }, source.type))
|
|
48
|
+
})
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
//#endregion
|
|
52
|
+
export { SearchResultsHeader };
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=SearchResultsHeader.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchResultsHeader.mjs","names":[],"sources":["../../../../../src/components/Search/SearchResults/SearchResultsHeader.tsx"],"sourcesContent":["import clsx from 'clsx';\nimport React, { useMemo } from 'react';\nimport type { SearchSource, SearchSourceState } from 'stream-chat';\n\nimport { useSearchContext } from '../SearchContext';\nimport { useTranslationContext } from '../../../context';\nimport { useStateStore } from '../../../store';\nimport { Button } from '../../../components';\n\nconst searchSourceStateSelector = (nextValue: SearchSourceState) => ({\n isActive: nextValue.isActive,\n});\n\ntype SearchSourceFilterButtonProps = {\n source: SearchSource;\n};\n\nconst SearchSourceFilterButton = ({ source }: SearchSourceFilterButtonProps) => {\n const { t } = useTranslationContext();\n const { searchController } = useSearchContext();\n const { isActive } = useStateStore(source.state, searchSourceStateSelector);\n const label = `search-results-header-filter-source-button-label--${source.type}`;\n\n const knownLabels = useMemo<Record<string, string>>(\n () => ({\n 'search-results-header-filter-source-button-label--channels': t(\n 'search-results-header-filter-source-button-label--channels',\n ),\n 'search-results-header-filter-source-button-label--messages': t(\n 'search-results-header-filter-source-button-label--messages',\n ),\n 'search-results-header-filter-source-button-label--users': t(\n 'search-results-header-filter-source-button-label--users',\n ),\n }),\n [t],\n );\n\n const buttonContent = knownLabels[label] ?? t(label);\n return (\n <Button\n appearance='outline'\n aria-label={t('aria/Search results header filter button for: {{ source }}', {\n source: buttonContent,\n })}\n aria-pressed={isActive}\n className={clsx('str-chat__search-results-header__filter-source-button', {\n 'str-chat__search-results-header__filter-source-button--active': isActive,\n })}\n key={label}\n onClick={() => {\n if (source.isActive) {\n searchController.deactivateSource(source.type);\n } else {\n searchController.activateSource(source.type);\n if (searchController.searchQuery && !source.items?.length)\n source.search(searchController.searchQuery);\n }\n }}\n size='xs'\n variant='secondary'\n >\n {buttonContent}\n </Button>\n );\n};\n\nexport const SearchResultsHeader = () => {\n const { filterButtonsContainerRef, searchController } = useSearchContext();\n\n // render nothing if there's only one source (can't change filters)\n if (searchController.sources.length < 2) return null;\n\n return (\n <div className='str-chat__search-results-header' data-testid='search-results-header'>\n <div\n className='str-chat__search-results-header__filter-source-buttons'\n data-testid='filter-source-buttons'\n ref={filterButtonsContainerRef}\n >\n {searchController.sources.map((source) => (\n <SearchSourceFilterButton key={source.type} source={source} />\n ))}\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;;AASA,IAAM,6BAA6B,eAAkC,EACnE,UAAU,UAAU,SACtB;AAMA,IAAM,4BAA4B,EAAE,aAA4C;CAC9E,MAAM,EAAE,MAAM,sBAAsB;CACpC,MAAM,EAAE,qBAAqB,iBAAiB;CAC9C,MAAM,EAAE,aAAa,cAAc,OAAO,OAAO,yBAAyB;CAC1E,MAAM,QAAQ,qDAAqD,OAAO;CAiB1E,MAAM,gBAfc,eACX;EACL,8DAA8D,EAC5D,4DACF;EACA,8DAA8D,EAC5D,4DACF;EACA,2DAA2D,EACzD,yDACF;CACF,IACA,CAAC,CAAC,CAGkB,CAAA,CAAY,UAAU,EAAE,KAAK;CACnD,OACE,oBAAC,QAAD;EACE,YAAW;EACX,cAAY,EAAE,8DAA8D,EAC1E,QAAQ,cACV,CAAC;EACD,gBAAc;EACd,WAAW,KAAK,yDAAyD,EACvE,iEAAiE,SACnE,CAAC;EAED,eAAe;GACb,IAAI,OAAO,UACT,iBAAiB,iBAAiB,OAAO,IAAI;QACxC;IACL,iBAAiB,eAAe,OAAO,IAAI;IAC3C,IAAI,iBAAiB,eAAe,CAAC,OAAO,OAAO,QACjD,OAAO,OAAO,iBAAiB,WAAW;GAC9C;EACF;EACA,MAAK;EACL,SAAQ;YAEP;CACK,GAdD,KAcC;AAEZ;AAEA,IAAa,4BAA4B;CACvC,MAAM,EAAE,2BAA2B,qBAAqB,iBAAiB;CAGzE,IAAI,iBAAiB,QAAQ,SAAS,GAAG,OAAO;CAEhD,OACE,oBAAC,OAAD;EAAK,WAAU;EAAkC,eAAY;YAC3D,oBAAC,OAAD;GACE,WAAU;GACV,eAAY;GACZ,KAAK;aAEJ,iBAAiB,QAAQ,KAAK,WAC7B,oBAAC,0BAAD,EAAoD,OAAS,GAA9B,OAAO,IAAuB,CAC9D;EACE,CAAA;CACF,CAAA;AAET"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useTranslationContext } from "../../../context/TranslationContext.mjs";
|
|
2
|
+
import "react";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
//#region src/components/Search/SearchResults/SearchResultsPresearch.tsx
|
|
5
|
+
var SearchResultsPresearch = () => {
|
|
6
|
+
const { t } = useTranslationContext();
|
|
7
|
+
return /* @__PURE__ */ jsx("div", {
|
|
8
|
+
className: "str-chat__search-results-presearch",
|
|
9
|
+
children: t("Start typing to search")
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { SearchResultsPresearch };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=SearchResultsPresearch.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchResultsPresearch.mjs","names":[],"sources":["../../../../../src/components/Search/SearchResults/SearchResultsPresearch.tsx"],"sourcesContent":["import React from 'react';\n\nimport { useTranslationContext } from '../../../context';\n\nimport type { SearchSource } from 'stream-chat';\n\nexport type SearchResultsPresearchProps = {\n activeSources: SearchSource[];\n};\n\nexport const SearchResultsPresearch = () => {\n const { t } = useTranslationContext();\n return (\n <div className='str-chat__search-results-presearch'>\n {t('Start typing to search')}\n </div>\n );\n};\n"],"mappings":";;;;AAUA,IAAa,+BAA+B;CAC1C,MAAM,EAAE,MAAM,sBAAsB;CACpC,OACE,oBAAC,OAAD;EAAK,WAAU;YACZ,EAAE,wBAAwB;CACxB,CAAA;AAET"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { useComponentContext } from "../../../context/ComponentContext.mjs";
|
|
2
|
+
import { useStateStore } from "../../../store/hooks/useStateStore.mjs";
|
|
3
|
+
import { InfiniteScrollPaginator } from "../../InfiniteScrollPaginator/InfiniteScrollPaginator.mjs";
|
|
4
|
+
import { DefaultSearchResultItems } from "./SearchResultItem.mjs";
|
|
5
|
+
import { useSearchSourceResultsContext } from "../SearchSourceResultsContext.mjs";
|
|
6
|
+
import { SearchSourceResultListFooter } from "./SearchSourceResultListFooter.mjs";
|
|
7
|
+
import "react";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
//#region src/components/Search/SearchResults/SearchSourceResultList.tsx
|
|
10
|
+
var searchSourceStateSelector = (nextValue) => ({ items: nextValue.items });
|
|
11
|
+
var SearchSourceResultList = ({ loadMoreDebounceMs = 100, loadMoreThresholdPx = 80, SearchResultItems = DefaultSearchResultItems }) => {
|
|
12
|
+
const { SearchSourceResultListFooter: SearchSourceResultListFooter$1 = SearchSourceResultListFooter } = useComponentContext();
|
|
13
|
+
const { searchSource } = useSearchSourceResultsContext();
|
|
14
|
+
const { items } = useStateStore(searchSource.state, searchSourceStateSelector);
|
|
15
|
+
const SearchResultItem = SearchResultItems[searchSource.type];
|
|
16
|
+
if (!SearchResultItem) return null;
|
|
17
|
+
return /* @__PURE__ */ jsx("div", {
|
|
18
|
+
className: "str-chat__search-source-result-list",
|
|
19
|
+
"data-testid": "search-source-result-list",
|
|
20
|
+
children: /* @__PURE__ */ jsxs(InfiniteScrollPaginator, {
|
|
21
|
+
loadNextDebounceMs: loadMoreDebounceMs,
|
|
22
|
+
loadNextOnScrollToBottom: searchSource.search,
|
|
23
|
+
threshold: loadMoreThresholdPx,
|
|
24
|
+
children: [items?.map((item, i) => /* @__PURE__ */ jsx(SearchResultItem, { item }, `source-search-result-${searchSource.type}-${i}`)), /* @__PURE__ */ jsx(SearchSourceResultListFooter$1, {})]
|
|
25
|
+
})
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
//#endregion
|
|
29
|
+
export { SearchSourceResultList };
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=SearchSourceResultList.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchSourceResultList.mjs","names":[],"sources":["../../../../../src/components/Search/SearchResults/SearchSourceResultList.tsx"],"sourcesContent":["import React from 'react';\nimport type { ComponentType } from 'react';\nimport type { SearchSourceState, SearchSourceType } from 'stream-chat';\n\nimport { DefaultSearchResultItems } from './SearchResultItem';\nimport { SearchSourceResultListFooter as DefaultSearchSourceResultListFooter } from './SearchSourceResultListFooter';\nimport { useSearchSourceResultsContext } from '../SearchSourceResultsContext';\nimport { InfiniteScrollPaginator } from '../../../components/InfiniteScrollPaginator/InfiniteScrollPaginator';\nimport { useComponentContext } from '../../../context';\nimport { useStateStore } from '../../../store';\nimport type { SearchResultItemComponents } from './SearchResultItem';\n\nconst searchSourceStateSelector = (nextValue: SearchSourceState) => ({\n items: nextValue.items,\n});\n\nexport type SearchSourceResultListProps = {\n loadMoreDebounceMs?: number;\n loadMoreThresholdPx?: number;\n SearchResultItems?: SearchResultItemComponents;\n};\n\nexport const SearchSourceResultList = ({\n loadMoreDebounceMs = 100,\n loadMoreThresholdPx = 80,\n SearchResultItems = DefaultSearchResultItems,\n}: SearchSourceResultListProps) => {\n const { SearchSourceResultListFooter = DefaultSearchSourceResultListFooter } =\n useComponentContext();\n\n const { searchSource } = useSearchSourceResultsContext();\n const { items } = useStateStore(searchSource.state, searchSourceStateSelector);\n\n const SearchResultItem = SearchResultItems[\n searchSource.type as SearchSourceType\n ] as ComponentType<{ item: unknown }>;\n\n if (!SearchResultItem) return null;\n\n return (\n <div\n className='str-chat__search-source-result-list'\n data-testid='search-source-result-list'\n >\n <InfiniteScrollPaginator\n loadNextDebounceMs={loadMoreDebounceMs}\n loadNextOnScrollToBottom={searchSource.search}\n threshold={loadMoreThresholdPx}\n >\n {items?.map((item, i) => (\n <SearchResultItem\n item={item}\n key={`source-search-result-${searchSource.type}-${i}`}\n />\n ))}\n <SearchSourceResultListFooter />\n </InfiniteScrollPaginator>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;AAYA,IAAM,6BAA6B,eAAkC,EACnE,OAAO,UAAU,MACnB;AAQA,IAAa,0BAA0B,EACrC,qBAAqB,KACrB,sBAAsB,IACtB,oBAAoB,+BACa;CACjC,MAAM,EAAE,8BAAA,iCAA+B,iCACrC,oBAAoB;CAEtB,MAAM,EAAE,iBAAiB,8BAA8B;CACvD,MAAM,EAAE,UAAU,cAAc,aAAa,OAAO,yBAAyB;CAE7E,MAAM,mBAAmB,kBACvB,aAAa;CAGf,IAAI,CAAC,kBAAkB,OAAO;CAE9B,OACE,oBAAC,OAAD;EACE,WAAU;EACV,eAAY;YAEZ,qBAAC,yBAAD;GACE,oBAAoB;GACpB,0BAA0B,aAAa;GACvC,WAAW;aAHb,CAKG,OAAO,KAAK,MAAM,MACjB,oBAAC,kBAAD,EACQ,KAEP,GADM,wBAAwB,aAAa,KAAK,GAAG,GACnD,CACF,GACD,oBAAC,gCAAD,CAA+B,CAAA,CACR;;CACtB,CAAA;AAET"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { useComponentContext } from "../../../context/ComponentContext.mjs";
|
|
2
|
+
import { useStateStore } from "../../../store/hooks/useStateStore.mjs";
|
|
3
|
+
import { useTranslationContext } from "../../../context/TranslationContext.mjs";
|
|
4
|
+
import { useSearchSourceResultsContext } from "../SearchSourceResultsContext.mjs";
|
|
5
|
+
import { SearchSourceResultsLoadingIndicator } from "./SearchSourceResultsLoadingIndicator.mjs";
|
|
6
|
+
import "react";
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
//#region src/components/Search/SearchResults/SearchSourceResultListFooter.tsx
|
|
9
|
+
var searchSourceStateSelector = (value) => ({
|
|
10
|
+
hasNext: value.hasNext,
|
|
11
|
+
isLoading: value.isLoading
|
|
12
|
+
});
|
|
13
|
+
var SearchSourceResultListFooter = () => {
|
|
14
|
+
const { t } = useTranslationContext();
|
|
15
|
+
const { SearchSourceResultsLoadingIndicator: SearchSourceResultsLoadingIndicator$1 = SearchSourceResultsLoadingIndicator } = useComponentContext();
|
|
16
|
+
const { searchSource } = useSearchSourceResultsContext();
|
|
17
|
+
const { hasNext, isLoading } = useStateStore(searchSource.state, searchSourceStateSelector);
|
|
18
|
+
return /* @__PURE__ */ jsx("div", {
|
|
19
|
+
className: "str-chat__search-source-result-list__footer",
|
|
20
|
+
"data-testid": "search-footer",
|
|
21
|
+
children: isLoading ? /* @__PURE__ */ jsx(SearchSourceResultsLoadingIndicator$1, {}) : !hasNext ? /* @__PURE__ */ jsx("div", {
|
|
22
|
+
"aria-hidden": "true",
|
|
23
|
+
className: "str-chat__search-source-results---empty",
|
|
24
|
+
children: t("All results loaded")
|
|
25
|
+
}) : null
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
//#endregion
|
|
29
|
+
export { SearchSourceResultListFooter };
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=SearchSourceResultListFooter.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchSourceResultListFooter.mjs","names":[],"sources":["../../../../../src/components/Search/SearchResults/SearchSourceResultListFooter.tsx"],"sourcesContent":["import React from 'react';\nimport type { SearchSourceState } from 'stream-chat';\n\nimport { SearchSourceResultsLoadingIndicator as DefaultSearchSourceResultsLoadingIndicator } from './SearchSourceResultsLoadingIndicator';\nimport { useSearchSourceResultsContext } from '../SearchSourceResultsContext';\nimport { useComponentContext, useTranslationContext } from '../../../context';\nimport { useStateStore } from '../../../store';\n\nconst searchSourceStateSelector = (value: SearchSourceState) => ({\n hasNext: value.hasNext,\n isLoading: value.isLoading,\n});\n\nexport const SearchSourceResultListFooter = () => {\n const { t } = useTranslationContext();\n const {\n SearchSourceResultsLoadingIndicator = DefaultSearchSourceResultsLoadingIndicator,\n } = useComponentContext();\n const { searchSource } = useSearchSourceResultsContext();\n const { hasNext, isLoading } = useStateStore(\n searchSource.state,\n searchSourceStateSelector,\n );\n\n // The \"all results loaded\" end-of-list status is announced (combined with the result count) by\n // `useAnnounceSearchResultCount`; here it is visual only.\n return (\n <div\n className='str-chat__search-source-result-list__footer'\n data-testid='search-footer'\n >\n {isLoading ? (\n <SearchSourceResultsLoadingIndicator />\n ) : !hasNext ? (\n // Hidden from assistive tech: the end-of-list status is announced (combined with the result\n // count) by `useAnnounceSearchResultCount`, so the text is not read as a navigable result.\n <div aria-hidden='true' className='str-chat__search-source-results---empty'>\n {t('All results loaded')}\n </div>\n ) : null}\n </div>\n );\n};\n"],"mappings":";;;;;;;;AAQA,IAAM,6BAA6B,WAA8B;CAC/D,SAAS,MAAM;CACf,WAAW,MAAM;AACnB;AAEA,IAAa,qCAAqC;CAChD,MAAM,EAAE,MAAM,sBAAsB;CACpC,MAAM,EACJ,qCAAA,wCAAsC,wCACpC,oBAAoB;CACxB,MAAM,EAAE,iBAAiB,8BAA8B;CACvD,MAAM,EAAE,SAAS,cAAc,cAC7B,aAAa,OACb,yBACF;CAIA,OACE,oBAAC,OAAD;EACE,WAAU;EACV,eAAY;YAEX,YACC,oBAAC,uCAAD,CAAsC,CAAA,IACpC,CAAC,UAGH,oBAAC,OAAD;GAAK,eAAY;GAAO,WAAU;aAC/B,EAAE,oBAAoB;EACpB,CAAA,IACH;CACD,CAAA;AAET"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { useComponentContext } from "../../../context/ComponentContext.mjs";
|
|
2
|
+
import { useStateStore } from "../../../store/hooks/useStateStore.mjs";
|
|
3
|
+
import { SearchSourceResultsContextProvider } from "../SearchSourceResultsContext.mjs";
|
|
4
|
+
import { SearchSourceResultList } from "./SearchSourceResultList.mjs";
|
|
5
|
+
import { SearchSourceResultsEmpty } from "./SearchSourceResultsEmpty.mjs";
|
|
6
|
+
import { SearchSourceResultsHeader } from "./SearchSourceResultsHeader.mjs";
|
|
7
|
+
import "react";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
//#region src/components/Search/SearchResults/SearchSourceResults.tsx
|
|
10
|
+
var searchSourceStateSelector = (nextValue) => ({
|
|
11
|
+
isLoading: nextValue.isLoading,
|
|
12
|
+
items: nextValue.items
|
|
13
|
+
});
|
|
14
|
+
var SearchSourceResults = ({ searchSource }) => {
|
|
15
|
+
const { SearchSourceResultList: SearchSourceResultList$1 = SearchSourceResultList, SearchSourceResultsEmpty: SearchSourceResultsEmpty$1 = SearchSourceResultsEmpty, SearchSourceResultsHeader: SearchSourceResultsHeader$1 = SearchSourceResultsHeader } = useComponentContext();
|
|
16
|
+
const { isLoading, items } = useStateStore(searchSource.state, searchSourceStateSelector);
|
|
17
|
+
if (!items && !isLoading) return null;
|
|
18
|
+
return /* @__PURE__ */ jsx(SearchSourceResultsContextProvider, {
|
|
19
|
+
value: { searchSource },
|
|
20
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
21
|
+
className: "str-chat__search-source-results",
|
|
22
|
+
"data-testid": "search-source-results",
|
|
23
|
+
children: [/* @__PURE__ */ jsx(SearchSourceResultsHeader$1, {}), items?.length || isLoading ? /* @__PURE__ */ jsx(SearchSourceResultList$1, {}) : /* @__PURE__ */ jsx(SearchSourceResultsEmpty$1, {})]
|
|
24
|
+
})
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
//#endregion
|
|
28
|
+
export { SearchSourceResults };
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=SearchSourceResults.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchSourceResults.mjs","names":[],"sources":["../../../../../src/components/Search/SearchResults/SearchSourceResults.tsx"],"sourcesContent":["import React from 'react';\nimport type { SearchSource, SearchSourceState } from 'stream-chat';\n\nimport { SearchSourceResultList as DefaultSearchSourceResultList } from './SearchSourceResultList';\nimport { SearchSourceResultsEmpty as DefaultSearchSourceResultsEmpty } from './SearchSourceResultsEmpty';\nimport { SearchSourceResultsHeader as DefaultSearchSourceResultsHeader } from './SearchSourceResultsHeader';\nimport { SearchSourceResultsContextProvider } from '../SearchSourceResultsContext';\nimport { useComponentContext } from '../../../context';\nimport { useStateStore } from '../../../store';\n\nconst searchSourceStateSelector = (nextValue: SearchSourceState) => ({\n isLoading: nextValue.isLoading,\n items: nextValue.items,\n});\n\nexport type SearchSourceResultsProps = { searchSource: SearchSource };\n\nexport const SearchSourceResults = ({ searchSource }: SearchSourceResultsProps) => {\n const {\n SearchSourceResultList = DefaultSearchSourceResultList,\n SearchSourceResultsEmpty = DefaultSearchSourceResultsEmpty,\n SearchSourceResultsHeader = DefaultSearchSourceResultsHeader,\n } = useComponentContext();\n const { isLoading, items } = useStateStore(\n searchSource.state,\n searchSourceStateSelector,\n );\n\n if (!items && !isLoading) return null;\n\n return (\n <SearchSourceResultsContextProvider value={{ searchSource }}>\n <div\n className='str-chat__search-source-results'\n data-testid='search-source-results'\n >\n <SearchSourceResultsHeader />\n {items?.length || isLoading ? (\n <SearchSourceResultList />\n ) : (\n <SearchSourceResultsEmpty />\n )}\n </div>\n </SearchSourceResultsContextProvider>\n );\n};\n"],"mappings":";;;;;;;;;AAUA,IAAM,6BAA6B,eAAkC;CACnE,WAAW,UAAU;CACrB,OAAO,UAAU;AACnB;AAIA,IAAa,uBAAuB,EAAE,mBAA6C;CACjF,MAAM,EACJ,wBAAA,2BAAyB,wBACzB,0BAAA,6BAA2B,0BAC3B,2BAAA,8BAA4B,8BAC1B,oBAAoB;CACxB,MAAM,EAAE,WAAW,UAAU,cAC3B,aAAa,OACb,yBACF;CAEA,IAAI,CAAC,SAAS,CAAC,WAAW,OAAO;CAEjC,OACE,oBAAC,oCAAD;EAAoC,OAAO,EAAE,aAAa;YACxD,qBAAC,OAAD;GACE,WAAU;GACV,eAAY;aAFd,CAIE,oBAAC,6BAAD,CAA4B,CAAA,GAC3B,OAAO,UAAU,YAChB,oBAAC,0BAAD,CAAyB,CAAA,IAEzB,oBAAC,4BAAD,CAA2B,CAAA,CAE1B;;CAC6B,CAAA;AAExC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useTranslationContext } from "../../../context/TranslationContext.mjs";
|
|
2
|
+
import "react";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
//#region src/components/Search/SearchResults/SearchSourceResultsEmpty.tsx
|
|
5
|
+
var SearchSourceResultsEmpty = () => {
|
|
6
|
+
const { t } = useTranslationContext();
|
|
7
|
+
return /* @__PURE__ */ jsx("div", {
|
|
8
|
+
className: "str-chat__search-source-results-empty",
|
|
9
|
+
children: t("No results found")
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { SearchSourceResultsEmpty };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=SearchSourceResultsEmpty.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchSourceResultsEmpty.mjs","names":[],"sources":["../../../../../src/components/Search/SearchResults/SearchSourceResultsEmpty.tsx"],"sourcesContent":["import React from 'react';\nimport { useTranslationContext } from '../../../context';\n\nexport const SearchSourceResultsEmpty = () => {\n const { t } = useTranslationContext();\n return (\n <div className='str-chat__search-source-results-empty'>{t('No results found')}</div>\n );\n};\n"],"mappings":";;;;AAGA,IAAa,iCAAiC;CAC5C,MAAM,EAAE,MAAM,sBAAsB;CACpC,OACE,oBAAC,OAAD;EAAK,WAAU;YAAyC,EAAE,kBAAkB;CAAO,CAAA;AAEvF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchSourceResultsHeader.mjs","names":[],"sources":["../../../../../src/components/Search/SearchResults/SearchSourceResultsHeader.tsx"],"sourcesContent":["export const SearchSourceResultsHeader = () => null;\n"],"mappings":";AAAA,IAAa,kCAAkC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { useTranslationContext } from "../../../context/TranslationContext.mjs";
|
|
2
|
+
import { useSearchSourceResultsContext } from "../SearchSourceResultsContext.mjs";
|
|
3
|
+
import "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/Search/SearchResults/SearchSourceResultsLoadingIndicator.tsx
|
|
6
|
+
var SearchSourceResultsLoadingIndicator = () => {
|
|
7
|
+
const { t } = useTranslationContext();
|
|
8
|
+
const { searchSource } = useSearchSourceResultsContext();
|
|
9
|
+
return /* @__PURE__ */ jsx("div", {
|
|
10
|
+
className: "str-chat__search-source-results__loading-indicator",
|
|
11
|
+
"data-testid": "search-loading-indicator",
|
|
12
|
+
children: t("Searching for {{ searchSourceType }}...", { searchSourceType: searchSource.type })
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
//#endregion
|
|
16
|
+
export { SearchSourceResultsLoadingIndicator };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=SearchSourceResultsLoadingIndicator.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchSourceResultsLoadingIndicator.mjs","names":[],"sources":["../../../../../src/components/Search/SearchResults/SearchSourceResultsLoadingIndicator.tsx"],"sourcesContent":["import React from 'react';\nimport { useTranslationContext } from '../../../context';\nimport { useSearchSourceResultsContext } from '../SearchSourceResultsContext';\n\nexport const SearchSourceResultsLoadingIndicator = () => {\n const { t } = useTranslationContext();\n const { searchSource } = useSearchSourceResultsContext();\n return (\n <div\n className='str-chat__search-source-results__loading-indicator'\n data-testid='search-loading-indicator'\n >\n {t('Searching for {{ searchSourceType }}...', {\n searchSourceType: searchSource.type,\n })}\n </div>\n );\n};\n"],"mappings":";;;;;AAIA,IAAa,4CAA4C;CACvD,MAAM,EAAE,MAAM,sBAAsB;CACpC,MAAM,EAAE,iBAAiB,8BAA8B;CACvD,OACE,oBAAC,OAAD;EACE,WAAU;EACV,eAAY;YAEX,EAAE,2CAA2C,EAC5C,kBAAkB,aAAa,KACjC,CAAC;CACE,CAAA;AAET"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
//#region src/components/Search/SearchSourceResultsContext.tsx
|
|
4
|
+
var SearchSourceResultsContext = createContext(void 0);
|
|
5
|
+
/**
|
|
6
|
+
* Context provider for components rendered within the `SearchSourceResults`
|
|
7
|
+
*/
|
|
8
|
+
var SearchSourceResultsContextProvider = ({ children, value }) => /* @__PURE__ */ jsx(SearchSourceResultsContext.Provider, {
|
|
9
|
+
value,
|
|
10
|
+
children
|
|
11
|
+
});
|
|
12
|
+
var useSearchSourceResultsContext = () => {
|
|
13
|
+
return useContext(SearchSourceResultsContext);
|
|
14
|
+
};
|
|
15
|
+
//#endregion
|
|
16
|
+
export { SearchSourceResultsContext, SearchSourceResultsContextProvider, useSearchSourceResultsContext };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=SearchSourceResultsContext.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchSourceResultsContext.mjs","names":[],"sources":["../../../../src/components/Search/SearchSourceResultsContext.tsx"],"sourcesContent":["import type { PropsWithChildren } from 'react';\nimport React, { createContext, useContext } from 'react';\nimport type { SearchSource } from 'stream-chat';\n\nexport type SearchSourceResultsContextValue = {\n searchSource: SearchSource;\n};\n\nexport const SearchSourceResultsContext = createContext<\n SearchSourceResultsContextValue | undefined\n>(undefined);\n\n/**\n * Context provider for components rendered within the `SearchSourceResults`\n */\nexport const SearchSourceResultsContextProvider = ({\n children,\n value,\n}: PropsWithChildren<{\n value: SearchSourceResultsContextValue;\n}>) => (\n <SearchSourceResultsContext.Provider\n value={value as unknown as SearchSourceResultsContextValue}\n >\n {children}\n </SearchSourceResultsContext.Provider>\n);\n\nexport const useSearchSourceResultsContext = () => {\n const contextValue = useContext(SearchSourceResultsContext);\n return contextValue as unknown as SearchSourceResultsContextValue;\n};\n"],"mappings":";;;AAQA,IAAa,6BAA6B,cAExC,KAAA,CAAS;;;;AAKX,IAAa,sCAAsC,EACjD,UACA,YAIA,oBAAC,2BAA2B,UAA5B;CACS;CAEN;AACkC,CAAA;AAGvC,IAAa,sCAAsC;CAEjD,OADqB,WAAW,0BACzB;AACT"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { useInteractionAnnouncements } from "../../Accessibility/hooks/useInteractionAnnouncements.mjs";
|
|
2
|
+
import { useMutationObserver } from "../../UtilityComponents/hooks/useMutationObserver.mjs";
|
|
3
|
+
import { useRef } from "react";
|
|
4
|
+
//#region src/components/Search/hooks/useAnnounceSearchResultCount.ts
|
|
5
|
+
var OPTION_SELECTOR = "[role=\"option\"]";
|
|
6
|
+
/**
|
|
7
|
+
* Announces how many items are listed in the search results — and, when the list is fully loaded,
|
|
8
|
+
* folds the "all results loaded" end-of-list status into that SAME announcement.
|
|
9
|
+
*
|
|
10
|
+
* The count is taken from the rendered options (`[role="option"]`) in `containerRef`, observed with
|
|
11
|
+
* {@link useMutationObserver} — so it is source-agnostic (works across channels/messages/users and
|
|
12
|
+
* any custom result component) and reflects exactly what the user sees. Delivery goes through the
|
|
13
|
+
* shared {@link useInteractionAnnouncements} registry (`search.resultCount`), which debounces the
|
|
14
|
+
* value so it lands once results settle (after the screen reader's typing echo) instead of on every
|
|
15
|
+
* change.
|
|
16
|
+
*
|
|
17
|
+
* `allResultsLoaded` is derived (when the announcement fires) from the active sources' latest state:
|
|
18
|
+
* true only when every active source has no next page and is not loading. Carrying it in the count
|
|
19
|
+
* message — rather than as a separate live-region announcement — keeps the end-of-list status from
|
|
20
|
+
* competing with (and superseding) the count.
|
|
21
|
+
*
|
|
22
|
+
* The observer fires on every subtree mutation, but the announcement is made only when the
|
|
23
|
+
* `count`/`allResultsLoaded` SIGNATURE changes — so an in-place action (e.g. muting a channel in a
|
|
24
|
+
* result, which re-renders the row without changing the count) does not re-announce. It also bails
|
|
25
|
+
* while inactive: gated on `active` (an in-progress search with a query) so it never fires during
|
|
26
|
+
* presearch, and the pending (debounced) count is cancelled — and the signature reset — when search
|
|
27
|
+
* is exited, so a stale count is not spoken after the results are gone.
|
|
28
|
+
*/
|
|
29
|
+
var useAnnounceSearchResultCount = (containerRef, active, activeSources = []) => {
|
|
30
|
+
const { announceInteraction, cancelInteraction } = useInteractionAnnouncements();
|
|
31
|
+
const lastSignatureRef = useRef(null);
|
|
32
|
+
useMutationObserver(containerRef, () => {
|
|
33
|
+
if (!active) return;
|
|
34
|
+
const count = containerRef.current?.querySelectorAll(OPTION_SELECTOR).length ?? 0;
|
|
35
|
+
const allResultsLoaded = activeSources.length > 0 && activeSources.every((source) => {
|
|
36
|
+
const { hasNext, isLoading } = source.state.getLatestValue();
|
|
37
|
+
return !hasNext && !isLoading;
|
|
38
|
+
});
|
|
39
|
+
const signature = `${count}|${allResultsLoaded}`;
|
|
40
|
+
if (signature === lastSignatureRef.current) return;
|
|
41
|
+
lastSignatureRef.current = signature;
|
|
42
|
+
announceInteraction("search.resultCount", {
|
|
43
|
+
allResultsLoaded,
|
|
44
|
+
count
|
|
45
|
+
});
|
|
46
|
+
}, {
|
|
47
|
+
enabled: active,
|
|
48
|
+
onDisconnect: () => {
|
|
49
|
+
lastSignatureRef.current = null;
|
|
50
|
+
cancelInteraction("search.resultCount");
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
//#endregion
|
|
55
|
+
export { useAnnounceSearchResultCount };
|
|
56
|
+
|
|
57
|
+
//# sourceMappingURL=useAnnounceSearchResultCount.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAnnounceSearchResultCount.mjs","names":[],"sources":["../../../../../src/components/Search/hooks/useAnnounceSearchResultCount.ts"],"sourcesContent":["import { useRef } from 'react';\nimport type { RefObject } from 'react';\nimport type { SearchSource } from 'stream-chat';\n\nimport { useInteractionAnnouncements } from '../../Accessibility';\nimport { useMutationObserver } from '../../UtilityComponents/hooks/useMutationObserver';\n\nconst OPTION_SELECTOR = '[role=\"option\"]';\n\n/**\n * Announces how many items are listed in the search results — and, when the list is fully loaded,\n * folds the \"all results loaded\" end-of-list status into that SAME announcement.\n *\n * The count is taken from the rendered options (`[role=\"option\"]`) in `containerRef`, observed with\n * {@link useMutationObserver} — so it is source-agnostic (works across channels/messages/users and\n * any custom result component) and reflects exactly what the user sees. Delivery goes through the\n * shared {@link useInteractionAnnouncements} registry (`search.resultCount`), which debounces the\n * value so it lands once results settle (after the screen reader's typing echo) instead of on every\n * change.\n *\n * `allResultsLoaded` is derived (when the announcement fires) from the active sources' latest state:\n * true only when every active source has no next page and is not loading. Carrying it in the count\n * message — rather than as a separate live-region announcement — keeps the end-of-list status from\n * competing with (and superseding) the count.\n *\n * The observer fires on every subtree mutation, but the announcement is made only when the\n * `count`/`allResultsLoaded` SIGNATURE changes — so an in-place action (e.g. muting a channel in a\n * result, which re-renders the row without changing the count) does not re-announce. It also bails\n * while inactive: gated on `active` (an in-progress search with a query) so it never fires during\n * presearch, and the pending (debounced) count is cancelled — and the signature reset — when search\n * is exited, so a stale count is not spoken after the results are gone.\n */\nexport const useAnnounceSearchResultCount = (\n containerRef: RefObject<HTMLElement | null>,\n active: boolean,\n activeSources: SearchSource[] = [],\n) => {\n const { announceInteraction, cancelInteraction } = useInteractionAnnouncements();\n const lastSignatureRef = useRef<string | null>(null);\n\n useMutationObserver(\n containerRef,\n () => {\n if (!active) return;\n const count = containerRef.current?.querySelectorAll(OPTION_SELECTOR).length ?? 0;\n const allResultsLoaded =\n activeSources.length > 0 &&\n activeSources.every((source) => {\n const { hasNext, isLoading } = source.state.getLatestValue();\n return !hasNext && !isLoading;\n });\n\n // Announce only when the meaningful state changes, not on every re-render of a result row.\n const signature = `${count}|${allResultsLoaded}`;\n if (signature === lastSignatureRef.current) return;\n lastSignatureRef.current = signature;\n\n announceInteraction('search.resultCount', { allResultsLoaded, count });\n },\n {\n enabled: active,\n onDisconnect: () => {\n lastSignatureRef.current = null;\n cancelInteraction('search.resultCount');\n },\n },\n );\n};\n"],"mappings":";;;;AAOA,IAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;AAyBxB,IAAa,gCACX,cACA,QACA,gBAAgC,CAAC,MAC9B;CACH,MAAM,EAAE,qBAAqB,sBAAsB,4BAA4B;CAC/E,MAAM,mBAAmB,OAAsB,IAAI;CAEnD,oBACE,oBACM;EACJ,IAAI,CAAC,QAAQ;EACb,MAAM,QAAQ,aAAa,SAAS,iBAAiB,eAAe,CAAC,CAAC,UAAU;EAChF,MAAM,mBACJ,cAAc,SAAS,KACvB,cAAc,OAAO,WAAW;GAC9B,MAAM,EAAE,SAAS,cAAc,OAAO,MAAM,eAAe;GAC3D,OAAO,CAAC,WAAW,CAAC;EACtB,CAAC;EAGH,MAAM,YAAY,GAAG,MAAM,GAAG;EAC9B,IAAI,cAAc,iBAAiB,SAAS;EAC5C,iBAAiB,UAAU;EAE3B,oBAAoB,sBAAsB;GAAE;GAAkB;EAAM,CAAC;CACvE,GACA;EACE,SAAS;EACT,oBAAoB;GAClB,iBAAiB,UAAU;GAC3B,kBAAkB,oBAAoB;EACxC;CACF,CACF;AACF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { useChatContext } from "../../../context/ChatContext.mjs";
|
|
2
|
+
import { useStateStore } from "../../../store/hooks/useStateStore.mjs";
|
|
3
|
+
//#region src/components/Search/hooks/useSearchFocusedMessage.ts
|
|
4
|
+
var searchControllerStateSelector = (nextValue) => ({ focusedMessage: nextValue.focusedMessage });
|
|
5
|
+
var useSearchFocusedMessage = () => {
|
|
6
|
+
const { searchController } = useChatContext("Channel");
|
|
7
|
+
const { focusedMessage } = useStateStore(searchController._internalState, searchControllerStateSelector);
|
|
8
|
+
return focusedMessage;
|
|
9
|
+
};
|
|
10
|
+
//#endregion
|
|
11
|
+
export { useSearchFocusedMessage };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=useSearchFocusedMessage.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSearchFocusedMessage.mjs","names":[],"sources":["../../../../../src/components/Search/hooks/useSearchFocusedMessage.ts"],"sourcesContent":["import type { InternalSearchControllerState } from 'stream-chat';\nimport { useChatContext } from '../../../context';\nimport { useStateStore } from '../../../store';\n\nconst searchControllerStateSelector = (nextValue: InternalSearchControllerState) => ({\n focusedMessage: nextValue.focusedMessage,\n});\n\nexport const useSearchFocusedMessage = () => {\n const { searchController } = useChatContext('Channel');\n const { focusedMessage } = useStateStore(\n searchController._internalState,\n searchControllerStateSelector,\n );\n\n return focusedMessage;\n};\n"],"mappings":";;;AAIA,IAAM,iCAAiC,eAA8C,EACnF,gBAAgB,UAAU,eAC5B;AAEA,IAAa,gCAAgC;CAC3C,MAAM,EAAE,qBAAqB,eAAe,SAAS;CACrD,MAAM,EAAE,mBAAmB,cACzB,iBAAiB,gBACjB,6BACF;CAEA,OAAO;AACT"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { useStateStore } from "../../../store/hooks/useStateStore.mjs";
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
//#region src/components/Search/hooks/useSearchQueriesInProgress.ts
|
|
4
|
+
var searchControllerStateSelector = (value) => ({ sources: value.sources });
|
|
5
|
+
var useSearchQueriesInProgress = (searchController) => {
|
|
6
|
+
const [queriesInProgress, setQueriesInProgress] = useState([]);
|
|
7
|
+
const { sources } = useStateStore(searchController.state, searchControllerStateSelector);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
const subscriptions = sources.map((source) => source.state.subscribeWithSelector((value) => ({ isLoading: value.isLoading }), ({ isLoading }) => {
|
|
10
|
+
setQueriesInProgress((prev) => {
|
|
11
|
+
if (isLoading) return prev.concat(source.type);
|
|
12
|
+
return prev.filter((type) => type !== source.type);
|
|
13
|
+
});
|
|
14
|
+
}));
|
|
15
|
+
return () => {
|
|
16
|
+
subscriptions.forEach((unsubscribe) => unsubscribe());
|
|
17
|
+
};
|
|
18
|
+
}, [sources]);
|
|
19
|
+
return queriesInProgress;
|
|
20
|
+
};
|
|
21
|
+
//#endregion
|
|
22
|
+
export { useSearchQueriesInProgress };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=useSearchQueriesInProgress.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSearchQueriesInProgress.mjs","names":[],"sources":["../../../../../src/components/Search/hooks/useSearchQueriesInProgress.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport type { SearchController, SearchControllerState, SearchSource } from 'stream-chat';\n\nimport { useStateStore } from '../../../store';\n\nconst searchControllerStateSelector = (value: SearchControllerState) => ({\n sources: value.sources,\n});\n\nexport type UseSearchQueriesInProgressParams = {\n searchController: SearchController;\n};\n\nexport const useSearchQueriesInProgress = (searchController: SearchController) => {\n const [queriesInProgress, setQueriesInProgress] = useState<string[]>([]);\n const { sources } = useStateStore(\n searchController.state,\n searchControllerStateSelector,\n );\n\n useEffect(() => {\n const subscriptions = sources.map((source: SearchSource) =>\n source.state.subscribeWithSelector(\n (value) => ({ isLoading: value.isLoading }),\n ({ isLoading }) => {\n setQueriesInProgress((prev) => {\n if (isLoading) return prev.concat(source.type);\n return prev.filter((type) => type !== source.type);\n });\n },\n ),\n );\n\n return () => {\n subscriptions.forEach((unsubscribe) => unsubscribe());\n };\n }, [sources]);\n return queriesInProgress;\n};\n"],"mappings":";;;AAKA,IAAM,iCAAiC,WAAkC,EACvE,SAAS,MAAM,QACjB;AAMA,IAAa,8BAA8B,qBAAuC;CAChF,MAAM,CAAC,mBAAmB,wBAAwB,SAAmB,CAAC,CAAC;CACvE,MAAM,EAAE,YAAY,cAClB,iBAAiB,OACjB,6BACF;CAEA,gBAAgB;EACd,MAAM,gBAAgB,QAAQ,KAAK,WACjC,OAAO,MAAM,uBACV,WAAW,EAAE,WAAW,MAAM,UAAU,KACxC,EAAE,gBAAgB;GACjB,sBAAsB,SAAS;IAC7B,IAAI,WAAW,OAAO,KAAK,OAAO,OAAO,IAAI;IAC7C,OAAO,KAAK,QAAQ,SAAS,SAAS,OAAO,IAAI;GACnD,CAAC;EACH,CACF,CACF;EAEA,aAAa;GACX,cAAc,SAAS,gBAAgB,YAAY,CAAC;EACtD;CACF,GAAG,CAAC,OAAO,CAAC;CACZ,OAAO;AACT"}
|