stream-chat-react 13.14.2 → 14.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/dist/WithAudioPlayback-BcKZ5Lbh.mjs +4623 -0
- package/dist/WithAudioPlayback-BcKZ5Lbh.mjs.map +1 -0
- package/dist/WithAudioPlayback-TERIQpZ6.js +4639 -0
- package/dist/WithAudioPlayback-TERIQpZ6.js.map +1 -0
- package/dist/audioProcessing-BbOs2wMd.js +123 -0
- package/dist/audioProcessing-BbOs2wMd.js.map +1 -0
- package/dist/audioProcessing-ByEVSjGG.mjs +124 -0
- package/dist/audioProcessing-ByEVSjGG.mjs.map +1 -0
- package/dist/cjs/emojis.js +229 -0
- package/dist/cjs/emojis.js.map +1 -0
- package/dist/cjs/index.js +28670 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/mp3-encoder.js +63 -0
- package/dist/cjs/mp3-encoder.js.map +1 -0
- package/dist/css/index.css +9324 -0
- package/dist/css/index.css.map +1 -0
- package/dist/es/emojis.mjs +207 -0
- package/dist/es/emojis.mjs.map +1 -0
- package/dist/es/index.mjs +28655 -0
- package/dist/es/index.mjs.map +1 -0
- package/dist/es/mp3-encoder.mjs +41 -0
- package/dist/es/mp3-encoder.mjs.map +1 -0
- package/dist/types/components/AIStateIndicator/AIStateIndicator.d.ts +6 -0
- package/dist/types/components/AIStateIndicator/AIStateIndicator.d.ts.map +1 -0
- package/dist/types/components/AIStateIndicator/hooks/useAIState.d.ts +18 -0
- package/dist/types/components/AIStateIndicator/hooks/useAIState.d.ts.map +1 -0
- package/dist/types/components/AIStateIndicator/index.d.ts +3 -0
- package/dist/types/components/AIStateIndicator/index.d.ts.map +1 -0
- package/dist/types/components/Attachment/Attachment.d.ts +57 -0
- package/dist/types/components/Attachment/Attachment.d.ts.map +1 -0
- package/dist/types/components/Attachment/AttachmentActions.d.ts +21 -0
- package/dist/types/components/Attachment/AttachmentActions.d.ts.map +1 -0
- package/dist/types/components/Attachment/AttachmentContainer.d.ts +25 -0
- package/dist/types/components/Attachment/AttachmentContainer.d.ts.map +1 -0
- package/dist/types/components/Attachment/Audio.d.ts +9 -0
- package/dist/types/components/Attachment/Audio.d.ts.map +1 -0
- package/dist/types/components/Attachment/FileAttachment.d.ts +6 -0
- package/dist/types/components/Attachment/FileAttachment.d.ts.map +1 -0
- package/dist/types/components/Attachment/Geolocation.d.ts +13 -0
- package/dist/types/components/Attachment/Geolocation.d.ts.map +1 -0
- package/dist/types/components/Attachment/Giphy.d.ts +6 -0
- package/dist/types/components/Attachment/Giphy.d.ts.map +1 -0
- package/dist/types/components/Attachment/Image.d.ts +7 -0
- package/dist/types/components/Attachment/Image.d.ts.map +1 -0
- package/dist/types/components/Attachment/LinkPreview/Card.d.ts +9 -0
- package/dist/types/components/Attachment/LinkPreview/Card.d.ts.map +1 -0
- package/dist/types/components/Attachment/LinkPreview/CardAudio.d.ts +3 -0
- package/dist/types/components/Attachment/LinkPreview/CardAudio.d.ts.map +1 -0
- package/dist/types/components/Attachment/LinkPreview/UnableToRenderCard.d.ts +5 -0
- package/dist/types/components/Attachment/LinkPreview/UnableToRenderCard.d.ts.map +1 -0
- package/dist/types/components/Attachment/LinkPreview/index.d.ts +2 -0
- package/dist/types/components/Attachment/LinkPreview/index.d.ts.map +1 -0
- package/dist/types/components/Attachment/ModalGallery.d.ts +11 -0
- package/dist/types/components/Attachment/ModalGallery.d.ts.map +1 -0
- package/dist/types/components/Attachment/UnsupportedAttachment.d.ts +6 -0
- package/dist/types/components/Attachment/UnsupportedAttachment.d.ts.map +1 -0
- package/dist/types/components/Attachment/VideoAttachment.d.ts +9 -0
- package/dist/types/components/Attachment/VideoAttachment.d.ts.map +1 -0
- package/dist/types/components/Attachment/VisibilityDisclaimer.d.ts +2 -0
- package/dist/types/components/Attachment/VisibilityDisclaimer.d.ts.map +1 -0
- package/dist/types/components/Attachment/VoiceRecording.d.ts +16 -0
- package/dist/types/components/Attachment/VoiceRecording.d.ts.map +1 -0
- package/dist/types/components/Attachment/attachment-sizing.d.ts +9 -0
- package/dist/types/components/Attachment/attachment-sizing.d.ts.map +1 -0
- package/dist/types/components/Attachment/audioSampling.d.ts +10 -0
- package/dist/types/components/Attachment/audioSampling.d.ts.map +1 -0
- package/dist/types/components/Attachment/components/DownloadButton.d.ts +6 -0
- package/dist/types/components/Attachment/components/DownloadButton.d.ts.map +1 -0
- package/dist/types/components/Attachment/components/FileSizeIndicator.d.ts +12 -0
- package/dist/types/components/Attachment/components/FileSizeIndicator.d.ts.map +1 -0
- package/dist/types/components/Attachment/components/index.d.ts +3 -0
- package/dist/types/components/Attachment/components/index.d.ts.map +1 -0
- package/dist/types/components/Attachment/icons.d.ts +4 -0
- package/dist/types/components/Attachment/icons.d.ts.map +1 -0
- package/dist/types/components/Attachment/index.d.ts +16 -0
- package/dist/types/components/Attachment/index.d.ts.map +1 -0
- package/dist/types/components/Attachment/utils.d.ts +29 -0
- package/dist/types/components/Attachment/utils.d.ts.map +1 -0
- package/dist/types/components/AudioPlayback/AudioPlayer.d.ts +125 -0
- package/dist/types/components/AudioPlayback/AudioPlayer.d.ts.map +1 -0
- package/dist/types/components/AudioPlayback/AudioPlayerPool.d.ts +50 -0
- package/dist/types/components/AudioPlayback/AudioPlayerPool.d.ts.map +1 -0
- package/dist/types/components/AudioPlayback/WithAudioPlayback.d.ts +25 -0
- package/dist/types/components/AudioPlayback/WithAudioPlayback.d.ts.map +1 -0
- package/dist/types/components/AudioPlayback/components/DurationDisplay.d.ts +15 -0
- package/dist/types/components/AudioPlayback/components/DurationDisplay.d.ts.map +1 -0
- package/dist/types/components/AudioPlayback/components/PlaybackRateButton.d.ts +4 -0
- package/dist/types/components/AudioPlayback/components/PlaybackRateButton.d.ts.map +1 -0
- package/dist/types/components/AudioPlayback/components/ProgressBar.d.ts +11 -0
- package/dist/types/components/AudioPlayback/components/ProgressBar.d.ts.map +1 -0
- package/dist/types/components/AudioPlayback/components/WaveProgressBar.d.ts +17 -0
- package/dist/types/components/AudioPlayback/components/WaveProgressBar.d.ts.map +1 -0
- package/dist/types/components/AudioPlayback/components/index.d.ts +5 -0
- package/dist/types/components/AudioPlayback/components/index.d.ts.map +1 -0
- package/dist/types/components/AudioPlayback/components/useInteractiveProgressBar.d.ts +19 -0
- package/dist/types/components/AudioPlayback/components/useInteractiveProgressBar.d.ts.map +1 -0
- package/dist/types/components/AudioPlayback/index.d.ts +5 -0
- package/dist/types/components/AudioPlayback/index.d.ts.map +1 -0
- package/dist/types/components/AudioPlayback/plugins/AudioPlayerNotificationsPlugin.d.ts +10 -0
- package/dist/types/components/AudioPlayback/plugins/AudioPlayerNotificationsPlugin.d.ts.map +1 -0
- package/dist/types/components/AudioPlayback/plugins/AudioPlayerPlugin.d.ts +11 -0
- package/dist/types/components/AudioPlayback/plugins/AudioPlayerPlugin.d.ts.map +1 -0
- package/dist/types/components/AudioPlayback/plugins/index.d.ts +2 -0
- package/dist/types/components/AudioPlayback/plugins/index.d.ts.map +1 -0
- package/dist/types/components/Avatar/Avatar.d.ts +15 -0
- package/dist/types/components/Avatar/Avatar.d.ts.map +1 -0
- package/dist/types/components/Avatar/AvatarStack.d.ts +14 -0
- package/dist/types/components/Avatar/AvatarStack.d.ts.map +1 -0
- package/dist/types/components/Avatar/ChannelAvatar.d.ts +10 -0
- package/dist/types/components/Avatar/ChannelAvatar.d.ts.map +1 -0
- package/dist/types/components/Avatar/GroupAvatar.d.ts +21 -0
- package/dist/types/components/Avatar/GroupAvatar.d.ts.map +1 -0
- package/dist/types/components/Avatar/index.d.ts +5 -0
- package/dist/types/components/Avatar/index.d.ts.map +1 -0
- package/dist/types/components/Badge/Badge.d.ts +15 -0
- package/dist/types/components/Badge/Badge.d.ts.map +1 -0
- package/dist/types/components/Badge/index.d.ts +2 -0
- package/dist/types/components/Badge/index.d.ts.map +1 -0
- package/dist/types/components/BaseImage/BaseImage.d.ts +6 -0
- package/dist/types/components/BaseImage/BaseImage.d.ts.map +1 -0
- package/dist/types/components/BaseImage/ImagePlaceholder.d.ts +5 -0
- package/dist/types/components/BaseImage/ImagePlaceholder.d.ts.map +1 -0
- package/dist/types/components/BaseImage/index.d.ts +4 -0
- package/dist/types/components/BaseImage/index.d.ts.map +1 -0
- package/dist/types/components/BaseImage/toBaseImageDescriptors.d.ts +20 -0
- package/dist/types/components/BaseImage/toBaseImageDescriptors.d.ts.map +1 -0
- package/dist/types/components/Button/Button.d.ts +18 -0
- package/dist/types/components/Button/Button.d.ts.map +1 -0
- package/dist/types/components/Button/PlayButton.d.ts +6 -0
- package/dist/types/components/Button/PlayButton.d.ts.map +1 -0
- package/dist/types/components/Button/ToggleSidebarButton.d.ts +10 -0
- package/dist/types/components/Button/ToggleSidebarButton.d.ts.map +1 -0
- package/dist/types/components/Button/index.d.ts +3 -0
- package/dist/types/components/Button/index.d.ts.map +1 -0
- package/dist/types/components/Channel/Channel.d.ts +62 -0
- package/dist/types/components/Channel/Channel.d.ts.map +1 -0
- package/dist/types/components/Channel/channelState.d.ts +90 -0
- package/dist/types/components/Channel/channelState.d.ts.map +1 -0
- package/dist/types/components/Channel/constants.d.ts +2 -0
- package/dist/types/components/Channel/constants.d.ts.map +1 -0
- package/dist/types/components/Channel/hooks/useChannelContainerClasses.d.ts +10 -0
- package/dist/types/components/Channel/hooks/useChannelContainerClasses.d.ts.map +1 -0
- package/dist/types/components/Channel/hooks/useCreateChannelStateContext.d.ts +6 -0
- package/dist/types/components/Channel/hooks/useCreateChannelStateContext.d.ts.map +1 -0
- package/dist/types/components/Channel/hooks/useCreateTypingContext.d.ts +3 -0
- package/dist/types/components/Channel/hooks/useCreateTypingContext.d.ts.map +1 -0
- package/dist/types/components/Channel/hooks/useEditMessageHandler.d.ts +5 -0
- package/dist/types/components/Channel/hooks/useEditMessageHandler.d.ts.map +1 -0
- package/dist/types/components/Channel/hooks/useIsMounted.d.ts +3 -0
- package/dist/types/components/Channel/hooks/useIsMounted.d.ts.map +1 -0
- package/dist/types/components/Channel/hooks/useMentionsHandlers.d.ts +5 -0
- package/dist/types/components/Channel/hooks/useMentionsHandlers.d.ts.map +1 -0
- package/dist/types/components/Channel/index.d.ts +4 -0
- package/dist/types/components/Channel/index.d.ts.map +1 -0
- package/dist/types/components/Channel/utils.d.ts +27 -0
- package/dist/types/components/Channel/utils.d.ts.map +1 -0
- package/dist/types/components/ChannelHeader/ChannelHeader.d.ts +17 -0
- package/dist/types/components/ChannelHeader/ChannelHeader.d.ts.map +1 -0
- package/dist/types/components/ChannelHeader/hooks/useChannelHeaderOnlineStatus.d.ts +6 -0
- package/dist/types/components/ChannelHeader/hooks/useChannelHeaderOnlineStatus.d.ts.map +1 -0
- package/dist/types/components/ChannelHeader/hooks/useIsMobileViewport.d.ts +3 -0
- package/dist/types/components/ChannelHeader/hooks/useIsMobileViewport.d.ts.map +1 -0
- package/dist/types/components/ChannelHeader/index.d.ts +2 -0
- package/dist/types/components/ChannelHeader/index.d.ts.map +1 -0
- package/dist/types/components/ChannelList/ChannelList.d.ts +81 -0
- package/dist/types/components/ChannelList/ChannelList.d.ts.map +1 -0
- package/dist/types/components/ChannelList/ChannelListHeader.d.ts +6 -0
- package/dist/types/components/ChannelList/ChannelListHeader.d.ts.map +1 -0
- package/dist/types/components/ChannelList/ChannelListUI.d.ts +18 -0
- package/dist/types/components/ChannelList/ChannelListUI.d.ts.map +1 -0
- package/dist/types/components/ChannelList/hooks/index.d.ts +16 -0
- package/dist/types/components/ChannelList/hooks/index.d.ts.map +1 -0
- package/dist/types/components/ChannelList/hooks/useChannelDeletedListener.d.ts +3 -0
- package/dist/types/components/ChannelList/hooks/useChannelDeletedListener.d.ts.map +1 -0
- package/dist/types/components/ChannelList/hooks/useChannelHiddenListener.d.ts +3 -0
- package/dist/types/components/ChannelList/hooks/useChannelHiddenListener.d.ts.map +1 -0
- package/dist/types/components/ChannelList/hooks/useChannelListShape.d.ts +61 -0
- package/dist/types/components/ChannelList/hooks/useChannelListShape.d.ts.map +1 -0
- package/dist/types/components/ChannelList/hooks/useChannelMembersState.d.ts +4 -0
- package/dist/types/components/ChannelList/hooks/useChannelMembersState.d.ts.map +1 -0
- package/dist/types/components/ChannelList/hooks/useChannelMembershipState.d.ts +4 -0
- package/dist/types/components/ChannelList/hooks/useChannelMembershipState.d.ts.map +1 -0
- package/dist/types/components/ChannelList/hooks/useChannelTruncatedListener.d.ts +3 -0
- package/dist/types/components/ChannelList/hooks/useChannelTruncatedListener.d.ts.map +1 -0
- package/dist/types/components/ChannelList/hooks/useChannelUpdatedListener.d.ts +3 -0
- package/dist/types/components/ChannelList/hooks/useChannelUpdatedListener.d.ts.map +1 -0
- package/dist/types/components/ChannelList/hooks/useChannelVisibleListener.d.ts +3 -0
- package/dist/types/components/ChannelList/hooks/useChannelVisibleListener.d.ts.map +1 -0
- package/dist/types/components/ChannelList/hooks/useConnectionRecoveredListener.d.ts +2 -0
- package/dist/types/components/ChannelList/hooks/useConnectionRecoveredListener.d.ts.map +1 -0
- package/dist/types/components/ChannelList/hooks/useMessageNewListener.d.ts +3 -0
- package/dist/types/components/ChannelList/hooks/useMessageNewListener.d.ts.map +1 -0
- package/dist/types/components/ChannelList/hooks/useMobileNavigation.d.ts +2 -0
- package/dist/types/components/ChannelList/hooks/useMobileNavigation.d.ts.map +1 -0
- package/dist/types/components/ChannelList/hooks/useNotificationAddedToChannelListener.d.ts +3 -0
- package/dist/types/components/ChannelList/hooks/useNotificationAddedToChannelListener.d.ts.map +1 -0
- package/dist/types/components/ChannelList/hooks/useNotificationMessageNewListener.d.ts +3 -0
- package/dist/types/components/ChannelList/hooks/useNotificationMessageNewListener.d.ts.map +1 -0
- package/dist/types/components/ChannelList/hooks/useNotificationRemovedFromChannelListener.d.ts +3 -0
- package/dist/types/components/ChannelList/hooks/useNotificationRemovedFromChannelListener.d.ts.map +1 -0
- package/dist/types/components/ChannelList/hooks/usePaginatedChannels.d.ts +19 -0
- package/dist/types/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +1 -0
- package/dist/types/components/ChannelList/hooks/useSelectedChannelState.d.ts +12 -0
- package/dist/types/components/ChannelList/hooks/useSelectedChannelState.d.ts.map +1 -0
- package/dist/types/components/ChannelList/hooks/useUserPresenceChangedListener.d.ts +3 -0
- package/dist/types/components/ChannelList/hooks/useUserPresenceChangedListener.d.ts.map +1 -0
- package/dist/types/components/ChannelList/index.d.ts +5 -0
- package/dist/types/components/ChannelList/index.d.ts.map +1 -0
- package/dist/types/components/ChannelList/utils.d.ts +55 -0
- package/dist/types/components/ChannelList/utils.d.ts.map +1 -0
- package/dist/types/components/ChannelListItem/ChannelListItem.d.ts +55 -0
- package/dist/types/components/ChannelListItem/ChannelListItem.d.ts.map +1 -0
- package/dist/types/components/ChannelListItem/ChannelListItemActionButtons.d.ts +10 -0
- package/dist/types/components/ChannelListItem/ChannelListItemActionButtons.d.ts.map +1 -0
- package/dist/types/components/ChannelListItem/ChannelListItemActionButtons.defaults.d.ts +13 -0
- package/dist/types/components/ChannelListItem/ChannelListItemActionButtons.defaults.d.ts.map +1 -0
- package/dist/types/components/ChannelListItem/ChannelListItemTimestamp.d.ts +7 -0
- package/dist/types/components/ChannelListItem/ChannelListItemTimestamp.d.ts.map +1 -0
- package/dist/types/components/ChannelListItem/ChannelListItemUI.d.ts +7 -0
- package/dist/types/components/ChannelListItem/ChannelListItemUI.d.ts.map +1 -0
- package/dist/types/components/ChannelListItem/hooks/index.d.ts +4 -0
- package/dist/types/components/ChannelListItem/hooks/index.d.ts.map +1 -0
- package/dist/types/components/ChannelListItem/hooks/useChannelDisplayName.d.ts +10 -0
- package/dist/types/components/ChannelListItem/hooks/useChannelDisplayName.d.ts.map +1 -0
- package/dist/types/components/ChannelListItem/hooks/useChannelPreviewInfo.d.ts +16 -0
- package/dist/types/components/ChannelListItem/hooks/useChannelPreviewInfo.d.ts.map +1 -0
- package/dist/types/components/ChannelListItem/hooks/useIsChannelMuted.d.ts +7 -0
- package/dist/types/components/ChannelListItem/hooks/useIsChannelMuted.d.ts.map +1 -0
- package/dist/types/components/ChannelListItem/hooks/useMessageDeliveryStatus.d.ts +16 -0
- package/dist/types/components/ChannelListItem/hooks/useMessageDeliveryStatus.d.ts.map +1 -0
- package/dist/types/components/ChannelListItem/index.d.ts +7 -0
- package/dist/types/components/ChannelListItem/index.d.ts.map +1 -0
- package/dist/types/components/ChannelListItem/utils.d.ts +21 -0
- package/dist/types/components/ChannelListItem/utils.d.ts.map +1 -0
- package/dist/types/components/Chat/Chat.d.ts +39 -0
- package/dist/types/components/Chat/Chat.d.ts.map +1 -0
- package/dist/types/components/Chat/hooks/useChannelsQueryState.d.ts +12 -0
- package/dist/types/components/Chat/hooks/useChannelsQueryState.d.ts.map +1 -0
- package/dist/types/components/Chat/hooks/useChat.d.ts +30 -0
- package/dist/types/components/Chat/hooks/useChat.d.ts.map +1 -0
- package/dist/types/components/Chat/hooks/useCreateChatClient.d.ts +12 -0
- package/dist/types/components/Chat/hooks/useCreateChatClient.d.ts.map +1 -0
- package/dist/types/components/Chat/hooks/useCreateChatContext.d.ts +3 -0
- package/dist/types/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -0
- package/dist/types/components/Chat/hooks/useSplitActionSet.d.ts +13 -0
- package/dist/types/components/Chat/hooks/useSplitActionSet.d.ts.map +1 -0
- package/dist/types/components/Chat/index.d.ts +4 -0
- package/dist/types/components/Chat/index.d.ts.map +1 -0
- package/dist/types/components/ChatView/ChatView.d.ts +50 -0
- package/dist/types/components/ChatView/ChatView.d.ts.map +1 -0
- package/dist/types/components/ChatView/index.d.ts +2 -0
- package/dist/types/components/ChatView/index.d.ts.map +1 -0
- package/dist/types/components/DateSeparator/DateSeparator.d.ts +20 -0
- package/dist/types/components/DateSeparator/DateSeparator.d.ts.map +1 -0
- package/dist/types/components/DateSeparator/index.d.ts +2 -0
- package/dist/types/components/DateSeparator/index.d.ts.map +1 -0
- package/dist/types/components/Dialog/components/Alert.d.ts +14 -0
- package/dist/types/components/Dialog/components/Alert.d.ts.map +1 -0
- package/dist/types/components/Dialog/components/Callout.d.ts +21 -0
- package/dist/types/components/Dialog/components/Callout.d.ts.map +1 -0
- package/dist/types/components/Dialog/components/ContextMenu.d.ts +54 -0
- package/dist/types/components/Dialog/components/ContextMenu.d.ts.map +1 -0
- package/dist/types/components/Dialog/components/Prompt.d.ts +28 -0
- package/dist/types/components/Dialog/components/Prompt.d.ts.map +1 -0
- package/dist/types/components/Dialog/components/Viewer.d.ts +29 -0
- package/dist/types/components/Dialog/components/Viewer.d.ts.map +1 -0
- package/dist/types/components/Dialog/components/index.d.ts +88 -0
- package/dist/types/components/Dialog/components/index.d.ts.map +1 -0
- package/dist/types/components/Dialog/hooks/index.d.ts +3 -0
- package/dist/types/components/Dialog/hooks/index.d.ts.map +1 -0
- package/dist/types/components/Dialog/hooks/useDialog.d.ts +17 -0
- package/dist/types/components/Dialog/hooks/useDialog.d.ts.map +1 -0
- package/dist/types/components/Dialog/hooks/usePopoverPosition.d.ts +70 -0
- package/dist/types/components/Dialog/hooks/usePopoverPosition.d.ts.map +1 -0
- package/dist/types/components/Dialog/index.d.ts +4 -0
- package/dist/types/components/Dialog/index.d.ts.map +1 -0
- package/dist/types/components/Dialog/service/DialogAnchor.d.ts +25 -0
- package/dist/types/components/Dialog/service/DialogAnchor.d.ts.map +1 -0
- package/dist/types/components/Dialog/service/DialogManager.d.ts +54 -0
- package/dist/types/components/Dialog/service/DialogManager.d.ts.map +1 -0
- package/dist/types/components/Dialog/service/DialogPortal.d.ts +9 -0
- package/dist/types/components/Dialog/service/DialogPortal.d.ts.map +1 -0
- package/dist/types/components/Dialog/service/index.d.ts +4 -0
- package/dist/types/components/Dialog/service/index.d.ts.map +1 -0
- package/dist/types/components/DragAndDrop/DragAndDropContainer.d.ts +8 -0
- package/dist/types/components/DragAndDrop/DragAndDropContainer.d.ts.map +1 -0
- package/dist/types/components/EmptyStateIndicator/EmptyStateIndicator.d.ts +7 -0
- package/dist/types/components/EmptyStateIndicator/EmptyStateIndicator.d.ts.map +1 -0
- package/dist/types/components/EmptyStateIndicator/index.d.ts +2 -0
- package/dist/types/components/EmptyStateIndicator/index.d.ts.map +1 -0
- package/dist/types/components/EventComponent/EventComponent.d.ts +10 -0
- package/dist/types/components/EventComponent/EventComponent.d.ts.map +1 -0
- package/dist/types/components/EventComponent/index.d.ts +2 -0
- package/dist/types/components/EventComponent/index.d.ts.map +1 -0
- package/dist/types/components/FileIcon/FileIcon.d.ts +21 -0
- package/dist/types/components/FileIcon/FileIcon.d.ts.map +1 -0
- package/dist/types/components/FileIcon/FileIconSet.d.ts +32 -0
- package/dist/types/components/FileIcon/FileIconSet.d.ts.map +1 -0
- package/dist/types/components/FileIcon/iconMap.d.ts +9 -0
- package/dist/types/components/FileIcon/iconMap.d.ts.map +1 -0
- package/dist/types/components/FileIcon/index.d.ts +4 -0
- package/dist/types/components/FileIcon/index.d.ts.map +1 -0
- package/dist/types/components/FileIcon/mimeTypes.d.ts +9 -0
- package/dist/types/components/FileIcon/mimeTypes.d.ts.map +1 -0
- package/dist/types/components/Form/Dropdown.d.ts +22 -0
- package/dist/types/components/Form/Dropdown.d.ts.map +1 -0
- package/dist/types/components/Form/FieldError.d.ts +7 -0
- package/dist/types/components/Form/FieldError.d.ts.map +1 -0
- package/dist/types/components/Form/NumericInput.d.ts +17 -0
- package/dist/types/components/Form/NumericInput.d.ts.map +1 -0
- package/dist/types/components/Form/SwitchField.d.ts +31 -0
- package/dist/types/components/Form/SwitchField.d.ts.map +1 -0
- package/dist/types/components/Form/TextInput.d.ts +31 -0
- package/dist/types/components/Form/TextInput.d.ts.map +1 -0
- package/dist/types/components/Form/TextInputFieldSet.d.ts +6 -0
- package/dist/types/components/Form/TextInputFieldSet.d.ts.map +1 -0
- package/dist/types/components/Form/hooks/index.d.ts +2 -0
- package/dist/types/components/Form/hooks/index.d.ts.map +1 -0
- package/dist/types/components/Form/hooks/useFormState.d.ts +18 -0
- package/dist/types/components/Form/hooks/useFormState.d.ts.map +1 -0
- package/dist/types/components/Form/index.d.ts +6 -0
- package/dist/types/components/Form/index.d.ts.map +1 -0
- package/dist/types/components/Gallery/Gallery.d.ts +18 -0
- package/dist/types/components/Gallery/Gallery.d.ts.map +1 -0
- package/dist/types/components/Gallery/GalleryContext.d.ts +43 -0
- package/dist/types/components/Gallery/GalleryContext.d.ts.map +1 -0
- package/dist/types/components/Gallery/GalleryHeader.d.ts +7 -0
- package/dist/types/components/Gallery/GalleryHeader.d.ts.map +1 -0
- package/dist/types/components/Gallery/GalleryUI.d.ts +2 -0
- package/dist/types/components/Gallery/GalleryUI.d.ts.map +1 -0
- package/dist/types/components/Gallery/index.d.ts +4 -0
- package/dist/types/components/Gallery/index.d.ts.map +1 -0
- package/dist/types/components/Icons/BaseIcon.d.ts +3 -0
- package/dist/types/components/Icons/BaseIcon.d.ts.map +1 -0
- package/dist/types/components/Icons/IconGiphy.d.ts +3 -0
- package/dist/types/components/Icons/IconGiphy.d.ts.map +1 -0
- package/dist/types/components/Icons/createIcon.d.ts +6 -0
- package/dist/types/components/Icons/createIcon.d.ts.map +1 -0
- package/dist/types/components/Icons/icons.d.ts +622 -0
- package/dist/types/components/Icons/icons.d.ts.map +1 -0
- package/dist/types/components/Icons/index.d.ts +4 -0
- package/dist/types/components/Icons/index.d.ts.map +1 -0
- package/dist/types/components/InfiniteScrollPaginator/InfiniteScroll.d.ts +46 -0
- package/dist/types/components/InfiniteScrollPaginator/InfiniteScroll.d.ts.map +1 -0
- package/dist/types/components/InfiniteScrollPaginator/InfiniteScrollPaginator.d.ts +13 -0
- package/dist/types/components/InfiniteScrollPaginator/InfiniteScrollPaginator.d.ts.map +1 -0
- package/dist/types/components/InfiniteScrollPaginator/hooks/useCursorPaginator.d.ts +19 -0
- package/dist/types/components/InfiniteScrollPaginator/hooks/useCursorPaginator.d.ts.map +1 -0
- package/dist/types/components/InfiniteScrollPaginator/index.d.ts +2 -0
- package/dist/types/components/InfiniteScrollPaginator/index.d.ts.map +1 -0
- package/dist/types/components/LoadMore/LoadMoreButton.d.ts +15 -0
- package/dist/types/components/LoadMore/LoadMoreButton.d.ts.map +1 -0
- package/dist/types/components/LoadMore/LoadMorePaginator.d.ts +13 -0
- package/dist/types/components/LoadMore/LoadMorePaginator.d.ts.map +1 -0
- package/dist/types/components/LoadMore/index.d.ts +3 -0
- package/dist/types/components/LoadMore/index.d.ts.map +1 -0
- package/dist/types/components/Loading/LoadingChannel.d.ts +2 -0
- package/dist/types/components/Loading/LoadingChannel.d.ts.map +1 -0
- package/dist/types/components/Loading/LoadingChannels.d.ts +2 -0
- package/dist/types/components/Loading/LoadingChannels.d.ts.map +1 -0
- package/dist/types/components/Loading/LoadingErrorIndicator.d.ts +6 -0
- package/dist/types/components/Loading/LoadingErrorIndicator.d.ts.map +1 -0
- package/dist/types/components/Loading/LoadingIndicator.d.ts +5 -0
- package/dist/types/components/Loading/LoadingIndicator.d.ts.map +1 -0
- package/dist/types/components/Loading/index.d.ts +5 -0
- package/dist/types/components/Loading/index.d.ts.map +1 -0
- package/dist/types/components/Location/ShareLocationDialog.d.ts +19 -0
- package/dist/types/components/Location/ShareLocationDialog.d.ts.map +1 -0
- package/dist/types/components/Location/hooks/useLiveLocationSharingManager.d.ts +19 -0
- package/dist/types/components/Location/hooks/useLiveLocationSharingManager.d.ts.map +1 -0
- package/dist/types/components/Location/index.d.ts +2 -0
- package/dist/types/components/Location/index.d.ts.map +1 -0
- package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecorder.d.ts +2 -0
- package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecorder.d.ts.map +1 -0
- package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecorderRecordingControls.d.ts +2 -0
- package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecorderRecordingControls.d.ts.map +1 -0
- package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecordingButtonWithNotification.d.ts +5 -0
- package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecordingButtonWithNotification.d.ts.map +1 -0
- package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecordingPlayback.d.ts +8 -0
- package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecordingPlayback.d.ts.map +1 -0
- package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecordingPreview.d.ts +2 -0
- package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecordingPreview.d.ts.map +1 -0
- package/dist/types/components/MediaRecorder/AudioRecorder/RecordingTimer.d.ts +5 -0
- package/dist/types/components/MediaRecorder/AudioRecorder/RecordingTimer.d.ts.map +1 -0
- package/dist/types/components/MediaRecorder/AudioRecorder/hooks/useTimeElapsed.d.ts +11 -0
- package/dist/types/components/MediaRecorder/AudioRecorder/hooks/useTimeElapsed.d.ts.map +1 -0
- package/dist/types/components/MediaRecorder/AudioRecorder/index.d.ts +5 -0
- package/dist/types/components/MediaRecorder/AudioRecorder/index.d.ts.map +1 -0
- package/dist/types/components/MediaRecorder/AudioRecorder/recordingStateIdentity.d.ts +5 -0
- package/dist/types/components/MediaRecorder/AudioRecorder/recordingStateIdentity.d.ts.map +1 -0
- package/dist/types/components/MediaRecorder/RecordingPermissionDeniedNotification.d.ts +6 -0
- package/dist/types/components/MediaRecorder/RecordingPermissionDeniedNotification.d.ts.map +1 -0
- package/dist/types/components/MediaRecorder/classes/AmplitudeRecorder.d.ts +55 -0
- package/dist/types/components/MediaRecorder/classes/AmplitudeRecorder.d.ts.map +1 -0
- package/dist/types/components/MediaRecorder/classes/BrowserPermission.d.ts +23 -0
- package/dist/types/components/MediaRecorder/classes/BrowserPermission.d.ts.map +1 -0
- package/dist/types/components/MediaRecorder/classes/MediaRecorderController.d.ts +76 -0
- package/dist/types/components/MediaRecorder/classes/MediaRecorderController.d.ts.map +1 -0
- package/dist/types/components/MediaRecorder/classes/index.d.ts +4 -0
- package/dist/types/components/MediaRecorder/classes/index.d.ts.map +1 -0
- package/dist/types/components/MediaRecorder/hooks/index.d.ts +2 -0
- package/dist/types/components/MediaRecorder/hooks/index.d.ts.map +1 -0
- package/dist/types/components/MediaRecorder/hooks/useMediaRecorder.d.ts +19 -0
- package/dist/types/components/MediaRecorder/hooks/useMediaRecorder.d.ts.map +1 -0
- package/dist/types/components/MediaRecorder/index.d.ts +7 -0
- package/dist/types/components/MediaRecorder/index.d.ts.map +1 -0
- package/dist/types/components/MediaRecorder/observable/BehaviorSubject.d.ts +11 -0
- package/dist/types/components/MediaRecorder/observable/BehaviorSubject.d.ts.map +1 -0
- package/dist/types/components/MediaRecorder/observable/Observable.d.ts +18 -0
- package/dist/types/components/MediaRecorder/observable/Observable.d.ts.map +1 -0
- package/dist/types/components/MediaRecorder/observable/Observer.d.ts +10 -0
- package/dist/types/components/MediaRecorder/observable/Observer.d.ts.map +1 -0
- package/dist/types/components/MediaRecorder/observable/Subject.d.ts +17 -0
- package/dist/types/components/MediaRecorder/observable/Subject.d.ts.map +1 -0
- package/dist/types/components/MediaRecorder/observable/Subscription.d.ts +11 -0
- package/dist/types/components/MediaRecorder/observable/Subscription.d.ts.map +1 -0
- package/dist/types/components/MediaRecorder/observable/index.d.ts +6 -0
- package/dist/types/components/MediaRecorder/observable/index.d.ts.map +1 -0
- package/dist/types/components/MediaRecorder/transcode/audioProcessing.d.ts +16 -0
- package/dist/types/components/MediaRecorder/transcode/audioProcessing.d.ts.map +1 -0
- package/dist/types/components/MediaRecorder/transcode/index.d.ts +9 -0
- package/dist/types/components/MediaRecorder/transcode/index.d.ts.map +1 -0
- package/dist/types/components/MediaRecorder/transcode/wav.d.ts +8 -0
- package/dist/types/components/MediaRecorder/transcode/wav.d.ts.map +1 -0
- package/dist/types/components/Message/Message.d.ts +7 -0
- package/dist/types/components/Message/Message.d.ts.map +1 -0
- package/dist/types/components/Message/MessageAlsoSentInChannelIndicator.d.ts +5 -0
- package/dist/types/components/Message/MessageAlsoSentInChannelIndicator.d.ts.map +1 -0
- package/dist/types/components/Message/MessageBlocked.d.ts +2 -0
- package/dist/types/components/Message/MessageBlocked.d.ts.map +1 -0
- package/dist/types/components/Message/MessageBubble.d.ts +3 -0
- package/dist/types/components/Message/MessageBubble.d.ts.map +1 -0
- package/dist/types/components/Message/MessageDeletedBubble.d.ts +6 -0
- package/dist/types/components/Message/MessageDeletedBubble.d.ts.map +1 -0
- package/dist/types/components/Message/MessageEditedIndicator.d.ts +8 -0
- package/dist/types/components/Message/MessageEditedIndicator.d.ts.map +1 -0
- package/dist/types/components/Message/MessageErrorText.d.ts +6 -0
- package/dist/types/components/Message/MessageErrorText.d.ts.map +1 -0
- package/dist/types/components/Message/MessageRepliesCountButton.d.ts +13 -0
- package/dist/types/components/Message/MessageRepliesCountButton.d.ts.map +1 -0
- package/dist/types/components/Message/MessageStatus.d.ts +12 -0
- package/dist/types/components/Message/MessageStatus.d.ts.map +1 -0
- package/dist/types/components/Message/MessageText.d.ts +9 -0
- package/dist/types/components/Message/MessageText.d.ts.map +1 -0
- package/dist/types/components/Message/MessageTimestamp.d.ts +8 -0
- package/dist/types/components/Message/MessageTimestamp.d.ts.map +1 -0
- package/dist/types/components/Message/MessageTranslationIndicator.d.ts +6 -0
- package/dist/types/components/Message/MessageTranslationIndicator.d.ts.map +1 -0
- package/dist/types/components/Message/MessageUI.d.ts +6 -0
- package/dist/types/components/Message/MessageUI.d.ts.map +1 -0
- package/dist/types/components/Message/PinIndicator.d.ts +10 -0
- package/dist/types/components/Message/PinIndicator.d.ts.map +1 -0
- package/dist/types/components/Message/QuotedMessage.d.ts +4 -0
- package/dist/types/components/Message/QuotedMessage.d.ts.map +1 -0
- package/dist/types/components/Message/ReminderNotification.d.ts +6 -0
- package/dist/types/components/Message/ReminderNotification.d.ts.map +1 -0
- package/dist/types/components/Message/StreamedMessageText.d.ts +7 -0
- package/dist/types/components/Message/StreamedMessageText.d.ts.map +1 -0
- package/dist/types/components/Message/Timestamp.d.ts +7 -0
- package/dist/types/components/Message/Timestamp.d.ts.map +1 -0
- package/dist/types/components/Message/hooks/index.d.ts +16 -0
- package/dist/types/components/Message/hooks/index.d.ts.map +1 -0
- package/dist/types/components/Message/hooks/useActionHandler.d.ts +7 -0
- package/dist/types/components/Message/hooks/useActionHandler.d.ts.map +1 -0
- package/dist/types/components/Message/hooks/useDeleteHandler.d.ts +8 -0
- package/dist/types/components/Message/hooks/useDeleteHandler.d.ts.map +1 -0
- package/dist/types/components/Message/hooks/useFlagHandler.d.ts +10 -0
- package/dist/types/components/Message/hooks/useFlagHandler.d.ts.map +1 -0
- package/dist/types/components/Message/hooks/useMarkUnreadHandler.d.ts +9 -0
- package/dist/types/components/Message/hooks/useMarkUnreadHandler.d.ts.map +1 -0
- package/dist/types/components/Message/hooks/useMentionsHandler.d.ts +13 -0
- package/dist/types/components/Message/hooks/useMentionsHandler.d.ts.map +1 -0
- package/dist/types/components/Message/hooks/useMessageReminder.d.ts +2 -0
- package/dist/types/components/Message/hooks/useMessageReminder.d.ts.map +1 -0
- package/dist/types/components/Message/hooks/useMessageTextStreaming.d.ts +17 -0
- package/dist/types/components/Message/hooks/useMessageTextStreaming.d.ts.map +1 -0
- package/dist/types/components/Message/hooks/useMuteHandler.d.ts +10 -0
- package/dist/types/components/Message/hooks/useMuteHandler.d.ts.map +1 -0
- package/dist/types/components/Message/hooks/useOpenThreadHandler.d.ts +4 -0
- package/dist/types/components/Message/hooks/useOpenThreadHandler.d.ts.map +1 -0
- package/dist/types/components/Message/hooks/usePinHandler.d.ts +29 -0
- package/dist/types/components/Message/hooks/usePinHandler.d.ts.map +1 -0
- package/dist/types/components/Message/hooks/useReactionHandler.d.ts +5 -0
- package/dist/types/components/Message/hooks/useReactionHandler.d.ts.map +1 -0
- package/dist/types/components/Message/hooks/useReactionsFetcher.d.ts +9 -0
- package/dist/types/components/Message/hooks/useReactionsFetcher.d.ts.map +1 -0
- package/dist/types/components/Message/hooks/useRetryHandler.d.ts +3 -0
- package/dist/types/components/Message/hooks/useRetryHandler.d.ts.map +1 -0
- package/dist/types/components/Message/hooks/useUserHandler.d.ts +13 -0
- package/dist/types/components/Message/hooks/useUserHandler.d.ts.map +1 -0
- package/dist/types/components/Message/hooks/useUserRole.d.ts +18 -0
- package/dist/types/components/Message/hooks/useUserRole.d.ts.map +1 -0
- package/dist/types/components/Message/icons.d.ts +7 -0
- package/dist/types/components/Message/icons.d.ts.map +1 -0
- package/dist/types/components/Message/index.d.ts +22 -0
- package/dist/types/components/Message/index.d.ts.map +1 -0
- package/dist/types/components/Message/renderText/componentRenderers/Anchor.d.ts +3 -0
- package/dist/types/components/Message/renderText/componentRenderers/Anchor.d.ts.map +1 -0
- package/dist/types/components/Message/renderText/componentRenderers/Emoji.d.ts +3 -0
- package/dist/types/components/Message/renderText/componentRenderers/Emoji.d.ts.map +1 -0
- package/dist/types/components/Message/renderText/componentRenderers/Mention.d.ts +9 -0
- package/dist/types/components/Message/renderText/componentRenderers/Mention.d.ts.map +1 -0
- package/dist/types/components/Message/renderText/componentRenderers/index.d.ts +4 -0
- package/dist/types/components/Message/renderText/componentRenderers/index.d.ts.map +1 -0
- package/dist/types/components/Message/renderText/index.d.ts +6 -0
- package/dist/types/components/Message/renderText/index.d.ts.map +1 -0
- package/dist/types/components/Message/renderText/regex.d.ts +5 -0
- package/dist/types/components/Message/renderText/regex.d.ts.map +1 -0
- package/dist/types/components/Message/renderText/rehypePlugins/emojiMarkdownPlugin.d.ts +3 -0
- package/dist/types/components/Message/renderText/rehypePlugins/emojiMarkdownPlugin.d.ts.map +1 -0
- package/dist/types/components/Message/renderText/rehypePlugins/index.d.ts +3 -0
- package/dist/types/components/Message/renderText/rehypePlugins/index.d.ts.map +1 -0
- package/dist/types/components/Message/renderText/rehypePlugins/mentionsMarkdownPlugin.d.ts +4 -0
- package/dist/types/components/Message/renderText/rehypePlugins/mentionsMarkdownPlugin.d.ts.map +1 -0
- package/dist/types/components/Message/renderText/remarkPlugins/htmlToTextPlugin.d.ts +3 -0
- package/dist/types/components/Message/renderText/remarkPlugins/htmlToTextPlugin.d.ts.map +1 -0
- package/dist/types/components/Message/renderText/remarkPlugins/imageToLink.d.ts +13 -0
- package/dist/types/components/Message/renderText/remarkPlugins/imageToLink.d.ts.map +1 -0
- package/dist/types/components/Message/renderText/remarkPlugins/index.d.ts +6 -0
- package/dist/types/components/Message/renderText/remarkPlugins/index.d.ts.map +1 -0
- package/dist/types/components/Message/renderText/remarkPlugins/keepLineBreaksPlugin.d.ts +11 -0
- package/dist/types/components/Message/renderText/remarkPlugins/keepLineBreaksPlugin.d.ts.map +1 -0
- package/dist/types/components/Message/renderText/remarkPlugins/plusPlusToEmphasis.d.ts +7 -0
- package/dist/types/components/Message/renderText/remarkPlugins/plusPlusToEmphasis.d.ts.map +1 -0
- package/dist/types/components/Message/renderText/remarkPlugins/remarkIgnoreMarkdown.d.ts +9 -0
- package/dist/types/components/Message/renderText/remarkPlugins/remarkIgnoreMarkdown.d.ts.map +1 -0
- package/dist/types/components/Message/renderText/renderText.d.ts +21 -0
- package/dist/types/components/Message/renderText/renderText.d.ts.map +1 -0
- package/dist/types/components/Message/renderText/types.d.ts +3 -0
- package/dist/types/components/Message/renderText/types.d.ts.map +1 -0
- package/dist/types/components/Message/types.d.ts +106 -0
- package/dist/types/components/Message/types.d.ts.map +1 -0
- package/dist/types/components/Message/utils.d.ts +80 -0
- package/dist/types/components/Message/utils.d.ts.map +1 -0
- package/dist/types/components/MessageActions/DeleteMessageAlert.d.ts +6 -0
- package/dist/types/components/MessageActions/DeleteMessageAlert.d.ts.map +1 -0
- package/dist/types/components/MessageActions/MessageActions.d.ts +27 -0
- package/dist/types/components/MessageActions/MessageActions.d.ts.map +1 -0
- package/dist/types/components/MessageActions/MessageActions.defaults.d.ts +3 -0
- package/dist/types/components/MessageActions/MessageActions.defaults.d.ts.map +1 -0
- package/dist/types/components/MessageActions/QuickMessageActionButton.d.ts +3 -0
- package/dist/types/components/MessageActions/QuickMessageActionButton.d.ts.map +1 -0
- package/dist/types/components/MessageActions/RemindMeSubmenu.d.ts +3 -0
- package/dist/types/components/MessageActions/RemindMeSubmenu.d.ts.map +1 -0
- package/dist/types/components/MessageActions/hooks/index.d.ts +2 -0
- package/dist/types/components/MessageActions/hooks/index.d.ts.map +1 -0
- package/dist/types/components/MessageActions/hooks/useBaseMessageActionSetFilter.d.ts +9 -0
- package/dist/types/components/MessageActions/hooks/useBaseMessageActionSetFilter.d.ts.map +1 -0
- package/dist/types/components/MessageActions/index.d.ts +5 -0
- package/dist/types/components/MessageActions/index.d.ts.map +1 -0
- package/dist/types/components/MessageBounce/MessageBounceModal.d.ts +8 -0
- package/dist/types/components/MessageBounce/MessageBounceModal.d.ts.map +1 -0
- package/dist/types/components/MessageBounce/MessageBouncePrompt.d.ts +4 -0
- package/dist/types/components/MessageBounce/MessageBouncePrompt.d.ts.map +1 -0
- package/dist/types/components/MessageBounce/index.d.ts +3 -0
- package/dist/types/components/MessageBounce/index.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/AttachmentPreviewList/AttachmentPreviewList.d.ts +15 -0
- package/dist/types/components/MessageComposer/AttachmentPreviewList/AttachmentPreviewList.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/AttachmentPreviewList/AudioAttachmentPreview.d.ts +5 -0
- package/dist/types/components/MessageComposer/AttachmentPreviewList/AudioAttachmentPreview.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/AttachmentPreviewList/FileAttachmentPreview.d.ts +5 -0
- package/dist/types/components/MessageComposer/AttachmentPreviewList/FileAttachmentPreview.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/AttachmentPreviewList/GeolocationPreview.d.ts +13 -0
- package/dist/types/components/MessageComposer/AttachmentPreviewList/GeolocationPreview.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/AttachmentPreviewList/ImageAttachmentPreview.d.ts +4 -0
- package/dist/types/components/MessageComposer/AttachmentPreviewList/ImageAttachmentPreview.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/AttachmentPreviewList/MediaAttachmentPreview.d.ts +5 -0
- package/dist/types/components/MessageComposer/AttachmentPreviewList/MediaAttachmentPreview.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/AttachmentPreviewList/UnsupportedAttachmentPreview.d.ts +8 -0
- package/dist/types/components/MessageComposer/AttachmentPreviewList/UnsupportedAttachmentPreview.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/AttachmentPreviewList/VoiceRecordingPreviewSlot.d.ts +13 -0
- package/dist/types/components/MessageComposer/AttachmentPreviewList/VoiceRecordingPreviewSlot.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/AttachmentPreviewList/index.d.ts +10 -0
- package/dist/types/components/MessageComposer/AttachmentPreviewList/index.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/AttachmentPreviewList/types.d.ts +7 -0
- package/dist/types/components/MessageComposer/AttachmentPreviewList/types.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/AttachmentPreviewList/utils/AttachmentPreviewRoot.d.ts +13 -0
- package/dist/types/components/MessageComposer/AttachmentPreviewList/utils/AttachmentPreviewRoot.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/AttachmentSelector/AttachmentSelector.d.ts +37 -0
- package/dist/types/components/MessageComposer/AttachmentSelector/AttachmentSelector.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/AttachmentSelector/CommandsMenu.d.ts +16 -0
- package/dist/types/components/MessageComposer/AttachmentSelector/CommandsMenu.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/AttachmentSelector/index.d.ts +2 -0
- package/dist/types/components/MessageComposer/AttachmentSelector/index.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/CommandChip.d.ts +2 -0
- package/dist/types/components/MessageComposer/CommandChip.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/CooldownTimer.d.ts +2 -0
- package/dist/types/components/MessageComposer/CooldownTimer.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/EditedMessagePreview.d.ts +7 -0
- package/dist/types/components/MessageComposer/EditedMessagePreview.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/LinkPreviewList.d.ts +11 -0
- package/dist/types/components/MessageComposer/LinkPreviewList.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/MessageComposer.d.ts +66 -0
- package/dist/types/components/MessageComposer/MessageComposer.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/MessageComposerActions.d.ts +3 -0
- package/dist/types/components/MessageComposer/MessageComposerActions.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/MessageComposerUI.d.ts +2 -0
- package/dist/types/components/MessageComposer/MessageComposerUI.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/QuotedMessageIndicator.d.ts +4 -0
- package/dist/types/components/MessageComposer/QuotedMessageIndicator.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/QuotedMessagePreview.d.ts +16 -0
- package/dist/types/components/MessageComposer/QuotedMessagePreview.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/RemoveAttachmentPreviewButton.d.ts +6 -0
- package/dist/types/components/MessageComposer/RemoveAttachmentPreviewButton.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/SendButton.d.ts +6 -0
- package/dist/types/components/MessageComposer/SendButton.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/SendToChannelCheckbox.d.ts +2 -0
- package/dist/types/components/MessageComposer/SendToChannelCheckbox.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/StopAIGenerationButton.d.ts +4 -0
- package/dist/types/components/MessageComposer/StopAIGenerationButton.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/WithDragAndDropUpload.d.ts +42 -0
- package/dist/types/components/MessageComposer/WithDragAndDropUpload.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/hooks/index.d.ts +9 -0
- package/dist/types/components/MessageComposer/hooks/index.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/hooks/useAttachmentManagerState.d.ts +11 -0
- package/dist/types/components/MessageComposer/hooks/useAttachmentManagerState.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/hooks/useAttachmentsForPreview.d.ts +18 -0
- package/dist/types/components/MessageComposer/hooks/useAttachmentsForPreview.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/hooks/useCanCreatePoll.d.ts +2 -0
- package/dist/types/components/MessageComposer/hooks/useCanCreatePoll.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/hooks/useCooldownRemaining.d.ts +8 -0
- package/dist/types/components/MessageComposer/hooks/useCooldownRemaining.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/hooks/useCreateMessageComposerContext.d.ts +3 -0
- package/dist/types/components/MessageComposer/hooks/useCreateMessageComposerContext.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/hooks/useIsCooldownActive.d.ts +2 -0
- package/dist/types/components/MessageComposer/hooks/useIsCooldownActive.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/hooks/useMessageComposerBindings.d.ts +11 -0
- package/dist/types/components/MessageComposer/hooks/useMessageComposerBindings.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/hooks/useMessageComposerController.d.ts +3 -0
- package/dist/types/components/MessageComposer/hooks/useMessageComposerController.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/hooks/useMessageComposerHasSendableData.d.ts +2 -0
- package/dist/types/components/MessageComposer/hooks/useMessageComposerHasSendableData.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/hooks/useMessageContentIsEmpty.d.ts +2 -0
- package/dist/types/components/MessageComposer/hooks/useMessageContentIsEmpty.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/hooks/usePasteHandler.d.ts +4 -0
- package/dist/types/components/MessageComposer/hooks/usePasteHandler.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/hooks/useSubmitHandler.d.ts +5 -0
- package/dist/types/components/MessageComposer/hooks/useSubmitHandler.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/hooks/useTextareaRef.d.ts +6 -0
- package/dist/types/components/MessageComposer/hooks/useTextareaRef.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/hooks/utils.d.ts +2 -0
- package/dist/types/components/MessageComposer/hooks/utils.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/icons.d.ts +7 -0
- package/dist/types/components/MessageComposer/icons.d.ts.map +1 -0
- package/dist/types/components/MessageComposer/index.d.ts +14 -0
- package/dist/types/components/MessageComposer/index.d.ts.map +1 -0
- package/dist/types/components/MessageList/ConnectionStatus.d.ts +3 -0
- package/dist/types/components/MessageList/ConnectionStatus.d.ts.map +1 -0
- package/dist/types/components/MessageList/CustomNotification.d.ts +8 -0
- package/dist/types/components/MessageList/CustomNotification.d.ts.map +1 -0
- package/dist/types/components/MessageList/FloatingDateSeparator.d.ts +21 -0
- package/dist/types/components/MessageList/FloatingDateSeparator.d.ts.map +1 -0
- package/dist/types/components/MessageList/GiphyPreviewMessage.d.ts +6 -0
- package/dist/types/components/MessageList/GiphyPreviewMessage.d.ts.map +1 -0
- package/dist/types/components/MessageList/MessageList.d.ts +80 -0
- package/dist/types/components/MessageList/MessageList.d.ts.map +1 -0
- package/dist/types/components/MessageList/MessageListMainPanel.d.ts +4 -0
- package/dist/types/components/MessageList/MessageListMainPanel.d.ts.map +1 -0
- package/dist/types/components/MessageList/NewMessageNotification.d.ts +10 -0
- package/dist/types/components/MessageList/NewMessageNotification.d.ts.map +1 -0
- package/dist/types/components/MessageList/ScrollToLatestMessageButton.d.ts +11 -0
- package/dist/types/components/MessageList/ScrollToLatestMessageButton.d.ts.map +1 -0
- package/dist/types/components/MessageList/UnreadMessagesNotification.d.ts +16 -0
- package/dist/types/components/MessageList/UnreadMessagesNotification.d.ts.map +1 -0
- package/dist/types/components/MessageList/UnreadMessagesSeparator.d.ts +13 -0
- package/dist/types/components/MessageList/UnreadMessagesSeparator.d.ts.map +1 -0
- package/dist/types/components/MessageList/VirtualizedMessageList.d.ts +145 -0
- package/dist/types/components/MessageList/VirtualizedMessageList.d.ts.map +1 -0
- package/dist/types/components/MessageList/VirtualizedMessageListComponents.d.ts +17 -0
- package/dist/types/components/MessageList/VirtualizedMessageListComponents.d.ts.map +1 -0
- package/dist/types/components/MessageList/hooks/MessageList/index.d.ts +7 -0
- package/dist/types/components/MessageList/hooks/MessageList/index.d.ts.map +1 -0
- package/dist/types/components/MessageList/hooks/MessageList/scrollInstrumentation.d.ts +2 -0
- package/dist/types/components/MessageList/hooks/MessageList/scrollInstrumentation.d.ts.map +1 -0
- package/dist/types/components/MessageList/hooks/MessageList/useEnrichedMessages.d.ts +18 -0
- package/dist/types/components/MessageList/hooks/MessageList/useEnrichedMessages.d.ts.map +1 -0
- package/dist/types/components/MessageList/hooks/MessageList/useFloatingDateSeparatorMessageList.d.ts +16 -0
- package/dist/types/components/MessageList/hooks/MessageList/useFloatingDateSeparatorMessageList.d.ts.map +1 -0
- package/dist/types/components/MessageList/hooks/MessageList/useMessageListElements.d.ts +19 -0
- package/dist/types/components/MessageList/hooks/MessageList/useMessageListElements.d.ts.map +1 -0
- package/dist/types/components/MessageList/hooks/MessageList/useMessageListScrollManager.d.ts +45 -0
- package/dist/types/components/MessageList/hooks/MessageList/useMessageListScrollManager.d.ts.map +1 -0
- package/dist/types/components/MessageList/hooks/MessageList/useScrollLocationLogic.d.ts +21 -0
- package/dist/types/components/MessageList/hooks/MessageList/useScrollLocationLogic.d.ts.map +1 -0
- package/dist/types/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.d.ts +11 -0
- package/dist/types/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.d.ts.map +1 -0
- package/dist/types/components/MessageList/hooks/VirtualizedMessageList/index.d.ts +9 -0
- package/dist/types/components/MessageList/hooks/VirtualizedMessageList/index.d.ts.map +1 -0
- package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useFloatingDateSeparator.d.ts +12 -0
- package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useFloatingDateSeparator.d.ts.map +1 -0
- package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.d.ts +7 -0
- package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.d.ts.map +1 -0
- package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useMessageSetKey.d.ts +9 -0
- package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useMessageSetKey.d.ts.map +1 -0
- package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useNewMessageNotification.d.ts +10 -0
- package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useNewMessageNotification.d.ts.map +1 -0
- package/dist/types/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.d.ts +3 -0
- package/dist/types/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.d.ts.map +1 -0
- package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.d.ts +10 -0
- package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.d.ts.map +1 -0
- package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useShouldForceScrollToBottom.d.ts +3 -0
- package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useShouldForceScrollToBottom.d.ts.map +1 -0
- package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.d.ts +23 -0
- package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.d.ts.map +1 -0
- package/dist/types/components/MessageList/hooks/index.d.ts +9 -0
- package/dist/types/components/MessageList/hooks/index.d.ts.map +1 -0
- package/dist/types/components/MessageList/hooks/useLastDeliveredData.d.ts +10 -0
- package/dist/types/components/MessageList/hooks/useLastDeliveredData.d.ts.map +1 -0
- package/dist/types/components/MessageList/hooks/useLastOwnMessage.d.ts +6 -0
- package/dist/types/components/MessageList/hooks/useLastOwnMessage.d.ts.map +1 -0
- package/dist/types/components/MessageList/hooks/useLastReadData.d.ts +10 -0
- package/dist/types/components/MessageList/hooks/useLastReadData.d.ts.map +1 -0
- package/dist/types/components/MessageList/hooks/useMarkRead.d.ts +17 -0
- package/dist/types/components/MessageList/hooks/useMarkRead.d.ts.map +1 -0
- package/dist/types/components/MessageList/index.d.ts +12 -0
- package/dist/types/components/MessageList/index.d.ts.map +1 -0
- package/dist/types/components/MessageList/renderMessages.d.ts +36 -0
- package/dist/types/components/MessageList/renderMessages.d.ts.map +1 -0
- package/dist/types/components/MessageList/utils.d.ts +83 -0
- package/dist/types/components/MessageList/utils.d.ts.map +1 -0
- package/dist/types/components/Modal/CloseButtonOnModalOverlay.d.ts +3 -0
- package/dist/types/components/Modal/CloseButtonOnModalOverlay.d.ts.map +1 -0
- package/dist/types/components/Modal/GlobalModal.d.ts +17 -0
- package/dist/types/components/Modal/GlobalModal.d.ts.map +1 -0
- package/dist/types/components/Modal/icons.d.ts +2 -0
- package/dist/types/components/Modal/icons.d.ts.map +1 -0
- package/dist/types/components/Modal/index.d.ts +2 -0
- package/dist/types/components/Modal/index.d.ts.map +1 -0
- package/dist/types/components/Notifications/Notification.d.ts +26 -0
- package/dist/types/components/Notifications/Notification.d.ts.map +1 -0
- package/dist/types/components/Notifications/NotificationList.d.ts +27 -0
- package/dist/types/components/Notifications/NotificationList.d.ts.map +1 -0
- package/dist/types/components/Notifications/hooks/index.d.ts +3 -0
- package/dist/types/components/Notifications/hooks/index.d.ts.map +1 -0
- package/dist/types/components/Notifications/hooks/useNotificationTarget.d.ts +6 -0
- package/dist/types/components/Notifications/hooks/useNotificationTarget.d.ts.map +1 -0
- package/dist/types/components/Notifications/hooks/useNotifications.d.ts +26 -0
- package/dist/types/components/Notifications/hooks/useNotifications.d.ts.map +1 -0
- package/dist/types/components/Notifications/index.d.ts +5 -0
- package/dist/types/components/Notifications/index.d.ts.map +1 -0
- package/dist/types/components/Notifications/notificationTarget.d.ts +16 -0
- package/dist/types/components/Notifications/notificationTarget.d.ts.map +1 -0
- package/dist/types/components/Poll/Poll.d.ts +5 -0
- package/dist/types/components/Poll/Poll.d.ts.map +1 -0
- package/dist/types/components/Poll/PollActions/AddCommentPrompt.d.ts +5 -0
- package/dist/types/components/Poll/PollActions/AddCommentPrompt.d.ts.map +1 -0
- package/dist/types/components/Poll/PollActions/EndPollAlert.d.ts +2 -0
- package/dist/types/components/Poll/PollActions/EndPollAlert.d.ts.map +1 -0
- package/dist/types/components/Poll/PollActions/PollAction.d.ts +15 -0
- package/dist/types/components/Poll/PollActions/PollAction.d.ts.map +1 -0
- package/dist/types/components/Poll/PollActions/PollActions.d.ts +13 -0
- package/dist/types/components/Poll/PollActions/PollActions.d.ts.map +1 -0
- package/dist/types/components/Poll/PollActions/PollAnswerList.d.ts +5 -0
- package/dist/types/components/Poll/PollActions/PollAnswerList.d.ts.map +1 -0
- package/dist/types/components/Poll/PollActions/PollOptionsFullList.d.ts +2 -0
- package/dist/types/components/Poll/PollActions/PollOptionsFullList.d.ts.map +1 -0
- package/dist/types/components/Poll/PollActions/PollQuestion.d.ts +5 -0
- package/dist/types/components/Poll/PollActions/PollQuestion.d.ts.map +1 -0
- package/dist/types/components/Poll/PollActions/PollResults/PollOptionWithVotes.d.ts +9 -0
- package/dist/types/components/Poll/PollActions/PollResults/PollOptionWithVotes.d.ts.map +1 -0
- package/dist/types/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.d.ts +11 -0
- package/dist/types/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.d.ts.map +1 -0
- package/dist/types/components/Poll/PollActions/PollResults/PollOptionWithVotesList.d.ts +7 -0
- package/dist/types/components/Poll/PollActions/PollResults/PollOptionWithVotesList.d.ts.map +1 -0
- package/dist/types/components/Poll/PollActions/PollResults/PollResults.d.ts +2 -0
- package/dist/types/components/Poll/PollActions/PollResults/PollResults.d.ts.map +1 -0
- package/dist/types/components/Poll/PollActions/PollResults/index.d.ts +2 -0
- package/dist/types/components/Poll/PollActions/PollResults/index.d.ts.map +1 -0
- package/dist/types/components/Poll/PollActions/SuggestPollOptionPrompt.d.ts +3 -0
- package/dist/types/components/Poll/PollActions/SuggestPollOptionPrompt.d.ts.map +1 -0
- package/dist/types/components/Poll/PollActions/index.d.ts +8 -0
- package/dist/types/components/Poll/PollActions/index.d.ts.map +1 -0
- package/dist/types/components/Poll/PollContent.d.ts +2 -0
- package/dist/types/components/Poll/PollContent.d.ts.map +1 -0
- package/dist/types/components/Poll/PollCreationDialog/MultipleAnswersField.d.ts +2 -0
- package/dist/types/components/Poll/PollCreationDialog/MultipleAnswersField.d.ts.map +1 -0
- package/dist/types/components/Poll/PollCreationDialog/NameField.d.ts +2 -0
- package/dist/types/components/Poll/PollCreationDialog/NameField.d.ts.map +1 -0
- package/dist/types/components/Poll/PollCreationDialog/OptionFieldSet.d.ts +2 -0
- package/dist/types/components/Poll/PollCreationDialog/OptionFieldSet.d.ts.map +1 -0
- package/dist/types/components/Poll/PollCreationDialog/PollCreationDialog.d.ts +5 -0
- package/dist/types/components/Poll/PollCreationDialog/PollCreationDialog.d.ts.map +1 -0
- package/dist/types/components/Poll/PollCreationDialog/PollCreationDialogControls.d.ts +5 -0
- package/dist/types/components/Poll/PollCreationDialog/PollCreationDialogControls.d.ts.map +1 -0
- package/dist/types/components/Poll/PollCreationDialog/index.d.ts +2 -0
- package/dist/types/components/Poll/PollCreationDialog/index.d.ts.map +1 -0
- package/dist/types/components/Poll/PollCreationDialog/types.d.ts +8 -0
- package/dist/types/components/Poll/PollCreationDialog/types.d.ts.map +1 -0
- package/dist/types/components/Poll/PollHeader.d.ts +2 -0
- package/dist/types/components/Poll/PollHeader.d.ts.map +1 -0
- package/dist/types/components/Poll/PollOptionList.d.ts +7 -0
- package/dist/types/components/Poll/PollOptionList.d.ts.map +1 -0
- package/dist/types/components/Poll/PollOptionSelector.d.ts +18 -0
- package/dist/types/components/Poll/PollOptionSelector.d.ts.map +1 -0
- package/dist/types/components/Poll/PollVote.d.ts +11 -0
- package/dist/types/components/Poll/PollVote.d.ts.map +1 -0
- package/dist/types/components/Poll/constants.d.ts +4 -0
- package/dist/types/components/Poll/constants.d.ts.map +1 -0
- package/dist/types/components/Poll/hooks/index.d.ts +3 -0
- package/dist/types/components/Poll/hooks/index.d.ts.map +1 -0
- package/dist/types/components/Poll/hooks/useManagePollVotesRealtime.d.ts +4 -0
- package/dist/types/components/Poll/hooks/useManagePollVotesRealtime.d.ts.map +1 -0
- package/dist/types/components/Poll/hooks/usePollAnswerPagination.d.ts +13 -0
- package/dist/types/components/Poll/hooks/usePollAnswerPagination.d.ts.map +1 -0
- package/dist/types/components/Poll/hooks/usePollOptionVotesPagination.d.ts +13 -0
- package/dist/types/components/Poll/hooks/usePollOptionVotesPagination.d.ts.map +1 -0
- package/dist/types/components/Poll/index.d.ts +10 -0
- package/dist/types/components/Poll/index.d.ts.map +1 -0
- package/dist/types/components/Portal/Portal.d.ts +7 -0
- package/dist/types/components/Portal/Portal.d.ts.map +1 -0
- package/dist/types/components/ReactFileUtilities/LoadingIndicator.d.ts +8 -0
- package/dist/types/components/ReactFileUtilities/LoadingIndicator.d.ts.map +1 -0
- package/dist/types/components/ReactFileUtilities/UploadButton.d.ts +18 -0
- package/dist/types/components/ReactFileUtilities/UploadButton.d.ts.map +1 -0
- package/dist/types/components/ReactFileUtilities/index.d.ts +5 -0
- package/dist/types/components/ReactFileUtilities/index.d.ts.map +1 -0
- package/dist/types/components/ReactFileUtilities/types.d.ts +3 -0
- package/dist/types/components/ReactFileUtilities/types.d.ts.map +1 -0
- package/dist/types/components/ReactFileUtilities/utils.d.ts +16 -0
- package/dist/types/components/ReactFileUtilities/utils.d.ts.map +1 -0
- package/dist/types/components/Reactions/MessageReactions.d.ts +41 -0
- package/dist/types/components/Reactions/MessageReactions.d.ts.map +1 -0
- package/dist/types/components/Reactions/MessageReactionsDetail.d.ts +14 -0
- package/dist/types/components/Reactions/MessageReactionsDetail.d.ts.map +1 -0
- package/dist/types/components/Reactions/ReactionSelector.d.ts +19 -0
- package/dist/types/components/Reactions/ReactionSelector.d.ts.map +1 -0
- package/dist/types/components/Reactions/ReactionSelectorWithButton.d.ts +12 -0
- package/dist/types/components/Reactions/ReactionSelectorWithButton.d.ts.map +1 -0
- package/dist/types/components/Reactions/SpriteImage.d.ts +13 -0
- package/dist/types/components/Reactions/SpriteImage.d.ts.map +1 -0
- package/dist/types/components/Reactions/StreamEmoji.d.ts +19 -0
- package/dist/types/components/Reactions/StreamEmoji.d.ts.map +1 -0
- package/dist/types/components/Reactions/hooks/useFetchReactions.d.ts +15 -0
- package/dist/types/components/Reactions/hooks/useFetchReactions.d.ts.map +1 -0
- package/dist/types/components/Reactions/hooks/useProcessReactions.d.ts +14 -0
- package/dist/types/components/Reactions/hooks/useProcessReactions.d.ts.map +1 -0
- package/dist/types/components/Reactions/index.d.ts +7 -0
- package/dist/types/components/Reactions/index.d.ts.map +1 -0
- package/dist/types/components/Reactions/reactionOptions.d.ts +29 -0
- package/dist/types/components/Reactions/reactionOptions.d.ts.map +1 -0
- package/dist/types/components/Reactions/types.d.ts +16 -0
- package/dist/types/components/Reactions/types.d.ts.map +1 -0
- package/dist/types/components/Reactions/utils/utils.d.ts +4 -0
- package/dist/types/components/Reactions/utils/utils.d.ts.map +1 -0
- package/dist/types/components/SafeAnchor/SafeAnchor.d.ts +18 -0
- package/dist/types/components/SafeAnchor/SafeAnchor.d.ts.map +1 -0
- package/dist/types/components/SafeAnchor/index.d.ts +2 -0
- package/dist/types/components/SafeAnchor/index.d.ts.map +1 -0
- package/dist/types/components/Search/Search.d.ts +12 -0
- package/dist/types/components/Search/Search.d.ts.map +1 -0
- package/dist/types/components/Search/SearchBar/SearchBar.d.ts +2 -0
- package/dist/types/components/Search/SearchBar/SearchBar.d.ts.map +1 -0
- package/dist/types/components/Search/SearchBar/index.d.ts +2 -0
- package/dist/types/components/Search/SearchBar/index.d.ts.map +1 -0
- package/dist/types/components/Search/SearchContext.d.ts +21 -0
- package/dist/types/components/Search/SearchContext.d.ts.map +1 -0
- package/dist/types/components/Search/SearchResults/SearchResultItem.d.ts +19 -0
- package/dist/types/components/Search/SearchResults/SearchResultItem.d.ts.map +1 -0
- package/dist/types/components/Search/SearchResults/SearchResults.d.ts +2 -0
- package/dist/types/components/Search/SearchResults/SearchResults.d.ts.map +1 -0
- package/dist/types/components/Search/SearchResults/SearchResultsHeader.d.ts +2 -0
- package/dist/types/components/Search/SearchResults/SearchResultsHeader.d.ts.map +1 -0
- package/dist/types/components/Search/SearchResults/SearchResultsPresearch.d.ts +6 -0
- package/dist/types/components/Search/SearchResults/SearchResultsPresearch.d.ts.map +1 -0
- package/dist/types/components/Search/SearchResults/SearchSourceResultList.d.ts +8 -0
- package/dist/types/components/Search/SearchResults/SearchSourceResultList.d.ts.map +1 -0
- package/dist/types/components/Search/SearchResults/SearchSourceResultListFooter.d.ts +2 -0
- package/dist/types/components/Search/SearchResults/SearchSourceResultListFooter.d.ts.map +1 -0
- package/dist/types/components/Search/SearchResults/SearchSourceResults.d.ts +6 -0
- package/dist/types/components/Search/SearchResults/SearchSourceResults.d.ts.map +1 -0
- package/dist/types/components/Search/SearchResults/SearchSourceResultsEmpty.d.ts +2 -0
- package/dist/types/components/Search/SearchResults/SearchSourceResultsEmpty.d.ts.map +1 -0
- package/dist/types/components/Search/SearchResults/SearchSourceResultsHeader.d.ts +2 -0
- package/dist/types/components/Search/SearchResults/SearchSourceResultsHeader.d.ts.map +1 -0
- package/dist/types/components/Search/SearchResults/SearchSourceResultsLoadingIndicator.d.ts +2 -0
- package/dist/types/components/Search/SearchResults/SearchSourceResultsLoadingIndicator.d.ts.map +1 -0
- package/dist/types/components/Search/SearchResults/index.d.ts +10 -0
- package/dist/types/components/Search/SearchResults/index.d.ts.map +1 -0
- package/dist/types/components/Search/SearchSourceResultsContext.d.ts +15 -0
- package/dist/types/components/Search/SearchSourceResultsContext.d.ts.map +1 -0
- package/dist/types/components/Search/hooks/index.d.ts +3 -0
- package/dist/types/components/Search/hooks/index.d.ts.map +1 -0
- package/dist/types/components/Search/hooks/useSearchFocusedMessage.d.ts +2 -0
- package/dist/types/components/Search/hooks/useSearchFocusedMessage.d.ts.map +1 -0
- package/dist/types/components/Search/hooks/useSearchQueriesInProgress.d.ts +6 -0
- package/dist/types/components/Search/hooks/useSearchQueriesInProgress.d.ts.map +1 -0
- package/dist/types/components/Search/index.d.ts +6 -0
- package/dist/types/components/Search/index.d.ts.map +1 -0
- package/dist/types/components/SummarizedMessagePreview/SummarizedMessagePreview.d.ts +3 -0
- package/dist/types/components/SummarizedMessagePreview/SummarizedMessagePreview.d.ts.map +1 -0
- package/dist/types/components/SummarizedMessagePreview/hooks/index.d.ts +2 -0
- package/dist/types/components/SummarizedMessagePreview/hooks/index.d.ts.map +1 -0
- package/dist/types/components/SummarizedMessagePreview/hooks/useLatestMessagePreview.d.ts +51 -0
- package/dist/types/components/SummarizedMessagePreview/hooks/useLatestMessagePreview.d.ts.map +1 -0
- package/dist/types/components/SummarizedMessagePreview/index.d.ts +3 -0
- package/dist/types/components/SummarizedMessagePreview/index.d.ts.map +1 -0
- package/dist/types/components/TextareaComposer/SuggestionList/CommandItem.d.ts +8 -0
- package/dist/types/components/TextareaComposer/SuggestionList/CommandItem.d.ts.map +1 -0
- package/dist/types/components/TextareaComposer/SuggestionList/EmoticonItem.d.ts +19 -0
- package/dist/types/components/TextareaComposer/SuggestionList/EmoticonItem.d.ts.map +1 -0
- package/dist/types/components/TextareaComposer/SuggestionList/SuggestionList.d.ts +15 -0
- package/dist/types/components/TextareaComposer/SuggestionList/SuggestionList.d.ts.map +1 -0
- package/dist/types/components/TextareaComposer/SuggestionList/SuggestionListItem.d.ts +18 -0
- package/dist/types/components/TextareaComposer/SuggestionList/SuggestionListItem.d.ts.map +1 -0
- package/dist/types/components/TextareaComposer/SuggestionList/UserItem.d.ts +25 -0
- package/dist/types/components/TextareaComposer/SuggestionList/UserItem.d.ts.map +1 -0
- package/dist/types/components/TextareaComposer/SuggestionList/index.d.ts +6 -0
- package/dist/types/components/TextareaComposer/SuggestionList/index.d.ts.map +1 -0
- package/dist/types/components/TextareaComposer/TextareaComposer.d.ts +12 -0
- package/dist/types/components/TextareaComposer/TextareaComposer.d.ts.map +1 -0
- package/dist/types/components/TextareaComposer/hooks/index.d.ts +1 -0
- package/dist/types/components/TextareaComposer/hooks/index.d.ts.map +1 -0
- package/dist/types/components/TextareaComposer/hooks/useTextareaPlaceholder.d.ts +6 -0
- package/dist/types/components/TextareaComposer/hooks/useTextareaPlaceholder.d.ts.map +1 -0
- package/dist/types/components/TextareaComposer/index.d.ts +3 -0
- package/dist/types/components/TextareaComposer/index.d.ts.map +1 -0
- package/dist/types/components/Thread/LegacyThreadContext.d.ts +9 -0
- package/dist/types/components/Thread/LegacyThreadContext.d.ts.map +1 -0
- package/dist/types/components/Thread/Thread.d.ts +30 -0
- package/dist/types/components/Thread/Thread.d.ts.map +1 -0
- package/dist/types/components/Thread/ThreadHead.d.ts +3 -0
- package/dist/types/components/Thread/ThreadHead.d.ts.map +1 -0
- package/dist/types/components/Thread/ThreadHeader.d.ts +14 -0
- package/dist/types/components/Thread/ThreadHeader.d.ts.map +1 -0
- package/dist/types/components/Thread/ThreadStart.d.ts +2 -0
- package/dist/types/components/Thread/ThreadStart.d.ts.map +1 -0
- package/dist/types/components/Thread/index.d.ts +5 -0
- package/dist/types/components/Thread/index.d.ts.map +1 -0
- package/dist/types/components/Threads/ThreadContext.d.ts +10 -0
- package/dist/types/components/Threads/ThreadContext.d.ts.map +1 -0
- package/dist/types/components/Threads/ThreadList/ThreadList.d.ts +9 -0
- package/dist/types/components/Threads/ThreadList/ThreadList.d.ts.map +1 -0
- package/dist/types/components/Threads/ThreadList/ThreadListEmptyPlaceholder.d.ts +2 -0
- package/dist/types/components/Threads/ThreadList/ThreadListEmptyPlaceholder.d.ts.map +1 -0
- package/dist/types/components/Threads/ThreadList/ThreadListHeader.d.ts +6 -0
- package/dist/types/components/Threads/ThreadList/ThreadListHeader.d.ts.map +1 -0
- package/dist/types/components/Threads/ThreadList/ThreadListItem.d.ts +9 -0
- package/dist/types/components/Threads/ThreadList/ThreadListItem.d.ts.map +1 -0
- package/dist/types/components/Threads/ThreadList/ThreadListItemUI.d.ts +6 -0
- package/dist/types/components/Threads/ThreadList/ThreadListItemUI.d.ts.map +1 -0
- package/dist/types/components/Threads/ThreadList/ThreadListLoadingIndicator.d.ts +2 -0
- package/dist/types/components/Threads/ThreadList/ThreadListLoadingIndicator.d.ts.map +1 -0
- package/dist/types/components/Threads/ThreadList/ThreadListUnseenThreadsBanner.d.ts +2 -0
- package/dist/types/components/Threads/ThreadList/ThreadListUnseenThreadsBanner.d.ts.map +1 -0
- package/dist/types/components/Threads/ThreadList/index.d.ts +4 -0
- package/dist/types/components/Threads/ThreadList/index.d.ts.map +1 -0
- package/dist/types/components/Threads/UnreadCountBadge.d.ts +6 -0
- package/dist/types/components/Threads/UnreadCountBadge.d.ts.map +1 -0
- package/dist/types/components/Threads/hooks/useThreadManagerState.d.ts +3 -0
- package/dist/types/components/Threads/hooks/useThreadManagerState.d.ts.map +1 -0
- package/dist/types/components/Threads/hooks/useThreadState.d.ts +6 -0
- package/dist/types/components/Threads/hooks/useThreadState.d.ts.map +1 -0
- package/dist/types/components/Threads/index.d.ts +3 -0
- package/dist/types/components/Threads/index.d.ts.map +1 -0
- package/dist/types/components/Tooltip/Tooltip.d.ts +16 -0
- package/dist/types/components/Tooltip/Tooltip.d.ts.map +1 -0
- package/dist/types/components/Tooltip/hooks/index.d.ts +2 -0
- package/dist/types/components/Tooltip/hooks/index.d.ts.map +1 -0
- package/dist/types/components/Tooltip/hooks/useEnterLeaveHandlers.d.ts +7 -0
- package/dist/types/components/Tooltip/hooks/useEnterLeaveHandlers.d.ts.map +1 -0
- package/dist/types/components/Tooltip/index.d.ts +2 -0
- package/dist/types/components/Tooltip/index.d.ts.map +1 -0
- package/dist/types/components/TypingIndicator/TypingIndicator.d.ts +9 -0
- package/dist/types/components/TypingIndicator/TypingIndicator.d.ts.map +1 -0
- package/dist/types/components/TypingIndicator/TypingIndicatorDots.d.ts +3 -0
- package/dist/types/components/TypingIndicator/TypingIndicatorDots.d.ts.map +1 -0
- package/dist/types/components/TypingIndicator/TypingIndicatorHeader.d.ts +10 -0
- package/dist/types/components/TypingIndicator/TypingIndicatorHeader.d.ts.map +1 -0
- package/dist/types/components/TypingIndicator/hooks/index.d.ts +3 -0
- package/dist/types/components/TypingIndicator/hooks/index.d.ts.map +1 -0
- package/dist/types/components/TypingIndicator/hooks/useDebouncedTypingActive.d.ts +18 -0
- package/dist/types/components/TypingIndicator/hooks/useDebouncedTypingActive.d.ts.map +1 -0
- package/dist/types/components/TypingIndicator/index.d.ts +3 -0
- package/dist/types/components/TypingIndicator/index.d.ts.map +1 -0
- package/dist/types/components/UtilityComponents/ErrorBoundary.d.ts +17 -0
- package/dist/types/components/UtilityComponents/ErrorBoundary.d.ts.map +1 -0
- package/dist/types/components/UtilityComponents/NullComponent.d.ts +2 -0
- package/dist/types/components/UtilityComponents/NullComponent.d.ts.map +1 -0
- package/dist/types/components/UtilityComponents/index.d.ts +3 -0
- package/dist/types/components/UtilityComponents/index.d.ts.map +1 -0
- package/dist/types/components/UtilityComponents/useStableId.d.ts +6 -0
- package/dist/types/components/UtilityComponents/useStableId.d.ts.map +1 -0
- package/dist/types/components/VideoPlayer/VideoPlayer.d.ts +7 -0
- package/dist/types/components/VideoPlayer/VideoPlayer.d.ts.map +1 -0
- package/dist/types/components/VideoPlayer/VideoThumbnail.d.ts +6 -0
- package/dist/types/components/VideoPlayer/VideoThumbnail.d.ts.map +1 -0
- package/dist/types/components/VideoPlayer/index.d.ts +2 -0
- package/dist/types/components/VideoPlayer/index.d.ts.map +1 -0
- package/dist/types/components/Window/Window.d.ts +11 -0
- package/dist/types/components/Window/Window.d.ts.map +1 -0
- package/dist/types/components/Window/index.d.ts +2 -0
- package/dist/types/components/Window/index.d.ts.map +1 -0
- package/dist/types/components/index.d.ts +46 -0
- package/dist/types/components/index.d.ts.map +1 -0
- package/dist/types/constants/limits.d.ts +6 -0
- package/dist/types/constants/limits.d.ts.map +1 -0
- package/dist/types/constants/messageTypes.d.ts +5 -0
- package/dist/types/constants/messageTypes.d.ts.map +1 -0
- package/dist/types/context/AttachmentSelectorContext.d.ts +9 -0
- package/dist/types/context/AttachmentSelectorContext.d.ts.map +1 -0
- package/dist/types/context/ChannelActionContext.d.ts +46 -0
- package/dist/types/context/ChannelActionContext.d.ts.map +1 -0
- package/dist/types/context/ChannelListContext.d.ts +31 -0
- package/dist/types/context/ChannelListContext.d.ts.map +1 -0
- package/dist/types/context/ChannelStateContext.d.ts +51 -0
- package/dist/types/context/ChannelStateContext.d.ts.map +1 -0
- package/dist/types/context/ChatContext.d.ts +48 -0
- package/dist/types/context/ChatContext.d.ts.map +1 -0
- package/dist/types/context/ComponentContext.d.ts +206 -0
- package/dist/types/context/ComponentContext.d.ts.map +1 -0
- package/dist/types/context/DialogManagerContext.d.ts +30 -0
- package/dist/types/context/DialogManagerContext.d.ts.map +1 -0
- package/dist/types/context/MessageBounceContext.d.ts +12 -0
- package/dist/types/context/MessageBounceContext.d.ts.map +1 -0
- package/dist/types/context/MessageComposerContext.d.ts +11 -0
- package/dist/types/context/MessageComposerContext.d.ts.map +1 -0
- package/dist/types/context/MessageContext.d.ts +124 -0
- package/dist/types/context/MessageContext.d.ts.map +1 -0
- package/dist/types/context/MessageListContext.d.ts +20 -0
- package/dist/types/context/MessageListContext.d.ts.map +1 -0
- package/dist/types/context/MessageTranslationViewContext.d.ts +66 -0
- package/dist/types/context/MessageTranslationViewContext.d.ts.map +1 -0
- package/dist/types/context/ModalContext.d.ts +11 -0
- package/dist/types/context/ModalContext.d.ts.map +1 -0
- package/dist/types/context/PollContext.d.ts +12 -0
- package/dist/types/context/PollContext.d.ts.map +1 -0
- package/dist/types/context/TranslationContext.d.ts +16 -0
- package/dist/types/context/TranslationContext.d.ts.map +1 -0
- package/dist/types/context/TypingContext.d.ts +12 -0
- package/dist/types/context/TypingContext.d.ts.map +1 -0
- package/dist/types/context/VirtualizedMessageListContext.d.ts +15 -0
- package/dist/types/context/VirtualizedMessageListContext.d.ts.map +1 -0
- package/dist/types/context/WithComponents.d.ts +6 -0
- package/dist/types/context/WithComponents.d.ts.map +1 -0
- package/dist/types/context/index.d.ts +17 -0
- package/dist/types/context/index.d.ts.map +1 -0
- package/dist/types/i18n/Streami18n.d.ts +607 -0
- package/dist/types/i18n/Streami18n.d.ts.map +1 -0
- package/dist/types/i18n/TranslationBuilder/TranslationBuilder.d.ts +36 -0
- package/dist/types/i18n/TranslationBuilder/TranslationBuilder.d.ts.map +1 -0
- package/dist/types/i18n/TranslationBuilder/index.d.ts +3 -0
- package/dist/types/i18n/TranslationBuilder/index.d.ts.map +1 -0
- package/dist/types/i18n/TranslationBuilder/notifications/NotificationTranslationTopic.d.ts +12 -0
- package/dist/types/i18n/TranslationBuilder/notifications/NotificationTranslationTopic.d.ts.map +1 -0
- package/dist/types/i18n/TranslationBuilder/notifications/index.d.ts +3 -0
- package/dist/types/i18n/TranslationBuilder/notifications/index.d.ts.map +1 -0
- package/dist/types/i18n/TranslationBuilder/notifications/translators.d.ts +8 -0
- package/dist/types/i18n/TranslationBuilder/notifications/translators.d.ts.map +1 -0
- package/dist/types/i18n/TranslationBuilder/notifications/translatorsByNotificationType.d.ts +4 -0
- package/dist/types/i18n/TranslationBuilder/notifications/translatorsByNotificationType.d.ts.map +1 -0
- package/dist/types/i18n/TranslationBuilder/notifications/types.d.ts +5 -0
- package/dist/types/i18n/TranslationBuilder/notifications/types.d.ts.map +1 -0
- package/dist/types/i18n/index.d.ts +6 -0
- package/dist/types/i18n/index.d.ts.map +1 -0
- package/dist/types/i18n/translations.d.ts +14 -0
- package/dist/types/i18n/translations.d.ts.map +1 -0
- package/dist/types/i18n/types.d.ts +112 -0
- package/dist/types/i18n/types.d.ts.map +1 -0
- package/dist/types/i18n/utils.d.ts +15 -0
- package/dist/types/i18n/utils.d.ts.map +1 -0
- package/dist/types/index.d.ts +7 -2
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/plugins/Emojis/EmojiPicker.d.ts +28 -0
- package/dist/types/plugins/Emojis/EmojiPicker.d.ts.map +1 -0
- package/dist/types/plugins/Emojis/index.d.ts +3 -0
- package/dist/types/plugins/Emojis/index.d.ts.map +1 -0
- package/dist/types/plugins/Emojis/middleware/index.d.ts +2 -0
- package/dist/types/plugins/Emojis/middleware/index.d.ts.map +1 -0
- package/dist/types/plugins/Emojis/middleware/textComposerEmojiMiddleware.d.ts +23 -0
- package/dist/types/plugins/Emojis/middleware/textComposerEmojiMiddleware.d.ts.map +1 -0
- package/dist/types/plugins/encoders/mp3.d.ts +2 -0
- package/dist/types/plugins/encoders/mp3.d.ts.map +1 -0
- package/dist/types/store/hooks/index.d.ts +2 -0
- package/dist/types/store/hooks/index.d.ts.map +1 -0
- package/dist/types/store/hooks/useStateStore.d.ts +4 -0
- package/dist/types/store/hooks/useStateStore.d.ts.map +1 -0
- package/dist/types/store/index.d.ts +2 -0
- package/dist/types/store/index.d.ts.map +1 -0
- package/dist/types/types/defaultDataInterfaces.d.ts +29 -0
- package/dist/types/types/defaultDataInterfaces.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +3 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/types.d.ts +57 -0
- package/dist/types/types/types.d.ts.map +1 -0
- package/dist/types/utils/browsers.d.ts +2 -0
- package/dist/types/utils/browsers.d.ts.map +1 -0
- package/dist/types/utils/deprecationWarning.d.ts +2 -0
- package/dist/types/utils/deprecationWarning.d.ts.map +1 -0
- package/dist/types/utils/findReverse.d.ts +2 -0
- package/dist/types/utils/findReverse.d.ts.map +1 -0
- package/dist/types/utils/getChannel.d.ts +21 -0
- package/dist/types/utils/getChannel.d.ts.map +1 -0
- package/dist/types/utils/getTextareaCaretRect.d.ts +8 -0
- package/dist/types/utils/getTextareaCaretRect.d.ts.map +1 -0
- package/dist/types/utils/getWholeChar.d.ts +2 -0
- package/dist/types/utils/getWholeChar.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +4 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/mergeDeep.d.ts +3 -0
- package/dist/types/utils/mergeDeep.d.ts.map +1 -0
- package/dist/types/utils/useStableCallback.d.ts +26 -0
- package/dist/types/utils/useStableCallback.d.ts.map +1 -0
- package/package.json +40 -67
- package/dist/components/AIStateIndicator/AIStateIndicator.d.ts +0 -6
- package/dist/components/AIStateIndicator/AIStateIndicator.js +0 -15
- package/dist/components/AIStateIndicator/hooks/useAIState.d.ts +0 -17
- package/dist/components/AIStateIndicator/hooks/useAIState.js +0 -47
- package/dist/components/AIStateIndicator/index.d.ts +0 -2
- package/dist/components/AIStateIndicator/index.js +0 -2
- package/dist/components/Attachment/Attachment.d.ts +0 -44
- package/dist/components/Attachment/Attachment.js +0 -94
- package/dist/components/Attachment/AttachmentActions.d.ts +0 -17
- package/dist/components/Attachment/AttachmentActions.js +0 -20
- package/dist/components/Attachment/AttachmentContainer.d.ts +0 -19
- package/dist/components/Attachment/AttachmentContainer.js +0 -158
- package/dist/components/Attachment/Audio.d.ts +0 -9
- package/dist/components/Attachment/Audio.js +0 -52
- package/dist/components/Attachment/Card.d.ts +0 -9
- package/dist/components/Attachment/Card.js +0 -109
- package/dist/components/Attachment/FileAttachment.d.ts +0 -6
- package/dist/components/Attachment/FileAttachment.js +0 -11
- package/dist/components/Attachment/Geolocation.d.ts +0 -13
- package/dist/components/Attachment/Geolocation.js +0 -34
- package/dist/components/Attachment/UnsupportedAttachment.d.ts +0 -6
- package/dist/components/Attachment/UnsupportedAttachment.js +0 -10
- package/dist/components/Attachment/VoiceRecording.d.ts +0 -16
- package/dist/components/Attachment/VoiceRecording.js +0 -67
- package/dist/components/Attachment/attachment-sizing.d.ts +0 -8
- package/dist/components/Attachment/attachment-sizing.js +0 -81
- package/dist/components/Attachment/audioSampling.d.ts +0 -9
- package/dist/components/Attachment/audioSampling.js +0 -81
- package/dist/components/Attachment/components/DownloadButton.d.ts +0 -6
- package/dist/components/Attachment/components/DownloadButton.js +0 -5
- package/dist/components/Attachment/components/FileSizeIndicator.d.ts +0 -12
- package/dist/components/Attachment/components/FileSizeIndicator.js +0 -9
- package/dist/components/Attachment/components/PlayButton.d.ts +0 -7
- package/dist/components/Attachment/components/PlayButton.js +0 -3
- package/dist/components/Attachment/components/PlaybackRateButton.d.ts +0 -3
- package/dist/components/Attachment/components/PlaybackRateButton.js +0 -2
- package/dist/components/Attachment/components/ProgressBar.d.ts +0 -6
- package/dist/components/Attachment/components/ProgressBar.js +0 -6
- package/dist/components/Attachment/components/WaveProgressBar.d.ts +0 -16
- package/dist/components/Attachment/components/WaveProgressBar.js +0 -84
- package/dist/components/Attachment/components/index.d.ts +0 -6
- package/dist/components/Attachment/components/index.js +0 -6
- package/dist/components/Attachment/hooks/useAudioController.d.ts +0 -28
- package/dist/components/Attachment/hooks/useAudioController.js +0 -127
- package/dist/components/Attachment/icons.d.ts +0 -7
- package/dist/components/Attachment/icons.js +0 -12
- package/dist/components/Attachment/index.d.ts +0 -14
- package/dist/components/Attachment/index.js +0 -14
- package/dist/components/Attachment/utils.d.ts +0 -23
- package/dist/components/Attachment/utils.js +0 -29
- package/dist/components/AudioPlayback/AudioPlayer.d.ts +0 -116
- package/dist/components/AudioPlayback/AudioPlayer.js +0 -456
- package/dist/components/AudioPlayback/AudioPlayerPool.d.ts +0 -49
- package/dist/components/AudioPlayback/AudioPlayerPool.js +0 -156
- package/dist/components/AudioPlayback/WithAudioPlayback.d.ts +0 -24
- package/dist/components/AudioPlayback/WithAudioPlayback.js +0 -57
- package/dist/components/AudioPlayback/index.d.ts +0 -3
- package/dist/components/AudioPlayback/index.js +0 -3
- package/dist/components/AudioPlayback/plugins/AudioPlayerNotificationsPlugin.d.ts +0 -7
- package/dist/components/AudioPlayback/plugins/AudioPlayerNotificationsPlugin.js +0 -25
- package/dist/components/AudioPlayback/plugins/AudioPlayerPlugin.d.ts +0 -10
- package/dist/components/AudioPlayback/plugins/AudioPlayerPlugin.js +0 -1
- package/dist/components/AudioPlayback/plugins/index.d.ts +0 -1
- package/dist/components/AudioPlayback/plugins/index.js +0 -1
- package/dist/components/Avatar/Avatar.d.ts +0 -20
- package/dist/components/Avatar/Avatar.js +0 -24
- package/dist/components/Avatar/ChannelAvatar.d.ts +0 -4
- package/dist/components/Avatar/ChannelAvatar.js +0 -8
- package/dist/components/Avatar/GroupAvatar.d.ts +0 -8
- package/dist/components/Avatar/GroupAvatar.js +0 -6
- package/dist/components/Avatar/index.d.ts +0 -3
- package/dist/components/Avatar/index.js +0 -3
- package/dist/components/Channel/Channel.d.ts +0 -67
- package/dist/components/Channel/Channel.js +0 -878
- package/dist/components/Channel/channelState.d.ts +0 -82
- package/dist/components/Channel/channelState.js +0 -181
- package/dist/components/Channel/constants.d.ts +0 -1
- package/dist/components/Channel/constants.js +0 -1
- package/dist/components/Channel/hooks/useChannelContainerClasses.d.ts +0 -9
- package/dist/components/Channel/hooks/useChannelContainerClasses.js +0 -17
- package/dist/components/Channel/hooks/useCreateChannelStateContext.d.ts +0 -5
- package/dist/components/Channel/hooks/useCreateChannelStateContext.js +0 -95
- package/dist/components/Channel/hooks/useCreateTypingContext.d.ts +0 -2
- package/dist/components/Channel/hooks/useCreateTypingContext.js +0 -11
- package/dist/components/Channel/hooks/useEditMessageHandler.d.ts +0 -4
- package/dist/components/Channel/hooks/useEditMessageHandler.js +0 -10
- package/dist/components/Channel/hooks/useIsMounted.d.ts +0 -2
- package/dist/components/Channel/hooks/useIsMounted.js +0 -11
- package/dist/components/Channel/hooks/useMentionsHandlers.d.ts +0 -4
- package/dist/components/Channel/hooks/useMentionsHandlers.js +0 -23
- package/dist/components/Channel/index.d.ts +0 -3
- package/dist/components/Channel/index.js +0 -3
- package/dist/components/Channel/utils.d.ts +0 -37
- package/dist/components/Channel/utils.js +0 -66
- package/dist/components/ChannelHeader/ChannelHeader.d.ts +0 -18
- package/dist/components/ChannelHeader/ChannelHeader.js +0 -40
- package/dist/components/ChannelHeader/icons.d.ts +0 -4
- package/dist/components/ChannelHeader/icons.js +0 -8
- package/dist/components/ChannelHeader/index.d.ts +0 -1
- package/dist/components/ChannelHeader/index.js +0 -1
- package/dist/components/ChannelList/ChannelList.d.ts +0 -99
- package/dist/components/ChannelList/ChannelList.js +0 -150
- package/dist/components/ChannelList/ChannelListMessenger.d.ts +0 -22
- package/dist/components/ChannelList/ChannelListMessenger.js +0 -19
- package/dist/components/ChannelList/hooks/index.d.ts +0 -14
- package/dist/components/ChannelList/hooks/index.js +0 -14
- package/dist/components/ChannelList/hooks/useChannelDeletedListener.d.ts +0 -2
- package/dist/components/ChannelList/hooks/useChannelDeletedListener.js +0 -26
- package/dist/components/ChannelList/hooks/useChannelHiddenListener.d.ts +0 -2
- package/dist/components/ChannelList/hooks/useChannelHiddenListener.js +0 -26
- package/dist/components/ChannelList/hooks/useChannelListShape.d.ts +0 -60
- package/dist/components/ChannelList/hooks/useChannelListShape.js +0 -373
- package/dist/components/ChannelList/hooks/useChannelMembershipState.d.ts +0 -3
- package/dist/components/ChannelList/hooks/useChannelMembershipState.js +0 -6
- package/dist/components/ChannelList/hooks/useChannelTruncatedListener.d.ts +0 -2
- package/dist/components/ChannelList/hooks/useChannelTruncatedListener.js +0 -20
- package/dist/components/ChannelList/hooks/useChannelUpdatedListener.d.ts +0 -2
- package/dist/components/ChannelList/hooks/useChannelUpdatedListener.js +0 -33
- package/dist/components/ChannelList/hooks/useChannelVisibleListener.d.ts +0 -2
- package/dist/components/ChannelList/hooks/useChannelVisibleListener.js +0 -26
- package/dist/components/ChannelList/hooks/useConnectionRecoveredListener.d.ts +0 -1
- package/dist/components/ChannelList/hooks/useConnectionRecoveredListener.js +0 -16
- package/dist/components/ChannelList/hooks/useMessageNewListener.d.ts +0 -2
- package/dist/components/ChannelList/hooks/useMessageNewListener.js +0 -38
- package/dist/components/ChannelList/hooks/useMobileNavigation.d.ts +0 -1
- package/dist/components/ChannelList/hooks/useMobileNavigation.js +0 -17
- package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.d.ts +0 -2
- package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.js +0 -33
- package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.d.ts +0 -2
- package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.js +0 -26
- package/dist/components/ChannelList/hooks/useNotificationRemovedFromChannelListener.d.ts +0 -2
- package/dist/components/ChannelList/hooks/useNotificationRemovedFromChannelListener.js +0 -19
- package/dist/components/ChannelList/hooks/usePaginatedChannels.d.ts +0 -18
- package/dist/components/ChannelList/hooks/usePaginatedChannels.js +0 -90
- package/dist/components/ChannelList/hooks/useSelectedChannelState.d.ts +0 -11
- package/dist/components/ChannelList/hooks/useSelectedChannelState.js +0 -20
- package/dist/components/ChannelList/hooks/useUserPresenceChangedListener.d.ts +0 -2
- package/dist/components/ChannelList/hooks/useUserPresenceChangedListener.js +0 -24
- package/dist/components/ChannelList/index.d.ts +0 -4
- package/dist/components/ChannelList/index.js +0 -4
- package/dist/components/ChannelList/utils.d.ts +0 -54
- package/dist/components/ChannelList/utils.js +0 -121
- package/dist/components/ChannelPreview/ChannelPreview.d.ts +0 -55
- package/dist/components/ChannelPreview/ChannelPreview.js +0 -95
- package/dist/components/ChannelPreview/ChannelPreviewActionButtons.d.ts +0 -6
- package/dist/components/ChannelPreview/ChannelPreviewActionButtons.js +0 -30
- package/dist/components/ChannelPreview/ChannelPreviewMessenger.d.ts +0 -7
- package/dist/components/ChannelPreview/ChannelPreviewMessenger.js +0 -38
- package/dist/components/ChannelPreview/hooks/index.d.ts +0 -2
- package/dist/components/ChannelPreview/hooks/index.js +0 -2
- package/dist/components/ChannelPreview/hooks/useChannelPreviewInfo.d.ts +0 -13
- package/dist/components/ChannelPreview/hooks/useChannelPreviewInfo.js +0 -32
- package/dist/components/ChannelPreview/hooks/useIsChannelMuted.d.ts +0 -6
- package/dist/components/ChannelPreview/hooks/useIsChannelMuted.js +0 -13
- package/dist/components/ChannelPreview/hooks/useMessageDeliveryStatus.d.ts +0 -15
- package/dist/components/ChannelPreview/hooks/useMessageDeliveryStatus.js +0 -72
- package/dist/components/ChannelPreview/icons.d.ts +0 -6
- package/dist/components/ChannelPreview/icons.js +0 -7
- package/dist/components/ChannelPreview/index.d.ts +0 -5
- package/dist/components/ChannelPreview/index.js +0 -5
- package/dist/components/ChannelPreview/utils.d.ts +0 -14
- package/dist/components/ChannelPreview/utils.js +0 -98
- package/dist/components/ChannelSearch/ChannelSearch.d.ts +0 -18
- package/dist/components/ChannelSearch/ChannelSearch.js +0 -23
- package/dist/components/ChannelSearch/SearchBar.d.ts +0 -31
- package/dist/components/ChannelSearch/SearchBar.js +0 -67
- package/dist/components/ChannelSearch/SearchInput.d.ts +0 -18
- package/dist/components/ChannelSearch/SearchInput.js +0 -7
- package/dist/components/ChannelSearch/SearchResults.d.ts +0 -32
- package/dist/components/ChannelSearch/SearchResults.js +0 -86
- package/dist/components/ChannelSearch/hooks/useChannelSearch.d.ts +0 -53
- package/dist/components/ChannelSearch/hooks/useChannelSearch.js +0 -195
- package/dist/components/ChannelSearch/icons.d.ts +0 -6
- package/dist/components/ChannelSearch/icons.js +0 -9
- package/dist/components/ChannelSearch/index.d.ts +0 -6
- package/dist/components/ChannelSearch/index.js +0 -5
- package/dist/components/ChannelSearch/utils.d.ts +0 -3
- package/dist/components/ChannelSearch/utils.js +0 -1
- package/dist/components/Chat/Chat.d.ts +0 -37
- package/dist/components/Chat/Chat.js +0 -47
- package/dist/components/Chat/hooks/useChannelsQueryState.d.ts +0 -11
- package/dist/components/Chat/hooks/useChannelsQueryState.js +0 -11
- package/dist/components/Chat/hooks/useChat.d.ts +0 -24
- package/dist/components/Chat/hooks/useChat.js +0 -95
- package/dist/components/Chat/hooks/useCreateChatClient.d.ts +0 -11
- package/dist/components/Chat/hooks/useCreateChatClient.js +0 -33
- package/dist/components/Chat/hooks/useCreateChatContext.d.ts +0 -2
- package/dist/components/Chat/hooks/useCreateChatContext.js +0 -40
- package/dist/components/Chat/index.d.ts +0 -3
- package/dist/components/Chat/index.js +0 -3
- package/dist/components/ChatView/ChatView.d.ts +0 -18
- package/dist/components/ChatView/ChatView.js +0 -104
- package/dist/components/ChatView/index.d.ts +0 -1
- package/dist/components/ChatView/index.js +0 -1
- package/dist/components/DateSeparator/DateSeparator.d.ts +0 -16
- package/dist/components/DateSeparator/DateSeparator.js +0 -24
- package/dist/components/DateSeparator/index.d.ts +0 -1
- package/dist/components/DateSeparator/index.js +0 -1
- package/dist/components/Dialog/ButtonWithSubmenu.d.ts +0 -11
- package/dist/components/Dialog/ButtonWithSubmenu.js +0 -88
- package/dist/components/Dialog/DialogAnchor.d.ts +0 -20
- package/dist/components/Dialog/DialogAnchor.js +0 -69
- package/dist/components/Dialog/DialogManager.d.ts +0 -53
- package/dist/components/Dialog/DialogManager.js +0 -144
- package/dist/components/Dialog/DialogMenu.d.ts +0 -4
- package/dist/components/Dialog/DialogMenu.js +0 -5
- package/dist/components/Dialog/DialogPortal.d.ts +0 -9
- package/dist/components/Dialog/DialogPortal.js +0 -35
- package/dist/components/Dialog/FormDialog.d.ts +0 -24
- package/dist/components/Dialog/FormDialog.js +0 -76
- package/dist/components/Dialog/PromptDialog.d.ts +0 -9
- package/dist/components/Dialog/PromptDialog.js +0 -7
- package/dist/components/Dialog/hooks/index.d.ts +0 -2
- package/dist/components/Dialog/hooks/index.js +0 -1
- package/dist/components/Dialog/hooks/useDialog.d.ts +0 -16
- package/dist/components/Dialog/hooks/useDialog.js +0 -41
- package/dist/components/Dialog/hooks/usePopoverPosition.d.ts +0 -68
- package/dist/components/Dialog/hooks/usePopoverPosition.js +0 -54
- package/dist/components/Dialog/index.d.ts +0 -5
- package/dist/components/Dialog/index.js +0 -5
- package/dist/components/DragAndDrop/DragAndDropContainer.d.ts +0 -8
- package/dist/components/DragAndDrop/DragAndDropContainer.js +0 -93
- package/dist/components/EmptyStateIndicator/EmptyStateIndicator.d.ts +0 -6
- package/dist/components/EmptyStateIndicator/EmptyStateIndicator.js +0 -24
- package/dist/components/EmptyStateIndicator/icons.d.ts +0 -2
- package/dist/components/EmptyStateIndicator/icons.js +0 -3
- package/dist/components/EmptyStateIndicator/index.d.ts +0 -1
- package/dist/components/EmptyStateIndicator/index.js +0 -1
- package/dist/components/EventComponent/EventComponent.d.ts +0 -14
- package/dist/components/EventComponent/EventComponent.js +0 -39
- package/dist/components/EventComponent/index.d.ts +0 -1
- package/dist/components/EventComponent/index.js +0 -1
- package/dist/components/Form/Dropdown.d.ts +0 -14
- package/dist/components/Form/Dropdown.js +0 -49
- package/dist/components/Form/FieldError.d.ts +0 -7
- package/dist/components/Form/FieldError.js +0 -3
- package/dist/components/Form/SwitchField.d.ts +0 -8
- package/dist/components/Form/SwitchField.js +0 -23
- package/dist/components/Gallery/BaseImage.d.ts +0 -3
- package/dist/components/Gallery/BaseImage.js +0 -18
- package/dist/components/Gallery/Gallery.d.ts +0 -17
- package/dist/components/Gallery/Gallery.js +0 -57
- package/dist/components/Gallery/Image.d.ts +0 -21
- package/dist/components/Gallery/Image.js +0 -26
- package/dist/components/Gallery/ModalGallery.d.ts +0 -9
- package/dist/components/Gallery/ModalGallery.js +0 -25
- package/dist/components/Gallery/index.d.ts +0 -4
- package/dist/components/Gallery/index.js +0 -4
- package/dist/components/InfiniteScrollPaginator/InfiniteScroll.d.ts +0 -45
- package/dist/components/InfiniteScrollPaginator/InfiniteScroll.js +0 -99
- package/dist/components/InfiniteScrollPaginator/InfiniteScrollPaginator.d.ts +0 -12
- package/dist/components/InfiniteScrollPaginator/InfiniteScrollPaginator.js +0 -74
- package/dist/components/InfiniteScrollPaginator/hooks/useCursorPaginator.d.ts +0 -18
- package/dist/components/InfiniteScrollPaginator/hooks/useCursorPaginator.js +0 -41
- package/dist/components/InfiniteScrollPaginator/index.d.ts +0 -1
- package/dist/components/InfiniteScrollPaginator/index.js +0 -1
- package/dist/components/LoadMore/LoadMoreButton.d.ts +0 -14
- package/dist/components/LoadMore/LoadMoreButton.js +0 -16
- package/dist/components/LoadMore/LoadMorePaginator.d.ts +0 -12
- package/dist/components/LoadMore/LoadMorePaginator.js +0 -16
- package/dist/components/LoadMore/index.d.ts +0 -2
- package/dist/components/LoadMore/index.js +0 -2
- package/dist/components/Loading/LoadingChannel.d.ts +0 -2
- package/dist/components/Loading/LoadingChannel.js +0 -20
- package/dist/components/Loading/LoadingChannels.d.ts +0 -5
- package/dist/components/Loading/LoadingChannels.js +0 -14
- package/dist/components/Loading/LoadingErrorIndicator.d.ts +0 -6
- package/dist/components/Loading/LoadingErrorIndicator.js +0 -12
- package/dist/components/Loading/LoadingIndicator.d.ts +0 -11
- package/dist/components/Loading/LoadingIndicator.js +0 -15
- package/dist/components/Loading/index.d.ts +0 -4
- package/dist/components/Loading/index.js +0 -4
- package/dist/components/Location/ShareLocationDialog.d.ts +0 -18
- package/dist/components/Location/ShareLocationDialog.js +0 -139
- package/dist/components/Location/hooks/useLiveLocationSharingManager.d.ts +0 -18
- package/dist/components/Location/hooks/useLiveLocationSharingManager.js +0 -57
- package/dist/components/Location/index.d.ts +0 -1
- package/dist/components/Location/index.js +0 -1
- package/dist/components/MediaRecorder/AudioRecorder/AudioRecorder.d.ts +0 -2
- package/dist/components/MediaRecorder/AudioRecorder/AudioRecorder.js +0 -29
- package/dist/components/MediaRecorder/AudioRecorder/AudioRecordingButtons.d.ts +0 -3
- package/dist/components/MediaRecorder/AudioRecorder/AudioRecordingButtons.js +0 -4
- package/dist/components/MediaRecorder/AudioRecorder/AudioRecordingInProgress.d.ts +0 -2
- package/dist/components/MediaRecorder/AudioRecorder/AudioRecordingInProgress.js +0 -49
- package/dist/components/MediaRecorder/AudioRecorder/AudioRecordingPreview.d.ts +0 -8
- package/dist/components/MediaRecorder/AudioRecorder/AudioRecordingPreview.js +0 -34
- package/dist/components/MediaRecorder/AudioRecorder/RecordingTimer.d.ts +0 -5
- package/dist/components/MediaRecorder/AudioRecorder/RecordingTimer.js +0 -6
- package/dist/components/MediaRecorder/AudioRecorder/hooks/useTimeElapsed.d.ts +0 -9
- package/dist/components/MediaRecorder/AudioRecorder/hooks/useTimeElapsed.js +0 -30
- package/dist/components/MediaRecorder/AudioRecorder/index.d.ts +0 -3
- package/dist/components/MediaRecorder/AudioRecorder/index.js +0 -3
- package/dist/components/MediaRecorder/RecordingPermissionDeniedNotification.d.ts +0 -7
- package/dist/components/MediaRecorder/RecordingPermissionDeniedNotification.js +0 -20
- package/dist/components/MediaRecorder/classes/AmplitudeRecorder.d.ts +0 -54
- package/dist/components/MediaRecorder/classes/AmplitudeRecorder.js +0 -85
- package/dist/components/MediaRecorder/classes/BrowserPermission.d.ts +0 -22
- package/dist/components/MediaRecorder/classes/BrowserPermission.js +0 -63
- package/dist/components/MediaRecorder/classes/MediaRecorderController.d.ts +0 -75
- package/dist/components/MediaRecorder/classes/MediaRecorderController.js +0 -255
- package/dist/components/MediaRecorder/classes/index.d.ts +0 -3
- package/dist/components/MediaRecorder/classes/index.js +0 -2
- package/dist/components/MediaRecorder/hooks/index.d.ts +0 -1
- package/dist/components/MediaRecorder/hooks/index.js +0 -1
- package/dist/components/MediaRecorder/hooks/useMediaRecorder.d.ts +0 -18
- package/dist/components/MediaRecorder/hooks/useMediaRecorder.js +0 -60
- package/dist/components/MediaRecorder/index.d.ts +0 -6
- package/dist/components/MediaRecorder/index.js +0 -5
- package/dist/components/MediaRecorder/observable/BehaviorSubject.d.ts +0 -10
- package/dist/components/MediaRecorder/observable/BehaviorSubject.js +0 -25
- package/dist/components/MediaRecorder/observable/Observable.d.ts +0 -17
- package/dist/components/MediaRecorder/observable/Observable.js +0 -21
- package/dist/components/MediaRecorder/observable/Observer.d.ts +0 -9
- package/dist/components/MediaRecorder/observable/Observer.js +0 -3
- package/dist/components/MediaRecorder/observable/Subject.d.ts +0 -16
- package/dist/components/MediaRecorder/observable/Subject.js +0 -58
- package/dist/components/MediaRecorder/observable/Subscription.d.ts +0 -10
- package/dist/components/MediaRecorder/observable/Subscription.js +0 -10
- package/dist/components/MediaRecorder/observable/index.d.ts +0 -5
- package/dist/components/MediaRecorder/observable/index.js +0 -5
- package/dist/components/MediaRecorder/transcode/audioProcessing.d.ts +0 -15
- package/dist/components/MediaRecorder/transcode/audioProcessing.js +0 -30
- package/dist/components/MediaRecorder/transcode/index.d.ts +0 -8
- package/dist/components/MediaRecorder/transcode/index.js +0 -7
- package/dist/components/MediaRecorder/transcode/wav.d.ts +0 -7
- package/dist/components/MediaRecorder/transcode/wav.js +0 -103
- package/dist/components/Message/FixedHeightMessage.d.ts +0 -13
- package/dist/components/Message/FixedHeightMessage.js +0 -64
- package/dist/components/Message/Message.d.ts +0 -7
- package/dist/components/Message/Message.js +0 -120
- package/dist/components/Message/MessageBlocked.d.ts +0 -2
- package/dist/components/Message/MessageBlocked.js +0 -16
- package/dist/components/Message/MessageDeleted.d.ts +0 -6
- package/dist/components/Message/MessageDeleted.js +0 -13
- package/dist/components/Message/MessageEditedTimestamp.d.ts +0 -6
- package/dist/components/Message/MessageEditedTimestamp.js +0 -20
- package/dist/components/Message/MessageErrorText.d.ts +0 -7
- package/dist/components/Message/MessageErrorText.js +0 -15
- package/dist/components/Message/MessageIsThreadReplyInChannelButtonIndicator.d.ts +0 -2
- package/dist/components/Message/MessageIsThreadReplyInChannelButtonIndicator.js +0 -63
- package/dist/components/Message/MessageOptions.d.ts +0 -11
- package/dist/components/Message/MessageOptions.js +0 -41
- package/dist/components/Message/MessageRepliesCountButton.d.ts +0 -9
- package/dist/components/Message/MessageRepliesCountButton.js +0 -20
- package/dist/components/Message/MessageSimple.d.ts +0 -6
- package/dist/components/Message/MessageSimple.js +0 -119
- package/dist/components/Message/MessageStatus.d.ts +0 -13
- package/dist/components/Message/MessageStatus.js +0 -67
- package/dist/components/Message/MessageText.d.ts +0 -10
- package/dist/components/Message/MessageText.js +0 -35
- package/dist/components/Message/MessageTimestamp.d.ts +0 -8
- package/dist/components/Message/MessageTimestamp.js +0 -12
- package/dist/components/Message/QuotedMessage.d.ts +0 -4
- package/dist/components/Message/QuotedMessage.js +0 -48
- package/dist/components/Message/ReminderNotification.d.ts +0 -6
- package/dist/components/Message/ReminderNotification.js +0 -30
- package/dist/components/Message/StreamedMessageText.d.ts +0 -7
- package/dist/components/Message/StreamedMessageText.js +0 -22
- package/dist/components/Message/Timestamp.d.ts +0 -7
- package/dist/components/Message/Timestamp.js +0 -32
- package/dist/components/Message/hooks/index.d.ts +0 -16
- package/dist/components/Message/hooks/index.js +0 -16
- package/dist/components/Message/hooks/useActionHandler.d.ts +0 -6
- package/dist/components/Message/hooks/useActionHandler.js +0 -35
- package/dist/components/Message/hooks/useDeleteHandler.d.ts +0 -7
- package/dist/components/Message/hooks/useDeleteHandler.js +0 -25
- package/dist/components/Message/hooks/useEditHandler.d.ts +0 -8
- package/dist/components/Message/hooks/useEditHandler.js +0 -19
- package/dist/components/Message/hooks/useFlagHandler.d.ts +0 -9
- package/dist/components/Message/hooks/useFlagHandler.js +0 -29
- package/dist/components/Message/hooks/useMarkUnreadHandler.d.ts +0 -8
- package/dist/components/Message/hooks/useMarkUnreadHandler.js +0 -32
- package/dist/components/Message/hooks/useMentionsHandler.d.ts +0 -12
- package/dist/components/Message/hooks/useMentionsHandler.js +0 -18
- package/dist/components/Message/hooks/useMessageReminder.d.ts +0 -1
- package/dist/components/Message/hooks/useMessageReminder.js +0 -11
- package/dist/components/Message/hooks/useMessageTextStreaming.d.ts +0 -16
- package/dist/components/Message/hooks/useMessageTextStreaming.js +0 -37
- package/dist/components/Message/hooks/useMuteHandler.d.ts +0 -9
- package/dist/components/Message/hooks/useMuteHandler.js +0 -56
- package/dist/components/Message/hooks/useOpenThreadHandler.d.ts +0 -3
- package/dist/components/Message/hooks/useOpenThreadHandler.js +0 -12
- package/dist/components/Message/hooks/usePinHandler.d.ts +0 -28
- package/dist/components/Message/hooks/usePinHandler.js +0 -59
- package/dist/components/Message/hooks/useReactionHandler.d.ts +0 -4
- package/dist/components/Message/hooks/useReactionHandler.js +0 -119
- package/dist/components/Message/hooks/useReactionsFetcher.d.ts +0 -9
- package/dist/components/Message/hooks/useReactionsFetcher.js +0 -30
- package/dist/components/Message/hooks/useRetryHandler.d.ts +0 -2
- package/dist/components/Message/hooks/useRetryHandler.js +0 -10
- package/dist/components/Message/hooks/useUserHandler.d.ts +0 -12
- package/dist/components/Message/hooks/useUserHandler.js +0 -14
- package/dist/components/Message/hooks/useUserRole.d.ts +0 -15
- package/dist/components/Message/hooks/useUserRole.js +0 -51
- package/dist/components/Message/icons.d.ts +0 -11
- package/dist/components/Message/icons.js +0 -35
- package/dist/components/Message/index.d.ts +0 -21
- package/dist/components/Message/index.js +0 -20
- package/dist/components/Message/renderText/componentRenderers/Anchor.d.ts +0 -3
- package/dist/components/Message/renderText/componentRenderers/Anchor.js +0 -9
- package/dist/components/Message/renderText/componentRenderers/Emoji.d.ts +0 -3
- package/dist/components/Message/renderText/componentRenderers/Emoji.js +0 -2
- package/dist/components/Message/renderText/componentRenderers/Mention.d.ts +0 -9
- package/dist/components/Message/renderText/componentRenderers/Mention.js +0 -2
- package/dist/components/Message/renderText/componentRenderers/index.d.ts +0 -3
- package/dist/components/Message/renderText/componentRenderers/index.js +0 -3
- package/dist/components/Message/renderText/index.d.ts +0 -5
- package/dist/components/Message/renderText/index.js +0 -4
- package/dist/components/Message/renderText/regex.d.ts +0 -4
- package/dist/components/Message/renderText/regex.js +0 -21
- package/dist/components/Message/renderText/rehypePlugins/emojiMarkdownPlugin.d.ts +0 -2
- package/dist/components/Message/renderText/rehypePlugins/emojiMarkdownPlugin.js +0 -8
- package/dist/components/Message/renderText/rehypePlugins/index.d.ts +0 -2
- package/dist/components/Message/renderText/rehypePlugins/index.js +0 -2
- package/dist/components/Message/renderText/rehypePlugins/mentionsMarkdownPlugin.d.ts +0 -3
- package/dist/components/Message/renderText/rehypePlugins/mentionsMarkdownPlugin.js +0 -50
- package/dist/components/Message/renderText/remarkPlugins/htmlToTextPlugin.d.ts +0 -2
- package/dist/components/Message/renderText/remarkPlugins/htmlToTextPlugin.js +0 -10
- package/dist/components/Message/renderText/remarkPlugins/imageToLink.d.ts +0 -12
- package/dist/components/Message/renderText/remarkPlugins/imageToLink.js +0 -27
- package/dist/components/Message/renderText/remarkPlugins/index.d.ts +0 -5
- package/dist/components/Message/renderText/remarkPlugins/index.js +0 -5
- package/dist/components/Message/renderText/remarkPlugins/keepLineBreaksPlugin.d.ts +0 -10
- package/dist/components/Message/renderText/remarkPlugins/keepLineBreaksPlugin.js +0 -48
- package/dist/components/Message/renderText/remarkPlugins/plusPlusToEmphasis.d.ts +0 -6
- package/dist/components/Message/renderText/remarkPlugins/plusPlusToEmphasis.js +0 -64
- package/dist/components/Message/renderText/remarkPlugins/remarkIgnoreMarkdown.d.ts +0 -8
- package/dist/components/Message/renderText/remarkPlugins/remarkIgnoreMarkdown.js +0 -11
- package/dist/components/Message/renderText/renderText.d.ts +0 -19
- package/dist/components/Message/renderText/renderText.js +0 -140
- package/dist/components/Message/renderText/types.d.ts +0 -2
- package/dist/components/Message/renderText/types.js +0 -1
- package/dist/components/Message/types.d.ts +0 -111
- package/dist/components/Message/types.js +0 -1
- package/dist/components/Message/utils.d.ts +0 -85
- package/dist/components/Message/utils.js +0 -336
- package/dist/components/MessageActions/CustomMessageActionsList.d.ts +0 -8
- package/dist/components/MessageActions/CustomMessageActionsList.js +0 -11
- package/dist/components/MessageActions/MessageActions.d.ts +0 -19
- package/dist/components/MessageActions/MessageActions.js +0 -56
- package/dist/components/MessageActions/MessageActionsBox.d.ts +0 -14
- package/dist/components/MessageActions/MessageActionsBox.js +0 -54
- package/dist/components/MessageActions/RemindMeSubmenu.d.ts +0 -6
- package/dist/components/MessageActions/RemindMeSubmenu.js +0 -18
- package/dist/components/MessageActions/index.d.ts +0 -3
- package/dist/components/MessageActions/index.js +0 -3
- package/dist/components/MessageBounce/MessageBounceModal.d.ts +0 -8
- package/dist/components/MessageBounce/MessageBounceModal.js +0 -9
- package/dist/components/MessageBounce/MessageBouncePrompt.d.ts +0 -5
- package/dist/components/MessageBounce/MessageBouncePrompt.js +0 -18
- package/dist/components/MessageBounce/index.d.ts +0 -2
- package/dist/components/MessageBounce/index.js +0 -2
- package/dist/components/MessageInput/AttachmentPreviewList/AttachmentPreviewList.d.ts +0 -17
- package/dist/components/MessageInput/AttachmentPreviewList/AttachmentPreviewList.js +0 -46
- package/dist/components/MessageInput/AttachmentPreviewList/FileAttachmentPreview.d.ts +0 -6
- package/dist/components/MessageInput/AttachmentPreviewList/FileAttachmentPreview.js +0 -25
- package/dist/components/MessageInput/AttachmentPreviewList/GeolocationPreview.d.ts +0 -13
- package/dist/components/MessageInput/AttachmentPreviewList/GeolocationPreview.js +0 -25
- package/dist/components/MessageInput/AttachmentPreviewList/ImageAttachmentPreview.d.ts +0 -5
- package/dist/components/MessageInput/AttachmentPreviewList/ImageAttachmentPreview.js +0 -23
- package/dist/components/MessageInput/AttachmentPreviewList/UnsupportedAttachmentPreview.d.ts +0 -8
- package/dist/components/MessageInput/AttachmentPreviewList/UnsupportedAttachmentPreview.js +0 -25
- package/dist/components/MessageInput/AttachmentPreviewList/VoiceRecordingPreview.d.ts +0 -5
- package/dist/components/MessageInput/AttachmentPreviewList/VoiceRecordingPreview.js +0 -41
- package/dist/components/MessageInput/AttachmentPreviewList/index.d.ts +0 -7
- package/dist/components/MessageInput/AttachmentPreviewList/index.js +0 -1
- package/dist/components/MessageInput/AttachmentPreviewList/types.d.ts +0 -6
- package/dist/components/MessageInput/AttachmentPreviewList/types.js +0 -1
- package/dist/components/MessageInput/AttachmentSelector.d.ts +0 -25
- package/dist/components/MessageInput/AttachmentSelector.js +0 -158
- package/dist/components/MessageInput/CooldownTimer.d.ts +0 -6
- package/dist/components/MessageInput/CooldownTimer.js +0 -6
- package/dist/components/MessageInput/EditMessageForm.d.ts +0 -5
- package/dist/components/MessageInput/EditMessageForm.js +0 -44
- package/dist/components/MessageInput/LinkPreviewList.d.ts +0 -8
- package/dist/components/MessageInput/LinkPreviewList.js +0 -44
- package/dist/components/MessageInput/MessageInput.d.ts +0 -75
- package/dist/components/MessageInput/MessageInput.js +0 -62
- package/dist/components/MessageInput/MessageInputFlat.d.ts +0 -2
- package/dist/components/MessageInput/MessageInputFlat.js +0 -70
- package/dist/components/MessageInput/QuotedMessagePreview.d.ts +0 -7
- package/dist/components/MessageInput/QuotedMessagePreview.js +0 -44
- package/dist/components/MessageInput/SendButton.d.ts +0 -5
- package/dist/components/MessageInput/SendButton.js +0 -10
- package/dist/components/MessageInput/SendToChannelCheckbox.d.ts +0 -2
- package/dist/components/MessageInput/SendToChannelCheckbox.js +0 -20
- package/dist/components/MessageInput/StopAIGenerationButton.d.ts +0 -3
- package/dist/components/MessageInput/StopAIGenerationButton.js +0 -6
- package/dist/components/MessageInput/WithDragAndDropUpload.d.ts +0 -38
- package/dist/components/MessageInput/WithDragAndDropUpload.js +0 -96
- package/dist/components/MessageInput/hooks/index.d.ts +0 -7
- package/dist/components/MessageInput/hooks/index.js +0 -7
- package/dist/components/MessageInput/hooks/useAttachmentManagerState.d.ts +0 -10
- package/dist/components/MessageInput/hooks/useAttachmentManagerState.js +0 -19
- package/dist/components/MessageInput/hooks/useAttachmentsForPreview.d.ts +0 -17
- package/dist/components/MessageInput/hooks/useAttachmentsForPreview.js +0 -22
- package/dist/components/MessageInput/hooks/useCanCreatePoll.d.ts +0 -1
- package/dist/components/MessageInput/hooks/useCanCreatePoll.js +0 -10
- package/dist/components/MessageInput/hooks/useCooldownTimer.d.ts +0 -7
- package/dist/components/MessageInput/hooks/useCooldownTimer.js +0 -39
- package/dist/components/MessageInput/hooks/useCreateMessageInputContext.d.ts +0 -2
- package/dist/components/MessageInput/hooks/useCreateMessageInputContext.js +0 -41
- package/dist/components/MessageInput/hooks/useMessageComposer.d.ts +0 -2
- package/dist/components/MessageInput/hooks/useMessageComposer.js +0 -82
- package/dist/components/MessageInput/hooks/useMessageComposerHasSendableData.d.ts +0 -1
- package/dist/components/MessageInput/hooks/useMessageComposerHasSendableData.js +0 -8
- package/dist/components/MessageInput/hooks/useMessageInputControls.d.ts +0 -10
- package/dist/components/MessageInput/hooks/useMessageInputControls.js +0 -22
- package/dist/components/MessageInput/hooks/usePasteHandler.d.ts +0 -3
- package/dist/components/MessageInput/hooks/usePasteHandler.js +0 -36
- package/dist/components/MessageInput/hooks/useSubmitHandler.d.ts +0 -4
- package/dist/components/MessageInput/hooks/useSubmitHandler.js +0 -87
- package/dist/components/MessageInput/hooks/useTextareaRef.d.ts +0 -5
- package/dist/components/MessageInput/hooks/useTextareaRef.js +0 -14
- package/dist/components/MessageInput/hooks/useTimer.d.ts +0 -3
- package/dist/components/MessageInput/hooks/useTimer.js +0 -19
- package/dist/components/MessageInput/hooks/utils.d.ts +0 -1
- package/dist/components/MessageInput/hooks/utils.js +0 -7
- package/dist/components/MessageInput/icons.d.ts +0 -15
- package/dist/components/MessageInput/icons.js +0 -48
- package/dist/components/MessageInput/index.d.ts +0 -13
- package/dist/components/MessageInput/index.js +0 -12
- package/dist/components/MessageList/ConnectionStatus.d.ts +0 -2
- package/dist/components/MessageList/ConnectionStatus.js +0 -19
- package/dist/components/MessageList/CustomNotification.d.ts +0 -8
- package/dist/components/MessageList/CustomNotification.js +0 -9
- package/dist/components/MessageList/GiphyPreviewMessage.d.ts +0 -6
- package/dist/components/MessageList/GiphyPreviewMessage.js +0 -7
- package/dist/components/MessageList/MessageList.d.ts +0 -77
- package/dist/components/MessageList/MessageList.js +0 -166
- package/dist/components/MessageList/MessageListMainPanel.d.ts +0 -4
- package/dist/components/MessageList/MessageListMainPanel.js +0 -3
- package/dist/components/MessageList/MessageListNotifications.d.ts +0 -14
- package/dist/components/MessageList/MessageListNotifications.js +0 -19
- package/dist/components/MessageList/MessageNotification.d.ts +0 -15
- package/dist/components/MessageList/MessageNotification.js +0 -8
- package/dist/components/MessageList/ScrollToBottomButton.d.ts +0 -3
- package/dist/components/MessageList/ScrollToBottomButton.js +0 -56
- package/dist/components/MessageList/UnreadMessagesNotification.d.ts +0 -16
- package/dist/components/MessageList/UnreadMessagesNotification.js +0 -13
- package/dist/components/MessageList/UnreadMessagesSeparator.d.ts +0 -13
- package/dist/components/MessageList/UnreadMessagesSeparator.js +0 -9
- package/dist/components/MessageList/VirtualizedMessageList.d.ts +0 -144
- package/dist/components/MessageList/VirtualizedMessageList.js +0 -271
- package/dist/components/MessageList/VirtualizedMessageListComponents.d.ts +0 -17
- package/dist/components/MessageList/VirtualizedMessageListComponents.js +0 -92
- package/dist/components/MessageList/hooks/MessageList/index.d.ts +0 -5
- package/dist/components/MessageList/hooks/MessageList/index.js +0 -5
- package/dist/components/MessageList/hooks/MessageList/useEnrichedMessages.d.ts +0 -17
- package/dist/components/MessageList/hooks/MessageList/useEnrichedMessages.js +0 -35
- package/dist/components/MessageList/hooks/MessageList/useMessageListElements.d.ts +0 -18
- package/dist/components/MessageList/hooks/MessageList/useMessageListElements.js +0 -53
- package/dist/components/MessageList/hooks/MessageList/useMessageListScrollManager.d.ts +0 -15
- package/dist/components/MessageList/hooks/MessageList/useMessageListScrollManager.js +0 -59
- package/dist/components/MessageList/hooks/MessageList/useScrollLocationLogic.d.ts +0 -17
- package/dist/components/MessageList/hooks/MessageList/useScrollLocationLogic.js +0 -67
- package/dist/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.d.ts +0 -8
- package/dist/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.js +0 -74
- package/dist/components/MessageList/hooks/VirtualizedMessageList/index.d.ts +0 -7
- package/dist/components/MessageList/hooks/VirtualizedMessageList/index.js +0 -7
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.d.ts +0 -6
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.js +0 -22
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useMessageSetKey.d.ts +0 -8
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useMessageSetKey.js +0 -18
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useNewMessageNotification.d.ts +0 -9
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useNewMessageNotification.js +0 -42
- package/dist/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.d.ts +0 -2
- package/dist/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.js +0 -60
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.d.ts +0 -9
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.js +0 -32
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useShouldForceScrollToBottom.d.ts +0 -2
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useShouldForceScrollToBottom.js +0 -24
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.d.ts +0 -22
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.js +0 -37
- package/dist/components/MessageList/hooks/index.d.ts +0 -8
- package/dist/components/MessageList/hooks/index.js +0 -8
- package/dist/components/MessageList/hooks/useLastDeliveredData.d.ts +0 -9
- package/dist/components/MessageList/hooks/useLastDeliveredData.js +0 -38
- package/dist/components/MessageList/hooks/useLastOwnMessage.d.ts +0 -5
- package/dist/components/MessageList/hooks/useLastOwnMessage.js +0 -4
- package/dist/components/MessageList/hooks/useLastReadData.d.ts +0 -9
- package/dist/components/MessageList/hooks/useLastReadData.js +0 -23
- package/dist/components/MessageList/hooks/useMarkRead.d.ts +0 -16
- package/dist/components/MessageList/hooks/useMarkRead.js +0 -87
- package/dist/components/MessageList/icons.d.ts +0 -9
- package/dist/components/MessageList/icons.js +0 -7
- package/dist/components/MessageList/index.d.ts +0 -12
- package/dist/components/MessageList/index.js +0 -12
- package/dist/components/MessageList/renderMessages.d.ts +0 -36
- package/dist/components/MessageList/renderMessages.js +0 -52
- package/dist/components/MessageList/utils.d.ts +0 -82
- package/dist/components/MessageList/utils.js +0 -246
- package/dist/components/Modal/GlobalModal.d.ts +0 -4
- package/dist/components/Modal/GlobalModal.js +0 -57
- package/dist/components/Modal/Modal.d.ts +0 -15
- package/dist/components/Modal/Modal.js +0 -45
- package/dist/components/Modal/ModalHeader.d.ts +0 -8
- package/dist/components/Modal/ModalHeader.js +0 -6
- package/dist/components/Modal/icons.d.ts +0 -2
- package/dist/components/Modal/icons.js +0 -5
- package/dist/components/Modal/index.d.ts +0 -2
- package/dist/components/Modal/index.js +0 -2
- package/dist/components/Notifications/hooks/index.d.ts +0 -1
- package/dist/components/Notifications/hooks/index.js +0 -1
- package/dist/components/Notifications/hooks/useNotifications.d.ts +0 -2
- package/dist/components/Notifications/hooks/useNotifications.js +0 -10
- package/dist/components/Notifications/index.d.ts +0 -1
- package/dist/components/Notifications/index.js +0 -1
- package/dist/components/Poll/Poll.d.ts +0 -6
- package/dist/components/Poll/Poll.js +0 -8
- package/dist/components/Poll/PollActions/AddCommentForm.d.ts +0 -6
- package/dist/components/Poll/PollActions/AddCommentForm.js +0 -34
- package/dist/components/Poll/PollActions/EndPollDialog.d.ts +0 -5
- package/dist/components/Poll/PollActions/EndPollDialog.js +0 -19
- package/dist/components/Poll/PollActions/PollAction.d.ts +0 -10
- package/dist/components/Poll/PollActions/PollAction.js +0 -9
- package/dist/components/Poll/PollActions/PollActions.d.ts +0 -16
- package/dist/components/Poll/PollActions/PollActions.js +0 -51
- package/dist/components/Poll/PollActions/PollAnswerList.d.ts +0 -6
- package/dist/components/Poll/PollActions/PollAnswerList.js +0 -28
- package/dist/components/Poll/PollActions/PollOptionsFullList.d.ts +0 -5
- package/dist/components/Poll/PollActions/PollOptionsFullList.js +0 -18
- package/dist/components/Poll/PollActions/PollResults/PollOptionVotesList.d.ts +0 -6
- package/dist/components/Poll/PollActions/PollResults/PollOptionVotesList.js +0 -18
- package/dist/components/Poll/PollActions/PollResults/PollOptionWithLatestVotes.d.ts +0 -8
- package/dist/components/Poll/PollActions/PollResults/PollOptionWithLatestVotes.js +0 -21
- package/dist/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.d.ts +0 -10
- package/dist/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.js +0 -18
- package/dist/components/Poll/PollActions/PollResults/PollResults.d.ts +0 -5
- package/dist/components/Poll/PollActions/PollResults/PollResults.js +0 -34
- package/dist/components/Poll/PollActions/PollResults/index.d.ts +0 -1
- package/dist/components/Poll/PollActions/PollResults/index.js +0 -1
- package/dist/components/Poll/PollActions/SuggestPollOptionForm.d.ts +0 -6
- package/dist/components/Poll/PollActions/SuggestPollOptionForm.js +0 -42
- package/dist/components/Poll/PollActions/index.d.ts +0 -7
- package/dist/components/Poll/PollActions/index.js +0 -7
- package/dist/components/Poll/PollContent.d.ts +0 -2
- package/dist/components/Poll/PollContent.js +0 -18
- package/dist/components/Poll/PollCreationDialog/MultipleAnswersField.d.ts +0 -2
- package/dist/components/Poll/PollCreationDialog/MultipleAnswersField.js +0 -46
- package/dist/components/Poll/PollCreationDialog/NameField.d.ts +0 -2
- package/dist/components/Poll/PollCreationDialog/NameField.js +0 -29
- package/dist/components/Poll/PollCreationDialog/OptionFieldSet.d.ts +0 -2
- package/dist/components/Poll/PollCreationDialog/OptionFieldSet.js +0 -50
- package/dist/components/Poll/PollCreationDialog/PollCreationDialog.d.ts +0 -5
- package/dist/components/Poll/PollCreationDialog/PollCreationDialog.js +0 -42
- package/dist/components/Poll/PollCreationDialog/PollCreationDialogControls.d.ts +0 -5
- package/dist/components/Poll/PollCreationDialog/PollCreationDialogControls.js +0 -24
- package/dist/components/Poll/PollCreationDialog/index.d.ts +0 -1
- package/dist/components/Poll/PollCreationDialog/index.js +0 -1
- package/dist/components/Poll/PollCreationDialog/types.d.ts +0 -7
- package/dist/components/Poll/PollCreationDialog/types.js +0 -1
- package/dist/components/Poll/PollHeader.d.ts +0 -2
- package/dist/components/Poll/PollHeader.js +0 -33
- package/dist/components/Poll/PollOptionList.d.ts +0 -5
- package/dist/components/Poll/PollOptionList.js +0 -16
- package/dist/components/Poll/PollOptionSelector.d.ts +0 -18
- package/dist/components/Poll/PollOptionSelector.js +0 -60
- package/dist/components/Poll/PollVote.d.ts +0 -11
- package/dist/components/Poll/PollVote.js +0 -31
- package/dist/components/Poll/QuotedPoll.d.ts +0 -2
- package/dist/components/Poll/QuotedPoll.js +0 -17
- package/dist/components/Poll/constants.d.ts +0 -2
- package/dist/components/Poll/constants.js +0 -2
- package/dist/components/Poll/hooks/index.d.ts +0 -2
- package/dist/components/Poll/hooks/index.js +0 -2
- package/dist/components/Poll/hooks/useManagePollVotesRealtime.d.ts +0 -3
- package/dist/components/Poll/hooks/useManagePollVotesRealtime.js +0 -41
- package/dist/components/Poll/hooks/usePollAnswerPagination.d.ts +0 -12
- package/dist/components/Poll/hooks/usePollAnswerPagination.js +0 -33
- package/dist/components/Poll/hooks/usePollOptionVotesPagination.d.ts +0 -12
- package/dist/components/Poll/hooks/usePollOptionVotesPagination.js +0 -33
- package/dist/components/Poll/index.d.ts +0 -10
- package/dist/components/Poll/index.js +0 -10
- package/dist/components/Portal/Portal.d.ts +0 -6
- package/dist/components/Portal/Portal.js +0 -14
- package/dist/components/ReactFileUtilities/FileIcon/FileIcon.d.ts +0 -13
- package/dist/components/ReactFileUtilities/FileIcon/FileIcon.js +0 -24
- package/dist/components/ReactFileUtilities/FileIcon/FileIconSet.d.ts +0 -25
- package/dist/components/ReactFileUtilities/FileIcon/FileIconSet.js +0 -122
- package/dist/components/ReactFileUtilities/FileIcon/iconMap.d.ts +0 -10
- package/dist/components/ReactFileUtilities/FileIcon/iconMap.js +0 -67
- package/dist/components/ReactFileUtilities/FileIcon/index.d.ts +0 -1
- package/dist/components/ReactFileUtilities/FileIcon/index.js +0 -1
- package/dist/components/ReactFileUtilities/FileIcon/mimeTypes.d.ts +0 -7
- package/dist/components/ReactFileUtilities/FileIcon/mimeTypes.js +0 -146
- package/dist/components/ReactFileUtilities/LoadingIndicator.d.ts +0 -8
- package/dist/components/ReactFileUtilities/LoadingIndicator.js +0 -9
- package/dist/components/ReactFileUtilities/UploadButton.d.ts +0 -17
- package/dist/components/ReactFileUtilities/UploadButton.js +0 -35
- package/dist/components/ReactFileUtilities/index.d.ts +0 -5
- package/dist/components/ReactFileUtilities/index.js +0 -5
- package/dist/components/ReactFileUtilities/types.d.ts +0 -2
- package/dist/components/ReactFileUtilities/types.js +0 -1
- package/dist/components/ReactFileUtilities/utils.d.ts +0 -15
- package/dist/components/ReactFileUtilities/utils.js +0 -105
- package/dist/components/Reactions/ReactionSelector.d.ts +0 -34
- package/dist/components/Reactions/ReactionSelector.js +0 -94
- package/dist/components/Reactions/ReactionSelectorWithButton.d.ts +0 -11
- package/dist/components/Reactions/ReactionSelectorWithButton.js +0 -23
- package/dist/components/Reactions/ReactionsList.d.ts +0 -35
- package/dist/components/Reactions/ReactionsList.js +0 -44
- package/dist/components/Reactions/ReactionsListModal.d.ts +0 -14
- package/dist/components/Reactions/ReactionsListModal.js +0 -39
- package/dist/components/Reactions/SimpleReactionsList.d.ts +0 -20
- package/dist/components/Reactions/SimpleReactionsList.js +0 -36
- package/dist/components/Reactions/SpriteImage.d.ts +0 -12
- package/dist/components/Reactions/SpriteImage.js +0 -30
- package/dist/components/Reactions/StreamEmoji.d.ts +0 -16
- package/dist/components/Reactions/StreamEmoji.js +0 -17
- package/dist/components/Reactions/hooks/useFetchReactions.d.ts +0 -13
- package/dist/components/Reactions/hooks/useFetchReactions.js +0 -38
- package/dist/components/Reactions/hooks/useProcessReactions.d.ts +0 -13
- package/dist/components/Reactions/hooks/useProcessReactions.js +0 -67
- package/dist/components/Reactions/index.d.ts +0 -7
- package/dist/components/Reactions/index.js +0 -7
- package/dist/components/Reactions/reactionOptions.d.ts +0 -7
- package/dist/components/Reactions/reactionOptions.js +0 -26
- package/dist/components/Reactions/types.d.ts +0 -15
- package/dist/components/Reactions/types.js +0 -1
- package/dist/components/Reactions/utils/utils.d.ts +0 -3
- package/dist/components/Reactions/utils/utils.js +0 -16
- package/dist/components/SafeAnchor/SafeAnchor.d.ts +0 -18
- package/dist/components/SafeAnchor/SafeAnchor.js +0 -12
- package/dist/components/SafeAnchor/index.d.ts +0 -1
- package/dist/components/SafeAnchor/index.js +0 -2
- package/dist/components/TextareaComposer/SuggestionList/CommandItem.d.ts +0 -7
- package/dist/components/TextareaComposer/SuggestionList/CommandItem.js +0 -29
- package/dist/components/TextareaComposer/SuggestionList/EmoticonItem.d.ts +0 -17
- package/dist/components/TextareaComposer/SuggestionList/EmoticonItem.js +0 -12
- package/dist/components/TextareaComposer/SuggestionList/SuggestionList.d.ts +0 -14
- package/dist/components/TextareaComposer/SuggestionList/SuggestionList.js +0 -50
- package/dist/components/TextareaComposer/SuggestionList/SuggestionListItem.d.ts +0 -18
- package/dist/components/TextareaComposer/SuggestionList/SuggestionListItem.js +0 -27
- package/dist/components/TextareaComposer/SuggestionList/UserItem.d.ts +0 -26
- package/dist/components/TextareaComposer/SuggestionList/UserItem.js +0 -24
- package/dist/components/TextareaComposer/SuggestionList/index.d.ts +0 -5
- package/dist/components/TextareaComposer/SuggestionList/index.js +0 -5
- package/dist/components/TextareaComposer/TextareaComposer.d.ts +0 -11
- package/dist/components/TextareaComposer/TextareaComposer.js +0 -190
- package/dist/components/TextareaComposer/index.d.ts +0 -2
- package/dist/components/TextareaComposer/index.js +0 -2
- package/dist/components/Thread/LegacyThreadContext.d.ts +0 -8
- package/dist/components/Thread/LegacyThreadContext.js +0 -3
- package/dist/components/Thread/Thread.d.ts +0 -31
- package/dist/components/Thread/Thread.js +0 -87
- package/dist/components/Thread/ThreadHead.d.ts +0 -3
- package/dist/components/Thread/ThreadHead.js +0 -10
- package/dist/components/Thread/ThreadHeader.d.ts +0 -10
- package/dist/components/Thread/ThreadHeader.js +0 -21
- package/dist/components/Thread/ThreadStart.d.ts +0 -2
- package/dist/components/Thread/ThreadStart.js +0 -10
- package/dist/components/Thread/icons.d.ts +0 -4
- package/dist/components/Thread/icons.js +0 -8
- package/dist/components/Thread/index.d.ts +0 -4
- package/dist/components/Thread/index.js +0 -4
- package/dist/components/Threads/ThreadContext.d.ts +0 -9
- package/dist/components/Threads/ThreadContext.js +0 -6
- package/dist/components/Threads/ThreadList/ThreadList.d.ts +0 -9
- package/dist/components/Threads/ThreadList/ThreadList.js +0 -41
- package/dist/components/Threads/ThreadList/ThreadListEmptyPlaceholder.d.ts +0 -2
- package/dist/components/Threads/ThreadList/ThreadListEmptyPlaceholder.js +0 -5
- package/dist/components/Threads/ThreadList/ThreadListItem.d.ts +0 -9
- package/dist/components/Threads/ThreadList/ThreadListItem.js +0 -52
- package/dist/components/Threads/ThreadList/ThreadListItemUI.d.ts +0 -15
- package/dist/components/Threads/ThreadList/ThreadListItemUI.js +0 -77
- package/dist/components/Threads/ThreadList/ThreadListLoadingIndicator.d.ts +0 -2
- package/dist/components/Threads/ThreadList/ThreadListLoadingIndicator.js +0 -16
- package/dist/components/Threads/ThreadList/ThreadListUnseenThreadsBanner.d.ts +0 -2
- package/dist/components/Threads/ThreadList/ThreadListUnseenThreadsBanner.js +0 -18
- package/dist/components/Threads/ThreadList/index.d.ts +0 -3
- package/dist/components/Threads/ThreadList/index.js +0 -3
- package/dist/components/Threads/UnreadCountBadge.d.ts +0 -6
- package/dist/components/Threads/UnreadCountBadge.js +0 -5
- package/dist/components/Threads/hooks/useThreadManagerState.d.ts +0 -2
- package/dist/components/Threads/hooks/useThreadManagerState.js +0 -6
- package/dist/components/Threads/hooks/useThreadState.d.ts +0 -5
- package/dist/components/Threads/hooks/useThreadState.js +0 -11
- package/dist/components/Threads/icons.d.ts +0 -8
- package/dist/components/Threads/icons.js +0 -12
- package/dist/components/Threads/index.d.ts +0 -2
- package/dist/components/Threads/index.js +0 -2
- package/dist/components/Tooltip/Tooltip.d.ts +0 -15
- package/dist/components/Tooltip/Tooltip.js +0 -19
- package/dist/components/Tooltip/hooks/index.d.ts +0 -1
- package/dist/components/Tooltip/hooks/index.js +0 -1
- package/dist/components/Tooltip/hooks/useEnterLeaveHandlers.d.ts +0 -6
- package/dist/components/Tooltip/hooks/useEnterLeaveHandlers.js +0 -13
- package/dist/components/Tooltip/index.d.ts +0 -1
- package/dist/components/Tooltip/index.js +0 -1
- package/dist/components/TypingIndicator/TypingIndicator.d.ts +0 -6
- package/dist/components/TypingIndicator/TypingIndicator.js +0 -59
- package/dist/components/TypingIndicator/index.d.ts +0 -1
- package/dist/components/TypingIndicator/index.js +0 -1
- package/dist/components/UtilityComponents/ErrorBoundary.d.ts +0 -16
- package/dist/components/UtilityComponents/ErrorBoundary.js +0 -19
- package/dist/components/UtilityComponents/NullComponent.d.ts +0 -1
- package/dist/components/UtilityComponents/NullComponent.js +0 -1
- package/dist/components/UtilityComponents/index.d.ts +0 -2
- package/dist/components/UtilityComponents/index.js +0 -2
- package/dist/components/UtilityComponents/useStableId.d.ts +0 -5
- package/dist/components/UtilityComponents/useStableId.js +0 -11
- package/dist/components/Window/Window.d.ts +0 -11
- package/dist/components/Window/Window.js +0 -14
- package/dist/components/Window/index.d.ts +0 -1
- package/dist/components/Window/index.js +0 -1
- package/dist/components/index.d.ts +0 -39
- package/dist/components/index.js +0 -38
- package/dist/constants/limits.d.ts +0 -5
- package/dist/constants/limits.js +0 -5
- package/dist/constants/messageTypes.d.ts +0 -4
- package/dist/constants/messageTypes.js +0 -4
- package/dist/context/AttachmentSelectorContext.d.ts +0 -9
- package/dist/context/AttachmentSelectorContext.js +0 -6
- package/dist/context/ChannelActionContext.d.ts +0 -55
- package/dist/context/ChannelActionContext.js +0 -26
- package/dist/context/ChannelListContext.d.ts +0 -30
- package/dist/context/ChannelListContext.js +0 -14
- package/dist/context/ChannelStateContext.d.ts +0 -58
- package/dist/context/ChannelStateContext.js +0 -26
- package/dist/context/ChatContext.d.ts +0 -57
- package/dist/context/ChatContext.js +0 -25
- package/dist/context/ComponentContext.d.ts +0 -199
- package/dist/context/ComponentContext.js +0 -24
- package/dist/context/DialogManagerContext.d.ts +0 -29
- package/dist/context/DialogManagerContext.js +0 -124
- package/dist/context/MessageBounceContext.d.ts +0 -12
- package/dist/context/MessageBounceContext.js +0 -36
- package/dist/context/MessageContext.d.ts +0 -137
- package/dist/context/MessageContext.js +0 -27
- package/dist/context/MessageInputContext.d.ts +0 -10
- package/dist/context/MessageInputContext.js +0 -12
- package/dist/context/MessageListContext.d.ts +0 -19
- package/dist/context/MessageListContext.js +0 -14
- package/dist/context/PollContext.d.ts +0 -11
- package/dist/context/PollContext.js +0 -7
- package/dist/context/TranslationContext.d.ts +0 -20
- package/dist/context/TranslationContext.js +0 -30
- package/dist/context/TypingContext.d.ts +0 -21
- package/dist/context/TypingContext.js +0 -26
- package/dist/context/VirtualizedMessageListContext.d.ts +0 -14
- package/dist/context/VirtualizedMessageListContext.js +0 -7
- package/dist/context/WithComponents.d.ts +0 -6
- package/dist/context/WithComponents.js +0 -7
- package/dist/context/index.d.ts +0 -14
- package/dist/context/index.js +0 -14
- package/dist/context/utils/getDisplayName.d.ts +0 -2
- package/dist/context/utils/getDisplayName.js +0 -1
- package/dist/experimental/MessageActions/MessageActions.d.ts +0 -17
- package/dist/experimental/MessageActions/MessageActions.js +0 -47
- package/dist/experimental/MessageActions/defaults.d.ts +0 -5
- package/dist/experimental/MessageActions/defaults.js +0 -141
- package/dist/experimental/MessageActions/hooks/index.d.ts +0 -2
- package/dist/experimental/MessageActions/hooks/index.js +0 -2
- package/dist/experimental/MessageActions/hooks/useBaseMessageActionSetFilter.d.ts +0 -8
- package/dist/experimental/MessageActions/hooks/useBaseMessageActionSetFilter.js +0 -61
- package/dist/experimental/MessageActions/hooks/useSplitMessageActionSet.d.ts +0 -5
- package/dist/experimental/MessageActions/hooks/useSplitMessageActionSet.js +0 -12
- package/dist/experimental/MessageActions/index.d.ts +0 -3
- package/dist/experimental/MessageActions/index.js +0 -3
- package/dist/experimental/Search/Search.d.ts +0 -11
- package/dist/experimental/Search/Search.js +0 -25
- package/dist/experimental/Search/SearchBar/SearchBar.d.ts +0 -2
- package/dist/experimental/Search/SearchBar/SearchBar.js +0 -56
- package/dist/experimental/Search/SearchBar/index.d.ts +0 -1
- package/dist/experimental/Search/SearchBar/index.js +0 -1
- package/dist/experimental/Search/SearchContext.d.ts +0 -23
- package/dist/experimental/Search/SearchContext.js +0 -10
- package/dist/experimental/Search/SearchResults/SearchResultItem.d.ts +0 -19
- package/dist/experimental/Search/SearchResults/SearchResultItem.js +0 -62
- package/dist/experimental/Search/SearchResults/SearchResults.d.ts +0 -2
- package/dist/experimental/Search/SearchResults/SearchResults.js +0 -21
- package/dist/experimental/Search/SearchResults/SearchResultsHeader.d.ts +0 -2
- package/dist/experimental/Search/SearchResults/SearchResultsHeader.js +0 -36
- package/dist/experimental/Search/SearchResults/SearchResultsPresearch.d.ts +0 -6
- package/dist/experimental/Search/SearchResults/SearchResultsPresearch.js +0 -6
- package/dist/experimental/Search/SearchResults/SearchSourceResultList.d.ts +0 -8
- package/dist/experimental/Search/SearchResults/SearchSourceResultList.js +0 -22
- package/dist/experimental/Search/SearchResults/SearchSourceResultListFooter.d.ts +0 -2
- package/dist/experimental/Search/SearchResults/SearchSourceResultListFooter.js +0 -16
- package/dist/experimental/Search/SearchResults/SearchSourceResults.d.ts +0 -6
- package/dist/experimental/Search/SearchResults/SearchSourceResults.js +0 -21
- package/dist/experimental/Search/SearchResults/SearchSourceResultsEmpty.d.ts +0 -2
- package/dist/experimental/Search/SearchResults/SearchSourceResultsEmpty.js +0 -6
- package/dist/experimental/Search/SearchResults/SearchSourceResultsHeader.d.ts +0 -1
- package/dist/experimental/Search/SearchResults/SearchSourceResultsHeader.js +0 -1
- package/dist/experimental/Search/SearchResults/SearchSourceResultsLoadingIndicator.d.ts +0 -2
- package/dist/experimental/Search/SearchResults/SearchSourceResultsLoadingIndicator.js +0 -10
- package/dist/experimental/Search/SearchResults/index.d.ts +0 -9
- package/dist/experimental/Search/SearchResults/index.js +0 -9
- package/dist/experimental/Search/SearchSourceResultsContext.d.ts +0 -14
- package/dist/experimental/Search/SearchSourceResultsContext.js +0 -10
- package/dist/experimental/Search/hooks/index.d.ts +0 -2
- package/dist/experimental/Search/hooks/index.js +0 -2
- package/dist/experimental/Search/hooks/useSearchFocusedMessage.d.ts +0 -1
- package/dist/experimental/Search/hooks/useSearchFocusedMessage.js +0 -10
- package/dist/experimental/Search/hooks/useSearchQueriesInProgress.d.ts +0 -5
- package/dist/experimental/Search/hooks/useSearchQueriesInProgress.js +0 -22
- package/dist/experimental/Search/index.d.ts +0 -5
- package/dist/experimental/Search/index.js +0 -5
- package/dist/experimental/index.browser.cjs +0 -15726
- package/dist/experimental/index.browser.cjs.map +0 -7
- package/dist/experimental/index.d.ts +0 -2
- package/dist/experimental/index.js +0 -2
- package/dist/experimental/index.node.cjs +0 -17624
- package/dist/experimental/index.node.cjs.map +0 -7
- package/dist/i18n/Streami18n.d.ts +0 -413
- package/dist/i18n/Streami18n.js +0 -648
- package/dist/i18n/TranslationBuilder/TranslationBuilder.d.ts +0 -35
- package/dist/i18n/TranslationBuilder/TranslationBuilder.js +0 -92
- package/dist/i18n/TranslationBuilder/index.d.ts +0 -2
- package/dist/i18n/TranslationBuilder/index.js +0 -2
- package/dist/i18n/TranslationBuilder/notifications/NotificationTranslationTopic.d.ts +0 -11
- package/dist/i18n/TranslationBuilder/notifications/NotificationTranslationTopic.js +0 -32
- package/dist/i18n/TranslationBuilder/notifications/attachmentUpload.d.ts +0 -5
- package/dist/i18n/TranslationBuilder/notifications/attachmentUpload.js +0 -37
- package/dist/i18n/TranslationBuilder/notifications/browserAudioPlaybackError.d.ts +0 -3
- package/dist/i18n/TranslationBuilder/notifications/browserAudioPlaybackError.js +0 -1
- package/dist/i18n/TranslationBuilder/notifications/index.d.ts +0 -2
- package/dist/i18n/TranslationBuilder/notifications/index.js +0 -2
- package/dist/i18n/TranslationBuilder/notifications/pollComposition.d.ts +0 -3
- package/dist/i18n/TranslationBuilder/notifications/pollComposition.js +0 -9
- package/dist/i18n/TranslationBuilder/notifications/pollVoteCountTrespass.d.ts +0 -3
- package/dist/i18n/TranslationBuilder/notifications/pollVoteCountTrespass.js +0 -1
- package/dist/i18n/TranslationBuilder/notifications/types.d.ts +0 -4
- package/dist/i18n/TranslationBuilder/notifications/types.js +0 -1
- package/dist/i18n/de.json +0 -262
- package/dist/i18n/en.json +0 -262
- package/dist/i18n/es.json +0 -270
- package/dist/i18n/fr.json +0 -270
- package/dist/i18n/hi.json +0 -263
- package/dist/i18n/index.d.ts +0 -5
- package/dist/i18n/index.js +0 -5
- package/dist/i18n/it.json +0 -270
- package/dist/i18n/ja.json +0 -256
- package/dist/i18n/ko.json +0 -256
- package/dist/i18n/nl.json +0 -262
- package/dist/i18n/pt.json +0 -270
- package/dist/i18n/ru.json +0 -278
- package/dist/i18n/tr.json +0 -262
- package/dist/i18n/translations.d.ts +0 -13
- package/dist/i18n/translations.js +0 -13
- package/dist/i18n/types.d.ts +0 -80
- package/dist/i18n/types.js +0 -1
- package/dist/i18n/utils.d.ts +0 -14
- package/dist/i18n/utils.js +0 -111
- package/dist/index.browser.cjs +0 -37671
- package/dist/index.browser.cjs.map +0 -7
- package/dist/index.d.ts +0 -6
- package/dist/index.js +0 -6
- package/dist/index.node.cjs +0 -39962
- package/dist/index.node.cjs.map +0 -7
- package/dist/plugins/Emojis/EmojiPicker.d.ts +0 -27
- package/dist/plugins/Emojis/EmojiPicker.js +0 -59
- package/dist/plugins/Emojis/icons.d.ts +0 -2
- package/dist/plugins/Emojis/icons.js +0 -4
- package/dist/plugins/Emojis/index.browser.cjs +0 -471
- package/dist/plugins/Emojis/index.browser.cjs.map +0 -7
- package/dist/plugins/Emojis/index.d.ts +0 -3
- package/dist/plugins/Emojis/index.js +0 -3
- package/dist/plugins/Emojis/index.node.cjs +0 -477
- package/dist/plugins/Emojis/index.node.cjs.map +0 -7
- package/dist/plugins/Emojis/middleware/index.d.ts +0 -1
- package/dist/plugins/Emojis/middleware/index.js +0 -1
- package/dist/plugins/Emojis/middleware/textComposerEmojiMiddleware.d.ts +0 -22
- package/dist/plugins/Emojis/middleware/textComposerEmojiMiddleware.js +0 -137
- package/dist/plugins/encoders/mp3.browser.cjs +0 -108
- package/dist/plugins/encoders/mp3.browser.cjs.map +0 -7
- package/dist/plugins/encoders/mp3.d.ts +0 -1
- package/dist/plugins/encoders/mp3.js +0 -33
- package/dist/plugins/encoders/mp3.node.cjs +0 -112
- package/dist/plugins/encoders/mp3.node.cjs.map +0 -7
- package/dist/store/hooks/index.d.ts +0 -1
- package/dist/store/hooks/index.js +0 -1
- package/dist/store/hooks/useStateStore.d.ts +0 -3
- package/dist/store/hooks/useStateStore.js +0 -39
- package/dist/store/index.d.ts +0 -1
- package/dist/store/index.js +0 -1
- package/dist/types/defaultDataInterfaces.d.ts +0 -28
- package/dist/types/defaultDataInterfaces.js +0 -1
- package/dist/types/index.js +0 -1
- package/dist/types/types.d.ts +0 -57
- package/dist/types/types.js +0 -1
- package/dist/utils/browsers.d.ts +0 -1
- package/dist/utils/browsers.js +0 -5
- package/dist/utils/deprecationWarning.d.ts +0 -1
- package/dist/utils/deprecationWarning.js +0 -12
- package/dist/utils/findReverse.d.ts +0 -1
- package/dist/utils/findReverse.js +0 -9
- package/dist/utils/getChannel.d.ts +0 -20
- package/dist/utils/getChannel.js +0 -52
- package/dist/utils/getWholeChar.d.ts +0 -1
- package/dist/utils/getWholeChar.js +0 -26
- package/dist/utils/index.d.ts +0 -2
- package/dist/utils/index.js +0 -2
- package/dist/utils/mergeDeep.d.ts +0 -2
- package/dist/utils/mergeDeep.js +0 -5
- package/dist/utils/useStableCallback.d.ts +0 -25
- package/dist/utils/useStableCallback.js +0 -29
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WithAudioPlayback-TERIQpZ6.js","sources":["../src/context/ChannelActionContext.tsx","../src/context/ChannelStateContext.tsx","../src/context/ChatContext.tsx","../src/context/ComponentContext.tsx","../src/store/hooks/useStateStore.ts","../src/context/MessageComposerContext.tsx","../node_modules/dayjs/plugin/calendar.js","../node_modules/dayjs/plugin/localizedFormat.js","../src/i18n/utils.ts","../src/context/TranslationContext.tsx","../src/context/TypingContext.tsx","../src/components/AudioPlayback/AudioPlayer.ts","../src/components/AudioPlayback/AudioPlayerPool.ts","../src/components/Notifications/notificationTarget.ts","../src/components/AudioPlayback/plugins/AudioPlayerNotificationsPlugin.ts","../src/components/Button/Button.tsx","../src/components/Icons/BaseIcon.tsx","../src/components/Icons/createIcon.tsx","../src/components/Icons/icons.tsx","../src/components/EmptyStateIndicator/EmptyStateIndicator.tsx","../src/components/Channel/channelState.ts","../src/components/Channel/hooks/useCreateChannelStateContext.ts","../src/components/Channel/hooks/useCreateTypingContext.ts","../src/components/Channel/hooks/useEditMessageHandler.ts","../src/components/Channel/hooks/useIsMounted.ts","../src/components/Channel/hooks/useMentionsHandlers.ts","../src/components/Loading/LoadingChannel.tsx","../src/components/Loading/LoadingErrorIndicator.tsx","../src/components/Channel/constants.ts","../src/constants/limits.ts","../src/components/Message/utils.tsx","../src/components/Dialog/hooks/usePopoverPosition.ts","../src/components/Thread/LegacyThreadContext.ts","../src/components/MessageComposer/hooks/useIsCooldownActive.ts","../src/components/MessageComposer/hooks/useMessageComposerController.ts","../src/constants/messageTypes.ts","../src/components/MessageList/utils.ts","../src/components/Channel/hooks/useChannelContainerClasses.ts","../src/components/Channel/utils.ts","../src/utils/getChannel.ts","../src/components/Attachment/attachment-sizing.tsx","../src/components/Search/hooks/useSearchFocusedMessage.ts","../src/components/Channel/Channel.tsx","../src/components/Threads/ThreadContext.tsx","../src/components/Threads/UnreadCountBadge.tsx","../src/components/ChatView/ChatView.tsx","../src/components/Notifications/hooks/useNotificationTarget.ts","../src/components/AudioPlayback/WithAudioPlayback.tsx"],"sourcesContent":["import type { PropsWithChildren } from 'react';\nimport React, { useContext } from 'react';\n\nimport type {\n DeleteMessageOptions,\n LocalMessage,\n Message,\n MessageResponse,\n SendMessageOptions,\n UpdateMessageAPIResponse,\n UpdateMessageOptions,\n} from 'stream-chat';\n\nimport type { ChannelStateReducerAction } from '../components/Channel/channelState';\nimport type { CustomMentionHandler } from '../components/Message/hooks/useMentionsHandler';\n\nimport type { ChannelUnreadUiState } from '../types/types';\n\nexport type MarkReadWrapperOptions = {\n /**\n * Signal, whether the `channelUnreadUiState` should be updated.\n * By default, the local state update is prevented when the Channel component is mounted.\n * This is in order to keep the UI indicating the original unread state, when the user opens a channel.\n */\n updateChannelUiUnreadState?: boolean;\n};\n\nexport type RetrySendMessage = (message: LocalMessage) => Promise<void>;\n\nexport type ChannelActionContextValue = {\n closeThread: (event?: React.BaseSyntheticEvent) => void;\n deleteMessage: (\n message: LocalMessage,\n options?: DeleteMessageOptions,\n ) => Promise<MessageResponse>;\n dispatch: React.Dispatch<ChannelStateReducerAction>;\n editMessage: (\n message: LocalMessage | MessageResponse,\n options?: UpdateMessageOptions,\n ) => Promise<UpdateMessageAPIResponse | void>;\n jumpToFirstUnreadMessage: (\n queryMessageLimit?: number,\n highlightDuration?: number,\n ) => Promise<void>;\n jumpToLatestMessage: () => Promise<void>;\n jumpToMessage: (\n messageId: string,\n limit?: number,\n highlightDuration?: number,\n ) => Promise<void>;\n loadMore: (limit?: number) => Promise<number>;\n loadMoreNewer: (limit?: number) => Promise<number>;\n loadMoreThread: () => Promise<void>;\n markRead: (options?: MarkReadWrapperOptions) => void;\n onMentionsClick: CustomMentionHandler;\n onMentionsHover: CustomMentionHandler;\n openThread: (message: LocalMessage, event?: React.BaseSyntheticEvent) => void;\n removeMessage: (message: LocalMessage) => void;\n retrySendMessage: RetrySendMessage;\n sendMessage: (params: {\n localMessage: LocalMessage;\n message: Message;\n options?: SendMessageOptions;\n }) => Promise<void>;\n setChannelUnreadUiState: React.Dispatch<\n React.SetStateAction<ChannelUnreadUiState | undefined>\n >;\n updateMessage: (message: MessageResponse | LocalMessage) => void;\n};\n\nexport const ChannelActionContext = React.createContext<\n ChannelActionContextValue | undefined\n>(undefined);\n\nexport const ChannelActionProvider = ({\n children,\n value,\n}: PropsWithChildren<{\n value: ChannelActionContextValue;\n}>) => (\n <ChannelActionContext.Provider value={value as unknown as ChannelActionContextValue}>\n {children}\n </ChannelActionContext.Provider>\n);\n\nexport const useChannelActionContext = (componentName?: string) => {\n const contextValue = useContext(ChannelActionContext);\n\n if (!contextValue) {\n console.warn(\n `The useChannelActionContext hook was called outside of the ChannelActionContext provider. Make sure this hook is called within a child of the Channel component. The errored call is located in the ${componentName} component.`,\n );\n\n return {} as ChannelActionContextValue;\n }\n\n return contextValue as unknown as ChannelActionContextValue;\n};\n","import type { PropsWithChildren } from 'react';\nimport React, { useContext } from 'react';\nimport type {\n Channel,\n ChannelConfigWithInfo,\n GiphyVersions,\n LocalMessage,\n Mute,\n ChannelState as StreamChannelState,\n} from 'stream-chat';\n\nimport type {\n ChannelUnreadUiState,\n ImageAttachmentSizeHandler,\n VideoAttachmentSizeHandler,\n} from '../types/types';\n\nexport type ChannelNotifications = Array<{\n id: string;\n text: string;\n type: 'success' | 'error';\n}>;\n\nexport type ChannelState = {\n suppressAutoscroll: boolean;\n error?: Error | null;\n hasMore?: boolean;\n hasMoreNewer?: boolean;\n highlightedMessageId?: string;\n loading?: boolean;\n loadingMore?: boolean;\n loadingMoreForJumpToChannelMessage?: boolean;\n loadingMoreNewer?: boolean;\n members?: StreamChannelState['members'];\n messages?: LocalMessage[];\n pinnedMessages?: LocalMessage[];\n read?: StreamChannelState['read'];\n thread?: LocalMessage | null;\n threadHasMore?: boolean;\n threadLoadingMore?: boolean;\n threadMessages?: LocalMessage[];\n threadSuppressAutoscroll?: boolean;\n typing?: StreamChannelState['typing'];\n watcherCount?: number;\n watchers?: StreamChannelState['watchers'];\n};\n\nexport type ChannelStateContextValue = Omit<ChannelState, 'typing'> & {\n channel: Channel;\n channelCapabilities: Record<string, boolean>;\n channelConfig: ChannelConfigWithInfo | undefined;\n imageAttachmentSizeHandler: ImageAttachmentSizeHandler;\n notifications: ChannelNotifications;\n shouldGenerateVideoThumbnail: boolean;\n videoAttachmentSizeHandler: VideoAttachmentSizeHandler;\n channelUnreadUiState?: ChannelUnreadUiState;\n giphyVersion?: GiphyVersions;\n mutes?: Array<Mute>;\n watcher_count?: number;\n};\n\nexport const ChannelStateContext = React.createContext<\n ChannelStateContextValue | undefined\n>(undefined);\n\nexport const ChannelStateProvider = ({\n children,\n value,\n}: PropsWithChildren<{\n value: ChannelStateContextValue;\n}>) => (\n <ChannelStateContext.Provider value={value as unknown as ChannelStateContextValue}>\n {children}\n </ChannelStateContext.Provider>\n);\n\nlet remainingWarningCount = 1;\n\nexport const useChannelStateContext = (componentName?: string) => {\n const contextValue = useContext(ChannelStateContext);\n\n if (!contextValue) {\n if (componentName && remainingWarningCount > 0) {\n console.warn(\n `The useChannelStateContext hook was called outside of the ChannelStateContext provider. Make sure this hook is called within a child of the Channel component. The errored call is located in the ${componentName} component.`,\n );\n remainingWarningCount -= 1;\n }\n\n return {} as ChannelStateContextValue;\n }\n\n return contextValue as unknown as ChannelStateContextValue;\n};\n","import React, { useContext } from 'react';\nimport type { PropsWithChildren } from 'react';\nimport type {\n AppSettingsAPIResponse,\n Channel,\n Mute,\n SearchController,\n} from 'stream-chat';\n\nimport type { ChatProps } from '../components/Chat/Chat';\nimport type { ChannelsQueryState } from '../components/Chat/hooks/useChannelsQueryState';\n\ntype CSSClasses =\n | 'chat'\n | 'chatContainer'\n | 'channel'\n | 'channelList'\n | 'message'\n | 'messageList'\n | 'thread'\n | 'threadList'\n | 'virtualMessage'\n | 'virtualizedMessageList';\n\nexport type CustomClasses = Partial<Record<CSSClasses, string>>;\n\ntype ChannelConfId = string; // e.g.: \"messaging:general\"\n\nexport type ChatContextValue = {\n /**\n * Indicates, whether a channels query has been triggered within ChannelList by its channels pagination controller.\n */\n channelsQueryState: ChannelsQueryState;\n closeMobileNav: () => void;\n getAppSettings: () => Promise<AppSettingsAPIResponse> | null;\n latestMessageDatesByChannels: Record<ChannelConfId, Date>;\n mutes: Array<Mute>;\n openMobileNav: () => void;\n /** Instance of SearchController class that allows to control all the search operations. */\n searchController: SearchController;\n /**\n * Sets active channel to be rendered within Channel component.\n * @param newChannel\n * @param watchers\n * @param event\n */\n setActiveChannel: (\n newChannel?: Channel,\n watchers?: { limit?: number; offset?: number },\n event?: React.BaseSyntheticEvent,\n ) => void;\n useImageFlagEmojisOnWindows: boolean;\n /**\n * Active channel used to render the contents of the Channel component.\n */\n channel?: Channel;\n /**\n * Object through which custom classes can be set for main container components of the SDK.\n */\n customClasses?: CustomClasses;\n navOpen?: boolean;\n} & Partial<Pick<ChatProps, 'isMessageAIGenerated'>> &\n Required<Pick<ChatProps, 'theme' | 'client'>>;\n\nexport const ChatContext = React.createContext<ChatContextValue | undefined>(undefined);\n\nexport const ChatProvider = ({\n children,\n value,\n}: PropsWithChildren<{\n value: ChatContextValue;\n}>) => (\n <ChatContext.Provider value={value as unknown as ChatContextValue}>\n {children}\n </ChatContext.Provider>\n);\n\nexport const useChatContext = (componentName?: string) => {\n const contextValue = useContext(ChatContext);\n\n if (!contextValue) {\n console.warn(\n `The useChatContext hook was called outside of the ChatContext provider. Make sure this hook is called within a child of the Chat component. The errored call is located in the ${componentName} component.`,\n );\n\n return {} as ChatContextValue;\n }\n\n return contextValue as unknown as ChatContextValue;\n};\n","import type { PropsWithChildren } from 'react';\nimport React, { useContext } from 'react';\n\nimport {\n type AttachmentPreviewListProps,\n type AttachmentProps,\n type AvatarProps,\n type AvatarStackProps,\n type BaseImageProps,\n type CalloutDialogProps,\n type ChannelListItemUIProps,\n type ChannelListUIProps,\n type DateSeparatorProps,\n type EmojiSearchIndex,\n type EmptyStateIndicatorProps,\n type EventComponentProps,\n type FileDragAndDropContentProps,\n type GalleryProps,\n type GiphyPreviewMessageProps,\n type ImagePlaceholderProps,\n type LoadingErrorIndicatorProps,\n type LoadingIndicatorProps,\n type MessageBouncePromptProps,\n type MessageComposerProps,\n type MessageDeletedProps,\n type MessageEditedIndicatorProps,\n type MessageProps,\n type MessageReactionsDetailProps,\n type MessageReactionsProps,\n type MessageRepliesCountButtonProps,\n type MessageStatusProps,\n type MessageTimestampProps,\n type MessageUIComponentProps,\n type ModalGalleryProps,\n type ModalProps,\n type NewMessageNotificationProps,\n type NotificationListProps,\n type PinIndicatorProps,\n type PollCreationDialogProps,\n type PollOptionSelectorProps,\n type QuotedMessagePreviewProps,\n type ReactionOptions,\n type ReactionSelectorProps,\n type RecordingPermissionDeniedNotificationProps,\n type ReminderNotificationProps,\n type SearchResultsPresearchProps,\n type SearchSourceResultListProps,\n type SendButtonProps,\n type ShareLocationDialogProps,\n type StartRecordingAudioButtonProps,\n type StreamedMessageTextProps,\n type TextareaComposerProps,\n type ThreadHeaderProps,\n type ThreadListItemProps,\n type ThreadListItemUIProps,\n type TimestampProps,\n type TranslationIndicatorProps,\n type TypingIndicatorProps,\n type UnreadMessagesNotificationProps,\n type UnreadMessagesSeparatorProps,\n type VoiceRecordingPreviewSlotProps,\n} from '../components';\n\nimport type {\n SuggestionItemProps,\n SuggestionListProps,\n} from '../components/TextareaComposer';\n\nimport type { PropsWithChildrenOnly } from '../types/types';\nimport type { StopAIGenerationButtonProps } from '../components/MessageComposer/StopAIGenerationButton';\nimport type { VideoPlayerProps } from '../components/VideoPlayer';\nimport type { EditedMessagePreviewProps } from '../components/MessageComposer/EditedMessagePreview';\nimport type { FileIconProps } from '../components/FileIcon/FileIcon';\n\nexport type ComponentContextValue = {\n /** Custom UI component to display additional message composer action buttons left to the textarea, defaults to and accepts same props as: [AdditionalMessageComposerActions](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageComposer/MessageComposerActions.tsx) */\n AdditionalMessageComposerActions?: React.ComponentType;\n /** Custom UI component to display a message attachment, defaults to and accepts same props as: [Attachment](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Attachment/Attachment.tsx) */\n Attachment?: React.ComponentType<AttachmentProps>;\n /** Custom UI component for the file type icon shown on file attachments (e.g. PDF, doc). Accepts same props as [FileIcon](https://github.com/GetStream/stream-chat-react/blob/master/src/components/FileIcon/FileIcon.tsx) (e.g. mimeType, size, sizeConfig). Use this to override dimensions or provide a custom icon. */\n AttachmentFileIcon?: React.ComponentType<FileIconProps>;\n /** Custom UI component to display an attachment previews in MessageComposer, defaults to and accepts same props as: [Attachment](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageComposer/AttachmentPreviewList.tsx) */\n AttachmentPreviewList?: React.ComponentType<AttachmentPreviewListProps>;\n /** Custom UI component to control adding attachments to MessageComposer, defaults to and accepts same props as: [AttachmentSelector](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageComposer/AttachmentSelector.tsx) */\n AttachmentSelector?: React.ComponentType;\n /** Custom UI component for the dedicated voice recording preview slot above composer attachments (REACT-794), defaults to and accepts same props as: [VoiceRecordingPreviewSlot](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageComposer/AttachmentPreviewList/VoiceRecordingPreviewSlot.tsx) */\n VoiceRecordingPreviewSlot?: React.ComponentType<VoiceRecordingPreviewSlotProps>;\n /** Custom UI component for contents of attachment selector initiation button */\n AttachmentSelectorInitiationButtonContents?: React.ComponentType;\n /** Custom UI component to display AudioRecorder in MessageComposer, defaults to and accepts same props as: [AudioRecorder](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageComposer/AudioRecorder.tsx) */\n AudioRecorder?: React.ComponentType;\n /** Optional UI component to override the default suggestion Item component, defaults to and accepts same props as: [Item](https://github.com/GetStream/stream-chat-react/blob/master/src/components/AutoCompleteTextarea/Item.js) */\n AutocompleteSuggestionItem?: React.ComponentType<SuggestionItemProps>;\n /** Optional UI component to override the default List component that displays suggestions, defaults to and accepts same props as: [List](https://github.com/GetStream/stream-chat-react/blob/master/src/components/AutoCompleteTextarea/List.js) */\n AutocompleteSuggestionList?: React.ComponentType<SuggestionListProps>;\n /** UI component to display a user's avatar, defaults to and accepts same props as: [Avatar](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Avatar/Avatar.tsx) */\n Avatar?: React.ComponentType<AvatarProps>;\n /** UI component to display a list of avatars stacked in a row, defaults to and accepts same props as: [AvatarStack](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Avatar/AvatarStack.tsx) */\n AvatarStack?: React.ComponentType<AvatarStackProps>;\n /** Custom UI component to display <img/> elements resp. a fallback in case of load error, defaults to and accepts same props as: [BaseImage](https://github.com/GetStream/stream-chat-react/blob/master/src/components/BaseImage/BaseImage.tsx) */\n BaseImage?: React.ComponentType<BaseImageProps>;\n /** Custom UI component to display the contents of callout dialog, accepts same props as: [DefaultCalloutDialog](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Dialog/base/Callout.tsx) */\n CalloutDialog?: React.ComponentType<CalloutDialogProps>;\n /** Custom UI component shown instead of the image when it fails to load, defaults to and accepts same props as: [ImagePlaceholder](https://github.com/GetStream/stream-chat-react/blob/master/src/components/BaseImage/ImagePlaceholder.tsx) */\n ImagePlaceholder?: React.ComponentType<ImagePlaceholderProps>;\n /** Custom UI component to display the container for the queried channels, defaults to and accepts same props as: [ChannelListUI](https://github.com/GetStream/stream-chat-react/blob/master/src/components/ChannelList/ChannelListUI.tsx) */\n ChannelListUI?: React.ComponentType<ChannelListUIProps>;\n /** Custom UI component to display set of action buttons within `ChannelListItemUI` component, accepts same props as: [ChannelListItemActionButtons](https://github.com/GetStream/stream-chat-react/blob/master/src/components/ChannelList/ChannelListItemActionButtons.tsx) */\n ChannelListItemActionButtons?: React.ComponentType;\n /** Custom UI component to display the channel preview in the list, defaults to and accepts same props as: [ChannelListItemUI](https://github.com/GetStream/stream-chat-react/blob/master/src/components/ChannelPreview/ChannelListItemUI.tsx) */\n ChannelListItemUI?: React.ComponentType<ChannelListItemUIProps>;\n /** Custom UI component to display command chip, defaults to and accepts same props as: [CommandChip](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageComposer/CommandChip.tsx) */\n CommandChip?: React.ComponentType;\n /** Custom UI component to display the slow mode cooldown timer, defaults to and accepts same props as: [CooldownTimer](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageComposer/CooldownTimer.tsx) */\n CooldownTimer?: React.ComponentType;\n /** Custom UI component for date separators, defaults to and accepts same props as: [DateSeparator](https://github.com/GetStream/stream-chat-react/blob/master/src/components/DateSeparator.tsx) */\n DateSeparator?: React.ComponentType<DateSeparatorProps>;\n /** Custom UI component to display the contents on file drag-and-drop overlay, defaults to and accepts same props as: [FileDragAndDropContent](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageComposer/WithDragAndDropUpload.tsx) */\n FileDragAndDropContent?: React.ComponentType<FileDragAndDropContentProps>;\n /** Custom UI component to override default preview of edited message, defaults to and accepts same props as: [EditedMessagePreview](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageComposer/EditedMessagePreview.tsx) */\n EditedMessagePreview?: React.ComponentType<EditedMessagePreviewProps>;\n /** Custom UI component for rendering button with emoji picker in MessageComposer */\n EmojiPicker?: React.ComponentType;\n /** Mechanism to be used with autocomplete and text replace features of the `MessageComposer` component, see [emoji-mart `SearchIndex`](https://github.com/missive/emoji-mart#%EF%B8%8F%EF%B8%8F-headless-search) */\n emojiSearchIndex?: EmojiSearchIndex;\n /** Custom UI component to be displayed when the `MessageList` is empty, defaults to and accepts same props as: [EmptyStateIndicator](https://github.com/GetStream/stream-chat-react/blob/master/src/components/EmptyStateIndicator/EmptyStateIndicator.tsx) */\n EmptyStateIndicator?: React.ComponentType<EmptyStateIndicatorProps>;\n /** Custom UI component to display media items in a carousel, defaults to and accepts same props as: [Gallery](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Gallery/Gallery.tsx) */\n Gallery?: React.ComponentType<GalleryProps>;\n /** Custom UI component to render a Giphy preview in the `VirtualizedMessageList` */\n GiphyPreviewMessage?: React.ComponentType<GiphyPreviewMessageProps>;\n /** Custom UI component to render at the top of the `MessageList` */\n HeaderComponent?: React.ComponentType;\n /** Custom UI component handling how the message composer is rendered, defaults to and accepts the same props as [MessageComposerUI](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageComposer/MessageComposerUI.tsx) */\n MessageComposerUI?: React.ComponentType<MessageComposerProps>;\n /** Custom component to render link previews in message composer **/\n LinkPreviewList?: React.ComponentType;\n /** Custom UI component to be shown if the channel query fails, defaults to and accepts same props as: [LoadingErrorIndicator](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Loading/LoadingErrorIndicator.tsx) */\n LoadingErrorIndicator?: React.ComponentType<LoadingErrorIndicatorProps>;\n /** Custom UI component to render while the `MessageList` is loading new messages, defaults to and accepts same props as: [LoadingIndicator](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Loading/LoadingIndicator.tsx) */\n LoadingIndicator?: React.ComponentType<LoadingIndicatorProps>;\n /** Custom UI component to display a message in the standard `MessageList`, defaults to and accepts the same props as: [MessageUI](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Message/MessageUI.tsx) */\n Message?: React.ComponentType<MessageUIComponentProps>;\n /** Custom UI component for message actions popup, accepts no props, all the defaults are set within [MessageActions (unstable)](https://github.com/GetStream/stream-chat-react/blob/master/src/experimental/MessageActions/MessageActions.tsx) */\n MessageActions?: React.ComponentType;\n /** Custom UI component to display the contents of a bounced message modal. Usually it allows to retry, edit, or delete the message. Defaults to and accepts the same props as: [MessageBouncePrompt](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageBounce/MessageBouncePrompt.tsx) */\n MessageBouncePrompt?: React.ComponentType<MessageBouncePromptProps>;\n /** Custom UI component for a moderation-blocked message, defaults to and accepts same props as: [MessageBlocked](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Message/MessageBlocked.tsx) */\n MessageBlocked?: React.ComponentType;\n /** Custom UI component for a deleted message. Has no default component */\n MessageDeleted?: React.ComponentType<MessageDeletedProps>;\n /** Custom UI component for a message bubble of a deleted message, defaults to and accepts same props as: [MessageDeletedBubble](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Message/MessageDeletedBubble.tsx) */\n MessageDeletedBubble?: React.ComponentType;\n MessageListMainPanel?: React.ComponentType<PropsWithChildrenOnly>;\n /** Custom UI component to display notifications rendered by `NotificationList`, defaults to and accepts same props as: [NotificationList](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Notifications/NotificationList.tsx) */\n NotificationList?: React.ComponentType<NotificationListProps>;\n /** Custom UI component to display a notification when scrolled up the list and new messages arrive, defaults to and accepts same props as [NewMessageNotification](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageList/NewMessageNotification.tsx) */\n NewMessageNotification?: React.ComponentType<NewMessageNotificationProps>;\n /** Custom UI component to display message replies, defaults to and accepts same props as: [MessageRepliesCountButton](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Message/MessageRepliesCountButton.tsx) */\n MessageRepliesCountButton?: React.ComponentType<MessageRepliesCountButtonProps>;\n /** Custom UI component to display message delivery status, defaults to and accepts same props as: [MessageStatus](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Message/MessageStatus.tsx) */\n MessageStatus?: React.ComponentType<MessageStatusProps>;\n /** Custom UI component to display system messages, defaults to and accepts same props as: [EventComponent](https://github.com/GetStream/stream-chat-react/blob/master/src/components/EventComponent/EventComponent.tsx) */\n MessageSystem?: React.ComponentType<EventComponentProps>;\n /** Custom UI component to display a timestamp on a message, defaults to and accepts same props as: [MessageTimestamp](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Message/MessageTimestamp.tsx) */\n MessageTimestamp?: React.ComponentType<MessageTimestampProps>;\n /** Custom UI component for viewing content in a modal, defaults to and accepts the same props as [Modal](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Modal/Modal.tsx) */\n Modal?: React.ComponentType<ModalProps>;\n /** Custom UI component for viewing message's image attachments with option to expand into the Gallery on Modal, defaults to and accepts the same props as [ModalGallery](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Gallery/ModalGallery.tsx) */\n ModalGallery?: React.ComponentType<ModalGalleryProps>;\n /** Custom UI component to show \"Also sent in channel\" in thread message lists when message.show_in_channel is true, defaults to and accepts same props as: [MessageAlsoSentInChannelIndicator](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Message/MessageAlsoSentInChannelIndicator.tsx) */\n MessageAlsoSentInChannelIndicator?: React.ComponentType;\n /** Custom UI component to override default pinned message indicator, defaults to and accepts same props as: [PinIndicator](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Message/PinIndicator.tsx) */\n PinIndicator?: React.ComponentType<PinIndicatorProps>;\n /** Custom UI component to override default poll actions rendering in a message, defaults to and accepts same props as: [PollActions](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Poll/PollActions/PollActions.tsx) */\n PollActions?: React.ComponentType;\n /** Custom UI component to override default poll rendering in a message, defaults to and accepts same props as: [PollContent](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Poll/PollContent.tsx) */\n PollContent?: React.ComponentType;\n /** Custom UI component to override default poll creation dialog contents, defaults to and accepts same props as: [PollCreationDialog](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Poll/PollCreationDialog/PollCreationDialog.tsx) */\n PollCreationDialog?: React.ComponentType<PollCreationDialogProps>;\n /** Custom UI component to override default poll header in a message, defaults to and accepts same props as: [PollHeader](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Poll/PollHeader.tsx) */\n PollHeader?: React.ComponentType;\n /** Custom UI component to override default poll option selector, defaults to and accepts same props as: [PollOptionSelector](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Poll/PollOptionSelector.tsx) */\n PollOptionSelector?: React.ComponentType<PollOptionSelectorProps>;\n /** Custom UI component to override quoted message UI on a sent message, defaults to and accepts same props as: [QuotedMessage](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Message/QuotedMessage.tsx) */\n QuotedMessage?: React.ComponentType;\n /** Custom UI component to override the message input's quoted message preview, defaults to and accepts same props as: [QuotedMessagePreview](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageComposer/QuotedMessagePreview.tsx) */\n QuotedMessagePreview?: React.ComponentType<QuotedMessagePreviewProps>;\n /** Custom reaction options to be applied to ReactionSelector, ReactionList and SimpleReactionList components */\n reactionOptions?: ReactionOptions;\n /** Custom UI component to display the reaction selector, defaults to and accepts same props as: [ReactionSelector](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Reactions/ReactionSelector.tsx) */\n ReactionSelector?: React.ForwardRefExoticComponent<ReactionSelectorProps>;\n /** Custom UI component to display the list of reactions on a message, defaults to and accepts same props as: [MessageReactions](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Reactions/MessageReactions.tsx) */\n MessageReactions?: React.ComponentType<MessageReactionsProps>;\n /** Custom UI component to display the reactions modal, defaults to and accepts same props as: [MessageReactionsDetail](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Reactions/MessageReactionsDetail.tsx) */\n MessageReactionsDetail?: React.ComponentType<MessageReactionsDetailProps>;\n RecordingPermissionDeniedNotification?: React.ComponentType<RecordingPermissionDeniedNotificationProps>;\n /** Custom UI component to display the message reminder information in the Message UI, defaults to and accepts same props as: [ReminderNotification](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Message/ReminderNotification.tsx) */\n ReminderNotification?: React.ComponentType<ReminderNotificationProps>;\n /** Custom UI component to display the message translation indicator when message has i18n, defaults to and accepts same props as: [MessageTranslationIndicator](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Message/TranslationIndicator.tsx) */\n MessageTranslationIndicator?: React.ComponentType<TranslationIndicatorProps>;\n /** Custom UI component to display the edited indicator and tooltip when a message has been edited, defaults to and accepts same props as: [MessageEditedIndicator](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Message/MessageEditedIndicator.tsx) */\n MessageEditedIndicator?: React.ComponentType<MessageEditedIndicatorProps>;\n /** Custom component to display the search UI, defaults to and accepts same props as: [Search](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Search/Search.tsx) */\n Search?: React.ComponentType;\n /** Custom component to display the UI where the searched string is entered, defaults to and accepts same props as: [SearchBar](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Search/SearchBar/SearchBar.tsx) */\n SearchBar?: React.ComponentType;\n /** Custom component for the search UI dedicated to display the results area, defaults to and accepts same props as: [SearchResults](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Search/SearchResults/SearchResults.tsx) */\n SearchResults?: React.ComponentType;\n /** Custom UI component to display header of search results pane, defaults to and accepts same props as: [SearchResultsHeader](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Search/SearchResults/SearchResultsHeader.tsx) */\n SearchResultsHeader?: React.ComponentType;\n /** Custom component to display search results pane before emitting the first search query for a given source, defaults to and accepts same props as: [SearchResultsPresearch](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Search/SearchResults/SearchSourceResultsPresearch.tsx) */\n SearchResultsPresearch?: React.ComponentType<SearchResultsPresearchProps>;\n /** Custom component to display the search source items results, defaults to and accepts same props as: [SearchSourceResultList](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Search/SearchResults/SearchSourceResultList.tsx) */\n SearchSourceResultList?: React.ComponentType<SearchSourceResultListProps>;\n /** Custom component to indicate the end of the last page for a searched source, defaults to and accepts same props as: [SearchSourceResultListFooter](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Search/SearchResults/SearchSourceResultListFooter.tsx) */\n SearchSourceResultListFooter?: React.ComponentType;\n /** Custom UI component to display search results items for a given search source pane, defaults to and accepts same props as: [SearchSourceResults](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Search/SearchResults/SourceSearchResults.tsx) */\n SearchSourceResults?: React.ComponentType;\n /** Custom component to display the search source results UI with 0 items found, defaults to and accepts same props as: [SearchSourceResultsEmpty](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Search/SearchResults/SearchSourceResultsEmpty.tsx) */\n SearchSourceResultsEmpty?: React.ComponentType;\n /** Custom component to display the header content for a given search source results, no default component is provided. */\n SearchSourceResultsHeader?: React.ComponentType;\n /** Custom component to display the search source results UI during the search query execution, defaults to and accepts same props as: [SearchSourceResultsLoadingIndicator](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Search/SearchResults/SearchSourceResultsLoadingIndicator.tsx) */\n SearchSourceResultsLoadingIndicator?: React.ComponentType;\n /** Custom UI component for send button, defaults to and accepts same props as: [SendButton](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageComposer/icons.tsx) */\n SendButton?: React.ComponentType<SendButtonProps>;\n /** Custom UI component checkbox that indicates message to be sent to main channel, defaults to and accepts same props as: [SendToChannelCheckbox](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageComposer/SendToChannelCheckbox.tsx) */\n SendToChannelCheckbox?: React.ComponentType;\n /** Custom UI component to render the location sharing dialog, defaults to and accepts same props as: [ShareLocationDialog](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Location/ShareLocationDialog.tsx) */\n ShareLocationDialog?: React.ComponentType<ShareLocationDialogProps>;\n /** Custom UI component button for initiating audio recording, defaults to and accepts same props as: [StartRecordingAudioButton](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MediaRecorder/AudioRecorder/AudioRecordingButtons.tsx) */\n StartRecordingAudioButton?: React.ComponentType<StartRecordingAudioButtonProps>;\n StopAIGenerationButton?: React.ComponentType<StopAIGenerationButtonProps> | null;\n StreamedMessageText?: React.ComponentType<StreamedMessageTextProps>;\n /** Custom UI component to handle message text input, defaults to and accepts same props as [TextareaComposer](https://github.com/GetStream/stream-chat-react/blob/master/src/components/TextareaComposer/TextareaComposer.tsx) */\n TextareaComposer?: React.ComponentType<TextareaComposerProps>;\n /** Custom UI component that displays thread's parent or other message at the top of the `MessageList`, defaults to and accepts same props as [MessageUI](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Message/MessageUI.tsx) */\n ThreadHead?: React.ComponentType<MessageProps>;\n /** Custom UI component to display the header of a `Thread`, defaults to and accepts same props as: [DefaultThreadHeader](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Thread/Thread.tsx) */\n ThreadHeader?: React.ComponentType<ThreadHeaderProps>;\n ThreadListEmptyPlaceholder?: React.ComponentType;\n ThreadListItem?: React.ComponentType<ThreadListItemProps>;\n ThreadListItemUI?: React.ComponentType<ThreadListItemUIProps>;\n ThreadListLoadingIndicator?: React.ComponentType;\n ThreadListUnseenThreadsBanner?: React.ComponentType;\n /** Custom UI component to display the start of a threaded `MessageList`, defaults to and accepts same props as: [DefaultThreadStart](https://github.com/GetStream/stream-chat-react/blob/master/src/components/Thread/Thread.tsx) */\n ThreadStart?: React.ComponentType;\n /** Custom UI component to display a date used in timestamps. It's used internally by the default `MessageTimestamp`, and to display a timestamp for edited messages. */\n Timestamp?: React.ComponentType<TimestampProps>;\n /** Custom UI component for the typing indicator, defaults to and accepts same props as: [TypingIndicator](https://github.com/GetStream/stream-chat-react/blob/master/src/components/TypingIndicator/TypingIndicator.tsx) */\n TypingIndicator?: React.ComponentType<TypingIndicatorProps>;\n /** Custom UI component that indicates a user is viewing unread messages. It disappears once the user scrolls to UnreadMessagesSeparator. Defaults to and accepts same props as: [UnreadMessagesNotification](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageList/UnreadMessagesNotification.tsx) */\n UnreadMessagesNotification?: React.ComponentType<UnreadMessagesNotificationProps>;\n /** Custom UI component that separates read messages from unread, defaults to and accepts same props as: [UnreadMessagesSeparator](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageList/UnreadMessagesSeparator.tsx) */\n UnreadMessagesSeparator?: React.ComponentType<UnreadMessagesSeparatorProps>;\n /** Component used to play video. If not provided, ReactPlayer is used as a default video player. */\n VideoPlayer?: React.ComponentType<VideoPlayerProps>;\n /** Custom UI component to display a message in the `VirtualizedMessageList`, does not have a default implementation */\n VirtualMessage?: React.ComponentType<MessageUIComponentProps>;\n /** Custom UI component to wrap MessageList children. Default is the `ul` tag */\n MessageListWrapper?: React.ComponentType<PropsWithChildren>;\n /** Custom UI component to wrap each element of MessageList. Default is the `li` tag */\n MessageListItem?: React.ComponentType<PropsWithChildren>;\n};\n\nexport const ComponentContext = React.createContext<ComponentContextValue>({});\n\nexport const ComponentProvider = ({\n children,\n value,\n}: PropsWithChildren<{\n value: Partial<ComponentContextValue>;\n}>) => (\n <ComponentContext.Provider value={value as unknown as ComponentContextValue}>\n {children}\n </ComponentContext.Provider>\n);\n\nexport const useComponentContext = (\n /**\n * @deprecated\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _componentName?: string,\n) => useContext(ComponentContext) as unknown as ComponentContextValue;\n","import { useCallback, useMemo } from 'react';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim';\n\nimport type { StateStore } from 'stream-chat';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noop = () => {};\n\nexport function useStateStore<\n T extends Record<string, unknown>,\n O extends Readonly<Record<string, unknown> | Readonly<unknown[]>>,\n>(store: StateStore<T>, selector: (v: T) => O): O;\nexport function useStateStore<\n T extends Record<string, unknown>,\n O extends Readonly<Record<string, unknown> | Readonly<unknown[]>>,\n>(store: StateStore<T> | undefined, selector: (v: T) => O): O | undefined;\nexport function useStateStore<\n T extends Record<string, unknown>,\n O extends Readonly<Record<string, unknown> | Readonly<unknown[]>>,\n>(store: StateStore<T> | undefined, selector: (v: T) => O) {\n const wrappedSubscription = useCallback(\n (onStoreChange: () => void) => {\n const unsubscribe = store?.subscribeWithSelector(selector, onStoreChange);\n return unsubscribe ?? noop;\n },\n [store, selector],\n );\n\n const wrappedSnapshot = useMemo(() => {\n let cachedTuple: [T, O];\n\n return () => {\n const currentValue = store?.getLatestValue();\n\n if (!currentValue) return undefined;\n\n // store value hasn't changed, no need to compare individual values\n if (cachedTuple && cachedTuple[0] === currentValue) {\n return cachedTuple[1];\n }\n\n const newlySelected = selector(currentValue);\n\n // store value changed but selected values wouldn't have to, double-check selected\n if (cachedTuple) {\n let selectededAreEqualToCached = true;\n\n for (const key in cachedTuple[1]) {\n if (cachedTuple[1][key] === newlySelected[key]) continue;\n selectededAreEqualToCached = false;\n break;\n }\n\n if (selectededAreEqualToCached) return cachedTuple[1];\n }\n\n cachedTuple = [currentValue, newlySelected];\n return cachedTuple[1];\n };\n }, [store, selector]);\n\n const state = useSyncExternalStore(wrappedSubscription, wrappedSnapshot);\n\n return state;\n}\n","import React, { createContext, useContext } from 'react';\nimport type { PropsWithChildren } from 'react';\n\nimport type { MessageComposerProps } from '../components/MessageComposer';\nimport type { UseMessageComposerBindingsParams } from '../components/MessageComposer/hooks/useMessageComposerBindings';\n\nexport type MessageComposerContextValue = UseMessageComposerBindingsParams &\n Omit<MessageComposerProps, 'Input'>;\n\nexport const MessageComposerContext = createContext<\n UseMessageComposerBindingsParams | undefined\n>(undefined);\n\nexport const MessageComposerContextProvider = ({\n children,\n value,\n}: PropsWithChildren<{\n value: MessageComposerContextValue;\n}>) => (\n <MessageComposerContext.Provider\n value={value as unknown as MessageComposerContextValue}\n >\n {children}\n </MessageComposerContext.Provider>\n);\n\nexport const useMessageComposerContext = (\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n componentName?: string,\n) => {\n const contextValue = useContext(MessageComposerContext);\n\n if (!contextValue) {\n return {} as MessageComposerContextValue;\n }\n\n return contextValue as unknown as MessageComposerContextValue;\n};\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):e.dayjs_plugin_calendar=t()}(this,function(){\"use strict\";return function(e,t,a){var n=\"h:mm A\",d={lastDay:\"[Yesterday at] \"+n,sameDay:\"[Today at] \"+n,nextDay:\"[Tomorrow at] \"+n,nextWeek:\"dddd [at] \"+n,lastWeek:\"[Last] dddd [at] \"+n,sameElse:\"MM/DD/YYYY\"};t.prototype.calendar=function(e,t){var n=t||this.$locale().calendar||d,s=a(e||void 0).startOf(\"d\"),o=this.diff(s,\"d\",!0),i=o<-6?\"sameElse\":o<-1?\"lastWeek\":o<0?\"lastDay\":o<1?\"sameDay\":o<2?\"nextDay\":o<7?\"nextWeek\":\"sameElse\",f=n[i]||d[i];return\"function\"==typeof f?f.call(this,a()):this.format(f)}}});\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):e.dayjs_plugin_localizedFormat=t()}(this,function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"};return function(t,n,o){var r=n.prototype,M=r.format;o.en.formats=e,r.format=function(t){void 0===t&&(t=\"YYYY-MM-DDTHH:mm:ssZ\");var n=this.$locale().formats,o=function(t,n){return t.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(t,o,r){var M=r&&r.toUpperCase();return o||n[r]||e[r]||n[M].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,function(e,t,n){return t||n.slice(1)})})}(t,void 0===n?{}:n);return M.call(this,o)}}});\n","import Dayjs from 'dayjs';\nimport type { Duration as DayjsDuration } from 'dayjs/plugin/duration';\n\nimport type { TFunction } from 'i18next';\nimport type { Moment } from 'moment-timezone';\nimport type {\n DateFormatterOptions,\n DurationFormatterOptions,\n PredefinedFormatters,\n SupportedTranslations,\n TDateTimeParserInput,\n TDateTimeParserOutput,\n TimestampFormatterOptions,\n} from './types';\n\nexport const notValidDateWarning =\n 'MessageTimestamp was called without a message, or message has invalid created_at date.';\nexport const noParsingFunctionWarning =\n 'MessageTimestamp was called but there is no datetime parsing function available';\n\nexport const isNumberOrString = (\n output: TDateTimeParserOutput,\n): output is number | string => typeof output === 'string' || typeof output === 'number';\n\nexport const isDayOrMoment = (\n output: TDateTimeParserOutput,\n): output is Dayjs.Dayjs | Moment => !!(output as Dayjs.Dayjs | Moment)?.isSame;\n\nexport const isDate = (output: unknown): output is Date =>\n output !== null &&\n typeof output === 'object' &&\n typeof (output as Date).getTime === 'function';\n\nconst DEFAULT_RELATIVE_COMPACT_MAX_DAYS = 6;\nconst DEFAULT_RELATIVE_COMPACT_MAX_WEEKS = 3;\n\n/**\n * Turns a date into a short, readable label: \"Today\", \"Yesterday\", \"2d ago\", \"1w ago\",\n * or a calendar date (DD/MM/YY) for older or future dates.\n *\n * What appears for each period:\n * - Same day → \"Today\"\n * - Yesterday → \"Yesterday\"\n * - 2 to maxDays days ago → \"2d ago\", \"3d ago\", … \"Nd ago\"\n * - If maxWeeks is greater than 0: 1 to maxWeeks weeks ago → \"1w ago\", \"2w ago\", …\n * - Anything older (or in the future) → calendar date\n *\n * To change the wording or which label is used, add these to your locale JSON (example in English):\n *\n * \"timestamp/relativeToday\": \"Today\",\n * \"timestamp/relativeYesterday\": \"Yesterday\",\n * \"timestamp/relativeDaysAgo\": \"{{ count }}d ago\",\n * \"timestamp/relativeWeeksAgo\": \"{{ count }}w ago\",\n *\n * To use this style for a timestamp (e.g. poll votes), add for example:\n *\n * \"timestamp/PollVote\": \"{{ timestamp | timestampFormatter(relativeCompact: true) }}\"\n *\n * Only \"Xd ago\", no \"Xw ago\" (anything 7+ days ago shows as a date):\n *\n * \"timestamp/PollVote\": \"{{ timestamp | timestampFormatter(relativeCompact: true; relativeCompactMaxWeeks: 0) }}\"\n *\n * To change how far \"days ago\" and \"weeks ago\" go: use relativeCompactMaxDays and\n * relativeCompactMaxWeeks in the formatter (e.g. relativeCompactMaxWeeks: 2 for only 1w and 2w ago).\n */\nfunction getRelativeCompactDateString(\n messageCreatedAt: string | Date,\n t: TFunction,\n tDateTimeParser: (input?: TDateTimeParserInput) => TDateTimeParserOutput,\n maxDays: number = DEFAULT_RELATIVE_COMPACT_MAX_DAYS,\n maxWeeks: number = DEFAULT_RELATIVE_COMPACT_MAX_WEEKS,\n): string | null {\n const then = tDateTimeParser(messageCreatedAt);\n if (!isDayOrMoment(then)) return null;\n const now = tDateTimeParser(new Date().toISOString());\n if (!isDayOrMoment(now)) return null;\n const diffDays = (now as Dayjs.Dayjs)\n .startOf('day')\n .diff((then as Dayjs.Dayjs).startOf('day'), 'day');\n if (diffDays < 0) {\n return (then as Dayjs.Dayjs).format('DD/MM/YY');\n }\n if (diffDays === 0) return t('timestamp/relativeToday');\n if (diffDays === 1) return t('timestamp/relativeYesterday');\n if (diffDays >= 2 && diffDays <= maxDays)\n return t('timestamp/relativeDaysAgo', { count: diffDays });\n if (maxWeeks > 0) {\n const maxDaysForWeeks = maxWeeks * 7;\n if (diffDays >= 7 && diffDays <= maxDaysForWeeks) {\n const weeks = Math.ceil(diffDays / 7);\n return t('timestamp/relativeWeeksAgo', { count: weeks });\n }\n }\n return (then as Dayjs.Dayjs).format('DD/MM/YY');\n}\n\nexport function getDateString({\n calendar,\n calendarFormats,\n format,\n formatDate,\n messageCreatedAt,\n relativeCompact,\n relativeCompactMaxDays,\n relativeCompactMaxWeeks,\n t,\n tDateTimeParser,\n timestampTranslationKey,\n}: DateFormatterOptions): string | number | null {\n if (\n !messageCreatedAt ||\n (typeof messageCreatedAt === 'string' && !Date.parse(messageCreatedAt))\n ) {\n // TODO: replace with proper logging (@stream-io/logger)\n // console.warn(notValidDateWarning);\n return null;\n }\n\n if (typeof formatDate === 'function') {\n return formatDate(new Date(messageCreatedAt));\n }\n\n if (relativeCompact && t && tDateTimeParser) {\n const maxDays =\n typeof relativeCompactMaxDays === 'number'\n ? relativeCompactMaxDays\n : typeof relativeCompactMaxDays === 'string'\n ? parseInt(relativeCompactMaxDays, 10)\n : DEFAULT_RELATIVE_COMPACT_MAX_DAYS;\n const maxWeeks =\n typeof relativeCompactMaxWeeks === 'number'\n ? relativeCompactMaxWeeks\n : typeof relativeCompactMaxWeeks === 'string'\n ? parseInt(relativeCompactMaxWeeks, 10)\n : DEFAULT_RELATIVE_COMPACT_MAX_WEEKS;\n const result = getRelativeCompactDateString(\n messageCreatedAt,\n t,\n tDateTimeParser,\n Number.isNaN(maxDays) ? DEFAULT_RELATIVE_COMPACT_MAX_DAYS : maxDays,\n Number.isNaN(maxWeeks) ? DEFAULT_RELATIVE_COMPACT_MAX_WEEKS : maxWeeks,\n );\n if (result) return result;\n }\n\n if (t && timestampTranslationKey) {\n const options: TimestampFormatterOptions = {};\n if (typeof calendar !== 'undefined' && calendar !== null) options.calendar = calendar;\n if (typeof calendarFormats !== 'undefined' && calendarFormats !== null)\n options.calendarFormats = calendarFormats;\n if (typeof format !== 'undefined' && format !== null) options.format = format;\n\n const translatedTimestamp = t(timestampTranslationKey, {\n ...options,\n timestamp: new Date(messageCreatedAt),\n });\n const translationKeyFound = timestampTranslationKey !== translatedTimestamp;\n if (translationKeyFound) return translatedTimestamp;\n }\n\n if (!tDateTimeParser) {\n // TODO: replace with proper logging (@stream-io/logger)\n // console.warn(noParsingFunctionWarning);\n return null;\n }\n\n const parsedTime = tDateTimeParser(messageCreatedAt);\n\n if (isDayOrMoment(parsedTime)) {\n /**\n * parsedTime.calendar is guaranteed on the type but is only\n * available when a user calls dayjs.extend(calendar)\n */\n return calendar && parsedTime.calendar\n ? parsedTime.calendar(undefined, calendarFormats || undefined)\n : parsedTime.format(format || undefined);\n }\n\n if (isDate(parsedTime)) {\n return parsedTime.toDateString();\n }\n\n if (isNumberOrString(parsedTime)) {\n return parsedTime;\n }\n\n return null;\n}\n\nexport const predefinedFormatters: PredefinedFormatters = {\n durationFormatter:\n (streamI18n) =>\n (value, _, { format, withSuffix }: DurationFormatterOptions) => {\n // NOTE: isDayjs is not exported in \"dayjs\" package for ESM, hence we access\n // `isDayjs` from Dayjs instance\n if (format && Dayjs.isDayjs(streamI18n.DateTimeParser)) {\n return (streamI18n.DateTimeParser.duration(value) as DayjsDuration).format(\n format,\n );\n }\n return streamI18n.DateTimeParser.duration(value).humanize(!!withSuffix);\n },\n timestampFormatter:\n (streamI18n) =>\n (\n value,\n _,\n {\n calendarFormats,\n ...options\n }: Pick<\n TimestampFormatterOptions,\n | 'calendar'\n | 'format'\n | 'relativeCompact'\n | 'relativeCompactMaxDays'\n | 'relativeCompactMaxWeeks'\n > & {\n calendarFormats?: Record<string, string> | string;\n },\n ) => {\n let parsedCalendarFormats;\n try {\n if (!options.calendar) {\n parsedCalendarFormats = {};\n } else if (typeof calendarFormats === 'string') {\n parsedCalendarFormats = JSON.parse(calendarFormats);\n } else if (typeof calendarFormats === 'object') {\n parsedCalendarFormats = calendarFormats;\n }\n } catch (e) {\n console.error('[TIMESTAMP FORMATTER]', e);\n }\n\n const result = getDateString({\n ...options,\n calendarFormats: parsedCalendarFormats,\n messageCreatedAt: value,\n t: streamI18n.t,\n tDateTimeParser: streamI18n.tDateTimeParser,\n });\n if (!result || typeof result === 'number') {\n return JSON.stringify(value);\n }\n return result;\n },\n};\n\nexport const defaultTranslatorFunction = ((key: string) => key) as TFunction;\n\nexport const defaultDateTimeParser = (input?: TDateTimeParserInput) => Dayjs(input);\n\nexport const isLanguageSupported = (\n language: string,\n): language is SupportedTranslations => {\n const translations = [\n 'de',\n 'en',\n 'es',\n 'fr',\n 'hi',\n 'it',\n 'ja',\n 'ko',\n 'nl',\n 'pt',\n 'ru',\n 'tr',\n ];\n return translations.some((translation) => language === translation);\n};\n","import React, { useContext } from 'react';\nimport Dayjs from 'dayjs';\nimport calendar from 'dayjs/plugin/calendar';\nimport localizedFormat from 'dayjs/plugin/localizedFormat';\nimport type { PropsWithChildren } from 'react';\nimport type { TFunction } from 'i18next';\nimport type { TranslationLanguages } from 'stream-chat';\n\nimport { defaultDateTimeParser, defaultTranslatorFunction } from '../i18n/utils';\nimport type { TDateTimeParser } from '../i18n/types';\n\nDayjs.extend(calendar);\nDayjs.extend(localizedFormat);\n\nexport type TranslationContextValue = {\n t: TFunction;\n tDateTimeParser: TDateTimeParser;\n userLanguage: TranslationLanguages;\n};\n\nexport const TranslationContext = React.createContext<TranslationContextValue>({\n t: defaultTranslatorFunction,\n tDateTimeParser: defaultDateTimeParser,\n userLanguage: 'en',\n});\n\nexport const TranslationProvider = ({\n children,\n value,\n}: PropsWithChildren<{ value: TranslationContextValue }>) => (\n <TranslationContext.Provider value={value}>{children}</TranslationContext.Provider>\n);\n\nexport const useTranslationContext = (componentName?: string) => {\n const contextValue = useContext(TranslationContext);\n\n if (!contextValue) {\n console.warn(\n `The useTranslationContext hook was called outside of the TranslationContext provider. Make sure this hook is called within a child of the Chat component. The errored call is located in the ${componentName} component.`,\n );\n\n return {} as TranslationContextValue;\n }\n\n return contextValue;\n};\n","import React, { useContext } from 'react';\nimport type { PropsWithChildren } from 'react';\n\nimport type { ChannelState as StreamChannelState } from 'stream-chat';\n\nexport type TypingContextValue = {\n typing?: StreamChannelState['typing'];\n};\n\nexport const TypingContext = React.createContext<TypingContextValue | undefined>(\n undefined,\n);\n\nexport const TypingProvider = ({\n children,\n value,\n}: PropsWithChildren<{\n value: TypingContextValue;\n}>) => (\n <TypingContext.Provider value={value as unknown as TypingContextValue}>\n {children}\n </TypingContext.Provider>\n);\n\nexport const useTypingContext = (componentName?: string) => {\n const contextValue = useContext(TypingContext);\n\n if (!contextValue) {\n console.warn(\n `The useTypingContext hook was called outside of the TypingContext provider. Make sure this hook is called within a child of the Channel component. The errored call is located in the ${componentName} component.`,\n );\n\n return {} as TypingContextValue;\n }\n\n return contextValue as TypingContextValue;\n};\n","import { StateStore } from 'stream-chat';\nimport throttle from 'lodash.throttle';\nimport type { AudioPlayerPlugin } from './plugins';\nimport type { AudioPlayerPool } from './AudioPlayerPool';\n\nexport type AudioPlayerErrorCode =\n | 'failed-to-start'\n | 'not-playable'\n | 'seek-not-supported'\n | (string & {});\n\nexport type RegisterAudioPlayerErrorParams = {\n error?: Error;\n errCode?: AudioPlayerErrorCode;\n};\n\nexport type AudioPlayerDescriptor = {\n id: string;\n src: string;\n /** Audio duration in seconds. */\n durationSeconds?: number;\n fileSize?: number | string;\n mimeType?: string;\n title?: string;\n waveformData?: number[];\n};\n\nexport type AudioPlayerPlayAudioParams = {\n currentPlaybackRate?: number;\n playbackRates?: number[];\n};\n\nexport type AudioPlayerState = {\n /** Signals whether the browser can play the record. */\n canPlayRecord: boolean;\n /** Current playback speed. Initiated with the first item of the playbackRates array. */\n currentPlaybackRate: number;\n /** Audio duration in seconds, from descriptor or loaded metadata. */\n durationSeconds?: number;\n /** The audio element ref */\n elementRef: HTMLAudioElement | null;\n /** Signals whether the playback is in progress. */\n isPlaying: boolean;\n /** Keeps the latest playback error reference. */\n playbackError: Error | null;\n /** An array of fractional numeric values of playback speed to override the defaults (1.0, 1.5, 2.0) */\n playbackRates: number[];\n /** Playback progress expressed in percent. */\n progressPercent: number;\n /** Playback progress expressed in seconds. */\n secondsElapsed: number;\n};\n\nexport type AudioPlayerOptions = AudioPlayerDescriptor & {\n /** An array of fractional numeric values of playback speed to override the defaults (1.0, 1.5, 2.0) */\n playbackRates?: number[];\n plugins?: AudioPlayerPlugin[];\n pool: AudioPlayerPool;\n};\n\nconst DEFAULT_PLAYBACK_RATES = [1.0, 1.5, 2.0];\n\nconst isSeekable = (audioElement: HTMLAudioElement) =>\n !(audioElement.duration === Infinity || isNaN(audioElement.duration));\n\nexport const defaultRegisterAudioPlayerError = ({\n error,\n}: RegisterAudioPlayerErrorParams = {}) => {\n if (!error) return;\n console.error('[AUDIO PLAYER]', error);\n};\n\nexport const elementIsPlaying = (audioElement: HTMLAudioElement | null) =>\n audioElement && !(audioElement.paused || audioElement.ended);\n\nexport type SeekFn = (params: {\n clientX: number;\n currentTarget: HTMLDivElement;\n}) => Promise<void>;\n\nexport class AudioPlayer {\n state: StateStore<AudioPlayerState>;\n /** The audio MIME type that is checked before the audio is played. If the type is not supported the controller registers error in playbackError. */\n private _data: AudioPlayerDescriptor;\n private _plugins = new Map<string, AudioPlayerPlugin>();\n private playTimeout: ReturnType<typeof setTimeout> | undefined = undefined;\n private unsubscribeEventListeners: (() => void) | null = null;\n private _pool: AudioPlayerPool;\n private _disposed = false;\n private _pendingLoadedMeta?: { element: HTMLAudioElement; onLoaded: () => void };\n private _elementIsReadyPromise?: Promise<boolean>;\n private _metadataProbe: HTMLAudioElement | null = null;\n private _metadataProbePromise?: Promise<void>;\n private _restoringPosition = false;\n private _removalTimeout: ReturnType<typeof setTimeout> | undefined = undefined;\n\n constructor({\n durationSeconds,\n fileSize,\n id,\n mimeType,\n playbackRates: customPlaybackRates,\n plugins,\n pool,\n src,\n title,\n waveformData,\n }: AudioPlayerOptions) {\n this._data = {\n durationSeconds,\n fileSize,\n id,\n mimeType,\n src,\n title,\n waveformData,\n };\n this._pool = pool;\n this.setPlugins(() => plugins ?? []);\n\n const playbackRates = customPlaybackRates?.length\n ? customPlaybackRates\n : DEFAULT_PLAYBACK_RATES;\n\n // do not create element here; only evaluate canPlayRecord cheaply\n const canPlayRecord = mimeType ? !!new Audio().canPlayType(mimeType) : true;\n\n this.state = new StateStore<AudioPlayerState>({\n canPlayRecord,\n currentPlaybackRate: playbackRates[0],\n durationSeconds,\n elementRef: null,\n isPlaying: false,\n playbackError: null,\n playbackRates,\n progressPercent: 0,\n secondsElapsed: 0,\n });\n\n this.plugins.forEach((p) => p.onInit?.({ player: this }));\n this.preloadMetadata();\n }\n\n private get plugins(): AudioPlayerPlugin[] {\n return Array.from(this._plugins.values());\n }\n\n get canPlayRecord() {\n return this.state.getLatestValue().canPlayRecord;\n }\n\n get elementRef() {\n return this.state.getLatestValue().elementRef;\n }\n\n get isPlaying(): boolean {\n return this.state.getLatestValue().isPlaying;\n }\n\n get currentPlaybackRate() {\n return this.state.getLatestValue().currentPlaybackRate;\n }\n\n get playbackRates() {\n return this.state.getLatestValue().playbackRates;\n }\n\n get durationSeconds() {\n return this.state.getLatestValue().durationSeconds;\n }\n\n get fileSize() {\n return this._data.fileSize;\n }\n\n get id() {\n return this._data.id;\n }\n\n get src() {\n return this._data.src;\n }\n\n get mimeType() {\n return this._data.mimeType;\n }\n\n get title() {\n return this._data.title;\n }\n\n get waveformData() {\n return this._data.waveformData;\n }\n\n get secondsElapsed() {\n return this.state.getLatestValue().secondsElapsed;\n }\n\n get progressPercent() {\n return this.state.getLatestValue().progressPercent;\n }\n\n get disposed() {\n return this._disposed;\n }\n\n private setDurationSeconds = (durationSeconds?: number) => {\n this._data.durationSeconds = durationSeconds;\n this.state.partialNext({ durationSeconds });\n };\n\n private ensureElementRef(): HTMLAudioElement {\n if (this._disposed) {\n throw new Error('AudioPlayer is disposed');\n }\n if (!this.elementRef) {\n const el = this._pool.acquireElement({\n ownerId: this.id,\n src: this.src,\n });\n this.setRef(el);\n }\n return this.elementRef as HTMLAudioElement;\n }\n private setPlaybackStartSafetyTimeout = () => {\n clearTimeout(this.playTimeout);\n this.playTimeout = setTimeout(() => {\n if (!this.elementRef) return;\n try {\n this.elementRef.pause();\n this.state.partialNext({ isPlaying: false });\n } catch (e) {\n this.registerError({ errCode: 'failed-to-start' });\n }\n }, 2000);\n };\n\n private updateDurationFromElement = (element: HTMLAudioElement) => {\n const duration = element.duration;\n if (\n typeof duration !== 'number' ||\n isNaN(duration) ||\n !isFinite(duration) ||\n duration <= 0\n ) {\n return;\n }\n this.setDurationSeconds(duration);\n };\n\n private clearMetadataProbe = () => {\n const probe = this._metadataProbe;\n this._metadataProbe = null;\n this._metadataProbePromise = undefined;\n\n if (!probe) return;\n\n try {\n probe.pause();\n } catch {\n // ignore\n }\n\n probe.removeAttribute('src');\n try {\n probe.load();\n } catch {\n // ignore\n }\n };\n\n private preloadMetadata = () => {\n if (\n this._disposed ||\n this.durationSeconds != null ||\n !this.src ||\n this._metadataProbePromise ||\n typeof document === 'undefined'\n ) {\n return;\n }\n\n const probe = document.createElement('audio');\n probe.preload = 'metadata';\n this._metadataProbe = probe;\n this._metadataProbePromise = new Promise((resolve) => {\n const cleanup = () => {\n probe.removeEventListener('loadedmetadata', handleLoadedMetadata);\n probe.removeEventListener('error', handleError);\n if (this._metadataProbe === probe) {\n this.clearMetadataProbe();\n } else {\n this._metadataProbePromise = undefined;\n }\n resolve();\n };\n\n const handleLoadedMetadata = () => {\n this.updateDurationFromElement(probe);\n cleanup();\n };\n\n const handleError = () => {\n cleanup();\n };\n\n probe.addEventListener('loadedmetadata', handleLoadedMetadata, { once: true });\n probe.addEventListener('error', handleError, { once: true });\n probe.src = this.src;\n try {\n probe.load();\n } catch {\n cleanup();\n }\n });\n };\n\n private clearPlaybackStartSafetyTimeout = () => {\n if (!this.elementRef) return;\n clearTimeout(this.playTimeout);\n this.playTimeout = undefined;\n };\n\n private clearPendingLoadedMeta = () => {\n const pending = this._pendingLoadedMeta;\n if (pending?.element && pending.onLoaded) {\n pending.element.removeEventListener('loadedmetadata', pending.onLoaded);\n }\n this._pendingLoadedMeta = undefined;\n };\n\n private restoreSavedPosition = (elementRef: HTMLAudioElement) => {\n const saved = this.secondsElapsed;\n if (!saved || saved <= 0) return;\n const apply = () => {\n const duration = elementRef.duration;\n const clamped =\n typeof duration === 'number' && !isNaN(duration) && isFinite(duration)\n ? Math.min(saved, duration)\n : saved;\n try {\n if (elementRef.currentTime === clamped) return;\n elementRef.currentTime = clamped;\n // Preempt UI with restored position to avoid flicker\n this.setSecondsElapsed(clamped);\n } catch {\n // ignore\n }\n };\n // No information is available about the media resource.\n if (elementRef.readyState < 1) {\n this.clearPendingLoadedMeta();\n this._restoringPosition = true;\n const onLoaded = () => {\n // Ensure this callback still belongs to the same pending registration and same element\n if (this._pendingLoadedMeta?.onLoaded !== onLoaded) return;\n this._pendingLoadedMeta = undefined;\n if (this.elementRef !== elementRef) {\n this._restoringPosition = false;\n return;\n }\n apply();\n this._restoringPosition = false;\n };\n elementRef.addEventListener('loadedmetadata', onLoaded, { once: true });\n this._pendingLoadedMeta = { element: elementRef, onLoaded };\n } else {\n this._restoringPosition = true;\n apply();\n this._restoringPosition = false;\n }\n };\n\n setDescriptor(descriptor: AudioPlayerDescriptor) {\n const previousSrc = this.src;\n this._data = { ...this._data, ...descriptor };\n if (descriptor.src !== previousSrc && this.elementRef) {\n this.elementRef.src = descriptor.src;\n }\n if (descriptor.src && descriptor.src !== previousSrc) {\n this.clearMetadataProbe();\n if (descriptor.durationSeconds == null) {\n this.setDurationSeconds(undefined);\n this.preloadMetadata();\n } else {\n this.setDurationSeconds(descriptor.durationSeconds);\n }\n return;\n }\n if (descriptor.durationSeconds != null) {\n this.setDurationSeconds(descriptor.durationSeconds);\n }\n }\n\n private releaseElement({ resetState }: { resetState: boolean }) {\n this.clearPendingLoadedMeta();\n this.clearMetadataProbe();\n this._restoringPosition = false;\n if (resetState) {\n this.stop();\n } else {\n // Ensure isPlaying reflects reality, but keep progress/seconds\n this.state.partialNext({ isPlaying: false });\n if (this.elementRef) {\n try {\n this.elementRef.pause();\n } catch {\n // ignore\n }\n }\n }\n if (this.elementRef) {\n this._pool.releaseElement(this.id);\n this.setRef(null);\n }\n }\n\n private elementIsReady = (): Promise<boolean> => {\n if (this._elementIsReadyPromise) return this._elementIsReadyPromise;\n\n this._elementIsReadyPromise = new Promise((resolve) => {\n if (!this.elementRef) return resolve(false);\n const element = this.elementRef;\n const handleLoaded = () => {\n element.removeEventListener('loadedmetadata', handleLoaded);\n resolve(element.readyState > 0);\n };\n element.addEventListener('loadedmetadata', handleLoaded);\n });\n\n return this._elementIsReadyPromise;\n };\n\n private setRef = (elementRef: HTMLAudioElement | null) => {\n if (elementIsPlaying(this.elementRef)) {\n // preserve state during swap\n this.releaseElement({ resetState: false });\n }\n this.clearPendingLoadedMeta();\n this.clearMetadataProbe();\n this._restoringPosition = false;\n this._elementIsReadyPromise = undefined;\n this.state.partialNext({ elementRef });\n // When a new element is attached, make sure listeners are wired to it\n if (elementRef) {\n this.registerSubscriptions();\n }\n };\n\n setSecondsElapsed = (secondsElapsed: number) => {\n const duration = this.elementRef?.duration ?? this.durationSeconds;\n this.state.partialNext({\n progressPercent: duration && secondsElapsed ? (secondsElapsed / duration) * 100 : 0,\n secondsElapsed,\n });\n };\n\n setPlugins(setter: (currentPlugins: AudioPlayerPlugin[]) => AudioPlayerPlugin[]) {\n this._plugins = setter(this.plugins).reduce((acc, plugin) => {\n if (plugin.id) {\n acc.set(plugin.id, plugin);\n }\n return acc;\n }, new Map<string, AudioPlayerPlugin>());\n }\n\n canPlayMimeType = (mimeType: string) => {\n if (!mimeType) return false;\n if (this.elementRef) return !!this.elementRef.canPlayType(mimeType);\n return !!new Audio().canPlayType(mimeType);\n };\n\n play = async (params?: AudioPlayerPlayAudioParams) => {\n if (this._disposed) return;\n const elementRef = this.ensureElementRef();\n if (elementIsPlaying(this.elementRef)) {\n if (this.isPlaying) return;\n this.state.partialNext({ isPlaying: true });\n return;\n }\n\n const { currentPlaybackRate, playbackRates } = {\n currentPlaybackRate: this.currentPlaybackRate,\n playbackRates: this.playbackRates,\n ...params,\n };\n\n if (!this.canPlayRecord) {\n this.registerError({ errCode: 'not-playable' });\n return;\n }\n\n // Restore last known position for this player before attempting to play\n this.restoreSavedPosition(elementRef);\n\n elementRef.playbackRate = currentPlaybackRate ?? this.currentPlaybackRate;\n\n this.setPlaybackStartSafetyTimeout();\n\n try {\n await elementRef.play();\n this.state.partialNext({\n currentPlaybackRate,\n isPlaying: true,\n playbackRates,\n });\n this._pool.setActiveAudioPlayer(this);\n } catch (e) {\n this.registerError({ error: e as Error });\n this.state.partialNext({ isPlaying: false });\n } finally {\n this.clearPlaybackStartSafetyTimeout();\n }\n };\n\n pause = () => {\n if (!elementIsPlaying(this.elementRef)) return;\n this.clearPlaybackStartSafetyTimeout();\n\n // existence of the element already checked by elementIsPlaying\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.elementRef!.pause();\n this.state.partialNext({ isPlaying: false });\n };\n\n stop = () => {\n this.pause();\n this.setSecondsElapsed(0);\n if (this.elementRef) this.elementRef.currentTime = 0;\n };\n\n togglePlay = async () => (this.isPlaying ? this.pause() : await this.play());\n\n increasePlaybackRate = () => {\n let currentPlaybackRateIndex = this.state\n .getLatestValue()\n .playbackRates.findIndex((rate) => rate === this.currentPlaybackRate);\n if (currentPlaybackRateIndex === -1) {\n currentPlaybackRateIndex = 0;\n }\n const nextIndex =\n currentPlaybackRateIndex === this.playbackRates.length - 1\n ? 0\n : currentPlaybackRateIndex + 1;\n const currentPlaybackRate = this.playbackRates[nextIndex];\n this.state.partialNext({ currentPlaybackRate });\n if (this.elementRef) {\n this.elementRef.playbackRate = currentPlaybackRate;\n }\n };\n\n seek = throttle<SeekFn>(async ({ clientX, currentTarget }) => {\n let element = this.elementRef;\n if (!this.elementRef) {\n element = this.ensureElementRef();\n const isReady = await this.elementIsReady();\n if (!isReady) return;\n }\n if (!currentTarget || !element) return;\n if (!isSeekable(element)) {\n this.registerError({ errCode: 'seek-not-supported' });\n return;\n }\n\n const { width, x } = currentTarget.getBoundingClientRect();\n\n const ratio = (clientX - x) / width;\n if (ratio > 1 || ratio < 0) return;\n const currentTime = ratio * element.duration;\n this.setSecondsElapsed(currentTime);\n element.currentTime = currentTime;\n }, 16);\n\n registerError = (params: RegisterAudioPlayerErrorParams) => {\n defaultRegisterAudioPlayerError(params);\n this.plugins.forEach(({ onError }) => onError?.({ player: this, ...params }));\n };\n\n /**\n * Removes the audio element reference, event listeners and audio player from the player pool.\n * Helpful when only a single AudioPlayer instance is to be removed from the AudioPlayerPool.\n */\n requestRemoval = () => {\n this._disposed = true;\n this.cancelScheduledRemoval();\n this.clearPendingLoadedMeta();\n this.clearMetadataProbe();\n this._restoringPosition = false;\n this.releaseElement({ resetState: true });\n this.unsubscribeEventListeners?.();\n this.unsubscribeEventListeners = null;\n this.plugins.forEach(({ onRemove }) => onRemove?.({ player: this }));\n this._pool.deregister(this.id);\n };\n\n cancelScheduledRemoval = () => {\n clearTimeout(this._removalTimeout);\n this._removalTimeout = undefined;\n };\n\n scheduleRemoval = (ms: number = 0) => {\n this.cancelScheduledRemoval();\n this._removalTimeout = setTimeout(() => {\n if (this.disposed) return;\n this.requestRemoval();\n }, ms);\n };\n\n /**\n * Releases only the underlying element back to the pool without disposing the player instance.\n * Used by the pool to hand off the shared element in single-playback mode.\n */\n releaseElementForHandoff = () => {\n if (!this.elementRef) return;\n this.releaseElement({ resetState: false });\n this.unsubscribeEventListeners?.();\n this.unsubscribeEventListeners = null;\n };\n\n registerSubscriptions = () => {\n this.unsubscribeEventListeners?.();\n\n const audioElement = this.elementRef;\n if (!audioElement) return;\n\n const handleEnded = () => {\n if (audioElement) {\n this.updateDurationFromElement(audioElement);\n }\n this.state.partialNext({\n isPlaying: false,\n secondsElapsed: audioElement?.duration ?? this.durationSeconds ?? 0,\n });\n };\n\n const handleError = (e: HTMLMediaElementEventMap['error']) => {\n // if fired probably is one of these (e.srcElement.error.code)\n // 1 = MEDIA_ERR_ABORTED (fetch aborted by user/JS)\n // 2 = MEDIA_ERR_NETWORK (network failed while fetching)\n // 3 = MEDIA_ERR_DECODE (data fetched but couldn’t decode)\n // 4 = MEDIA_ERR_SRC_NOT_SUPPORTED (no resource supported / bad type)\n // reported during the mount so only logging to the console\n const audio = e.currentTarget as HTMLAudioElement | null;\n const state: Partial<AudioPlayerState> = { isPlaying: false };\n\n if (!audio?.error?.code) {\n this.state.partialNext(state);\n return;\n }\n\n if (audio.error.code === 4) {\n state.canPlayRecord = false;\n this.state.partialNext(state);\n }\n\n const errorMsg = [\n undefined,\n 'MEDIA_ERR_ABORTED: fetch aborted by user',\n 'MEDIA_ERR_NETWORK: network failed while fetching',\n 'MEDIA_ERR_DECODE: audio fetched but couldn’t decode',\n 'MEDIA_ERR_SRC_NOT_SUPPORTED: source not supported',\n ][audio?.error?.code];\n if (!errorMsg) return;\n\n defaultRegisterAudioPlayerError({ error: new Error(errorMsg + ` (${audio.src})`) });\n };\n\n const handleTimeupdate = () => {\n const t = audioElement?.currentTime ?? 0;\n // Ignore spurious zero during restore/handoff to avoid UI flicker\n if (this._restoringPosition && t === 0) return;\n // Also avoid regressing UI to zero if we already have non-zero progress and we're not playing\n if (!this.isPlaying && t === 0 && this.secondsElapsed > 0) return;\n this.setSecondsElapsed(t);\n };\n\n const handleLoadedMetadata = () => {\n if (audioElement) {\n this.updateDurationFromElement(audioElement);\n }\n };\n\n audioElement.addEventListener('ended', handleEnded);\n audioElement.addEventListener('error', handleError);\n audioElement.addEventListener('loadedmetadata', handleLoadedMetadata);\n audioElement.addEventListener('timeupdate', handleTimeupdate);\n\n this.unsubscribeEventListeners = () => {\n audioElement.pause();\n audioElement.removeEventListener('ended', handleEnded);\n audioElement.removeEventListener('error', handleError);\n audioElement.removeEventListener('loadedmetadata', handleLoadedMetadata);\n audioElement.removeEventListener('timeupdate', handleTimeupdate);\n };\n };\n}\n","import { AudioPlayer, type AudioPlayerOptions } from './AudioPlayer';\nimport { StateStore } from 'stream-chat';\n\nexport type AudioPlayerPoolState = {\n activeAudioPlayer: AudioPlayer | null;\n};\n\nexport class AudioPlayerPool {\n state: StateStore<AudioPlayerPoolState> = new StateStore<AudioPlayerPoolState>({\n activeAudioPlayer: null,\n });\n private pool = new Map<string, AudioPlayer>();\n private audios = new Map<string, HTMLAudioElement>();\n private sharedAudio: HTMLAudioElement | null = null;\n private sharedOwnerId: string | null = null;\n private readonly allowConcurrentPlayback: boolean;\n\n constructor(config?: { allowConcurrentPlayback?: boolean }) {\n this.allowConcurrentPlayback = !!config?.allowConcurrentPlayback;\n }\n\n get players() {\n return Array.from(this.pool.values());\n }\n\n get activeAudioPlayer() {\n return this.state.getLatestValue().activeAudioPlayer;\n }\n\n getOrAdd = (params: Omit<AudioPlayerOptions, 'pool'>) => {\n const { playbackRates, plugins, ...descriptor } = params;\n let player = this.pool.get(params.id);\n if (player) {\n if (!player.disposed) {\n player.setDescriptor(descriptor);\n return player;\n }\n this.deregister(params.id);\n }\n player = new AudioPlayer({\n playbackRates,\n plugins,\n ...descriptor,\n pool: this,\n });\n this.pool.set(params.id, player);\n return player;\n };\n\n /**\n * In case of allowConcurrentPlayback enabled, a new Audio is created and assigned to the given audioPlayer owner.\n * In case of disabled concurrency, the shared audio ownership is transferred to the new owner loading the owner's\n * source.\n *\n * @param ownerId\n * @param src\n */\n acquireElement = ({ ownerId, src }: { ownerId: string; src: string }) => {\n if (!this.allowConcurrentPlayback) {\n // Single shared element mode\n if (!this.sharedAudio) {\n this.sharedAudio = new Audio();\n }\n // Handoff from previous owner if different\n if (this.sharedOwnerId && this.sharedOwnerId !== ownerId) {\n const previous = this.pool.get(this.sharedOwnerId);\n // Ask previous to pause and drop ref, but keep player in pool\n previous?.pause();\n previous?.releaseElementForHandoff();\n }\n this.sharedOwnerId = ownerId;\n if (this.sharedAudio.src !== src) {\n // setting src starts loading; avoid explicit load() to prevent currentTime reset flicker\n this.sharedAudio.src = src;\n }\n return this.sharedAudio;\n }\n\n // Concurrent-per-owner mode\n let audio = this.audios.get(ownerId);\n if (!audio) {\n audio = new Audio();\n this.audios.set(ownerId, audio);\n }\n if (audio.src !== src) {\n // setting src starts loading; avoid explicit load() here as well\n audio.src = src;\n }\n return audio;\n };\n\n /**\n * Removes the given audio players ownership of the shared audio element (in case of concurrent playback is disabled)\n * and pauses the reproduction of the audio.\n * In case of concurrent playback mode (allowConcurrentPlayback enabled), the audio is paused,\n * its source cleared and removed from the audios pool readied for garbage collection.\n *\n * @param ownerId\n */\n releaseElement = (ownerId: string) => {\n if (!this.allowConcurrentPlayback) {\n if (this.sharedOwnerId !== ownerId) return;\n const el = this.sharedAudio;\n if (el) {\n try {\n el.pause();\n } catch {\n // ignore\n }\n el.removeAttribute('src');\n el.load();\n }\n // Keep shared element instance for reuse\n this.sharedOwnerId = null;\n return;\n }\n\n const el = this.audios.get(ownerId);\n if (!el) return;\n try {\n el.pause();\n } catch {\n // ignore\n }\n el.removeAttribute('src');\n el.load();\n this.audios.delete(ownerId);\n };\n\n /** Sets active audio player when allowConcurrentPlayback is disabled */\n setActiveAudioPlayer = (activeAudioPlayer: AudioPlayer | null) => {\n if (this.allowConcurrentPlayback) return;\n this.state.partialNext({ activeAudioPlayer });\n };\n\n /** Removes the AudioPlayer instance from the pool of players */\n deregister(id: string) {\n if (this.pool.has(id)) {\n this.pool.delete(id);\n }\n if (this.activeAudioPlayer?.id === id) {\n this.setActiveAudioPlayer(null);\n }\n }\n\n /** Performs all the necessary cleanup actions and removes the player from the pool */\n remove = (id: string) => {\n const player = this.pool.get(id);\n if (!player) return;\n player.requestRemoval();\n };\n\n /** Removes and cleans up all the players from the pool */\n clear = () => {\n this.players.forEach((player) => {\n this.remove(player.id);\n });\n };\n\n registerSubscriptions = () => {\n // Only register subscriptions for players that have an attached element.\n // Avoid creating elements or cross-wiring listeners on the shared element in single-playback mode.\n this.players.forEach((p) => {\n if (p.elementRef) {\n p.registerSubscriptions();\n }\n });\n };\n}\n","import type { Notification } from 'stream-chat';\n\nconst NOTIFICATION_TARGET_PANELS = [\n 'channel',\n 'thread',\n 'channel-list',\n 'thread-list',\n] as const;\n\n/**\n * Panel where a notification should be consumed.\n * Use in origin.context.panel when publishing so NotificationList can filter by panel.\n */\nexport type NotificationTargetPanel = (typeof NOTIFICATION_TARGET_PANELS)[number];\n\nexport const isNotificationTargetPanel = (\n value: unknown,\n): value is NotificationTargetPanel =>\n typeof value === 'string' &&\n (NOTIFICATION_TARGET_PANELS as readonly string[]).includes(value);\n\nexport const getNotificationTargetPanel = (\n notification: Notification,\n): NotificationTargetPanel | undefined => {\n const targetTag = notification.tags?.find((tag) => tag.startsWith('target:'));\n if (targetTag) {\n const candidate = targetTag.slice('target:'.length);\n if (isNotificationTargetPanel(candidate)) return candidate;\n }\n const panel = notification.origin.context?.panel;\n return isNotificationTargetPanel(panel) ? panel : undefined;\n};\n\nexport const getNotificationTargetTag = (panel: NotificationTargetPanel) =>\n `target:${panel}` as const;\n\nexport const addNotificationTargetTag = (\n panel: NotificationTargetPanel,\n tags?: string[],\n) => Array.from(new Set([getNotificationTargetTag(panel), ...(tags ?? [])]));\n\nexport const isNotificationForPanel = (\n notification: Notification,\n panel: NotificationTargetPanel,\n options?: { fallbackPanel?: NotificationTargetPanel },\n) => {\n const fallbackPanel = options?.fallbackPanel ?? 'channel';\n const resolvedPanel = getNotificationTargetPanel(notification) ?? fallbackPanel;\n return resolvedPanel === panel;\n};\n","import type { AudioPlayerPlugin } from './AudioPlayerPlugin';\nimport { type AudioPlayerErrorCode } from '../AudioPlayer';\nimport type { StreamChat } from 'stream-chat';\nimport type { TFunction } from 'i18next';\nimport {\n addNotificationTargetTag,\n type NotificationTargetPanel,\n} from '../../Notifications/notificationTarget';\n\nexport const audioPlayerNotificationsPluginFactory = ({\n client,\n panel = 'channel',\n t,\n}: {\n client: StreamChat;\n panel?: NotificationTargetPanel;\n t: TFunction;\n}): AudioPlayerPlugin => {\n const errors: Record<AudioPlayerErrorCode, Error> = {\n 'failed-to-start': new Error(t('Failed to play the recording')),\n 'not-playable': new Error(\n t('Recording format is not supported and cannot be reproduced'),\n ),\n 'seek-not-supported': new Error(t('Cannot seek in the recording')),\n };\n\n return {\n id: 'AudioPlayerNotificationsPlugin',\n onError: ({ errCode, error: e }) => {\n const error =\n (errCode && errors[errCode]) ??\n e ??\n new Error(t('Error reproducing the recording'));\n\n client?.notifications.addError({\n message: error.message,\n options: {\n originalError: error,\n tags: addNotificationTargetTag(panel),\n type: 'browser:audio:playback:error',\n },\n origin: {\n emitter: 'AudioPlayer',\n },\n });\n },\n };\n};\n","import React, { type ComponentProps, forwardRef } from 'react';\nimport clsx from 'clsx';\n\nexport type ButtonVariant = 'primary' | 'secondary' | 'danger';\nexport type ButtonAppearance = 'solid' | 'outline' | 'ghost';\nexport type ButtonSize = 'lg' | 'md' | 'sm' | 'xs';\n\nexport type ButtonProps = ComponentProps<'button'> & {\n /** Semantic variant: primary, secondary, or danger (maps to destructive in styles). */\n variant?: ButtonVariant;\n /** Visual style: solid, outline, or ghost. */\n appearance?: ButtonAppearance;\n /** When true, uses full border-radius for icon-only/pill shape. */\n circular?: boolean;\n /** When true, button uses inverse theme (e.g. on dark surface in light theme). */\n inverseTheme?: boolean;\n /** Size: lg, md, or sm. */\n size?: ButtonSize;\n};\n\nconst variantToClass: Record<ButtonVariant, string> = {\n danger: 'str-chat__button--destructive',\n primary: 'str-chat__button--primary',\n secondary: 'str-chat__button--secondary',\n};\n\nconst appearanceToClass: Record<ButtonAppearance, string> = {\n ghost: 'str-chat__button--ghost',\n outline: 'str-chat__button--outline',\n solid: 'str-chat__button--solid',\n};\n\nconst sizeToClass: Record<ButtonSize, string> = {\n lg: 'str-chat__button--size-lg',\n md: 'str-chat__button--size-md',\n sm: 'str-chat__button--size-sm',\n xs: 'str-chat__button--size-xs',\n};\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(function Button(\n { appearance, children, circular, className, inverseTheme, size, variant, ...props },\n ref,\n) {\n return (\n <button\n ref={ref}\n type='button'\n {...props}\n className={clsx(\n 'str-chat__button',\n variant != null && variantToClass[variant],\n appearance != null && appearanceToClass[appearance],\n circular && 'str-chat__button--circular',\n inverseTheme && 'str-chat__theme-inverse',\n size != null && sizeToClass[size],\n className,\n )}\n >\n <div className='str-chat__button__content'>{children}</div>\n </button>\n );\n});\n","import React, { type ComponentProps } from 'react';\nimport clsx from 'clsx';\n\nexport const BaseIcon = ({ className, ...props }: ComponentProps<'svg'>) => (\n <svg\n viewBox='0 0 16 16'\n xmlns='http://www.w3.org/2000/svg'\n {...props}\n className={clsx('str-chat__icon', className)}\n />\n);\n","import React, { type ComponentProps, type ReactNode } from 'react';\nimport clsx from 'clsx';\nimport { BaseIcon } from './BaseIcon';\n\nfunction toIconClass(name: string) {\n return (\n 'str-chat__icon--' +\n name\n .replace(/^Icon/, '')\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .replace(/([A-Za-z])(\\d)/g, '$1-$2')\n .replace(/(\\d)([A-Za-z])/g, '$1-$2')\n .replace(/_/g, '-')\n .toLowerCase()\n );\n}\n\nexport function createIcon(\n name: string,\n content: ReactNode,\n defaultProps?: ComponentProps<'svg'>,\n) {\n const iconClass = toIconClass(name);\n const Icon = ({ className, ...props }: ComponentProps<'svg'>) => (\n <BaseIcon {...defaultProps} {...props} className={clsx(iconClass, className)}>\n {content}\n </BaseIcon>\n );\n Icon.displayName = name;\n return Icon;\n}\n","import React from 'react';\n\nimport { createIcon } from './createIcon';\n\nexport const IconApiAggregate = createIcon(\n 'IconApiAggregate',\n <path d='M6.23373 10.833C6.23356 9.7838 5.38258 8.93359 4.33334 8.93359C3.28411 8.93359 2.43313 9.7838 2.43295 10.833C2.43295 11.8824 3.284 12.7334 4.33334 12.7334C5.38269 12.7334 6.23373 11.8824 6.23373 10.833ZM13.5667 10.833C13.5666 9.78379 12.7156 8.93359 11.6664 8.93359C10.6172 8.93377 9.76711 9.7839 9.76694 10.833C9.76694 11.8823 10.6171 12.7332 11.6664 12.7334C12.7157 12.7334 13.5667 11.8824 13.5667 10.833ZM9.89975 4.5C9.89975 3.45076 9.04955 2.59979 8.00034 2.59961C6.95099 2.59961 6.09995 3.45066 6.09995 4.5C6.09995 5.54934 6.95099 6.40039 8.00034 6.40039C9.04955 6.40021 9.89975 5.54924 9.89975 4.5ZM7.43295 10.833C7.43295 12.5451 6.04542 13.9336 4.33334 13.9336C2.62126 13.9336 1.23373 12.5451 1.23373 10.833C1.23391 9.12105 2.62137 7.7334 4.33334 7.7334C6.04532 7.7334 7.43278 9.12105 7.43295 10.833ZM14.7669 10.833C14.7669 12.5451 13.3785 13.9336 11.6664 13.9336C9.9544 13.9334 8.56674 12.545 8.56674 10.833C8.56692 9.12116 9.9545 7.73357 11.6664 7.7334C13.3783 7.7334 14.7668 9.12105 14.7669 10.833ZM11.0999 4.5C11.0999 6.21197 9.71229 7.59943 8.00034 7.59961C6.28825 7.59961 4.89975 6.21208 4.89975 4.5C4.89975 2.78792 6.28825 1.40039 8.00034 1.40039C9.71229 1.40057 11.0999 2.78803 11.0999 4.5Z' />,\n);\n\nexport const IconApples = createIcon(\n 'IconApples',\n <path d='M5.35936 1.22261C5.5124 0.928746 5.87505 0.814759 6.16893 0.967724C6.86901 1.33228 7.41152 1.79724 7.79979 2.39058C8.05777 2.78489 8.2355 3.22089 8.35351 3.69429C10.175 3.12338 11.6157 3.45475 12.5889 4.45698C13.6247 5.52376 13.9765 7.20377 13.8662 8.79194C13.7551 10.3904 13.1669 12.0556 12.126 13.1611C11.5997 13.7199 10.9469 14.1461 10.1758 14.3261C9.46806 14.4913 8.69973 14.438 7.89159 14.1416C7.08409 14.4376 6.31659 14.4912 5.60936 14.3261C4.83829 14.1461 4.18535 13.72 3.65917 13.1611C2.6184 12.0555 2.03091 10.3895 1.91991 8.79097C1.80974 7.20308 2.16093 5.52367 3.19628 4.45698C4.10373 3.52225 5.4181 3.17188 7.06835 3.59175C6.993 3.39223 6.90307 3.21163 6.79589 3.0478C6.53807 2.65375 6.16404 2.31803 5.61522 2.03218C5.32132 1.87913 5.20631 1.51652 5.35936 1.22261ZM11.7275 5.29292C11.081 4.6273 9.97307 4.28289 8.12304 5.05366C7.97535 5.11517 7.8088 5.1152 7.66112 5.05366C5.81162 4.28307 4.70384 4.62726 4.05761 5.29292C3.35403 6.01776 3.01826 7.29634 3.1162 8.70796C3.21351 10.1094 3.73047 11.4861 4.53319 12.3388C4.9286 12.7588 5.38223 13.0413 5.8828 13.1582C6.37981 13.2741 6.96904 13.2378 7.65917 12.9472L7.7744 12.9121C7.89133 12.8886 8.01341 12.9002 8.12499 12.9472C8.81546 13.2379 9.40505 13.2741 9.90233 13.1582C10.4032 13.0413 10.8573 12.7589 11.2529 12.3388C12.0559 11.4861 12.5716 10.1093 12.6689 8.70796C12.7669 7.29627 12.4314 6.01775 11.7275 5.29292Z' />,\n);\n\nexport const IconArrowBoxLeft = createIcon(\n 'IconArrowBoxLeft',\n <path d='M1.90039 12.167V3.83301C1.90057 2.76552 2.76552 1.90057 3.83301 1.90039H7.5C7.83137 1.90039 8.09961 2.16863 8.09961 2.5C8.09961 2.83137 7.83137 3.09961 7.5 3.09961H3.83301C3.42826 3.09979 3.09979 3.42826 3.09961 3.83301V12.167C3.09978 12.5718 3.42825 12.9002 3.83301 12.9004H7.5C7.83137 12.9004 8.09961 13.1686 8.09961 13.5C8.09961 13.8314 7.83137 14.0996 7.5 14.0996H3.83301C2.76552 14.0994 1.90057 13.2345 1.90039 12.167ZM10.0762 4.57617C10.3105 4.34186 10.6895 4.34186 10.9238 4.57617L13.9238 7.57617C14.1581 7.81049 14.1581 8.18951 13.9238 8.42383L10.9238 11.4238C10.6895 11.6581 10.3105 11.6581 10.0762 11.4238C9.84186 11.1895 9.84186 10.8105 10.0762 10.5762L12.0527 8.59961H6C5.66863 8.59961 5.40039 8.33137 5.40039 8C5.40039 7.66863 5.66863 7.40039 6 7.40039H12.0527L10.0762 5.42383C9.84186 5.18951 9.84186 4.81049 10.0762 4.57617Z' />,\n);\n\nexport const IconArrowDown = createIcon(\n 'IconArrowDown',\n <path d='M7.39973 2.5C7.39973 2.16863 7.66895 1.90039 8.00032 1.90039C8.33154 1.90057 8.59993 2.16874 8.59993 2.5V12.0518L11.7425 8.90918C11.9768 8.67487 12.3568 8.67487 12.5911 8.90918C12.8253 9.14351 12.8254 9.52355 12.5911 9.75781L8.42415 13.9238C8.3117 14.0363 8.15933 14.0995 8.00032 14.0996C7.84119 14.0996 7.68804 14.0363 7.57552 13.9238L3.4095 9.75781C3.17519 9.5235 3.17519 9.14349 3.4095 8.90918C3.64377 8.67508 4.02288 8.67508 4.25716 8.90918L7.39973 12.0518V2.5Z' />,\n);\n\nexport const IconArrowDownCircle = createIcon(\n 'IconArrowDownCircle',\n <path\n d='M10.1667 8.66536L8.00004 10.832L5.83337 8.66536M8.00004 5.16536V10.332M1.83337 7.9987C1.83337 11.4044 4.59429 14.1654 8.00004 14.1654C11.4058 14.1654 14.1667 11.4044 14.1667 7.9987C14.1667 4.59294 11.4058 1.83203 8.00004 1.83203C4.59429 1.83203 1.83337 4.59294 1.83337 7.9987Z'\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth='1.5'\n />,\n);\n\nexport const IconArrowLeft = createIcon(\n 'IconArrowLeft',\n <path d='M6.24219 3.4095C6.4765 3.17519 6.85651 3.17519 7.09082 3.4095C7.32492 3.64377 7.32492 4.02288 7.09082 4.25716L3.94824 7.39973H13.5C13.8314 7.39973 14.0996 7.66895 14.0996 8.00032C14.0994 8.33154 13.8313 8.59993 13.5 8.59993H3.94824L7.09082 11.7425C7.32513 11.9768 7.32513 12.3568 7.09082 12.5911C6.85649 12.8253 6.47645 12.8254 6.24219 12.5911L2.07617 8.42415C1.96373 8.3117 1.90048 8.15933 1.90039 8.00032C1.90039 7.84119 1.96365 7.68804 2.07617 7.57552L6.24219 3.4095Z' />,\n);\n\nexport const IconArrowRight = createIcon(\n 'IconArrowRight',\n <path d='M8.90918 3.4095C9.14349 3.17519 9.5235 3.17519 9.75781 3.4095L13.9238 7.57552C14.0363 7.68804 14.0996 7.84119 14.0996 8.00032C14.0995 8.15933 14.0363 8.3117 13.9238 8.42415L9.75781 12.5911C9.52355 12.8254 9.14351 12.8253 8.90918 12.5911C8.67487 12.3568 8.67487 11.9768 8.90918 11.7425L12.0518 8.59993H2.5C2.16874 8.59993 1.90057 8.33154 1.90039 8.00032C1.90039 7.66895 2.16863 7.39973 2.5 7.39973H12.0518L8.90918 4.25716C8.67508 4.02288 8.67508 3.64377 8.90918 3.4095Z' />,\n);\n\nexport const IconArrowRightUp = createIcon(\n 'IconArrowRightUp',\n <path\n d='M12.1667 10.1663V3.83301M12.1667 3.83301H5.83333M12.1667 3.83301L4 11.9997'\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n />,\n);\n\nexport const IconArrowRotateClockwise = createIcon(\n 'IconArrowRotateClockwise',\n <path d='M1.88638 8C1.88638 4.63106 4.61706 1.90039 7.98599 1.90039C9.79486 1.90039 11.0876 2.58323 12.2331 3.69824V2.66699C12.2331 2.33562 12.5023 2.06641 12.8336 2.06641C13.1649 2.06658 13.4333 2.33573 13.4333 2.66699V4.83301C13.4333 5.44042 12.941 5.93342 12.3336 5.93359H10.1667C9.83529 5.93359 9.56705 5.66438 9.56705 5.33301C9.56722 5.00179 9.8354 4.7334 10.1667 4.7334H11.571C10.5361 3.66485 9.48807 3.09961 7.98599 3.09961C5.2798 3.09961 3.0856 5.2938 3.0856 8C3.0856 10.7062 5.27981 12.9004 7.98599 12.9004C10.1184 12.9004 11.934 11.5375 12.6071 9.63379C12.7175 9.32146 13.0604 9.15735 13.3727 9.26758C13.6851 9.37799 13.8493 9.72081 13.7389 10.0332C12.9018 12.4016 10.6429 14.0996 7.98599 14.0996C4.61706 14.0996 1.88638 11.3689 1.88638 8Z' />,\n);\n\nexport const IconArrowRotateRightLeftRepeatRefresh = createIcon(\n 'IconArrowRotateRightLeftRepeatRefresh',\n <path d='M2.56641 13.5V11.333C2.56658 10.7257 3.05958 10.2334 3.66699 10.2334H5.83301C6.16427 10.2334 6.43342 10.5018 6.43359 10.833C6.43359 11.1644 6.16438 11.4336 5.83301 11.4336H4.46484C5.36652 12.3374 6.62959 12.9004 8 12.9004C10.7062 12.9004 12.9004 10.7062 12.9004 8C12.9004 7.79208 12.8873 7.58737 12.8623 7.38672C12.8213 7.05803 13.0542 6.75797 13.3828 6.7168C13.7116 6.67582 14.0117 6.90949 14.0527 7.23828C14.0839 7.48803 14.0996 7.74232 14.0996 8C14.0996 11.3689 11.3689 14.0996 8 14.0996C6.37644 14.0996 4.87479 13.4637 3.7666 12.4268V13.5C3.7666 13.8313 3.49821 14.0994 3.16699 14.0996C2.83562 14.0996 2.56641 13.8314 2.56641 13.5ZM1.90039 8C1.90039 4.63106 4.63106 1.90039 8 1.90039C9.62728 1.90039 11.1323 2.53892 12.2412 3.58008V2.5C12.2412 2.16876 12.5096 1.9006 12.8408 1.90039C13.1722 1.90039 13.4414 2.16863 13.4414 2.5V4.66699C13.4412 5.27431 12.9483 5.7666 12.3408 5.7666H10.1748C9.84354 5.7666 9.57439 5.49821 9.57422 5.16699C9.57422 4.83562 9.84343 4.56641 10.1748 4.56641H11.5342C10.6325 3.66289 9.37016 3.09961 8 3.09961C5.2938 3.09961 3.09961 5.2938 3.09961 8C3.09961 8.20792 3.11267 8.41266 3.1377 8.61328C3.17867 8.94198 2.94582 9.24204 2.61719 9.2832C2.28837 9.32421 1.98828 9.09054 1.94727 8.76172C1.91611 8.51194 1.90039 8.25768 1.90039 8Z' />,\n);\n\nexport const IconArrowShareLeft = createIcon(\n 'IconArrowShareLeft',\n <path d='M1.71712 7.99934L6.89974 12.7933V10.6663C6.89988 10.1445 7.3292 9.73023 7.84212 9.73469L8.80013 9.75618C10.9234 9.83732 12.2662 10.1345 13.1956 10.6829C13.4961 10.8602 13.7463 11.0614 13.9622 11.2786C13.7981 9.75065 13.4321 8.67031 12.8099 7.91633C11.9463 6.86979 10.465 6.31083 7.8265 6.26887C7.3275 6.26092 6.89976 5.85754 6.89974 5.33332V3.20539L1.71712 7.99934ZM8.09994 13.0228C8.09994 13.9823 6.95762 14.4818 6.25326 13.8304L0.822593 8.80793C0.352229 8.37251 0.352142 7.62807 0.822593 7.1927L6.25326 2.16926L6.38998 2.06086C7.09588 1.58234 8.09993 2.07732 8.09994 2.97688V5.07649C10.7168 5.15155 12.569 5.73891 13.7357 7.15266C14.9144 8.58114 15.2669 10.7108 15.2669 13.5003C15.2668 13.7784 15.0747 14.0204 14.804 14.0843C14.5334 14.1479 14.2546 14.0166 14.1302 13.7679C13.6265 12.7604 13.3246 12.1524 12.5853 11.7161C11.8413 11.2774 10.5816 10.9813 8.09994 10.9407V13.0228Z' />,\n);\n\nexport const IconArrowUp = createIcon(\n 'IconArrowUp',\n <path d='M7.39973 13.5V3.94824L4.25716 7.09082C4.02288 7.32492 3.64377 7.32492 3.4095 7.09082C3.17519 6.85651 3.17519 6.4765 3.4095 6.24219L7.57552 2.07617C7.68804 1.96365 7.84119 1.90039 8.00032 1.90039C8.15933 1.90048 8.3117 1.96373 8.42415 2.07617L12.5911 6.24219C12.8254 6.47645 12.8253 6.85649 12.5911 7.09082C12.3568 7.32513 11.9768 7.32513 11.7425 7.09082L8.59993 3.94824V13.5C8.59993 13.8313 8.33154 14.0994 8.00032 14.0996C7.66895 14.0996 7.39973 13.8314 7.39973 13.5Z' />,\n);\n\nexport const IconArrowsRepeatLeftRight = createIcon(\n 'IconArrowsRepeatLeftRight',\n <path d='M11.2422 9.74251C11.4765 9.50819 11.8565 9.50819 12.0908 9.74251L13.7373 11.389C14.1669 11.8186 14.1669 12.5151 13.7373 12.9447L12.0908 14.5911C11.8565 14.8253 11.4764 14.8254 11.2422 14.5911C11.0079 14.3569 11.008 13.9768 11.2422 13.7425L12.2178 12.7669H3.83301C2.76541 12.7667 1.90039 11.901 1.90039 10.8333V9.16634C1.90057 8.83512 2.16874 8.56673 2.5 8.56673C2.83126 8.56673 3.09943 8.83512 3.09961 9.16634V10.8333C3.09961 11.2382 3.42814 11.5666 3.83301 11.5667H12.2178L11.2422 10.5911C11.0079 10.3569 11.008 9.97684 11.2422 9.74251ZM12.9004 7.16634V5.16634C12.9002 4.76158 12.5718 4.43311 12.167 4.43294H3.78125L4.75781 5.4095C4.99169 5.64373 4.99169 6.02292 4.75781 6.25716C4.5235 6.49147 4.14349 6.49147 3.90918 6.25716L2.2627 4.61067C1.83339 4.18115 1.83339 3.48551 2.2627 3.05598L3.90918 1.4095C4.14349 1.17519 4.5235 1.17519 4.75781 1.4095C4.99169 1.64373 4.99169 2.02292 4.75781 2.25716L3.78125 3.23372H12.167C13.2345 3.2339 14.0994 4.09885 14.0996 5.16634V7.16634C14.0996 7.49771 13.8314 7.76692 13.5 7.76692C13.1686 7.76692 12.9004 7.49771 12.9004 7.16634Z' />,\n);\n\nexport const IconAt = createIcon(\n 'IconAt',\n <path d='M4.74252 7.58722C4.9828 5.8778 6.42578 4.52575 8.1019 4.76105C8.76218 4.85385 9.31804 5.17518 9.73666 5.63312L9.75424 5.51593C9.80187 5.188 10.107 4.96049 10.4349 5.00812C10.7626 5.05586 10.9892 5.36004 10.9417 5.68781L10.5892 8.11945C10.4602 9.02983 11.1196 9.86334 12.0355 9.94659C12.5806 9.99609 12.9259 9.7913 13.1624 9.46613C13.4216 9.10984 13.5667 8.57529 13.5667 8.00031C13.5667 4.92603 11.0745 2.4331 8.00034 2.43292C4.92595 2.43292 2.43295 4.92592 2.43295 8.00031C2.43313 11.0745 4.92606 13.5667 8.00034 13.5667C9.07602 13.5666 10.0787 13.262 10.929 12.7347C11.2106 12.5601 11.5805 12.6466 11.7552 12.928C11.9299 13.2096 11.8434 13.5795 11.5619 13.7542C10.527 14.396 9.30601 14.7668 8.00034 14.7669C4.26332 14.7669 1.23391 11.7373 1.23373 8.00031C1.23373 4.26318 4.26321 1.2337 8.00034 1.2337C11.7373 1.23388 14.7669 4.26329 14.7669 8.00031C14.7669 8.74491 14.5843 9.55194 14.1331 10.1722C13.6594 10.8235 12.9115 11.2303 11.9271 11.1409C11.0852 11.0644 10.3697 10.6234 9.91147 9.99249C9.28618 10.8552 8.29094 11.3852 7.19272 11.2308C5.51658 10.995 4.50228 9.29665 4.74252 7.58722ZM7.93491 5.94855C7.05912 5.82581 6.10068 6.5472 5.931 7.75421C5.76135 8.9613 6.48392 9.91899 7.35971 10.0423C8.23561 10.1654 9.19489 9.44394 9.36459 8.23663C9.53417 7.02943 8.81074 6.07164 7.93491 5.94855Z' />,\n);\n\nexport const IconAtSolid = createIcon(\n 'IconAtSolid',\n <path\n clipRule='evenodd'\n d='M8.00004 2.33331C4.87043 2.33331 2.33337 4.87037 2.33337 7.99998C2.33337 11.1296 4.87043 13.6666 8.00004 13.6666C9.09511 13.6666 10.1162 13.3565 10.9821 12.8195C11.2168 12.674 11.525 12.7462 11.6706 12.9809C11.8161 13.2156 11.7438 13.5238 11.5092 13.6693C10.4896 14.3016 9.28671 14.6666 8.00004 14.6666C4.31814 14.6666 1.33337 11.6818 1.33337 7.99998C1.33337 4.31808 4.31814 1.33331 8.00004 1.33331C11.6819 1.33331 14.6667 4.31808 14.6667 7.99998C14.6667 8.73051 14.4871 9.51471 14.0519 10.113C13.5978 10.7373 12.8837 11.1278 11.9358 11.0416C11.0747 10.9634 10.3483 10.4916 9.91224 9.82338C9.31264 10.7264 8.30831 11.2862 7.20704 11.1314C5.59742 10.9052 4.60761 9.26891 4.84199 7.60125C5.07637 5.93352 6.47885 4.63349 8.08844 4.85971C8.79864 4.95951 9.38811 5.33379 9.80511 5.86414L9.85364 5.52997C9.89331 5.25669 10.147 5.06733 10.4203 5.10703C10.6936 5.14671 10.8829 5.40043 10.8432 5.6737L10.4903 8.10351C10.3525 9.07091 11.053 9.95731 12.0263 10.0458C12.6081 10.0986 12.9868 9.87725 13.2432 9.52478C13.5184 9.14645 13.6667 8.58918 13.6667 7.99998C13.6667 4.87037 11.1296 2.33331 8.00004 2.33331ZM7.94931 5.84997C7.00664 5.71749 6.00781 6.49126 5.83225 7.74038C5.6567 8.98958 6.40357 10.0086 7.34617 10.1411C8.28884 10.2736 9.28771 9.49985 9.46324 8.25071C9.63877 7.00158 8.89191 5.98245 7.94931 5.84997Z'\n fillRule='evenodd'\n />,\n);\n\nexport const IconBellNotification = createIcon(\n 'IconBellNotification',\n <path\n d='M10.6667 11.4997C10.6667 12.9724 9.47273 14.1663 8 14.1663C6.52724 14.1663 5.33333 12.9724 5.33333 11.4997M13.5 10.8291C13.5 11.1994 13.1997 11.4997 12.8294 11.4997H3.17062C2.80025 11.4997 2.5 11.1994 2.5 10.8291C2.5 10.7221 2.52557 10.6167 2.57457 10.5217L3.39922 8.92241C3.48623 8.75367 3.53621 8.56827 3.54578 8.37861L3.66901 5.93899C3.7844 3.63889 5.68924 1.83301 8 1.83301C10.3107 1.83301 12.2156 3.63889 12.331 5.93899L12.4542 8.37861C12.4638 8.56827 12.5137 8.75367 12.6008 8.92241L13.4254 10.5217C13.4744 10.6167 13.5 10.7221 13.5 10.8291Z'\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n />,\n);\n\nexport const IconBellOff = createIcon(\n 'IconBellOff',\n <path\n d='M10.6667 11.5C10.6667 12.9727 9.47274 14.1667 8.00001 14.1667C6.52725 14.1667 5.33334 12.9727 5.33334 11.5M3.895 4.00001C3.44441 4.6587 3.14716 5.43383 3.05722 6.27688L2.5435 9.98361C2.43242 10.7851 3.05506 11.5 3.86421 11.5H11M13.4111 10.6667L12.9428 6.27688C12.6732 3.75002 10.5412 1.83334 8.00001 1.83334C7.02314 1.83334 6.10673 2.11658 5.33334 2.60883M1.83334 1.83334L14.1667 14.1667'\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth='1.2'\n />,\n);\n\nexport const IconBookmark = createIcon(\n 'IconBookmark',\n <path\n d='M12.8333 13.501V3.16666C12.8333 2.43028 12.2364 1.83333 11.5 1.83333H4.49999C3.76361 1.83333 3.16666 2.43028 3.16666 3.16666V13.501C3.16666 14.0348 3.76275 14.3521 4.20558 14.054L7.25546 12.0011C7.70559 11.6982 8.29439 11.6982 8.74452 12.0011L11.7944 14.054C12.2373 14.3521 12.8333 14.0348 12.8333 13.501Z'\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n />,\n);\n\nexport const IconBookmarkRemove = createIcon(\n 'IconBookmarkRemove',\n <path\n d='M3.16669 9.43494V3.16668C3.16669 2.4303 3.76364 1.83334 4.50002 1.83334H11.5C12.2364 1.83334 12.8334 2.4303 12.8334 3.16668V5.89838M3.16669 12.1667V13.501C3.16669 14.0348 3.76278 14.3521 4.20561 14.054L7.25549 12.0011C7.70562 11.6982 8.29442 11.6982 8.74455 12.0011L11.7944 14.054C12.2373 14.3521 12.8334 14.0348 12.8334 13.501V8.50001M1.16669 10.1667L14.8334 5.16668'\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth='1.2'\n />,\n);\n\nexport const IconBrowserAISparkle = createIcon(\n 'IconBrowserAISparkle',\n <>\n <path\n clipRule='evenodd'\n d='M1.33334 4.50002C1.33334 3.4875 2.15416 2.66669 3.16668 2.66669H12.8333C13.8459 2.66669 14.6667 3.4875 14.6667 4.50002V5.50002C14.6667 5.77616 14.4428 6.00002 14.1667 6.00002C13.8905 6.00002 13.6667 5.77616 13.6667 5.50002V4.50002C13.6667 4.03978 13.2936 3.66669 12.8333 3.66669H3.16668C2.70644 3.66669 2.33334 4.03978 2.33334 4.50002V11.5C2.33334 11.9603 2.70644 12.3334 3.16668 12.3334H6.83334C7.10948 12.3334 7.33334 12.5572 7.33334 12.8334C7.33334 13.1095 7.10948 13.3334 6.83334 13.3334H3.16668C2.15416 13.3334 1.33334 12.5126 1.33334 11.5V4.50002ZM12 7.33335C12.2761 7.33335 12.5 7.55722 12.5 7.83335C12.5 8.75609 12.7045 9.30642 13.0324 9.63429C13.3603 9.96222 13.9106 10.1667 14.8333 10.1667C15.1095 10.1667 15.3333 10.3906 15.3333 10.6667C15.3333 10.9428 15.1095 11.1667 14.8333 11.1667C13.9106 11.1667 13.3603 11.3712 13.0324 11.6991C12.7045 12.027 12.5 12.5773 12.5 13.5C12.5 13.7762 12.2761 14 12 14C11.7239 14 11.5 13.7762 11.5 13.5C11.5 12.5773 11.2955 12.027 10.9676 11.6991C10.6397 11.3712 10.0894 11.1667 9.16668 11.1667C8.89054 11.1667 8.66668 10.9428 8.66668 10.6667C8.66668 10.3906 8.89054 10.1667 9.16668 10.1667C10.0894 10.1667 10.6397 9.96222 10.9676 9.63429C11.2955 9.30642 11.5 8.75609 11.5 7.83335C11.5 7.55722 11.7239 7.33335 12 7.33335ZM12 9.93575C11.9066 10.0821 11.7986 10.2176 11.6747 10.3414C11.5509 10.4653 11.4154 10.5733 11.2691 10.6667C11.4154 10.7601 11.5509 10.8681 11.6747 10.992C11.7986 11.1158 11.9066 11.2513 12 11.3976C12.0934 11.2513 12.2014 11.1158 12.3253 10.992C12.4491 10.8681 12.5846 10.7601 12.7309 10.6667C12.5846 10.5733 12.4491 10.4653 12.3253 10.3414C12.2014 10.2176 12.0934 10.0821 12 9.93575Z'\n fillRule='evenodd'\n />\n <path d='M4.66668 5.33335C4.66668 5.70154 4.3682 6.00002 4.00001 6.00002C3.63182 6.00002 3.33334 5.70154 3.33334 5.33335C3.33334 4.96517 3.63182 4.66669 4.00001 4.66669C4.3682 4.66669 4.66668 4.96517 4.66668 5.33335Z' />\n <path d='M6.66668 5.33335C6.66668 5.70154 6.3682 6.00002 6.00001 6.00002C5.63182 6.00002 5.33334 5.70154 5.33334 5.33335C5.33334 4.96517 5.63182 4.66669 6.00001 4.66669C6.3682 4.66669 6.66668 4.96517 6.66668 5.33335Z' />\n <path d='M8.00001 6.00002C8.36821 6.00002 8.66668 5.70154 8.66668 5.33335C8.66668 4.96517 8.36821 4.66669 8.00001 4.66669C7.63181 4.66669 7.33334 4.96517 7.33334 5.33335C7.33334 5.70154 7.63181 6.00002 8.00001 6.00002Z' />\n </>,\n);\n\nexport const IconBubbles = createIcon(\n 'IconBubbles',\n <path\n d='M10.2652 7.60001H11.6C12.3363 7.60001 12.9333 7.00307 12.9333 6.26667V1.93334C12.9333 1.19696 12.3363 0.600006 11.6 0.600006H4.76664C4.03026 0.600006 3.43331 1.19696 3.43331 1.93334V3.26667M1.93331 3.26667H8.93334C9.66968 3.26667 10.2667 3.86363 10.2667 4.60001V8.93334C10.2667 9.66974 9.66968 10.2667 8.93334 10.2667H5.76668L2.76664 11.9333V10.2667H1.93331C1.19693 10.2667 0.599976 9.66974 0.599976 8.93334V4.60001C0.599976 3.86363 1.19693 3.26667 1.93331 3.26667Z'\n fill='none'\n stroke='currentColor'\n />,\n);\n\nexport const IconBubble2ChatMessage = createIcon(\n 'IconBubble2ChatMessage',\n <path\n d='M3.16799 2.5H12.8347C13.571 2.5 14.168 3.09695 14.168 3.83333V10.8333C14.168 11.5697 13.571 12.1667 12.8347 12.1667H8.00136L4.66799 14V12.1667H3.16799C2.43161 12.1667 1.83466 11.5697 1.83466 10.8333V3.83333C1.83466 3.09695 2.43161 2.5 3.16799 2.5Z'\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth='1.2'\n />,\n);\n\nexport const IconBubble2Solid = createIcon(\n 'IconBubble2Solid',\n <path d='M12.8346 2C13.8471 2 14.668 2.82081 14.668 3.83333V10.8333C14.668 11.8459 13.8471 12.6667 12.8346 12.6667H8.12969L4.90889 14.4381C4.75399 14.5233 4.56562 14.5204 4.41345 14.4304C4.26128 14.3404 4.16793 14.1768 4.16793 14V12.6667H3.16793C2.15541 12.6667 1.33459 11.8459 1.33459 10.8333V3.83333C1.33459 2.82081 2.15541 2 3.16793 2H12.8346Z' />,\n);\n\nexport const IconBubble3ChatMessage = createIcon(\n 'IconBubble3ChatMessage',\n <path d='M13.5667 8.00031C13.5667 4.92603 11.0745 2.4331 8.00031 2.43292C4.92592 2.43292 2.43292 4.92592 2.43292 8.00031C2.43297 8.84133 2.61967 9.63756 2.95245 10.3509C3.07245 10.6082 3.11534 10.9117 3.0423 11.2122L2.50323 13.4319C2.49184 13.4799 2.53435 13.5227 2.58234 13.512L4.89679 12.9925C5.18423 12.9279 5.4722 12.9685 5.71906 13.0794C6.4143 13.3921 7.18646 13.5667 8.00031 13.5667C11.0744 13.5665 13.5665 11.0744 13.5667 8.00031ZM14.7669 8.00031C14.7667 11.7372 11.7372 14.7667 8.00031 14.7669C7.01349 14.7669 6.07389 14.5551 5.22687 14.1741C5.19459 14.1597 5.17067 14.1609 5.15948 14.1634L2.84601 14.6829C1.92949 14.889 1.11544 14.0605 1.33722 13.1478L1.87628 10.928C1.87907 10.9163 1.88025 10.8913 1.86456 10.8577C1.45928 9.9889 1.23375 9.02014 1.2337 8.00031C1.2337 4.26318 4.26318 1.2337 8.00031 1.2337C11.7373 1.23388 14.7669 4.26329 14.7669 8.00031Z' />,\n);\n\nexport const IconBubble3Solid = createIcon(\n 'IconBubble3Solid',\n <path d='M1.97385 10.952L1.43439 13.1718C1.23009 14.0126 1.97985 14.7754 2.82397 14.5856L5.13803 14.0654C5.17226 14.0577 5.21789 14.0602 5.26815 14.0828C6.10251 14.4581 7.02757 14.6666 8.00004 14.6666C11.6819 14.6666 14.6667 11.6818 14.6667 7.99998C14.6667 4.31808 11.6819 1.33331 8.00004 1.33331C4.31814 1.33331 1.33337 4.31808 1.33337 7.99998C1.33337 9.00511 1.55616 9.95965 1.95553 10.8156C1.98003 10.8682 1.98253 10.9162 1.97385 10.952Z' />,\n);\n\nexport const IconBubbleAnnotation2ChatMessage = createIcon(\n 'IconBubbleAnnotation2ChatMessage',\n <path d='M13.5681 3.83301C13.5679 3.42816 13.2395 3.09961 12.8347 3.09961H3.16766C2.76291 3.09978 2.43444 3.42826 2.43427 3.83301V10.833C2.43427 11.2379 2.7628 11.5662 3.16766 11.5664H4.66766C4.99903 11.5664 5.26825 11.8356 5.26825 12.167V12.9844L7.71259 11.6406L7.78094 11.6084C7.85089 11.5808 7.92599 11.5664 8.00165 11.5664H12.8347C13.2396 11.5664 13.5681 11.238 13.5681 10.833V3.83301ZM10.9997 7.2334C10.9447 7.23358 10.9003 7.27803 10.9001 7.33301L10.9079 7.37207C10.923 7.40795 10.9583 7.43346 10.9997 7.43359C11.0412 7.43359 11.0774 7.40811 11.0925 7.37207L11.1003 7.33301L11.0925 7.29395C11.0823 7.27009 11.0627 7.25127 11.0388 7.24121L10.9997 7.2334ZM8.09247 7.29395C8.0823 7.2701 8.06267 7.25127 8.03876 7.24121L7.99969 7.2334C7.94472 7.23357 7.90026 7.27803 7.90009 7.33301L7.9079 7.37207C7.923 7.40795 7.95835 7.43346 7.99969 7.43359C8.04123 7.43359 8.07735 7.40811 8.09247 7.37207L8.10028 7.33301L8.09247 7.29395ZM5.09247 7.29395C5.0823 7.2701 5.06266 7.25127 5.03876 7.24121L4.99969 7.2334C4.94472 7.23357 4.90026 7.27803 4.90009 7.33301L4.9079 7.37207C4.923 7.40795 4.95835 7.43346 4.99969 7.43359C5.04123 7.43359 5.07735 7.40811 5.09247 7.37207L5.10028 7.33301L5.09247 7.29395ZM6.10028 7.33301C6.10028 7.94051 5.60721 8.43359 4.99969 8.43359C4.43014 8.43343 3.96205 8.0001 3.90594 7.44531L3.90009 7.33301L3.90594 7.2207C3.96235 6.66623 4.43036 6.23356 4.99969 6.2334L5.11298 6.23926C5.66731 6.29581 6.10012 6.7638 6.10028 7.33301ZM9.10028 7.33301C9.10028 7.94051 8.6072 8.43359 7.99969 8.43359C7.43015 8.43343 6.96205 8.0001 6.90594 7.44531L6.90009 7.33301L6.90594 7.2207C6.96235 6.66622 7.43037 6.23356 7.99969 6.2334L8.11298 6.23926C8.6673 6.29581 9.10012 6.76379 9.10028 7.33301ZM12.1003 7.33301C12.1003 7.94051 11.6072 8.43359 10.9997 8.43359C10.4302 8.43343 9.96205 8.0001 9.90594 7.44531L9.90009 7.33301L9.90594 7.2207C9.96235 6.66622 10.4304 6.23356 10.9997 6.2334L11.113 6.23926C11.6673 6.29581 12.1001 6.76379 12.1003 7.33301ZM14.7682 10.833C14.7682 11.9008 13.9023 12.7666 12.8347 12.7666H8.15594L4.95673 14.5254C4.77099 14.6275 4.54547 14.6243 4.36298 14.5166C4.18037 14.4086 4.06805 14.2121 4.06805 14V12.7666H3.16766C2.10007 12.7664 1.23505 11.9007 1.23505 10.833V3.83301C1.23522 2.76552 2.10017 1.90057 3.16766 1.90039H12.8347C13.9022 1.90039 14.7681 2.76539 14.7682 3.83301V10.833Z' />,\n);\n\nexport const IconBubbleText6ChatMessage = createIcon(\n 'IconBubbleText6ChatMessage',\n <path d='M13.5667 5.83301C13.5666 4.32358 12.3428 3.09961 10.8333 3.09961H5.16635C3.65703 3.09979 2.43313 4.32369 2.43295 5.83301V12.9004H10.8333C12.3428 12.9004 13.5666 11.6764 13.5667 10.167V5.83301ZM8.16635 8.90039C8.49772 8.90039 8.76694 9.16863 8.76694 9.5C8.76694 9.83137 8.49772 10.0996 8.16635 10.0996H5.83334C5.50197 10.0996 5.23373 9.83137 5.23373 9.5C5.23373 9.16863 5.50197 8.90039 5.83334 8.90039H8.16635ZM10.1664 5.90039C10.4977 5.90039 10.7669 6.16863 10.7669 6.5C10.7669 6.83137 10.4977 7.09961 10.1664 7.09961H5.83334C5.50197 7.09961 5.23373 6.83137 5.23373 6.5C5.23373 6.16863 5.50197 5.90039 5.83334 5.90039H10.1664ZM14.7669 10.167C14.7668 12.3391 13.0055 14.0996 10.8333 14.0996H1.83334C1.50197 14.0996 1.23373 13.8314 1.23373 13.5V5.83301C1.23391 3.66095 2.99429 1.90057 5.16635 1.90039H10.8333C13.0055 1.90039 14.7668 3.66084 14.7669 5.83301V10.167Z' />,\n);\n\nexport const IconBubbleText6SolidChatMessage = createIcon(\n 'IconBubbleText6SolidChatMessage',\n <path d='M1.33337 5.83333C1.33337 3.71624 3.04961 2 5.16671 2H10.8334C12.9504 2 14.6667 3.71624 14.6667 5.83333V10.1667C14.6667 12.2837 12.9504 14 10.8334 14H1.83337C1.55723 14 1.33337 13.7761 1.33337 13.5V5.83333ZM5.83337 6C5.55723 6 5.33337 6.22386 5.33337 6.5C5.33337 6.77613 5.55723 7 5.83337 7H10.1667C10.4428 7 10.6667 6.77613 10.6667 6.5C10.6667 6.22386 10.4428 6 10.1667 6H5.83337ZM5.83337 9C5.55723 9 5.33337 9.22387 5.33337 9.5C5.33337 9.77613 5.55723 10 5.83337 10H8.16671C8.44284 10 8.66671 9.77613 8.66671 9.5C8.66671 9.22387 8.44284 9 8.16671 9H5.83337Z' />,\n);\n\nexport const IconBubbleText6Solid = createIcon(\n 'IconBubbleText6Solid',\n <path\n clipRule='evenodd'\n d='M1.33337 5.83333C1.33337 3.71624 3.04961 2 5.16671 2H10.8334C12.9504 2 14.6667 3.71624 14.6667 5.83333V10.1667C14.6667 12.2837 12.9504 14 10.8334 14H1.83337C1.55723 14 1.33337 13.7761 1.33337 13.5V5.83333ZM5.83337 6C5.55723 6 5.33337 6.22386 5.33337 6.5C5.33337 6.77613 5.55723 7 5.83337 7H10.1667C10.4428 7 10.6667 6.77613 10.6667 6.5C10.6667 6.22386 10.4428 6 10.1667 6H5.83337ZM5.83337 9C5.55723 9 5.33337 9.22387 5.33337 9.5C5.33337 9.77613 5.55723 10 5.83337 10H8.16671C8.44284 10 8.66671 9.77613 8.66671 9.5C8.66671 9.22387 8.44284 9 8.16671 9H5.83337Z'\n fillRule='evenodd'\n />,\n);\n\nexport const IconBubbleWideNotificationChatMessage = createIcon(\n 'IconBubbleWideNotificationChatMessage',\n <path d='M1.23373 10.8333V3.83331C1.23373 2.76567 2.09875 1.8999 3.16635 1.89972H8.50034C8.83156 1.89989 9.09995 2.16904 9.09995 2.50031C9.09977 2.83142 8.83145 3.09974 8.50034 3.09991H3.16635C2.76149 3.10009 2.43295 3.42841 2.43295 3.83331V10.8333C2.43295 11.2382 2.76149 11.5665 3.16635 11.5667H5.76791C6.06543 11.5667 6.35335 11.6715 6.58139 11.8626L7.95834 13.0169C7.98277 13.0373 8.01844 13.0373 8.0433 13.0169L9.44272 11.8577C9.66988 11.6696 9.9556 11.5668 10.2503 11.5667H12.8333C13.2384 11.5667 13.5667 11.2383 13.5667 10.8333V8.16632C13.5669 7.83521 13.8352 7.56689 14.1664 7.56671C14.4976 7.56671 14.7668 7.8351 14.7669 8.16632V10.8333C14.7669 11.9011 13.9011 12.7669 12.8333 12.7669H10.2503C10.2349 12.767 10.22 12.772 10.2083 12.7816L8.80893 13.9407C8.33814 14.3307 7.65647 14.3287 7.18784 13.9359L5.81088 12.7825C5.79889 12.7725 5.78359 12.7669 5.76791 12.7669H3.16635C2.09876 12.7667 1.23373 11.901 1.23373 10.8333ZM14.2337 4.00031C14.2337 3.13506 13.5316 2.43292 12.6664 2.43292C11.8013 2.4331 11.0999 3.13517 11.0999 4.00031C11.1001 4.86529 11.8014 5.56654 12.6664 5.56671C13.5315 5.56671 14.2336 4.8654 14.2337 4.00031ZM15.433 4.00031C15.4328 5.52815 14.1942 6.76691 12.6664 6.76691C11.1386 6.76673 9.89993 5.52804 9.89975 4.00031C9.89975 2.47242 11.1385 1.23388 12.6664 1.2337C14.1943 1.2337 15.433 2.47231 15.433 4.00031Z' />,\n);\n\nexport const IconBubbleWideSparkleChatMessage = createIcon(\n 'IconBubbleWideSparkleChatMessage',\n <>\n <path d='M1.23373 10.833V3.83299C1.23391 2.76549 2.09886 1.90055 3.16635 1.90037H8.50034C8.83156 1.90055 9.09995 2.16872 9.09995 2.49998C9.09995 2.83124 8.83156 3.09941 8.50034 3.09959H3.16635C2.7616 3.09976 2.43313 3.42824 2.43295 3.83299V10.833C2.43295 11.2379 2.76149 11.5662 3.16635 11.5664H5.76791C6.06536 11.5664 6.35337 11.6713 6.58139 11.8623L7.95834 13.0166C7.98283 13.0371 8.01839 13.0371 8.0433 13.0166L9.44272 11.8574C9.66986 11.6693 9.95567 11.5664 10.2503 11.5664H12.8333C13.2384 11.5664 13.5667 11.238 13.5667 10.833V8.16697C13.5667 7.83571 13.8351 7.56656 14.1664 7.56639C14.4977 7.56639 14.7669 7.8356 14.7669 8.16697V10.833C14.7669 11.9008 13.9011 12.7666 12.8333 12.7666H10.2503C10.2348 12.7666 10.2201 12.7725 10.2083 12.7822L8.80893 13.9404C8.33825 14.33 7.65635 14.329 7.18784 13.9365L5.81088 12.7822C5.79889 12.7722 5.78359 12.7666 5.76791 12.7666H3.16635C2.09876 12.7664 1.23373 11.9007 1.23373 10.833Z' />\n <path d='M13.4937 2.7901L13.0291 1.58221C12.9714 1.43226 12.8273 1.33331 12.6667 1.33331C12.506 1.33331 12.3619 1.43226 12.3043 1.58221L11.8397 2.7901C11.772 2.96616 11.6329 3.10529 11.4568 3.17301L10.2489 3.63759C10.0989 3.69526 10 3.83932 10 3.99998C10 4.16064 10.0989 4.3047 10.2489 4.36237L11.4568 4.82695C11.6329 4.89467 11.772 5.0338 11.8397 5.20986L12.3043 6.41775C12.3619 6.5677 12.506 6.66665 12.6667 6.66665C12.8273 6.66665 12.9714 6.5677 13.0291 6.41775L13.4937 5.20986C13.5613 5.0338 13.7005 4.89467 13.8765 4.82695L15.0845 4.36237C15.2344 4.3047 15.3333 4.16064 15.3333 3.99998C15.3333 3.83932 15.2344 3.69526 15.0845 3.63759L13.8765 3.17301C13.7005 3.10529 13.5613 2.96616 13.4937 2.7901Z' />\n </>,\n);\n\nexport const IconCalendar1 = createIcon(\n 'IconCalendar1',\n <path d='M12.9004 7.09991H3.09961V12.1663C3.09961 12.5712 3.42814 12.8995 3.83301 12.8997H12.167C12.5719 12.8995 12.9004 12.5712 12.9004 12.1663V7.09991ZM12.9004 4.50031C12.9004 4.0954 12.5719 3.76708 12.167 3.76691H3.83301C3.42815 3.76708 3.09961 4.0954 3.09961 4.50031V5.89972H12.9004V4.50031ZM14.0996 12.1663C14.0996 13.234 13.2346 14.0997 12.167 14.0999H3.83301C2.76541 14.0997 1.90039 13.234 1.90039 12.1663V4.50031C1.90039 3.43266 2.76541 2.56689 3.83301 2.56671H4.56641V1.83331C4.56641 1.50194 4.83562 1.2337 5.16699 1.2337C5.49821 1.23388 5.7666 1.50205 5.7666 1.83331V2.56671H10.2334V1.83331C10.2334 1.50205 10.5018 1.23388 10.833 1.2337C11.1644 1.2337 11.4336 1.50194 11.4336 1.83331V2.56671H12.167C13.2346 2.56689 14.0996 3.43267 14.0996 4.50031V12.1663Z' />,\n);\n\nexport const IconCallCancel = createIcon(\n 'IconCallCancel',\n <>\n <path\n clipRule='evenodd'\n d='M7.21613 8.07673C6.94406 7.76933 6.6948 7.4412 6.47099 7.09513C6.31092 6.84767 6.35126 6.48981 6.61261 6.23891C7.096 5.77487 7.28066 5.08025 7.0916 4.43743L6.7618 3.31603C6.5323 2.53579 5.81622 2 5.00294 2H3.81522C2.832 2 1.95158 2.80368 2.06448 3.86416C2.23197 5.43749 2.7269 6.97173 3.52437 8.34627C3.93632 9.05627 4.4231 9.7174 4.97397 10.3189L2.14645 13.1465C1.95119 13.3417 1.95119 13.6583 2.14645 13.8535C2.34171 14.0488 2.65829 14.0488 2.85355 13.8535L13.8535 2.85355C14.0488 2.65829 14.0488 2.34171 13.8535 2.14645C13.6583 1.95119 13.3417 1.95119 13.1465 2.14645L7.21613 8.07673ZM5.68183 9.61107C5.19154 9.07113 4.7576 8.4792 4.38933 7.8444C3.6635 6.59336 3.21174 5.19437 3.05886 3.7583C3.01751 3.36988 3.34137 3 3.81522 3H5.00294C5.37262 3 5.69811 3.24354 5.80242 3.59819L6.13224 4.71959C6.21599 5.00432 6.13418 5.31199 5.92008 5.51752C5.36298 6.05233 5.17524 6.933 5.63128 7.6382C5.89347 8.0436 6.1868 8.427 6.50787 8.785L5.68183 9.61107Z'\n fillRule='evenodd'\n />\n <path d='M8.1562 11.6113C7.81233 11.4118 7.48106 11.193 7.1638 10.9565L6.44986 11.6704C6.8328 11.9636 7.23506 12.2329 7.65433 12.4762C9.0382 13.2791 10.5532 13.7513 12.1149 13.9243C13.1803 14.0422 14.0006 13.162 14.0006 12.1667V10.9977C14.0006 10.1844 13.4648 9.46827 12.6846 9.2388L11.5632 8.909C10.9203 8.71993 10.2257 8.9046 9.76166 9.388C9.5108 9.64933 9.15293 9.68967 8.90546 9.5296C8.84186 9.48847 8.77886 9.44653 8.71653 9.40367L7.99866 10.1215C8.1178 10.2069 8.23913 10.2896 8.3624 10.3693C9.0676 10.8253 9.94826 10.6376 10.4831 10.0805C10.6886 9.8664 10.9963 9.7846 11.281 9.86833L12.4024 10.1982C12.7571 10.3025 13.0006 10.628 13.0006 10.9977V12.1667C13.0006 12.6441 12.6233 12.9744 12.2249 12.9303C10.7917 12.7716 9.41166 12.3397 8.1562 11.6113Z' />\n </>,\n);\n\nexport const IconCamera1 = createIcon(\n 'IconCamera1',\n <path d='M13.5667 5.83301C13.5666 5.42814 13.2383 5.09961 12.8333 5.09961H11.7132C11.067 5.09948 10.4633 4.777 10.1048 4.23926L9.56284 3.42676C9.42693 3.2229 9.19851 3.09974 8.95346 3.09961H7.04721C6.80199 3.09961 6.57286 3.22275 6.43686 3.42676L5.89487 4.23926C5.53629 4.77698 4.93279 5.0996 4.28647 5.09961H3.16635C2.7616 5.09979 2.43313 5.42826 2.43295 5.83301V12.167C2.43313 12.5718 2.76159 12.9002 3.16635 12.9004H12.8333C13.2383 12.9004 13.5666 12.5719 13.5667 12.167V5.83301ZM9.56674 8.66699C9.56674 7.80187 8.86542 7.09979 8.00034 7.09961C7.13511 7.09961 6.43295 7.80176 6.43295 8.66699C6.43313 9.53207 7.13521 10.2334 8.00034 10.2334C8.86531 10.2332 9.56657 9.53196 9.56674 8.66699ZM10.7669 8.66699C10.7668 10.1947 9.52805 11.4334 8.00034 11.4336C6.47247 11.4336 5.23391 10.1948 5.23373 8.66699C5.23373 7.13902 6.47237 5.90039 8.00034 5.90039C9.52816 5.90057 10.7669 7.13913 10.7669 8.66699ZM14.7669 12.167C14.7668 13.2346 13.901 14.0996 12.8333 14.0996H3.16635C2.09886 14.0994 1.23391 13.2345 1.23373 12.167V5.83301C1.23391 4.76552 2.09886 3.90057 3.16635 3.90039H4.28647C4.53165 3.90038 4.76082 3.77724 4.89682 3.57324L5.43784 2.76074C5.79641 2.22288 6.40078 1.90039 7.04721 1.90039H8.95346C9.59968 1.90052 10.2034 2.223 10.5619 2.76074L11.1039 3.57324C11.2398 3.7771 11.4682 3.90026 11.7132 3.90039H12.8333C13.901 3.90039 14.7668 4.76541 14.7669 5.83301V12.167Z' />,\n);\n\nexport const IconCar1 = createIcon(\n 'IconCar1',\n <path d='M0.567047 7.41174C0.567047 6.74039 0.915191 6.11713 1.48697 5.76526L2.74869 4.98889C2.84642 4.92874 2.92877 4.84639 2.98892 4.74866L3.76529 3.48694C4.11715 2.91516 4.7404 2.56702 5.41177 2.56702H8.64224C9.27037 2.56702 9.86008 2.87212 10.2223 3.38538L11.5124 5.2135C11.6219 5.36862 11.7878 5.4757 11.9743 5.51135L13.862 5.87073C14.7737 6.0445 15.4333 6.84192 15.4333 7.77014V10.1666C15.4333 11.2344 14.5674 12.1002 13.4997 12.1002H13.3971C13.0412 12.8858 12.2522 13.4331 11.3336 13.4332C10.4151 13.4332 9.6262 12.8858 9.27017 12.1002H6.73013C6.37413 12.8858 5.5853 13.4332 4.66666 13.4332C3.74802 13.4332 2.95918 12.8858 2.60318 12.1002H2.49966C1.43207 12.1 0.567047 11.2343 0.567047 10.1666V7.41174ZM4.66666 10.1002C4.07755 10.1002 3.60025 10.5775 3.60025 11.1666C3.60025 11.7557 4.07755 12.233 4.66666 12.233C5.25576 12.233 5.73306 11.7557 5.73306 11.1666C5.73306 10.5775 5.25576 10.1002 4.66666 10.1002ZM11.3336 10.1002C10.7445 10.1002 10.2663 10.5775 10.2663 11.1666C10.2663 11.7557 10.7445 12.233 11.3336 12.233C11.9226 12.2329 12.4001 11.7556 12.4001 11.1666C12.4001 10.5776 11.9226 10.1004 11.3336 10.1002ZM1.76627 10.1666C1.76627 10.5438 2.05145 10.8532 2.41763 10.8942C2.55229 9.77087 3.50708 8.90002 4.66666 8.90002C5.82826 8.90002 6.78464 9.77388 6.91666 10.9H9.08365C9.21568 9.7739 10.1721 8.90002 11.3336 8.90002C12.4931 8.90019 13.447 9.77101 13.5817 10.8942C13.9482 10.8535 14.2331 10.544 14.2331 10.1666V7.77014C14.2331 7.41809 13.9832 7.11538 13.6374 7.04944L11.7506 6.69006C11.2586 6.59632 10.8218 6.31514 10.5329 5.90588L9.24185 4.07678C9.1045 3.88217 8.88051 3.76624 8.64224 3.76624H5.41177C5.15712 3.76624 4.92024 3.89896 4.78677 4.11584L4.01041 5.37756C3.85185 5.63511 3.63515 5.85182 3.37759 6.01038L2.11588 6.78674C1.899 6.92021 1.76627 7.15709 1.76627 7.41174V10.1666Z' />,\n);\n\nexport const IconCat = createIcon(\n 'IconCat',\n <>\n <path d='M8.33367 6.84L8.2206 7.327C8.3452 7.35593 8.4762 7.336 8.5866 7.27133L8.33367 6.84ZM5.41449 6.16214L5.52758 5.67509C5.3637 5.63704 5.19167 5.68396 5.06979 5.79994C4.94792 5.91593 4.89255 6.08543 4.92245 6.25099L5.41449 6.16214ZM6.01835 9.50613L6.49134 9.66827C6.51899 9.5876 6.52555 9.5012 6.5104 9.41727L6.01835 9.50613ZM11.7433 5.9264L11.74 6.42639C11.8713 6.42727 11.9977 6.37645 12.0918 6.28492L11.7433 5.9264ZM7.02227 13.8358C7.24713 13.9961 7.55933 13.9437 7.71967 13.7189C7.87993 13.494 7.8276 13.1818 7.60273 13.0215L7.02227 13.8358ZM8.5866 7.27133C9.04147 7.0046 9.55227 6.78833 10.1071 6.63964L9.84833 5.67371C9.20767 5.84538 8.61367 6.09622 8.0808 6.40865L8.5866 7.27133ZM5.3014 6.64918L8.2206 7.327L8.4468 6.35293L5.52758 5.67509L5.3014 6.64918ZM6.5104 9.41727L5.90653 6.07328L4.92245 6.25099L5.52631 9.59493L6.5104 9.41727ZM6.41511 11.3717C6.26533 10.8127 6.29791 10.2325 6.49134 9.66827L5.54537 9.344C5.29369 10.0781 5.2432 10.8618 5.44918 11.6305L6.41511 11.3717ZM13.1515 3.86023L11.3948 5.56788L12.0918 6.28492L13.8485 4.57727L13.1515 3.86023ZM10.1071 6.63964C10.6621 6.49095 11.2127 6.42286 11.74 6.42639L11.7467 5.42641C11.1289 5.42227 10.4891 5.50203 9.84833 5.67371L10.1071 6.63964ZM7.60273 13.0215C7.00913 12.5983 6.59289 12.0352 6.41511 11.3717L5.44918 11.6305C5.69442 12.5457 6.2641 13.2953 7.02227 13.8358L7.60273 13.0215ZM3.83333 3H12.1667V2H3.83333V3ZM13 3.83333V12.1667H14V3.83333H13ZM12.1667 13H3.83333V14H12.1667V13ZM3 12.1667V3.83333H2V12.1667H3ZM3.83333 13C3.37309 13 3 12.6269 3 12.1667H2C2 13.1792 2.82081 14 3.83333 14V13ZM13 12.1667C13 12.6269 12.6269 13 12.1667 13V14C13.1792 14 14 13.1792 14 12.1667H13ZM12.1667 3C12.6269 3 13 3.37309 13 3.83333H14C14 2.82081 13.1792 2 12.1667 2V3ZM3.83333 2C2.82081 2 2 2.82081 2 3.83333H3C3 3.37309 3.37309 3 3.83333 3V2Z' />\n <path d='M9.3256 9.65993C9.4478 10.1161 9.23873 10.5685 8.8586 10.6703C8.47847 10.7722 8.0712 10.485 7.94893 10.0288C7.82673 9.57267 8.0358 9.12027 8.41593 9.0184C8.79607 8.91653 9.20333 9.2038 9.3256 9.65993Z' />\n <path d='M13.4551 8.55333C13.5774 9.00953 13.3683 9.46187 12.9881 9.56373C12.608 9.6656 12.2007 9.3784 12.0785 8.9222C11.9563 8.466 12.1654 8.01367 12.5455 7.9118C12.9257 7.80993 13.3329 8.0972 13.4551 8.55333Z' />\n <path d='M12.0447 10.997C12.1262 11.3011 11.8225 11.6467 11.3663 11.7689C10.9101 11.8911 10.4743 11.7437 10.3928 11.4396C10.3113 11.1355 10.615 10.7899 11.0712 10.6677C11.5274 10.5454 11.9632 10.6929 12.0447 10.997Z' />\n </>,\n);\n\nexport const IconChainLink = createIcon(\n 'IconChainLink',\n <path d='M3.26204 6.07259C3.49631 5.83849 3.87542 5.83851 4.1097 6.07259C4.34402 6.3069 4.34401 6.6869 4.1097 6.92122L3.46224 7.56868C2.09022 8.94071 2.09032 11.1653 3.46224 12.5374C4.83433 13.9095 7.0589 13.9095 8.43099 12.5374L9.07454 11.8949C9.30886 11.6605 9.68886 11.6605 9.92317 11.8949C10.1571 12.1292 10.1574 12.5093 9.92317 12.7435L9.27962 13.3861C7.4389 15.2268 4.45432 15.2268 2.6136 13.3861C0.773057 11.5453 0.772952 8.56071 2.6136 6.72005L3.26204 6.07259ZM9.24251 5.9095C9.47682 5.67519 9.85683 5.67519 10.0911 5.9095C10.325 6.14374 10.325 6.52293 10.0911 6.75716L6.75716 10.0911C6.52293 10.325 6.14373 10.325 5.9095 10.0911C5.67519 9.85683 5.67519 9.47683 5.9095 9.24251L9.24251 5.9095ZM6.72005 2.61361C8.56071 0.772958 11.5453 0.77305 13.3861 2.61361C15.2268 4.45432 15.2268 7.4389 13.3861 9.27962L12.7406 9.92513C12.5063 10.1595 12.1263 10.1594 11.8919 9.92513C11.6579 9.69087 11.6579 9.31175 11.8919 9.07747L12.5374 8.43099C13.9095 7.0589 13.9095 4.83433 12.5374 3.46224C11.1653 2.09031 8.94071 2.09022 7.56868 3.46224L6.92415 4.10677C6.68982 4.34093 6.30978 4.34104 6.07552 4.10677C5.84144 3.87249 5.84142 3.4924 6.07552 3.25814L6.72005 2.61361Z' />,\n);\n\nexport const IconChart5 = createIcon(\n 'IconChart5',\n <path d='M12.9004 6.5C12.9004 6.46318 12.8698 6.43359 12.833 6.43359H10.4336V12.9004H12.9004V6.5ZM3.09961 12.833C3.09961 12.8698 3.13017 12.9004 3.16699 12.9004H5.56641V9.7666H3.16699C3.13028 9.7666 3.09978 9.79634 3.09961 9.83301V12.833ZM9.2334 3.16699C9.2334 3.13028 9.20366 3.09978 9.16699 3.09961H6.83301C6.79634 3.09978 6.7666 3.13028 6.7666 3.16699V12.9004H9.2334V3.16699ZM10.4336 5.2334H12.833C13.5326 5.2334 14.0996 5.80045 14.0996 6.5V13.167C14.0994 13.6822 13.6822 14.0994 13.167 14.0996H3.16699C2.46744 14.0996 1.90039 13.5326 1.90039 12.833V9.83301C1.90057 9.13358 2.46755 8.56641 3.16699 8.56641H5.56641V3.16699C5.56641 2.46754 6.1336 1.90057 6.83301 1.90039H9.16699C9.86642 1.90057 10.4336 2.46755 10.4336 3.16699V5.2334Z' />,\n);\n\nexport const IconCheckmark1Small = createIcon(\n 'IconCheckmark1Small',\n <path\n d='M11.7412 3.43164C11.9169 3.15085 12.2874 3.06564 12.5684 3.24121C12.8492 3.41691 12.9344 3.78745 12.7588 4.06836L7.44629 12.5684C7.34945 12.7231 7.18722 12.8249 7.00586 12.8457C6.82419 12.8664 6.64297 12.8031 6.51367 12.6738L3.32617 9.48633C3.09186 9.25202 3.09186 8.87299 3.32617 8.63867C3.56049 8.40436 3.93951 8.40436 4.17383 8.63867L6.82715 11.292L11.7412 3.43164Z'\n fill='currentColor'\n />,\n);\n\nexport const IconCheckmark2 = createIcon(\n 'IconCheckmark2',\n <path d='M13.6849 2.14261C13.8824 1.87654 14.2587 1.82105 14.5247 2.01858C14.7903 2.21611 14.8459 2.59154 14.6488 2.85745L6.48177 13.8574C6.38375 13.9895 6.23582 14.0758 6.07259 14.0957C5.90944 14.1156 5.74532 14.0674 5.61849 13.9629L1.4515 10.5254C1.19589 10.3145 1.15957 9.9363 1.37044 9.68069C1.58131 9.42509 1.95956 9.3888 2.21517 9.59964L5.89388 12.6348L13.6849 2.14261Z' />,\n);\n\nexport const IconCheckmark2Small = createIcon(\n 'IconCheckmark2Small',\n <path d='M11.0459 4.77407C11.2626 4.52343 11.6419 4.49585 11.8926 4.71255C12.1432 4.92928 12.1708 5.30857 11.9541 5.55923L7.05371 11.2262C6.94433 11.3525 6.78711 11.4277 6.62012 11.4333C6.45294 11.4388 6.29044 11.3745 6.17285 11.2555L4.07324 9.13052C3.84039 8.8949 3.84266 8.51483 4.07812 8.28188C4.31382 8.04896 4.69383 8.05107 4.92676 8.28677L6.57031 9.94985L11.0459 4.77407Z' />,\n);\n\nexport const IconChevronDown = createIcon(\n 'IconChevronDown',\n <path d='M11.7425 5.9095C11.9768 5.67519 12.3568 5.67519 12.5911 5.9095C12.825 6.14373 12.825 6.52292 12.5911 6.75716L8.42415 10.9241C8.18983 11.1585 7.80983 11.1585 7.57552 10.9241L3.4095 6.75716C3.17519 6.52284 3.17519 6.14382 3.4095 5.9095C3.64382 5.67519 4.02284 5.67519 4.25716 5.9095L7.99934 9.65071L11.7425 5.9095Z' />,\n);\n\nexport const IconChevronGrabberVerticalSelector = createIcon(\n 'IconChevronGrabberVerticalSelector',\n <path d='M10.2425 9.57539C10.4768 9.34139 10.8569 9.34128 11.0911 9.57539C11.3254 9.80961 11.3252 10.1897 11.0911 10.424L8.89584 12.6193C8.40122 13.1139 7.59948 13.1139 7.10482 12.6193L4.90951 10.424C4.67519 10.1897 4.67519 9.8097 4.90951 9.57539C5.14371 9.34166 5.52296 9.34166 5.75716 9.57539L7.95248 11.7707C7.9785 11.7967 8.02118 11.7967 8.0472 11.7707L10.2425 9.57539ZM7.10482 3.38007C7.59945 2.88595 8.40036 2.88671 8.89486 3.38105L8.89584 3.38007L11.0911 5.57539C11.3254 5.80961 11.3252 6.18968 11.0911 6.42402C10.8568 6.65833 10.4768 6.65833 10.2425 6.42402L8.0472 4.22871C8.02118 4.20284 7.97844 4.20274 7.95248 4.22871L5.75716 6.42402C5.52286 6.65826 5.14381 6.65826 4.90951 6.42402C4.67519 6.1897 4.67519 5.8097 4.90951 5.57539L7.10482 3.38007Z' />,\n);\n\nexport const IconChevronLeft = createIcon(\n 'IconChevronLeft',\n <path d='M9.24219 3.4095C9.4765 3.17519 9.85651 3.17519 10.0908 3.4095C10.3249 3.64377 10.3249 4.02288 10.0908 4.25716L6.34766 7.99934L10.0908 11.7425C10.3251 11.9768 10.3251 12.3568 10.0908 12.5911C9.85649 12.8253 9.47645 12.8254 9.24219 12.5911L5.07617 8.42415C4.84186 8.18983 4.84186 7.80983 5.07617 7.57552L9.24219 3.4095Z' />,\n);\n\nexport const IconChevronRight = createIcon(\n 'IconChevronRight',\n <path d='M5.9095 3.4095C6.14382 3.17519 6.52284 3.17519 6.75716 3.4095L10.9241 7.57552C11.1585 7.80983 11.1585 8.18983 10.9241 8.42415L6.75716 12.5911C6.52292 12.825 6.14373 12.825 5.9095 12.5911C5.67519 12.3568 5.67519 11.9768 5.9095 11.7425L9.65071 7.99934L5.9095 4.25716C5.67519 4.02284 5.67519 3.64382 5.9095 3.4095Z' />,\n);\n\nexport const IconChevronTop = createIcon(\n 'IconChevronTop',\n <path d='M7.57552 5.07619C7.80983 4.84187 8.18983 4.84187 8.42415 5.07619L12.5911 9.2422C12.8254 9.47646 12.8253 9.85651 12.5911 10.0908C12.3568 10.3252 11.9768 10.3252 11.7425 10.0908L7.99934 6.34767L4.25716 10.0908C4.02288 10.3249 3.64377 10.3249 3.4095 10.0908C3.17519 9.85652 3.17519 9.47652 3.4095 9.2422L7.57552 5.07619Z' />,\n);\n\nexport const IconCircleBanSign = createIcon(\n 'IconCircleBanSign',\n <path d='M13.5667 8.00031C13.5667 6.67874 13.1057 5.46595 12.3363 4.51105L4.51108 12.3362C5.46598 13.1057 6.67877 13.5667 8.00034 13.5667C11.0744 13.5665 13.5666 11.0744 13.5667 8.00031ZM2.43295 8.00031C2.43303 9.32107 2.89374 10.533 3.66245 11.4876L11.4876 3.66241C10.533 2.89371 9.3211 2.433 8.00034 2.43292C4.92595 2.43292 2.43295 4.92592 2.43295 8.00031ZM14.7669 8.00031C14.7668 11.7372 11.7372 14.7667 8.00034 14.7669C6.13194 14.7669 4.43906 14.0084 3.21518 12.7845C1.99147 11.5607 1.23382 9.86848 1.23373 8.00031C1.23373 4.26318 4.26321 1.2337 8.00034 1.2337C9.86852 1.23379 11.5607 1.99144 12.7845 3.21515C14.0085 4.43903 14.7669 6.13191 14.7669 8.00031Z' />,\n);\n\nexport const IconCircleCheck = createIcon(\n 'IconCircleCheck',\n <path d='M13.5667 8.00031C13.5667 4.92603 11.0745 2.4331 8.00033 2.43292C4.92594 2.43292 2.43294 4.92592 2.43294 8.00031C2.43312 11.0745 4.92605 13.5667 8.00033 13.5667C11.0744 13.5665 13.5666 11.0744 13.5667 8.00031ZM9.53548 5.95343C9.7453 5.69699 10.1237 5.6587 10.3802 5.86847C10.6367 6.07831 10.674 6.45673 10.4642 6.7132L7.46419 10.3802C7.35685 10.5112 7.19882 10.5905 7.02962 10.5989C6.8604 10.6073 6.69533 10.5439 6.57552 10.4241L5.24251 9.09113C5.0082 8.85681 5.0082 8.47681 5.24251 8.24249C5.47683 8.00818 5.85683 8.00818 6.09115 8.24249L6.9554 9.10675L9.53548 5.95343ZM14.7669 8.00031C14.7668 11.7372 11.7372 14.7667 8.00033 14.7669C4.26331 14.7669 1.2339 11.7373 1.23372 8.00031C1.23372 4.26318 4.2632 1.2337 8.00033 1.2337C11.7373 1.23388 14.7669 4.26329 14.7669 8.00031Z' />,\n);\n\nexport const IconCircleInfoTooltip = createIcon(\n 'IconCircleInfoTooltip',\n <path d='M13.5667 8.00031C13.5667 4.92603 11.0745 2.4331 8.00033 2.43292C4.92595 2.43292 2.43295 4.92592 2.43295 8.00031C2.43312 11.0745 4.92606 13.5667 8.00033 13.5667C11.0744 13.5665 13.5666 11.0744 13.5667 8.00031ZM7.39974 10.8333V7.93292H7.16634C6.83512 7.93275 6.56673 7.66458 6.56673 7.33331C6.56673 7.00205 6.83512 6.73388 7.16634 6.7337H8.00033C8.33155 6.73388 8.59994 7.00205 8.59994 7.33331V10.8333C8.59994 11.1646 8.33155 11.4327 8.00033 11.4329C7.66896 11.4329 7.39974 11.1647 7.39974 10.8333ZM7.91634 5.14972C7.81524 5.14989 7.73373 5.23219 7.73373 5.33331L7.7474 5.4046C7.77515 5.47041 7.84047 5.51677 7.91634 5.51691C8.01759 5.51691 8.09994 5.43455 8.09994 5.33331C8.09993 5.23208 8.01759 5.14972 7.91634 5.14972ZM14.7669 8.00031C14.7668 11.7372 11.7372 14.7667 8.00033 14.7669C4.26331 14.7669 1.2339 11.7373 1.23373 8.00031C1.23373 4.26318 4.2632 1.2337 8.00033 1.2337C11.7373 1.23388 14.7669 4.26329 14.7669 8.00031ZM8.93295 5.33331C8.93295 5.89479 8.47786 6.34991 7.91634 6.34991C7.35498 6.34974 6.89974 5.89468 6.89974 5.33331C6.89974 4.77195 7.35498 4.31689 7.91634 4.31671L8.02084 4.32159C8.53343 4.37374 8.93294 4.80699 8.93295 5.33331Z' />,\n);\n\nexport const IconCircleMinus = createIcon(\n 'IconCircleMinus',\n <path d='M13.5667 8.00031C13.5667 4.92603 11.0745 2.4331 8.00032 2.43292C4.92594 2.43292 2.43294 4.92592 2.43294 8.00031C2.43312 11.0745 4.92605 13.5667 8.00032 13.5667C11.0744 13.5665 13.5666 11.0744 13.5667 8.00031ZM10.8284 7.4007C11.1598 7.40072 11.4281 7.66895 11.4281 8.00031C11.4281 8.33166 11.1598 8.59989 10.8284 8.59991H5.17122C4.84001 8.59973 4.57161 8.33156 4.57161 8.00031C4.57162 7.66905 4.84001 7.40088 5.17122 7.4007H10.8284ZM14.7669 8.00031C14.7667 11.7372 11.7372 14.7667 8.00032 14.7669C4.26331 14.7669 1.2339 11.7373 1.23372 8.00031C1.23372 4.26318 4.2632 1.2337 8.00032 1.2337C11.7373 1.23388 14.7669 4.26329 14.7669 8.00031Z' />,\n);\n\nexport const IconCircleQuestionmark = createIcon(\n 'IconCircleQuestionmark',\n <path d='M13.5667 8.00031C13.5667 4.92603 11.0745 2.4331 8.00032 2.43292C4.92594 2.43292 2.43294 4.92592 2.43294 8.00031C2.43312 11.0745 4.92605 13.5667 8.00032 13.5667C11.0744 13.5665 13.5666 11.0744 13.5667 8.00031ZM5.89974 6.16632C5.89991 5.2828 6.6168 4.56671 7.50032 4.56671H8.30599C9.29674 4.56681 10.0998 5.3699 10.0999 6.36066C10.0999 6.96045 9.80033 7.52104 9.30111 7.85382L8.92611 8.10382C8.72252 8.23976 8.60006 8.46833 8.59993 8.7132V8.83331C8.59993 9.16457 8.33155 9.43275 8.00032 9.43292C7.66895 9.43292 7.39974 9.16468 7.39974 8.83331V8.7132C7.39987 8.06695 7.72329 7.46328 8.26107 7.1048L8.63509 6.85577C8.80036 6.74562 8.89974 6.55934 8.89974 6.36066C8.89963 6.03263 8.63399 5.76701 8.30599 5.76691H7.50032C7.27953 5.76691 7.10011 5.94556 7.09993 6.16632C7.09993 6.49758 6.83155 6.76673 6.50032 6.76691C6.16895 6.76691 5.89974 6.49769 5.89974 6.16632ZM8.76693 10.6663C8.76693 11.0896 8.42361 11.4327 8.00032 11.4329C7.60349 11.4329 7.27708 11.1318 7.23763 10.7454L7.23372 10.6663L7.23763 10.5882C7.27693 10.2016 7.60338 9.89972 8.00032 9.89972L8.07845 9.90363C8.46494 9.94289 8.76676 10.2695 8.76693 10.6663ZM14.7669 8.00031C14.7667 11.7372 11.7372 14.7667 8.00032 14.7669C4.26331 14.7669 1.2339 11.7373 1.23372 8.00031C1.23372 4.26318 4.2632 1.2337 8.00032 1.2337C11.7373 1.23388 14.7669 4.26329 14.7669 8.00031Z' />,\n);\n\nexport const IconCircleQuestionmarkFilled = createIcon(\n 'IconCircleQuestionmarkFilled',\n <path\n clipRule='evenodd'\n d='M8.00004 1.33331C4.31814 1.33331 1.33337 4.31808 1.33337 7.99998C1.33337 11.6818 4.31814 14.6666 8.00004 14.6666C11.6819 14.6666 14.6667 11.6818 14.6667 7.99998C14.6667 4.31808 11.6819 1.33331 8.00004 1.33331ZM7.50004 5.66665C7.22391 5.66665 7.00004 5.89051 7.00004 6.16665C7.00004 6.44279 6.77617 6.66665 6.50004 6.66665C6.2239 6.66665 6.00004 6.44279 6.00004 6.16665C6.00004 5.33822 6.67164 4.66665 7.50004 4.66665H8.30584C9.24151 4.66665 10 5.42517 10 6.36086C10 6.92731 9.71691 7.45631 9.24564 7.77051L8.87111 8.02018C8.63931 8.17471 8.50004 8.43491 8.50004 8.71358V8.83331C8.50004 9.10945 8.27617 9.33331 8.00004 9.33331C7.72391 9.33331 7.50004 9.10945 7.50004 8.83331V8.71358C7.50004 8.10058 7.80637 7.52818 8.31644 7.18811L8.69091 6.93845C8.88404 6.80971 9.00004 6.59297 9.00004 6.36086C9.00004 5.97745 8.68924 5.66665 8.30584 5.66665H7.50004ZM8.00004 9.99998C7.63184 9.99998 7.33337 10.2984 7.33337 10.6666C7.33337 11.0348 7.63184 11.3333 8.00004 11.3333C8.36824 11.3333 8.66671 11.0348 8.66671 10.6666C8.66671 10.2984 8.36824 9.99998 8.00004 9.99998Z'\n fillRule='evenodd'\n />,\n);\n\nexport const IconCircleX = createIcon(\n 'IconCircleX',\n <path d='M13.5667 8.00031C13.5667 4.92603 11.0745 2.4331 8.00033 2.43292C4.92595 2.43292 2.43295 4.92592 2.43295 8.00031C2.43312 11.0745 4.92606 13.5667 8.00033 13.5667C11.0744 13.5665 13.5666 11.0744 13.5667 8.00031ZM9.57552 5.5755C9.80978 5.34124 10.1898 5.34135 10.4242 5.5755C10.6585 5.80982 10.6585 6.18982 10.4242 6.42413L8.84798 7.99933L10.4242 9.5755C10.6585 9.80982 10.6585 10.1898 10.4242 10.4241C10.1898 10.6584 9.80984 10.6584 9.57552 10.4241L7.99935 8.84796L6.42416 10.4241C6.18984 10.6584 5.80984 10.6584 5.57552 10.4241C5.34137 10.1898 5.34126 9.80976 5.57552 9.5755L7.15072 7.99933L5.57552 6.42413C5.34137 6.18981 5.34126 5.80976 5.57552 5.5755C5.80978 5.34124 6.18983 5.34135 6.42416 5.5755L7.99935 7.1507L9.57552 5.5755ZM14.7669 8.00031C14.7668 11.7372 11.7372 14.7667 8.00033 14.7669C4.26331 14.7669 1.2339 11.7373 1.23373 8.00031C1.23373 4.26318 4.2632 1.2337 8.00033 1.2337C11.7373 1.23388 14.7669 4.26329 14.7669 8.00031Z' />,\n);\n\nexport const IconClock = createIcon(\n 'IconClock',\n <path d='M13.5667 8.00031C13.5667 4.92603 11.0745 2.4331 8.00034 2.43292C4.92595 2.43292 2.43295 4.92592 2.43295 8.00031C2.43313 11.0745 4.92606 13.5667 8.00034 13.5667C11.0744 13.5665 13.5666 11.0744 13.5667 8.00031ZM7.39975 5.16632C7.39993 4.8351 7.66907 4.56671 8.00034 4.56671C8.33145 4.56689 8.59977 4.83521 8.59995 5.16632V7.75128L10.2572 9.40948C10.4915 9.6438 10.4915 10.0228 10.2572 10.2571C10.0229 10.4915 9.64383 10.4915 9.40952 10.2571L7.57553 8.42413C7.46319 8.3117 7.39984 8.15924 7.39975 8.00031V5.16632ZM14.7669 8.00031C14.7668 11.7372 11.7372 14.7667 8.00034 14.7669C4.26332 14.7669 1.23391 11.7373 1.23373 8.00031C1.23373 4.26318 4.26321 1.2337 8.00034 1.2337C11.7373 1.23388 14.7669 4.26329 14.7669 8.00031Z' />,\n);\n\nexport const IconClockSolid = createIcon(\n 'IconClockSolid',\n <path\n clipRule='evenodd'\n d='M8.00004 14.6666C11.6819 14.6666 14.6667 11.6818 14.6667 7.99998C14.6667 4.31808 11.6819 1.33331 8.00004 1.33331C4.31814 1.33331 1.33337 4.31808 1.33337 7.99998C1.33337 11.6818 4.31814 14.6666 8.00004 14.6666ZM8.50004 5.16665C8.50004 4.89051 8.27617 4.66665 8.00004 4.66665C7.72391 4.66665 7.50004 4.89051 7.50004 5.16665V7.99998C7.50004 8.13258 7.55271 8.25978 7.64651 8.35351L9.47984 10.1868C9.67511 10.3821 9.99164 10.3821 10.1869 10.1868C10.3822 9.99158 10.3822 9.67505 10.1869 9.47978L8.50004 7.79285V5.16665Z'\n fillRule='evenodd'\n />,\n);\n\nexport const IconCloseQuote2 = createIcon(\n 'IconCloseQuote2',\n <>\n <path\n d='M5.50001 3.16666H3.16668C2.4303 3.16666 1.83334 3.76361 1.83334 4.49999V7.35712C1.83334 8.09352 2.4303 8.69046 3.16668 8.69046H4.16668V12.8333C4.16668 12.8333 6.83334 11.7976 6.83334 8.69046V4.49907C6.83334 3.76269 6.23639 3.16666 5.50001 3.16666Z'\n fill='none'\n stroke='currentColor'\n strokeLinejoin='round'\n strokeWidth='1.2'\n />\n <path\n d='M12.8333 3.16666H10.5C9.76361 3.16666 9.16668 3.76361 9.16668 4.49999V7.35712C9.16668 8.09352 9.76361 8.69046 10.5 8.69046H11.5V12.8333C11.5 12.8333 14.1667 11.7976 14.1667 8.69046V4.49907C14.1667 3.76269 13.5697 3.16666 12.8333 3.16666Z'\n fill='none'\n stroke='currentColor'\n strokeLinejoin='round'\n strokeWidth='1.2'\n />\n </>,\n);\n\nexport const IconCode = createIcon(\n 'IconCode',\n <path d='M12.9004 3.83301C12.9002 3.42825 12.5718 3.09978 12.167 3.09961H3.83301C3.42826 3.09979 3.09979 3.42826 3.09961 3.83301V12.167C3.09978 12.5718 3.42825 12.9002 3.83301 12.9004H12.167C12.5718 12.9002 12.9002 12.5718 12.9004 12.167V3.83301ZM6.40918 5.57617C6.64349 5.34186 7.0235 5.34186 7.25781 5.57617C7.49169 5.8104 7.49169 6.1896 7.25781 6.42383L5.72949 7.95312C5.70395 7.97905 5.70297 8.02095 5.72852 8.04688L7.25781 9.57617C7.49169 9.8104 7.49169 10.1896 7.25781 10.4238C7.0235 10.6581 6.64349 10.6581 6.40918 10.4238L4.88086 8.89551C4.38617 8.40086 4.38617 7.59914 4.88086 7.10449L6.40918 5.57617ZM8.74219 5.57617C8.9765 5.34186 9.35651 5.34186 9.59082 5.57617L11.1191 7.10449C11.6138 7.59914 11.6138 8.40086 11.1191 8.89551L9.59082 10.4238C9.35651 10.6581 8.9765 10.6581 8.74219 10.4238C8.50831 10.1896 8.50831 9.8104 8.74219 9.57617L10.2715 8.04688C10.297 8.02095 10.297 7.97905 10.2715 7.95312L8.74219 6.42383C8.50831 6.1896 8.50831 5.8104 8.74219 5.57617ZM14.0996 12.167C14.0994 13.2345 13.2345 14.0994 12.167 14.0996H3.83301C2.76552 14.0994 1.90057 13.2345 1.90039 12.167V3.83301C1.90057 2.76552 2.76552 1.90057 3.83301 1.90039H12.167C13.2345 1.90057 14.0994 2.76552 14.0996 3.83301V12.167Z' />,\n);\n\nexport const IconCodeBrackets = createIcon(\n 'IconCodeBrackets',\n <path d='M9.6575 1.92089C9.97719 2.00808 10.1656 2.3385 10.0784 2.6582L7.0784 13.6582C6.99103 13.9776 6.66162 14.1662 6.34207 14.0791C6.02237 13.9919 5.83398 13.6615 5.92117 13.3418L8.92117 2.34179C9.00845 2.02242 9.33804 1.834 9.6575 1.92089ZM3.39676 4.75585C3.6238 4.51461 4.0031 4.50257 4.24441 4.72949C4.48572 4.95659 4.49691 5.33681 4.2698 5.57812L2.46414 7.49706C2.19838 7.77943 2.19838 8.22055 2.46414 8.50292L4.2698 10.4219C4.49691 10.6632 4.48572 11.0434 4.24441 11.2705C4.0031 11.4974 3.6238 11.4854 3.39676 11.2441L1.59012 9.32519C0.889476 8.58076 0.889476 7.41923 1.59012 6.6748L3.39676 4.75585ZM11.7552 4.72949C11.9965 4.50238 12.3767 4.51455 12.6038 4.75585L14.4104 6.6748C15.111 7.41922 15.111 8.58077 14.4104 9.32519L12.6038 11.2441C12.3767 11.4854 11.9965 11.4976 11.7552 11.2705C11.5139 11.0434 11.5027 10.6632 11.7298 10.4219L13.5364 8.50292C13.8022 8.22055 13.8022 7.77943 13.5364 7.49706L11.7298 5.57812C11.5027 5.33682 11.5139 4.9566 11.7552 4.72949Z' />,\n);\n\nexport const IconCodeEditorInsert = createIcon(\n 'IconCodeEditorInsert',\n <path d='M13.5638 4.49969C13.5636 4.09488 13.2353 3.76637 12.8304 3.7663H11.43V12.2331H12.8304C13.2354 12.233 13.5638 11.9047 13.5638 11.4997V4.49969ZM1.23373 11.4997V4.49969C1.23391 3.4322 2.09886 2.56725 3.16635 2.56708H8.83334C9.16471 2.56708 9.43295 2.83532 9.43295 3.16669C9.43295 3.49806 9.16471 3.7663 8.83334 3.7663H3.16635C2.7616 3.76647 2.43313 4.09494 2.43295 4.49969V11.4997C2.43295 11.9046 2.76149 12.2329 3.16635 12.2331H8.83334C9.16471 12.2331 9.43295 12.5023 9.43295 12.8337C9.43278 13.1649 9.16461 13.4333 8.83334 13.4333H3.16635C2.09876 13.4331 1.23373 12.5674 1.23373 11.4997ZM5.24252 5.90887C5.47685 5.67472 5.8569 5.67461 6.09116 5.90887L7.75717 7.57587C7.99149 7.81018 7.99149 8.19018 7.75717 8.4245L6.09116 10.0905C5.85684 10.3248 5.47684 10.3248 5.24252 10.0905C5.00843 9.85624 5.00843 9.47713 5.24252 9.24286L6.48471 7.99969L5.24252 6.75751C5.00821 6.52319 5.00821 6.14319 5.24252 5.90887ZM14.764 11.4997C14.764 12.5674 13.8981 13.4332 12.8304 13.4333H11.43V14.3337C11.4298 14.6649 11.1616 14.9332 10.8304 14.9333C10.4992 14.9333 10.23 14.6649 10.2298 14.3337V1.66669C10.2298 1.33532 10.499 1.06708 10.8304 1.06708C11.1617 1.06715 11.43 1.33536 11.43 1.66669V2.56708H12.8304C13.898 2.56715 14.7638 3.43215 14.764 4.49969V11.4997Z' />,\n);\n\nexport const IconCompass = createIcon(\n 'IconCompass',\n <path d='M13.5667 8.00031C13.5667 4.92603 11.0745 2.4331 8.00034 2.43292C4.92595 2.43292 2.43295 4.92592 2.43295 8.00031C2.43313 11.0745 4.92606 13.5667 8.00034 13.5667C11.0744 13.5665 13.5666 11.0744 13.5667 8.00031ZM9.74252 5.21515C10.386 5.13145 10.937 5.73392 10.7591 6.38702L10.0121 9.12335C9.89401 9.556 9.55603 9.89398 9.12338 10.012L6.38705 10.7591C5.69038 10.9488 5.05159 10.3092 5.24155 9.61261L5.98764 6.87628C6.10565 6.44361 6.44365 6.10562 6.87631 5.98761L9.61264 5.24152L9.74252 5.21515ZM7.19174 7.14484C7.16914 7.15108 7.15111 7.16911 7.14487 7.19171L6.52084 9.47784L8.80795 8.8548C8.83073 8.84856 8.8486 8.8307 8.85483 8.80792L9.47787 6.52081L7.19174 7.14484ZM14.7669 8.00031C14.7668 11.7372 11.7372 14.7667 8.00034 14.7669C4.26332 14.7669 1.23391 11.7373 1.23373 8.00031C1.23373 4.26318 4.26321 1.2337 8.00034 1.2337C11.7373 1.23388 14.7669 4.26329 14.7669 8.00031Z' />,\n);\n\nexport const IconCreditCard2Billing = createIcon(\n 'IconCreditCard2Billing',\n <path d='M13.5638 7.10028H2.43295V11.4977C2.43313 11.9025 2.76159 12.231 3.16635 12.2311H12.8304C13.2353 12.2311 13.5636 11.9026 13.5638 11.4977V7.10028ZM6.50034 8.23309C6.83156 8.23327 7.09995 8.50242 7.09995 8.83368C7.09977 9.16479 6.83145 9.43311 6.50034 9.43329H4.50034C4.16907 9.43329 3.89993 9.1649 3.89975 8.83368C3.89975 8.50231 4.16896 8.23309 4.50034 8.23309H6.50034ZM14.764 11.4977C14.7638 12.5654 13.8981 13.4304 12.8304 13.4304H3.16635C2.09886 13.4302 1.23391 12.5653 1.23373 11.4977V4.50165C1.23391 3.43416 2.09886 2.56921 3.16635 2.56903H12.8324C13.8975 2.56922 14.7631 3.43108 14.764 4.49774V11.4977ZM2.43295 5.90009H13.5638C13.5638 5.43285 13.5641 4.96581 13.5638 4.49872C13.5635 4.09589 13.2366 3.76844 12.8324 3.76825H3.16635C2.7616 3.76843 2.43313 4.0969 2.43295 4.50165V5.90009Z' />,\n);\n\nexport const IconCrossMedium = createIcon(\n 'IconCrossMedium',\n <path d='M11.4089 3.74281C11.6432 3.5085 12.0232 3.5085 12.2575 3.74281C12.4916 3.97709 12.4916 4.3562 12.2575 4.59047L8.84733 7.99965L12.2575 11.4088C12.4918 11.6431 12.4918 12.0231 12.2575 12.2575C12.0232 12.4918 11.6432 12.4918 11.4089 12.2575L7.99967 8.84731L4.59049 12.2575C4.35622 12.4916 3.97711 12.4916 3.74284 12.2575C3.50852 12.0231 3.50852 11.6431 3.74284 11.4088L7.15104 7.99965L3.74284 4.59047C3.50852 4.35616 3.50852 3.97713 3.74284 3.74281C3.97715 3.5085 4.35618 3.5085 4.59049 3.74281L7.99967 7.15102L11.4089 3.74281Z' />,\n);\n\nexport const IconCrossSmall = createIcon(\n 'IconCrossSmall',\n <path d='M10.4089 4.74281C10.6432 4.5085 11.0232 4.5085 11.2575 4.74281C11.4916 4.97709 11.4916 5.3562 11.2575 5.59047L8.84733 7.99965L11.2575 10.4088C11.4918 10.6431 11.4918 11.0231 11.2575 11.2575C11.0232 11.4918 10.6432 11.4918 10.4089 11.2575L7.99967 8.84731L5.59049 11.2575C5.35622 11.4916 4.97711 11.4916 4.74284 11.2575C4.50852 11.0231 4.50852 10.6431 4.74284 10.4088L7.15104 7.99965L4.74284 5.59047C4.50852 5.35616 4.50852 4.97713 4.74284 4.74281C4.97715 4.5085 5.35618 4.5085 5.59049 4.74281L7.99967 7.15102L10.4089 4.74281Z' />,\n);\n\nexport const IconDotGrid1x3Horizontal = createIcon(\n 'IconDotGrid1x3Horizontal',\n <path d='M3.91635 8.00037C3.91618 8.78253 3.28247 9.41621 2.50034 9.41638C1.76683 9.41638 1.16271 8.85929 1.09018 8.1449L1.08334 8.00037L1.09018 7.85486C1.16286 7.14062 1.76694 6.58337 2.50034 6.58337L2.64487 6.59021C3.35924 6.66274 3.91635 7.26683 3.91635 8.00037ZM9.41635 8.00037C9.41618 8.78252 8.78249 9.41621 8.00034 9.41638C7.26681 9.41638 6.66271 8.85929 6.59018 8.1449L6.58334 8.00037L6.59018 7.85486C6.66286 7.14062 7.26692 6.58337 8.00034 6.58337L8.14487 6.59021C8.85926 6.66274 9.41635 7.26684 9.41635 8.00037ZM14.9164 8.00037C14.9162 8.78252 14.2825 9.41621 13.5003 9.41638C12.7668 9.41638 12.1627 8.85929 12.0902 8.1449L12.0833 8.00037L12.0902 7.85486C12.1629 7.14062 12.7669 6.58337 13.5003 6.58337L13.6449 6.59021C14.3593 6.66274 14.9164 7.26684 14.9164 8.00037Z' />,\n);\n\nexport const IconDotGrid2x3 = createIcon(\n 'IconDotGrid2x3',\n <>\n <path d='M5 3.83335C5 3.18902 5.52233 2.66669 6.16667 2.66669C6.811 2.66669 7.33333 3.18902 7.33333 3.83335C7.33333 4.47769 6.811 5.00002 6.16667 5.00002C5.52233 5.00002 5 4.47769 5 3.83335Z' />\n <path d='M8.66667 3.83335C8.66667 3.18902 9.189 2.66669 9.83333 2.66669C10.4777 2.66669 11 3.18902 11 3.83335C11 4.47769 10.4777 5.00002 9.83333 5.00002C9.189 5.00002 8.66667 4.47769 8.66667 3.83335Z' />\n <path d='M5 12.1667C5 11.5224 5.52233 11 6.16667 11C6.811 11 7.33333 11.5224 7.33333 12.1667C7.33333 12.811 6.811 13.3334 6.16667 13.3334C5.52233 13.3334 5 12.811 5 12.1667Z' />\n <path d='M8.66667 12.1667C8.66667 11.5224 9.189 11 9.83333 11C10.4777 11 11 11.5224 11 12.1667C11 12.811 10.4777 13.3334 9.83333 13.3334C9.189 13.3334 8.66667 12.811 8.66667 12.1667Z' />\n <path d='M5 7.93335C5 7.28902 5.52233 6.76669 6.16667 6.76669C6.811 6.76669 7.33333 7.28902 7.33333 7.93335V8.00002C7.33333 8.64435 6.811 9.16669 6.16667 9.16669C5.52233 9.16669 5 8.64435 5 8.00002V7.93335Z' />\n <path d='M8.66667 7.93335C8.66667 7.28902 9.189 6.76669 9.83333 6.76669C10.4777 6.76669 11 7.28902 11 7.93335V8.00002C11 8.64435 10.4777 9.16669 9.83333 9.16669C9.189 9.16669 8.66667 8.64435 8.66667 8.00002V7.93335Z' />\n </>,\n);\n\nexport const IconDotsGrid1x3Vertical = createIcon(\n 'IconDotsGrid1x3Vertical',\n <>\n <path d='M8.00001 3.16665C8.36821 3.16665 8.66668 2.86817 8.66668 2.49998C8.66668 2.13179 8.36821 1.83331 8.00001 1.83331C7.63181 1.83331 7.33334 2.13179 7.33334 2.49998C7.33334 2.86817 7.63181 3.16665 8.00001 3.16665Z' />\n <path d='M8.00001 8.66665C8.36821 8.66665 8.66668 8.36818 8.66668 7.99998C8.66668 7.63178 8.36821 7.33331 8.00001 7.33331C7.63181 7.33331 7.33334 7.63178 7.33334 7.99998C7.33334 8.36818 7.63181 8.66665 8.00001 8.66665Z' />\n <path d='M8.00001 14.1666C8.36821 14.1666 8.66668 13.8682 8.66668 13.5C8.66668 13.1318 8.36821 12.8333 8.00001 12.8333C7.63181 12.8333 7.33334 13.1318 7.33334 13.5C7.33334 13.8682 7.63181 14.1666 8.00001 14.1666Z' />\n <path d='M8.06674 13.5003C8.06674 13.4636 8.03702 13.4331 8.00034 13.4329C7.96351 13.4329 7.93295 13.4635 7.93295 13.5003C7.93313 13.537 7.96361 13.5667 8.00034 13.5667C8.03691 13.5665 8.06657 13.5369 8.06674 13.5003ZM8.06674 8.00031C8.06674 7.96358 8.03702 7.9331 8.00034 7.93292C7.96351 7.93292 7.93295 7.96348 7.93295 8.00031C7.93313 8.03699 7.96361 8.06671 8.00034 8.06671C8.03691 8.06654 8.06657 8.03688 8.06674 8.00031ZM8.06674 2.50031C8.06674 2.46359 8.03701 2.4331 8.00034 2.43292C7.96351 2.43292 7.93295 2.46348 7.93295 2.50031C7.93313 2.53698 7.96362 2.56671 8.00034 2.56671C8.0369 2.56654 8.06657 2.53687 8.06674 2.50031ZM9.26694 13.5003C9.26676 14.1996 8.69965 14.7667 8.00034 14.7669C7.30087 14.7669 6.73391 14.1997 6.73373 13.5003C6.73373 12.8007 7.30076 12.2337 8.00034 12.2337C8.69976 12.2339 9.26694 12.8008 9.26694 13.5003ZM9.26694 8.00031C9.26676 8.69962 8.69965 9.26673 8.00034 9.26691C7.30087 9.26691 6.73391 8.69973 6.73373 8.00031C6.73373 7.30073 7.30076 6.7337 8.00034 6.7337C8.69976 6.73388 9.26694 7.30084 9.26694 8.00031ZM9.26694 2.50031C9.26676 3.1996 8.69966 3.76673 8.00034 3.76691C7.30087 3.76691 6.73391 3.19971 6.73373 2.50031C6.73373 1.80076 7.30076 1.2337 8.00034 1.2337C8.69976 1.23388 9.26694 1.80086 9.26694 2.50031Z' />\n </>,\n);\n\nexport const IconDoubleCheckmark1Small = createIcon(\n 'IconDoubleCheckmark1Small',\n <path\n d='M9.74121 3.43164C9.9169 3.15085 10.2874 3.06564 10.5684 3.24121C10.8492 3.41691 10.9344 3.78745 10.7588 4.06836L5.44629 12.5684C5.34945 12.7231 5.18722 12.8249 5.00586 12.8457C4.82419 12.8664 4.64297 12.8031 4.51367 12.6738L1.32617 9.48633C1.09186 9.25202 1.09186 8.87299 1.32617 8.63868C1.56049 8.40436 1.93951 8.40436 2.17383 8.63868L4.82715 11.292L9.74121 3.43164ZM13.7412 3.43164C13.9169 3.15085 14.2874 3.06564 14.5684 3.24121C14.8492 3.41691 14.9344 3.78745 14.7588 4.06836L9.44629 12.5684C9.2706 12.8492 8.90006 12.9344 8.61914 12.7588C8.33835 12.5831 8.25314 12.2126 8.42871 11.9316L13.7412 3.43164Z'\n fill='currentColor'\n />,\n);\n\nexport const IconEditBig = createIcon(\n 'IconEditBig',\n <>\n <path d='M7.5 2.99998C7.77613 2.99998 8 2.77612 8 2.49998C8 2.22384 7.77613 1.99998 7.5 1.99998V2.99998ZM14 8.49998V7.99998H13V8.49998H14ZM11.3667 13H4.63333V14H11.3667V13ZM3 11.3666V4.63331H2V11.3666H3ZM4.63333 2.99998H7.5V1.99998H4.63333V2.99998ZM13 8.49998V11.3666H14V8.49998H13ZM4.63333 13C4.25171 13 3.99557 12.9996 3.79832 12.9834C3.6069 12.9678 3.51538 12.9399 3.45501 12.9092L3.00102 13.8002C3.22586 13.9147 3.46363 13.9594 3.71689 13.9802C3.96431 14.0004 4.26821 14 4.63333 14V13ZM2 11.3666C2 11.7318 1.99961 12.0356 2.01983 12.2831C2.04052 12.5364 2.08526 12.7741 2.19982 12.999L3.09083 12.545C3.06007 12.4846 3.03215 12.393 3.01651 12.2016C3.00039 12.0044 3 11.7482 3 11.3666H2ZM3.45501 12.9092C3.29821 12.8292 3.17072 12.7018 3.09083 12.545L2.19982 12.999C2.37559 13.3439 2.65605 13.6244 3.00102 13.8002L3.45501 12.9092ZM11.3667 14C11.7318 14 12.0357 14.0004 12.2831 13.9802C12.5364 13.9594 12.7741 13.9147 12.999 13.8002L12.545 12.9092C12.4846 12.9399 12.3931 12.9678 12.2017 12.9834C12.0044 12.9996 11.7483 13 11.3667 13V14ZM13 11.3666C13 11.7482 12.9996 12.0044 12.9835 12.2016C12.9679 12.393 12.9399 12.4846 12.9092 12.545L13.8002 12.999C13.9147 12.7741 13.9595 12.5364 13.9802 12.2831C14.0004 12.0356 14 11.7318 14 11.3666H13ZM12.999 13.8002C13.3439 13.6244 13.6244 13.3439 13.8002 12.999L12.9092 12.545C12.8293 12.7018 12.7018 12.8292 12.545 12.9092L12.999 13.8002ZM3 4.63331C3 4.25169 3.00039 3.99555 3.01651 3.7983C3.03215 3.60688 3.06007 3.51536 3.09083 3.45499L2.19982 3.001C2.08526 3.22584 2.04052 3.46361 2.01983 3.71687C1.99961 3.96429 2 4.26819 2 4.63331H3ZM4.63333 1.99998C4.26821 1.99998 3.96431 1.99959 3.71689 2.01981C3.46363 2.0405 3.22586 2.08524 3.00102 2.1998L3.45501 3.09081C3.51538 3.06005 3.6069 3.03213 3.79832 3.01649C3.99557 3.00037 4.25171 2.99998 4.63333 2.99998V1.99998ZM3.09083 3.45499C3.17072 3.29819 3.29821 3.1707 3.45501 3.09081L3.00102 2.1998C2.65605 2.37557 2.37559 2.65603 2.19982 3.001L3.09083 3.45499Z' />\n <path d='M11.2992 1.85138C12.054 1.09647 13.2785 1.09669 14.0335 1.85138L14.1478 1.96662L14.2806 2.1131C14.9 2.87246 14.8556 3.99216 14.1478 4.70001L8.45247 10.3953C8.21487 10.6329 7.89275 10.7664 7.55697 10.7664H5.83333C5.50204 10.7664 5.23385 10.4981 5.23372 10.1668V8.44318C5.23372 8.10715 5.3664 7.78423 5.60384 7.54669L11.2992 1.85138ZM6.43294 9.56622H7.55697C7.57476 9.56622 7.59243 9.55908 7.60482 9.54669L13.2992 3.85138C13.5855 3.56499 13.5855 3.10066 13.2992 2.81427L13.1849 2.70001C12.8985 2.41395 12.434 2.41375 12.1478 2.70001L6.45247 8.39533C6.43997 8.40791 6.43294 8.42554 6.43294 8.44318V9.56622Z' />\n </>,\n);\n\nexport const IconEditBigSolid = createIcon(\n 'IconEditBigSolid',\n <>\n <path\n clipRule='evenodd'\n d='M4.61305 2.00002H7.5C7.77613 2.00002 8 2.22388 8 2.50002C8 2.77616 7.77613 3.00002 7.5 3.00002H4.63333C4.25171 3.00002 3.99557 3.00041 3.79832 3.01653C3.60691 3.03217 3.51538 3.06009 3.45501 3.09085C3.29821 3.17074 3.17072 3.29823 3.09083 3.45503C3.06007 3.5154 3.03215 3.60692 3.01651 3.79834C3.00039 3.99559 3 4.25173 3 4.63335V11.3667C3 11.7483 3.00039 12.0044 3.01651 12.2017C3.03215 12.3931 3.06007 12.4846 3.09083 12.545C3.17072 12.7018 3.29821 12.8293 3.45501 12.9092C3.51538 12.94 3.60691 12.9679 3.79832 12.9835C3.99557 12.9996 4.25171 13 4.63333 13H11.3667C11.7483 13 12.0044 12.9996 12.2017 12.9835C12.3931 12.9679 12.4846 12.94 12.545 12.9092C12.7018 12.8293 12.8293 12.7018 12.9092 12.545C12.9399 12.4846 12.9679 12.3931 12.9835 12.2017C12.9996 12.0044 13 11.7483 13 11.3667V8.50002C13 8.22389 13.2239 8.00002 13.5 8.00002C13.7761 8.00002 14 8.22389 14 8.50002V11.387C14 11.7431 14 12.0403 13.9802 12.2832C13.9595 12.5364 13.9147 12.7742 13.8002 12.999C13.6244 13.344 13.3439 13.6244 12.999 13.8002C12.7741 13.9148 12.5364 13.9595 12.2831 13.9802C12.0403 14 11.7431 14 11.387 14H4.61303C4.25693 14 3.95971 14 3.71689 13.9802C3.46363 13.9595 3.22586 13.9148 3.00102 13.8002C2.65605 13.6244 2.37559 13.344 2.19982 12.999C2.08526 12.7742 2.04052 12.5364 2.01983 12.2832C1.99999 12.0403 1.99999 11.7431 2 11.387V4.61306C1.99999 4.25696 1.99999 3.95973 2.01983 3.71691C2.04052 3.46365 2.08526 3.22588 2.19982 3.00104C2.37559 2.65607 2.65605 2.37561 3.00102 2.19984C3.22586 2.08528 3.46363 2.04054 3.71689 2.01985C3.95971 2.00001 4.25694 2.00001 4.61305 2.00002Z'\n fillRule='evenodd'\n />\n <path d='M13.963 1.92241C13.2471 1.20645 12.0863 1.20645 11.3703 1.92241L5.67504 7.61769C5.45625 7.83649 5.33333 8.13322 5.33333 8.44262V10.1665C5.33333 10.4426 5.55719 10.6665 5.83333 10.6665H7.5572C7.8666 10.6665 8.16333 10.5436 8.38213 10.3248L14.0774 4.62951C14.7934 3.91355 14.7934 2.75275 14.0774 2.03679L13.963 1.92241Z' />\n </>,\n);\n\nexport const IconEmojiAddReaction = createIcon(\n 'IconEmojiAddReaction',\n <path d='M1.2337 7.99969C1.23388 4.26272 4.26329 1.23309 8.00031 1.23309C8.33153 1.23327 8.59991 1.50242 8.59991 1.83368C8.59974 2.16479 8.33142 2.43311 8.00031 2.43329C4.92603 2.43329 2.4331 4.92546 2.43292 7.99969C2.43292 11.0741 4.92592 13.5671 8.00031 13.5671C11.0745 13.5669 13.5667 11.0739 13.5667 7.99969C13.5669 7.66858 13.8352 7.40026 14.1663 7.40009C14.4976 7.40009 14.7667 7.66847 14.7669 7.99969C14.7669 11.7367 11.7373 14.7661 8.00031 14.7663C4.26318 14.7663 1.2337 11.7368 1.2337 7.99969ZM9.46124 9.46161C9.69556 9.22729 10.0756 9.22729 10.3099 9.46161C10.5441 9.69593 10.5442 10.0759 10.3099 10.3102C9.03427 11.5856 6.9664 11.5855 5.69073 10.3102C5.45642 10.0759 5.45642 9.69592 5.69073 9.46161C5.92503 9.22742 6.3041 9.22742 6.53839 9.46161C7.3454 10.2686 8.65414 10.2684 9.46124 9.46161ZM6.26202 5.40497C6.73268 5.45275 7.09991 5.85042 7.09991 6.33368C7.09974 6.84899 6.68168 7.2663 6.16632 7.2663C5.68311 7.26613 5.28622 6.89909 5.23859 6.42841L5.2337 6.33368L5.23859 6.23798C5.28637 5.76744 5.68322 5.40025 6.16632 5.40009L6.26202 5.40497ZM9.92902 5.40497C10.3995 5.4529 10.7669 5.8505 10.7669 6.33368C10.7667 6.84902 10.3486 7.2663 9.83331 7.2663C9.34998 7.2663 8.95222 6.89926 8.9046 6.42841L8.89972 6.33368L8.9046 6.23798C8.95237 5.76728 9.3501 5.40009 9.83331 5.40009L9.92902 5.40497ZM12.0667 5.49969V3.93329H10.5003C10.169 3.93329 9.89989 3.6649 9.89972 3.33368C9.89972 3.00231 10.1689 2.73309 10.5003 2.73309H12.0667V1.16669C12.0667 0.835425 12.3351 0.567253 12.6663 0.567078C12.9977 0.567078 13.2669 0.835316 13.2669 1.16669V2.73309H14.8333C15.1647 2.73309 15.4329 3.00231 15.4329 3.33368C15.4327 3.6649 15.1646 3.93329 14.8333 3.93329H13.2669V5.49969C13.2669 5.83107 12.9977 6.10028 12.6663 6.10028C12.3351 6.10011 12.0667 5.83096 12.0667 5.49969Z' />,\n);\n\nexport const IconEmojiSad = createIcon(\n 'IconEmojiSad',\n <>\n <path d='M13.5667 8.00037C13.5667 4.92609 11.0746 2.43316 8.00034 2.43298C4.92595 2.43298 2.43295 4.92598 2.43295 8.00037C2.43313 11.0746 4.92606 13.5668 8.00034 13.5668C11.0745 13.5666 13.5666 11.0745 13.5667 8.00037ZM14.7669 8.00037C14.7668 11.7372 11.7372 14.7668 8.00034 14.767C4.26332 14.767 1.23391 11.7373 1.23373 8.00037C1.23373 4.26324 4.26321 1.23376 8.00034 1.23376C11.7373 1.23394 14.7669 4.26335 14.7669 8.00037Z' />\n <path d='M7.16668 6.60004C7.16668 7.33644 6.71894 7.83337 6.16668 7.83337C5.61439 7.83337 5.16668 7.33644 5.16668 6.60004C5.16668 5.86366 5.61439 5.33337 6.16668 5.33337C6.71894 5.33337 7.16668 5.86366 7.16668 6.60004Z' />\n <path d='M10.8333 6.60004C10.8333 7.33644 10.3856 7.83337 9.83334 7.83337C9.28108 7.83337 8.83334 7.33644 8.83334 6.60004C8.83334 5.86366 9.28108 5.33337 9.83334 5.33337C10.3856 5.33337 10.8333 5.86366 10.8333 6.60004Z' />\n <path d='M5.3218 10.3755C5.2518 10.4568 5.21202 10.5616 5.21452 10.6698C5.21698 10.7782 5.26102 10.8806 5.33759 10.9555C5.41417 11.0303 5.51767 11.072 5.62598 11.072C5.73434 11.072 5.83812 11.0298 5.9178 10.9579C5.97631 10.906 6.0356 10.8572 6.09709 10.8102C6.64742 10.388 7.32381 10.1664 8.00221 10.1667C8.68054 10.1654 9.35668 10.3862 9.90541 10.809C9.96668 10.8562 10.0258 10.905 10.0841 10.957C10.1635 11.0291 10.2672 11.0716 10.3755 11.0719C10.4839 11.0723 10.5875 11.031 10.6643 10.9564C10.7411 10.8818 10.7854 10.7794 10.7882 10.6711C10.7911 10.5628 10.7516 10.4579 10.6818 10.3764C10.616 10.3007 10.5479 10.2286 10.4756 10.1586C9.83001 9.52671 8.91534 9.16217 8.00148 9.16671C7.08748 9.16371 6.17469 9.52891 5.52834 10.1585C5.45602 10.2282 5.38776 10.3 5.3218 10.3755Z' />\n </>,\n);\n\nexport const IconEmojiSmile = createIcon(\n 'IconEmojiSmile',\n <>\n <path d='M13.5667 8.00031C13.5667 4.92603 11.0746 2.4331 8.00034 2.43292C4.92595 2.43292 2.43295 4.92592 2.43295 8.00031C2.43313 11.0745 4.92606 13.5667 8.00034 13.5667C11.0745 13.5665 13.5666 11.0744 13.5667 8.00031ZM14.7669 8.00031C14.7668 11.7372 11.7372 14.7667 8.00034 14.7669C4.26332 14.7669 1.23391 11.7373 1.23373 8.00031C1.23373 4.26318 4.26321 1.2337 8.00034 1.2337C11.7373 1.23388 14.7669 4.26329 14.7669 8.00031Z' />\n <path d='M10.7415 9.89951C10.7961 9.80698 10.8166 9.69665 10.7947 9.59045C10.7728 9.48418 10.711 9.39111 10.622 9.33118C10.5331 9.27125 10.4236 9.24885 10.3169 9.26851C10.2103 9.28805 10.1157 9.34838 10.0505 9.43378C10.0005 9.49791 9.94914 9.55778 9.89434 9.61605C9.40641 10.1388 8.70734 10.4186 8.00234 10.4166C7.29734 10.4176 6.59814 10.137 6.10837 9.61478C6.05336 9.55651 6.00175 9.49671 5.9516 9.43271C5.88608 9.34758 5.79134 9.28751 5.68458 9.26825C5.57787 9.24898 5.46846 9.27171 5.3797 9.33191C5.29094 9.39211 5.22938 9.48538 5.20784 9.59165C5.18626 9.69798 5.20704 9.80818 5.26196 9.90058C5.31822 9.99331 5.37792 10.0815 5.4437 10.1684C6.02866 10.954 7.01948 11.4228 8.00161 11.4166C8.98361 11.4244 9.97668 10.9561 10.5603 10.168C10.626 10.081 10.6855 9.99251 10.7415 9.89951Z' />\n <path d='M7.16668 6.59998C7.16668 7.33638 6.71894 7.83331 6.16668 7.83331C5.61439 7.83331 5.16668 7.33638 5.16668 6.59998C5.16668 5.8636 5.61439 5.33331 6.16668 5.33331C6.71894 5.33331 7.16668 5.8636 7.16668 6.59998Z' />\n <path d='M10.8333 6.59998C10.8333 7.33638 10.3856 7.83331 9.83334 7.83331C9.28108 7.83331 8.83334 7.33638 8.83334 6.59998C8.83334 5.8636 9.28108 5.33331 9.83334 5.33331C10.3856 5.33331 10.8333 5.8636 10.8333 6.59998Z' />\n </>,\n);\n\nexport const IconExclamationCircle1 = createIcon(\n 'IconExclamationCircle1',\n <>\n <path d='M13.5667 8.00031C13.5667 4.92603 11.0746 2.4331 8.00032 2.43292C4.92594 2.43292 2.43294 4.92592 2.43294 8.00031C2.43311 11.0745 4.92604 13.5667 8.00032 13.5667C11.0744 13.5665 13.5666 11.0744 13.5667 8.00031ZM14.7669 8.00031C14.7667 11.7372 11.7372 14.7667 8.00032 14.7669C4.2633 14.7669 1.23389 11.7373 1.23372 8.00031C1.23372 4.26318 4.26319 1.2337 8.00032 1.2337C11.7373 1.23388 14.7669 4.26329 14.7669 8.00031Z' />\n <path d='M7.40039 8.16665V5.16665C7.40039 4.83528 7.66862 4.56704 7.99999 4.56704C8.33137 4.56704 8.5996 4.83528 8.5996 5.16665V8.16665C8.5996 8.49802 8.33137 8.76626 7.99999 8.76626C7.66862 8.76626 7.40039 8.49802 7.40039 8.16665Z' />\n <path d='M8 11.3333C8.36819 11.3333 8.66666 11.0348 8.66666 10.6666C8.66666 10.2985 8.36819 9.99998 8 9.99998C7.63181 9.99998 7.33333 10.2985 7.33333 10.6666C7.33333 11.0348 7.63181 11.3333 8 11.3333Z' />\n </>,\n);\n\nexport const IconExclamationCircle = createIcon(\n 'IconExclamationCircle',\n <>\n <path\n d='M7.99999 14.1667C11.4058 14.1667 14.1667 11.4058 14.1667 8C14.1667 4.59425 11.4058 1.83334 7.99999 1.83334C4.59424 1.83334 1.83333 4.59425 1.83333 8C1.83333 11.4058 4.59424 14.1667 7.99999 14.1667Z'\n fill='none'\n stroke='currentColor'\n strokeWidth='1.2'\n />\n <path\n d='M8 5.16666V8.16666'\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeWidth='1.2'\n />\n <path\n d='M7.99999 11.3333C8.36818 11.3333 8.66666 11.0349 8.66666 10.6667C8.66666 10.2985 8.36818 10 7.99999 10C7.63181 10 7.33333 10.2985 7.33333 10.6667C7.33333 11.0349 7.63181 11.3333 7.99999 11.3333Z'\n fill='currentColor'\n />\n </>,\n);\n\nexport const IconExclamationTriangle1 = createIcon(\n 'IconExclamationTriangle1',\n <path\n clipRule='evenodd'\n d='M6.42408 2.17175C7.13469 0.976606 8.86509 0.9766 9.57569 2.17175L14.565 10.5629C15.2917 11.7849 14.411 13.3332 12.9892 13.3332H3.01058C1.5888 13.3332 0.708127 11.7849 1.43477 10.5629L6.42408 2.17175ZM7.99996 5.33317C8.27609 5.33317 8.49996 5.55703 8.49996 5.83317V8.49987C8.49996 8.776 8.27609 8.99987 7.99996 8.99987C7.72383 8.99987 7.49996 8.776 7.49996 8.49987V5.83317C7.49996 5.55703 7.72383 5.33317 7.99996 5.33317ZM8.66663 10.3332C8.66663 10.7013 8.36816 10.9999 7.99996 10.9999C7.63176 10.9999 7.33329 10.7013 7.33329 10.3332C7.33329 9.965 7.63176 9.66653 7.99996 9.66653C8.36816 9.66653 8.66663 9.965 8.66663 10.3332Z'\n fillRule='evenodd'\n />,\n);\n\nexport const IconExclamationTriangle = createIcon(\n 'IconExclamationTriangle',\n <path d='M6.33838 2.1211C7.08775 0.860752 8.91225 0.860759 9.66162 2.1211L14.6509 10.5117C15.4171 11.8003 14.4889 13.4333 12.9897 13.4336H3.01026C1.51115 13.4333 0.582944 11.8003 1.34912 10.5117L6.33838 2.1211ZM8.63037 2.73438C8.34614 2.25634 7.65386 2.25634 7.36963 2.73438L2.38037 11.125C2.08977 11.6138 2.44181 12.2331 3.01026 12.2334H12.9897C13.5582 12.2331 13.9102 11.6138 13.6196 11.125L8.63037 2.73438ZM7.3999 8.50001V5.83302C7.40008 5.5018 7.66923 5.23341 8.00049 5.23341C8.33153 5.23367 8.59993 5.50196 8.6001 5.83302V8.50001C8.6001 8.83122 8.33164 9.09936 8.00049 9.09962C7.66912 9.09962 7.39991 8.83138 7.3999 8.50001ZM8.76709 10.333C8.76709 10.7563 8.4237 11.0994 8.00049 11.0996C7.57705 11.0996 7.23291 10.7565 7.23291 10.333C7.23309 9.90973 7.57716 9.56642 8.00049 9.56642L8.07862 9.57032C8.46503 9.60966 8.76693 9.93626 8.76709 10.333Z' />,\n);\n\nexport const IconEyeOpen = createIcon(\n 'IconEyeOpen',\n <path d='M8.00001 2.56708C10.6293 2.5671 13.1778 4.13929 14.874 7.11591C15.1862 7.66419 15.1864 8.33627 14.874 8.88446C13.1778 11.861 10.6292 13.4333 8.00001 13.4333C5.37079 13.4333 2.82216 11.861 1.12598 8.88446C0.813474 8.33611 0.813474 7.66328 1.12598 7.11493C2.82216 4.13867 5.37091 2.56707 8.00001 2.56708ZM8.00001 3.7663C5.88909 3.76629 3.69769 5.02518 2.16798 7.70966C2.06545 7.88967 2.0654 8.11071 2.16798 8.29071C3.69768 10.9751 5.88913 12.2331 8.00001 12.2331C10.1109 12.2331 12.3023 10.9751 13.832 8.29071C13.9346 8.11071 13.9346 7.8898 13.832 7.70966C12.3023 5.02517 10.1109 3.76631 8.00001 3.7663ZM9.56641 7.99969C9.56624 7.13461 8.86513 6.43329 8.00001 6.43329C7.13489 6.43329 6.43378 7.13461 6.4336 7.99969C6.4336 8.86492 7.13478 9.56708 8.00001 9.56708C8.86524 9.56708 9.56641 8.86492 9.56641 7.99969ZM10.7666 7.99969C10.7666 9.52767 9.52798 10.7663 8.00001 10.7663C6.47204 10.7663 5.23341 9.52767 5.23341 7.99969C5.23358 6.47187 6.47214 5.23309 8.00001 5.23309C9.52787 5.23309 10.7664 6.47187 10.7666 7.99969Z' />,\n);\n\nexport const IconFileArrowLeftIn = createIcon(\n 'IconFileArrowLeftIn',\n <path d='M5.07617 10.2426C5.31045 10.0085 5.68955 10.0085 5.92383 10.2426L7.92383 12.2426C8.15814 12.4769 8.15814 12.8569 7.92383 13.0912L5.92383 15.0912C5.6896 15.3251 5.3104 15.3251 5.07617 15.0912C4.84186 14.8569 4.84186 14.4769 5.07617 14.2426L6.05176 13.267H2.5C2.16863 13.267 1.90039 12.9978 1.90039 12.6664C1.90057 12.3352 2.16874 12.0668 2.5 12.0668H6.05176L5.07617 11.0912C4.84186 10.8569 4.84186 10.4769 5.07617 10.2426ZM2.56641 8.66638V3.16638C2.56658 2.09878 3.43236 1.23376 4.5 1.23376H7.94727C8.45982 1.23376 8.95191 1.43688 9.31445 1.79919L12.8672 5.35193C13.2297 5.7145 13.4336 6.20642 13.4336 6.71912V12.8334C13.4336 13.9011 12.5678 14.767 11.5 14.767H9.83301C9.50179 14.7668 9.2334 14.4976 9.2334 14.1664C9.23357 13.8353 9.5019 13.5669 9.83301 13.5668H11.5C11.905 13.5668 12.2334 13.2384 12.2334 12.8334V6.76697H9.5C8.61637 6.76697 7.90039 6.05005 7.90039 5.16638V2.43298H4.5C4.0951 2.43298 3.76678 2.76152 3.7666 3.16638V8.66638C3.7666 8.99764 3.49821 9.26679 3.16699 9.26697C2.83562 9.26697 2.56641 8.99775 2.56641 8.66638ZM9.09961 5.16638C9.09961 5.38729 9.2791 5.56677 9.5 5.56677H11.3848L9.09961 3.28162V5.16638Z' />,\n);\n\nexport const IconFileBend = createIcon(\n 'IconFileBend',\n <path d='M2.56705 12.8333V3.16632C2.56722 2.09883 3.43217 1.23388 4.49966 1.2337H7.94791C8.46055 1.23375 8.95257 1.43665 9.31509 1.79913L12.8669 5.35187C13.2295 5.71445 13.4333 6.20632 13.4333 6.71906V12.8333C13.4333 13.9011 12.5674 14.7669 11.4997 14.7669H4.49966C3.43207 14.7667 2.56705 13.901 2.56705 12.8333ZM9.10025 4.83331C9.10025 5.23833 9.42863 5.56671 9.83365 5.56671H11.3844L9.10025 3.28156V4.83331ZM3.76627 12.8333C3.76627 13.2382 4.0948 13.5665 4.49966 13.5667H11.4997C11.9047 13.5667 12.2331 13.2383 12.2331 12.8333V6.76691H9.83365C8.76587 6.76691 7.90006 5.90106 7.90005 4.83331V2.43292H4.49966C4.09491 2.4331 3.76644 2.76157 3.76627 3.16632V12.8333Z' />,\n);\n\nexport const IconFilledCircleInfoTooltip = createIcon(\n 'IconFilledCircleInfoTooltip',\n <path\n clipRule='evenodd'\n d='M8.00004 1.33331C4.31814 1.33331 1.33337 4.31808 1.33337 7.99998C1.33337 11.6818 4.31814 14.6666 8.00004 14.6666C11.6819 14.6666 14.6667 11.6818 14.6667 7.99998C14.6667 4.31808 11.6819 1.33331 8.00004 1.33331ZM6.66671 7.33331C6.66671 7.05718 6.89057 6.83331 7.16671 6.83331H8.00004C8.27617 6.83331 8.50004 7.05718 8.50004 7.33331V10.8333C8.50004 11.1094 8.27617 11.3333 8.00004 11.3333C7.72391 11.3333 7.50004 11.1094 7.50004 10.8333V7.83331H7.16671C6.89057 7.83331 6.66671 7.60945 6.66671 7.33331ZM8.00004 4.83331C7.72391 4.83331 7.50004 5.05717 7.50004 5.33331C7.50004 5.60945 7.72391 5.83331 8.00004 5.83331C8.27617 5.83331 8.50004 5.60945 8.50004 5.33331C8.50004 5.05717 8.27617 4.83331 8.00004 4.83331Z'\n fillRule='evenodd'\n />,\n);\n\nexport const IconFilter1 = createIcon(\n 'IconFilter1',\n <path d='M12.9004 3.83301C12.9002 3.42825 12.5718 3.09978 12.167 3.09961H3.83301C3.42826 3.09979 3.09979 3.42826 3.09961 3.83301V4.78125C3.09966 4.97564 3.17701 5.16233 3.31445 5.2998L6.53418 8.51855C6.8966 8.88111 7.09961 9.37311 7.09961 9.88574V13.377L8.90039 12.877V9.88574C8.90039 9.37312 9.10338 8.88112 9.46582 8.51855L12.6855 5.2998C12.823 5.16234 12.9003 4.97565 12.9004 4.78125V3.83301ZM14.0996 4.78125C14.0996 5.29389 13.8967 5.78591 13.5342 6.14844L10.3145 9.36719C10.1771 9.50471 10.0996 9.69139 10.0996 9.88574V13.333C10.0996 13.6025 9.91985 13.839 9.66016 13.9111L6.66016 14.7451C6.47964 14.7951 6.28586 14.7579 6.13672 14.6445C5.98756 14.5311 5.90049 14.3544 5.90039 14.167V9.88574C5.90039 9.6914 5.82294 9.50472 5.68555 9.36719L2.46582 6.14844C2.10333 5.78592 1.90044 5.2939 1.90039 4.78125V3.83301C1.90057 2.76552 2.76552 1.90057 3.83301 1.90039H12.167C13.2345 1.90057 14.0994 2.76552 14.0996 3.83301V4.78125Z' />,\n);\n\nexport const IconFlag2 = createIcon(\n 'IconFlag2',\n <path d='M2.56705 14.1667V2.93228C2.56717 2.46081 2.83548 1.98575 3.32486 1.79166L3.64029 1.67837C5.20552 1.1677 6.61969 1.51299 7.87564 1.86099C9.25808 2.24404 10.4175 2.6108 11.6862 2.30337C12.4482 2.11893 13.4333 2.61579 13.4333 3.59146V9.64126C13.4332 10.1126 13.1649 10.5877 12.6754 10.7819C10.7993 11.526 9.11881 10.991 7.67056 10.5866C6.29835 10.2034 5.09484 9.91827 3.76627 10.446V14.1667C3.76619 14.498 3.49798 14.7663 3.16666 14.7663C2.83533 14.7663 2.56712 14.498 2.56705 14.1667ZM3.76627 9.17837C5.32719 8.71179 6.73553 9.07924 7.99283 9.43033C9.51365 9.855 10.789 10.236 12.2262 9.66861C12.2289 9.66402 12.233 9.65482 12.2331 9.64126V3.59146C12.2331 3.57451 12.2282 3.54301 12.1754 3.50748C12.1174 3.46851 12.0376 3.45361 11.9684 3.47037C10.335 3.86611 8.84307 3.37406 7.55533 3.01724C6.22696 2.64917 5.05865 2.39643 3.7731 2.90396C3.77044 2.90828 3.76633 2.91826 3.76627 2.93228V9.17837Z' />,\n);\n\nexport const IconGauge = createIcon(\n 'IconGauge',\n <path d='M9.23373 8.00031C9.23373 7.31925 8.68135 6.76708 8.00034 6.76691C7.31917 6.76691 6.76694 7.31914 6.76694 8.00031C6.76711 8.68132 7.31928 9.2337 8.00034 9.2337C8.68124 9.23353 9.23356 8.68121 9.23373 8.00031ZM7.39975 3.50031V1.83331C7.39975 1.50194 7.66896 1.2337 8.00034 1.2337C11.7373 1.23388 14.7669 4.26329 14.7669 8.00031C14.7668 11.7372 11.7372 14.7667 8.00034 14.7669C4.26332 14.7669 1.23391 11.7373 1.23373 8.00031C1.23373 6.95326 1.47205 5.95992 1.8978 5.07355C2.04127 4.77509 2.39903 4.64911 2.6976 4.7923C2.9963 4.93577 3.12233 5.29438 2.97885 5.59308C2.62932 6.32079 2.43295 7.13697 2.43295 8.00031C2.43313 11.0745 4.92606 13.5667 8.00034 13.5667C11.0744 13.5665 13.5666 11.0744 13.5667 8.00031C13.5667 5.12865 11.3921 2.76537 8.59995 2.46613V3.50031C8.59977 3.83142 8.33145 4.09974 8.00034 4.09991C7.66907 4.09991 7.39993 3.83153 7.39975 3.50031ZM10.433 8.00031C10.4328 9.34395 9.34398 10.4327 8.00034 10.4329C6.65654 10.4329 5.56692 9.34406 5.56674 8.00031C5.56674 7.54618 5.69294 7.12191 5.90952 6.75812L3.24252 4.09113C3.00821 3.85681 3.00821 3.47681 3.24252 3.24249C3.47684 3.00818 3.85684 3.00818 4.09116 3.24249L6.75815 5.90948C7.12194 5.69291 7.54622 5.56671 8.00034 5.56671C9.34409 5.56689 10.433 6.65651 10.433 8.00031Z' />,\n);\n\nexport const IconGoogle = createIcon(\n 'IconGoogle',\n <>\n <path d='M14.3896 8.15151C14.3896 7.67878 14.3472 7.22418 14.2684 6.78785H7.98959V9.36965H11.5775C11.4199 10.2 10.9471 10.903 10.2381 11.3757V13.0545H12.4017C13.6623 11.8908 14.3896 10.1818 14.3896 8.15151Z' />\n <path d='M7.98799 14.6666C9.78799 14.6666 11.2971 14.0727 12.4001 13.0545L10.2365 11.3757C9.64252 11.7757 8.88492 12.0182 7.98799 12.0182C6.25463 12.0182 4.7819 10.8484 4.25463 9.27271H2.03645V10.9939C3.13341 13.1697 5.38191 14.6666 7.98799 14.6666Z' />\n <path d='M4.25624 9.26665C4.12291 8.86665 4.04412 8.44238 4.04412 7.99998C4.04412 7.55751 4.12291 7.13331 4.25624 6.73331V5.01209H2.03805C1.58351 5.90905 1.32291 6.92118 1.32291 7.99998C1.32291 9.07878 1.58351 10.0909 2.03805 10.9878L3.76533 9.64238L4.25624 9.26665Z' />\n <path d='M7.98799 3.98786C8.96979 3.98786 9.84252 4.32725 10.5395 4.9818L12.4486 3.07271C11.291 1.99392 9.78799 1.33331 7.98799 1.33331C5.38191 1.33331 3.13341 2.83029 2.03645 5.01211L4.25463 6.73331C4.7819 5.15756 6.25463 3.98786 7.98799 3.98786Z' />\n </>,\n);\n\nexport const IconHashtagChannel = createIcon(\n 'IconHashtagChannel',\n <path d='M11.5723 1.90432C11.9012 1.94422 12.1356 2.24335 12.0957 2.57229L11.8545 4.56643H13.5C13.8314 4.56643 14.0996 4.83565 14.0996 5.16702C14.0994 5.49824 13.8313 5.76663 13.5 5.76663H11.709L11.167 10.2334H13.5C13.8313 10.2334 14.0994 10.5018 14.0996 10.833C14.0996 11.1644 13.8314 11.4336 13.5 11.4336H11.0215L10.7627 13.5723C10.7228 13.9012 10.4236 14.1354 10.0947 14.0957C9.76576 14.0559 9.53141 13.7567 9.57129 13.4278L9.8125 11.4336H5.35449L5.0957 13.5723C5.0558 13.9012 4.75668 14.1356 4.42773 14.0957C4.0988 14.0558 3.86442 13.7567 3.9043 13.4278L4.14551 11.4336H2.5C2.16863 11.4336 1.90039 11.1644 1.90039 10.833C1.90057 10.5018 2.16874 10.2334 2.5 10.2334H4.29102L4.83301 5.76663H2.5C2.16874 5.76663 1.90057 5.49824 1.90039 5.16702C1.90039 4.83565 2.16863 4.56643 2.5 4.56643H4.97852L5.2373 2.42776C5.27718 2.09889 5.57642 1.8646 5.90527 1.90432C6.23424 1.9442 6.46859 2.24333 6.42871 2.57229L6.1875 4.56643H10.6455L10.9043 2.42776C10.9442 2.09883 11.2433 1.86445 11.5723 1.90432ZM5.5 10.2334H9.95801L10.5 5.76663H6.04199L5.5 10.2334Z' />,\n);\n\nexport const IconHeart2 = createIcon(\n 'IconHeart2',\n <path d='M7.99934 2.90328C9.10042 2.00261 10.3682 1.73483 11.5238 1.99313C12.8169 2.28219 13.9145 3.21854 14.4378 4.52633C15.5119 7.21109 14.1238 11.0809 8.29426 14.3564C8.11182 14.4589 7.88885 14.4588 7.70637 14.3564C1.87656 11.0808 0.487741 7.21113 1.56184 4.52633C2.08505 3.21859 3.18284 2.28228 4.4759 1.99313C5.63121 1.7349 6.89844 2.00312 7.99934 2.90328ZM7.57258 4.1357C6.65294 3.2006 5.61665 2.96886 4.7386 3.165C3.84542 3.36464 3.05757 4.01909 2.6761 4.97262C1.95399 6.77823 2.63988 10.0279 8.00031 13.1406C13.3604 10.028 14.0457 6.77815 13.3236 4.97262C12.9421 4.01919 12.1551 3.36471 11.262 3.165C10.3839 2.96873 9.34781 3.20048 8.42805 4.1357C8.31533 4.25027 8.16103 4.31433 8.00031 4.31441C7.83963 4.31441 7.68534 4.25015 7.57258 4.1357Z' />,\n);\n\nexport const IconHistory = createIcon(\n 'IconHistory',\n <path d='M13.5667 8.00031C13.5667 4.92675 11.0708 2.43292 7.99057 2.43292C5.92099 2.43306 4.11671 3.56084 3.15463 5.2337H4.50034C4.83156 5.23388 5.09995 5.50205 5.09995 5.83331C5.09994 6.16458 4.83156 6.43275 4.50034 6.43292H1.83334C1.50197 6.43292 1.23373 6.16468 1.23373 5.83331V3.16632C1.23391 2.8351 1.50208 2.56671 1.83334 2.56671C2.16461 2.56671 2.43278 2.8351 2.43295 3.16632V4.12921C3.65734 2.379 5.68967 1.23383 7.99057 1.2337C11.7319 1.2337 14.7669 4.26235 14.7669 8.00031C14.7668 11.7381 11.7318 14.7669 7.99057 14.7669C5.04032 14.7667 2.53108 12.8835 1.60092 10.2562C1.49037 9.94384 1.65389 9.6002 1.96616 9.48956C2.27854 9.37899 2.62219 9.54339 2.73276 9.85577C3.49836 12.018 5.56366 13.5666 7.99057 13.5667C11.0707 13.5667 13.5666 11.0737 13.5667 8.00031ZM7.39975 5.16632C7.39993 4.8351 7.66907 4.56671 8.00034 4.56671C8.33145 4.56689 8.59977 4.83521 8.59995 5.16632V7.75128L10.7572 9.90948C10.9915 10.1438 10.9915 10.5228 10.7572 10.7571C10.5229 10.9915 10.1438 10.9915 9.90952 10.7571L7.57553 8.42413C7.46319 8.3117 7.39984 8.15924 7.39975 8.00031V5.16632Z' />,\n);\n\nexport const IconImages1Alt = createIcon(\n 'IconImages1Alt',\n <path d='M12.9004 3.83301C12.9002 3.42825 12.5718 3.09978 12.167 3.09961H3.83301C3.42826 3.09979 3.09979 3.42826 3.09961 3.83301V9.38477L3.96582 8.51855C4.7208 7.76362 5.94518 7.76367 6.7002 8.51855L11.082 12.9004H12.167C12.5718 12.9002 12.9002 12.5718 12.9004 12.167V3.83301ZM10.4004 6.33301C10.4002 5.92825 10.0718 5.59978 9.66699 5.59961C9.26208 5.59961 8.93377 5.92814 8.93359 6.33301C8.93359 6.73804 9.26196 7.06641 9.66699 7.06641C10.0719 7.06623 10.4004 6.73793 10.4004 6.33301ZM3.09961 12.167C3.09978 12.5718 3.42825 12.9002 3.83301 12.9004H9.38574L5.85156 9.36719C5.56517 9.08093 5.1008 9.08086 4.81445 9.36719L3.09961 11.082V12.167ZM11.5996 6.33301C11.5996 7.40067 10.7346 8.26643 9.66699 8.2666C8.59922 8.2666 7.7334 7.40078 7.7334 6.33301C7.73357 5.26541 8.59932 4.40039 9.66699 4.40039C10.7345 4.40057 11.5994 5.26552 11.5996 6.33301ZM14.0996 12.167C14.0994 13.2345 13.2345 14.0994 12.167 14.0996H3.83301C2.76552 14.0994 1.90057 13.2345 1.90039 12.167V3.83301C1.90057 2.76552 2.76552 1.90057 3.83301 1.90039H12.167C13.2345 1.90057 14.0994 2.76552 14.0996 3.83301V12.167Z' />,\n);\n\nexport const IconInvite = createIcon(\n 'IconInvite',\n <path d='M13.5667 8.08331C13.5665 8.03847 13.5226 8.00631 13.4798 8.01984L8.59604 9.60382C8.20849 9.72947 7.79119 9.72953 7.40366 9.60382L2.52084 8.01984C2.47788 8.0059 2.43321 8.03829 2.43295 8.08331V12.1663C2.43295 12.5712 2.76149 12.8995 3.16635 12.8997H12.8333C13.2384 12.8997 13.5667 12.5713 13.5667 12.1663V8.08331ZM9.50034 4.56671C9.83145 4.56689 10.0998 4.83521 10.0999 5.16632C10.0999 5.49758 9.83156 5.76673 9.50034 5.76691H6.50034C6.16896 5.76691 5.89975 5.49769 5.89975 5.16632C5.89993 4.8351 6.16907 4.56671 6.50034 4.56671H9.50034ZM12.2337 3.16632C12.2336 2.76156 11.9051 2.4331 11.5003 2.43292H4.50034C4.09544 2.43292 3.76711 2.76146 3.76694 3.16632V7.16241L7.77377 8.46222C7.92071 8.50989 8.07898 8.50986 8.22592 8.46222L12.2337 7.16241V3.16632ZM13.433 6.81769C14.1346 6.77884 14.7667 7.33703 14.7669 8.08331V12.1663C14.7669 13.2341 13.9011 14.0999 12.8333 14.0999H3.16635C2.09876 14.0997 1.23373 13.234 1.23373 12.1663V8.08331C1.23396 7.33715 1.8652 6.77902 2.56674 6.81769V3.16632C2.56692 2.09872 3.43269 1.2337 4.50034 1.2337H11.5003C12.5679 1.23388 13.4328 2.09883 13.433 3.16632V6.81769Z' />,\n);\n\nexport const IconLayersBehind = createIcon(\n 'IconLayersBehind',\n <path d='M13.5667 5.83301C13.5666 5.42814 13.2383 5.09961 12.8333 5.09961H3.16635C2.7616 5.09979 2.43313 5.42826 2.43295 5.83301V11.5C2.43295 11.9049 2.76149 12.2332 3.16635 12.2334H12.8333C13.2384 12.2334 13.5667 11.905 13.5667 11.5V5.83301ZM12.8333 1.90039C13.1647 1.90039 13.433 2.16863 13.433 2.5C13.433 2.83137 13.1647 3.09961 12.8333 3.09961H3.16635C2.83513 3.09943 2.56674 2.83126 2.56674 2.5C2.56674 2.16874 2.83513 1.90057 3.16635 1.90039H12.8333ZM14.7669 11.5C14.7669 12.5678 13.9011 13.4336 12.8333 13.4336H3.16635C2.09876 13.4334 1.23373 12.5677 1.23373 11.5V5.83301C1.23391 4.76552 2.09886 3.90057 3.16635 3.90039H12.8333C13.901 3.90039 14.7668 4.76541 14.7669 5.83301V11.5Z' />,\n);\n\nexport const IconLayoutAlignLeft = createIcon(\n 'IconLayoutAlignLeft',\n <>\n <path\n d='M13 4.63333V11.3667H14V4.63333H13ZM11.3667 13H4.63333V14H11.3667V13ZM3 11.3667V4.63333H2V11.3667H3ZM4.63333 3H11.3667V2H4.63333V3ZM4.63333 13C4.25171 13 3.99557 12.9996 3.79832 12.9835C3.6069 12.9679 3.51538 12.9399 3.45501 12.9092L3.00102 13.8002C3.22586 13.9147 3.46363 13.9595 3.71689 13.9802C3.96431 14.0004 4.26821 14 4.63333 14V13ZM2 11.3667C2 11.7318 1.99961 12.0357 2.01983 12.2831C2.04052 12.5364 2.08526 12.7741 2.19982 12.999L3.09083 12.545C3.06007 12.4846 3.03215 12.3931 3.01651 12.2017C3.00039 12.0044 3 11.7483 3 11.3667H2ZM3.45501 12.9092C3.29821 12.8293 3.17072 12.7018 3.09083 12.545L2.19982 12.999C2.37559 13.3439 2.65605 13.6244 3.00102 13.8002L3.45501 12.9092ZM13 11.3667C13 11.7483 12.9996 12.0044 12.9835 12.2017C12.9679 12.3931 12.9399 12.4846 12.9092 12.545L13.8002 12.999C13.9147 12.7741 13.9595 12.5364 13.9802 12.2831C14.0004 12.0357 14 11.7318 14 11.3667H13ZM11.3667 14C11.7318 14 12.0357 14.0004 12.2831 13.9802C12.5364 13.9595 12.7741 13.9147 12.999 13.8002L12.545 12.9092C12.4846 12.9399 12.3931 12.9679 12.2017 12.9835C12.0044 12.9996 11.7483 13 11.3667 13V14ZM12.9092 12.545C12.8293 12.7018 12.7018 12.8293 12.545 12.9092L12.999 13.8002C13.3439 13.6244 13.6244 13.3439 13.8002 12.999L12.9092 12.545ZM14 4.63333C14 4.26821 14.0004 3.96431 13.9802 3.71689C13.9595 3.46363 13.9147 3.22586 13.8002 3.00102L12.9092 3.45501C12.9399 3.51538 12.9679 3.6069 12.9835 3.79832C12.9996 3.99557 13 4.25171 13 4.63333H14ZM11.3667 3C11.7483 3 12.0044 3.00039 12.2017 3.01651C12.3931 3.03215 12.4846 3.06007 12.545 3.09083L12.999 2.19982C12.7741 2.08526 12.5364 2.04052 12.2831 2.01983C12.0357 1.99961 11.7318 2 11.3667 2V3ZM13.8002 3.00102C13.6244 2.65605 13.3439 2.37559 12.999 2.19982L12.545 3.09083C12.7018 3.17072 12.8293 3.29821 12.9092 3.45501L13.8002 3.00102ZM3 4.63333C3 4.25171 3.00039 3.99557 3.01651 3.79832C3.03215 3.6069 3.06007 3.51538 3.09083 3.45501L2.19982 3.00102C2.08526 3.22586 2.04052 3.46363 2.01983 3.71689C1.99961 3.96431 2 4.26821 2 4.63333H3ZM4.63333 2C4.26821 2 3.96431 1.99961 3.71689 2.01983C3.46363 2.04052 3.22586 2.08526 3.00102 2.19982L3.45501 3.09083C3.51538 3.06007 3.6069 3.03215 3.79832 3.01651C3.99557 3.00039 4.25171 3 4.63333 3V2ZM3.09083 3.45501C3.17072 3.29821 3.29821 3.17072 3.45501 3.09083L3.00102 2.19982C2.65605 2.37559 2.37559 2.65605 2.19982 3.00102L3.09083 3.45501Z'\n fill='currentColor'\n />\n <path\n d='M6 13.5V14H7V13.5H6ZM7 2.5V2H6V2.5H7ZM7 13.5V2.5H6V13.5H7Z'\n fill='currentColor'\n />\n </>,\n);\n\nexport const IconLayoutGrid1 = createIcon(\n 'IconLayoutGrid1',\n <path d='M6.83302 7.23341C7.16428 7.23341 7.43343 7.5018 7.4336 7.83302V13.5C7.4336 13.8314 7.16439 14.0996 6.83302 14.0996H4.6338C4.27046 14.0996 3.96138 14.1007 3.70899 14.0801C3.44973 14.0589 3.1972 14.0124 2.95606 13.8897C2.59221 13.7043 2.2957 13.4077 2.11036 13.044C1.98761 12.8028 1.94111 12.5503 1.91993 12.291C1.89933 12.0386 1.9004 11.7296 1.9004 11.3662V7.83302C1.90058 7.5018 2.16875 7.23341 2.50001 7.23341H6.83302ZM12.9004 11.0996H9.76661V12.9004H11.3662C11.7494 12.9004 12.0012 12.8995 12.1934 12.8838C12.3786 12.8687 12.4561 12.8427 12.5 12.8203C12.6378 12.7501 12.7501 12.6378 12.8203 12.5C12.8427 12.4561 12.8687 12.3786 12.8838 12.1934C12.8995 12.0012 12.9004 11.7494 12.9004 11.3662V11.0996ZM12.9004 4.6338C12.9004 4.25064 12.8995 3.99886 12.8838 3.80665C12.8687 3.62142 12.8427 3.54393 12.8203 3.50001C12.7501 3.36224 12.6379 3.24999 12.5 3.1797C12.4561 3.15732 12.3786 3.13136 12.1934 3.11622C12.0012 3.10053 11.7494 3.09962 11.3662 3.09962H9.76661V7.56642H12.9004V4.6338ZM6.83302 1.9004C7.16439 1.9004 7.4336 2.16864 7.4336 2.50001V5.50001C7.4336 5.83138 7.16439 6.09962 6.83302 6.09962H2.50001C2.16864 6.09962 1.9004 5.83138 1.9004 5.50001V4.6338C1.9004 4.27046 1.89933 3.96138 1.91993 3.70899C1.94111 3.44973 1.98761 3.1972 2.11036 2.95606C2.29571 2.59227 2.59227 2.29571 2.95606 2.11036C3.1972 1.98761 3.44973 1.94111 3.70899 1.91993C3.96138 1.89933 4.27046 1.9004 4.6338 1.9004H6.83302ZM3.09962 11.3662C3.09962 11.7494 3.10053 12.0012 3.11622 12.1934C3.13136 12.3786 3.15732 12.4561 3.1797 12.5C3.24999 12.6379 3.36224 12.7501 3.50001 12.8203C3.54393 12.8427 3.62142 12.8687 3.80665 12.8838C3.99886 12.8995 4.25064 12.9004 4.6338 12.9004H6.23341V8.4336H3.09962V11.3662ZM14.0996 11.3662C14.0996 11.7296 14.1007 12.0386 14.0801 12.291C14.0589 12.5503 14.0124 12.8028 13.8897 13.044C13.7043 13.4077 13.4077 13.7043 13.044 13.8897C12.8028 14.0124 12.5503 14.0589 12.291 14.0801C12.0386 14.1007 11.7296 14.0996 11.3662 14.0996H9.167C8.83563 14.0996 8.56642 13.8314 8.56642 13.5V10.5C8.56642 10.1686 8.83563 9.9004 9.167 9.9004H13.5C13.8314 9.9004 14.0996 10.1686 14.0996 10.5V11.3662ZM3.09962 4.9004H6.23341V3.09962H4.6338C4.25065 3.09962 3.99886 3.10053 3.80665 3.11622C3.62142 3.13135 3.54393 3.15732 3.50001 3.1797C3.3622 3.24997 3.24997 3.3622 3.1797 3.50001C3.15732 3.54393 3.13135 3.62142 3.11622 3.80665C3.10053 3.99886 3.09962 4.25065 3.09962 4.6338V4.9004ZM14.0996 8.167C14.0994 8.49822 13.8313 8.76661 13.5 8.76661H9.167C8.83574 8.76661 8.56659 8.49822 8.56642 8.167V2.50001C8.56642 2.16864 8.83563 1.9004 9.167 1.9004H11.3662C11.7296 1.9004 12.0386 1.89933 12.291 1.91993C12.5503 1.94111 12.8028 1.98761 13.044 2.11036C13.4077 2.2957 13.7043 2.59221 13.8897 2.95606C14.0124 3.1972 14.0589 3.44973 14.0801 3.70899C14.1007 3.96138 14.0996 4.27046 14.0996 4.6338V8.167Z' />,\n);\n\nexport const IconLightBulbSimple = createIcon(\n 'IconLightBulbSimple',\n <>\n <path d='M12.2328 6.66736C12.2328 4.32904 10.3378 2.43302 7.99945 2.43298C5.66113 2.43298 3.76508 4.32901 3.76508 6.66736C3.76509 8.03465 4.4128 9.25078 5.42035 10.0258C5.44202 10.0425 5.46556 10.0594 5.48871 10.0765C6.00058 10.4543 6.43207 11.0657 6.43207 11.8119V12.6664C6.43232 13.5319 7.13392 14.2338 7.99945 14.2338C8.86496 14.2337 9.56658 13.5318 9.56683 12.6664V11.8119C9.56683 11.0657 9.99831 10.4543 10.5102 10.0765C10.5335 10.0593 10.556 10.0424 10.5776 10.0258L10.7631 9.87537C11.6644 9.09822 12.2328 7.94919 12.2328 6.66736ZM13.433 6.66736C13.433 8.42299 12.6002 9.98457 11.31 10.9769C11.2807 10.9995 11.2513 11.0205 11.2231 11.0414C10.9238 11.2623 10.767 11.55 10.767 11.8119V12.6664C10.7668 14.1946 9.5277 15.4329 7.99945 15.433C6.47116 15.433 5.23213 14.1946 5.23187 12.6664V11.8119C5.23187 11.5827 5.11171 11.3346 4.88129 11.1283L4.77582 11.0424L4.6889 10.9769C3.39867 9.98457 2.56587 8.42301 2.56586 6.66736C2.56586 3.66628 4.99838 1.23376 7.99945 1.23376C11.0005 1.2338 13.433 3.6663 13.433 6.66736Z' />\n <path d='M10.1669 11.2338C10.4982 11.2338 10.7665 11.502 10.7665 11.8334C10.7665 12.1647 10.4982 12.433 10.1669 12.433H5.83193C5.50056 12.433 5.23232 12.1647 5.23232 11.8334C5.23232 11.502 5.50056 11.2338 5.83193 11.2338H10.1669Z' />\n </>,\n);\n\nexport const IconLimits = createIcon(\n 'IconLimits',\n <path d='M3.21516 3.88186C5.85766 1.23936 10.142 1.23946 12.7845 3.88186C15.3569 6.45422 15.4253 10.582 12.9896 13.2373C12.7656 13.4815 12.3861 13.4983 12.1419 13.2744C11.8979 13.0506 11.8812 12.671 12.1048 12.4268C14.1082 10.2429 14.0519 6.84651 11.9359 4.73049C9.76197 2.55673 6.23767 2.55662 4.0638 4.73049C1.94777 6.84652 1.89152 10.2429 3.89485 12.4268C4.11861 12.671 4.10185 13.0505 3.85774 13.2744C3.61354 13.4981 3.23398 13.4814 3.01009 13.2373C0.574528 10.582 0.642856 6.45417 3.21516 3.88186ZM5.4095 6.0762C5.64381 5.84188 6.02284 5.84188 6.25716 6.0762L8.42415 8.24221C8.65846 8.47653 8.65846 8.85653 8.42415 9.09084C8.18983 9.32516 7.80983 9.32516 7.57552 9.09084L5.4095 6.92385C5.17519 6.68954 5.17519 6.31051 5.4095 6.0762Z' />,\n);\n\nexport const IconLineChart3 = createIcon(\n 'IconLineChart3',\n <path d='M1.23373 12.8337V11.1667C1.23373 10.8353 1.50197 10.5671 1.83334 10.5671C2.16471 10.5671 2.43295 10.8353 2.43295 11.1667V12.8337C2.43278 13.1649 2.16461 13.4333 1.83334 13.4333C1.50208 13.4333 1.23391 13.1649 1.23373 12.8337ZM5.34409 12.8337V8.49969C5.34426 8.16858 5.61258 7.90026 5.9437 7.90009C6.27496 7.90009 6.54411 8.16847 6.54428 8.49969V12.8337C6.54411 13.1649 6.27496 13.4333 5.9437 13.4333C5.61258 13.4331 5.34426 13.1648 5.34409 12.8337ZM9.45444 12.8337V5.83368C9.45444 5.50231 9.72365 5.23309 10.055 5.23309C10.3862 5.23328 10.6546 5.50242 10.6546 5.83368V12.8337C10.6545 13.1648 10.3861 13.4331 10.055 13.4333C9.72376 13.4333 9.45461 13.1649 9.45444 12.8337ZM13.5658 12.8337V3.16669C13.5658 2.83532 13.834 2.56708 14.1654 2.56708C14.4967 2.56709 14.765 2.83533 14.765 3.16669V12.8337C14.7648 13.1649 14.4966 13.4333 14.1654 13.4333C13.8341 13.4333 13.5659 13.1649 13.5658 12.8337Z' />,\n);\n\nexport const IconLock = createIcon(\n 'IconLock',\n <path d='M12.2331 7.83301C12.2329 7.42813 11.9046 7.09961 11.4997 7.09961H4.49966C4.09491 7.09979 3.76644 7.42824 3.76627 7.83301V12.833C3.76627 13.2379 4.0948 13.5662 4.49966 13.5664H11.4997C11.9047 13.5664 12.2331 13.238 12.2331 12.833V7.83301ZM7.40005 11.333V9.33301C7.40023 9.0019 7.66855 8.73357 7.99966 8.7334C8.33093 8.7334 8.60007 9.00179 8.60025 9.33301V11.333C8.60025 11.6644 8.33104 11.9336 7.99966 11.9336C7.66844 11.9334 7.40005 11.6643 7.40005 11.333ZM10.2331 4.83301C10.2329 3.59972 9.23299 2.59961 7.99966 2.59961C6.76649 2.59979 5.76644 3.59983 5.76627 4.83301V5.90039H10.2331V4.83301ZM11.4333 5.90039H11.4997C12.5673 5.90039 13.4331 6.76539 13.4333 7.83301V12.833C13.4333 13.9008 12.5674 14.7666 11.4997 14.7666H4.49966C3.43207 14.7664 2.56705 13.9007 2.56705 12.833V7.83301C2.56722 6.76549 3.43218 5.90057 4.49966 5.90039H4.56705V4.83301C4.56722 2.93709 6.10374 1.40057 7.99966 1.40039C9.89573 1.40039 11.4331 2.93698 11.4333 4.83301V5.90039Z' />,\n);\n\nexport const IconMagnifyingGlassSearch = createIcon(\n 'IconMagnifyingGlassSearch',\n <path d='M11.5664 7.33301C11.5662 4.99515 9.67093 3.09961 7.33301 3.09961C4.99526 3.09979 3.09979 4.99526 3.09961 7.33301C3.09961 9.67093 4.99515 11.5662 7.33301 11.5664C8.50215 11.5664 9.5604 11.0939 10.3271 10.3271C11.0939 9.5604 11.5664 8.50215 11.5664 7.33301ZM12.7666 7.33301C12.7666 8.6171 12.3189 9.79684 11.5742 10.7266L13.9238 13.0762C14.1581 13.3105 14.1581 13.6895 13.9238 13.9238C13.6895 14.1581 13.3105 14.1581 13.0762 13.9238L10.7266 11.5742C9.79684 12.3189 8.6171 12.7666 7.33301 12.7666C4.33242 12.7664 1.90039 10.3337 1.90039 7.33301C1.90057 4.33252 4.33252 1.90057 7.33301 1.90039C10.3337 1.90039 12.7664 4.33242 12.7666 7.33301Z' />,\n);\n\nexport const IconMapPin = createIcon(\n 'IconMapPin',\n <path d='M12.2331 6.66632C12.2329 4.32847 10.3376 2.43292 7.99969 2.43292C5.66195 2.4331 3.76647 4.32858 3.7663 6.66632C3.7663 8.01025 4.37171 9.33723 5.18719 10.5052C5.9979 11.6662 6.97733 12.6153 7.63739 13.1917C7.84959 13.3771 8.14971 13.3769 8.362 13.1917C9.0221 12.6152 10.0024 11.6662 10.8132 10.5052C11.6287 9.33723 12.2331 8.01025 12.2331 6.66632ZM9.23309 6.66632C9.23292 5.98532 8.68075 5.43292 7.99969 5.43292C7.31879 5.4331 6.76647 5.98543 6.7663 6.66632C6.7663 7.34737 7.31868 7.89954 7.99969 7.89972C8.68086 7.89972 9.23309 7.34748 9.23309 6.66632ZM10.4333 6.66632C10.4333 8.01023 9.3436 9.09991 7.99969 9.09991C6.65594 9.09974 5.56708 8.01012 5.56708 6.66632C5.56725 5.32269 6.65605 4.23388 7.99969 4.2337C9.34349 4.2337 10.4331 5.32258 10.4333 6.66632ZM13.4333 6.66632C13.4333 8.35877 12.6802 9.92747 11.7975 11.1917C10.9102 12.4626 9.85182 13.4839 9.15204 14.095C8.48755 14.6754 7.51282 14.6754 6.84833 14.095C6.14855 13.4839 5.09024 12.4627 4.20282 11.1917C3.32011 9.92745 2.56708 8.35884 2.56708 6.66632C2.56725 3.66583 4.99921 1.23388 7.99969 1.2337C11.0004 1.2337 13.4331 3.66573 13.4333 6.66632Z' />,\n);\n\nexport const IconMicrophone = createIcon(\n 'IconMicrophone',\n <path d='M7.40105 14.1663V13.2337C5.36412 13.0169 3.6543 11.7088 2.86687 9.90656C2.73439 9.60296 2.87287 9.24915 3.17644 9.11652C3.47997 8.98397 3.83373 9.12267 3.96648 9.42609C4.64599 10.9814 6.19733 12.0667 8.00066 12.0667C9.804 12.0667 11.3553 10.9814 12.0348 9.42609C12.1676 9.12267 12.5213 8.98395 12.8249 9.11652C13.1284 9.24915 13.2669 9.60297 13.1344 9.90656C12.347 11.7088 10.6372 13.0168 8.60027 13.2337V14.1663C8.60027 14.4977 8.33201 14.7669 8.00066 14.7669C7.66929 14.7669 7.40105 14.4977 7.40105 14.1663ZM10.2341 4.66632C10.2339 3.43305 9.23396 2.43295 8.00066 2.43292C6.76735 2.43292 5.76743 3.43303 5.76726 4.66632V7.66632C5.76726 8.89975 6.76725 9.89972 8.00066 9.89972C9.23406 9.89969 10.2341 8.89973 10.2341 7.66632V4.66632ZM11.4343 7.66632C11.4343 9.56247 9.89681 11.0999 8.00066 11.0999C6.1045 11.0999 4.56706 9.56249 4.56706 7.66632V4.66632C4.56724 2.7703 6.10461 1.2337 8.00066 1.2337C9.8967 1.23373 11.4341 2.77031 11.4343 4.66632V7.66632Z' />,\n);\n\nexport const IconMicrophoneSolid = createIcon(\n 'IconMicrophoneSolid',\n <>\n <path d='M4.66744 4.66665C4.66744 2.8257 6.15982 1.33331 8.00076 1.33331C9.84169 1.33331 11.3341 2.8257 11.3341 4.66665V7.66665C11.3341 9.50758 9.84169 11 8.00076 11C6.15982 11 4.66744 9.50758 4.66744 7.66665V4.66665Z' />\n <path d='M3.87492 9.46645C3.76437 9.21338 3.46961 9.09785 3.21656 9.20845C2.96352 9.31898 2.84802 9.61378 2.95858 9.86678C3.74346 11.6632 5.46113 12.9604 7.50069 13.1442V14.1666C7.50069 14.4428 7.72456 14.6666 8.00069 14.6666C8.27682 14.6666 8.50069 14.4428 8.50069 14.1666V13.1442C10.5403 12.9604 12.258 11.6632 13.0428 9.86678C13.1534 9.61378 13.0379 9.31898 12.7848 9.20845C12.5318 9.09785 12.237 9.21338 12.1265 9.46645C11.4316 11.0568 9.84522 12.1666 8.00069 12.1666C6.1562 12.1666 4.56978 11.0568 3.87492 9.46645Z' />\n </>,\n);\n\nexport const IconMinusLarge = createIcon(\n 'IconMinusLarge',\n <path\n clipRule='evenodd'\n d='M2 8C2 7.72387 2.22386 7.5 2.5 7.5H13.5C13.7761 7.5 14 7.72387 14 8C14 8.27613 13.7761 8.5 13.5 8.5H2.5C2.22386 8.5 2 8.27613 2 8Z'\n fillRule='evenodd'\n />,\n);\n\nexport const IconMinusSmall = createIcon(\n 'IconMinusSmall',\n <path\n clipRule='evenodd'\n d='M4 8C4 7.72387 4.22386 7.5 4.5 7.5H11.5C11.7761 7.5 12 7.72387 12 8C12 8.27613 11.7761 8.5 11.5 8.5H4.5C4.22386 8.5 4 8.27613 4 8Z'\n fillRule='evenodd'\n />,\n);\n\nexport const IconMute = createIcon(\n 'IconMute',\n <>\n <path\n clipRule='evenodd'\n d='M11.3333 3.95956V2.81723C11.3333 2.13798 10.5643 1.74407 10.0131 2.14095L6.72353 4.50943C6.5817 4.61155 6.41136 4.66649 6.2366 4.66649H5.16666C4.15414 4.66649 3.33333 5.4873 3.33333 6.49982V9.4998C3.33333 10.1667 3.68936 10.7503 4.22171 11.0712L2.14645 13.1465C1.95119 13.3417 1.95119 13.6583 2.14645 13.8535C2.34171 14.0488 2.65829 14.0488 2.85355 13.8535L13.8535 2.85355C14.0488 2.65829 14.0488 2.34171 13.8535 2.14645C13.6583 1.95119 13.3417 1.95119 13.1465 2.14645L11.3333 3.95956ZM4.98059 10.3123C4.60992 10.2277 4.33333 9.89607 4.33333 9.4998V6.49982C4.33333 6.03959 4.70642 5.66649 5.16666 5.66649H6.2366C6.62107 5.66649 6.9958 5.54561 7.3078 5.32097L10.3333 3.14261V4.95956L4.98059 10.3123Z'\n fillRule='evenodd'\n />\n <path d='M10.3333 12.8571L7.38546 10.7346L6.66713 11.4529C6.68633 11.4646 6.7052 11.477 6.72353 11.4902L10.0131 13.8587C10.5643 14.2556 11.3333 13.8617 11.3333 13.1824V6.78673L10.3333 7.78673V12.8571Z' />\n </>,\n);\n\nexport const IconNewspaper2 = createIcon(\n 'IconNewspaper2',\n <path d='M14.2331 4.16669C14.2331 3.94589 14.0544 3.76647 13.8337 3.7663H9.99969C9.27508 3.76646 8.67898 4.31747 8.60712 5.02313L8.60028 5.16669V12.6608C9.08938 12.3629 9.64068 12.2332 10.1843 12.2331H13.8337C14.0543 12.2329 14.2329 12.0543 14.2331 11.8337V4.16669ZM1.7663 11.8337C1.76647 12.0544 1.94589 12.2331 2.16669 12.2331H5.81512C6.3591 12.2331 6.9107 12.3635 7.40009 12.6618V5.16669C7.40009 4.39348 6.77292 3.7663 5.99969 3.7663H2.16669C1.94577 3.7663 1.7663 3.94577 1.7663 4.16669V11.8337ZM15.4333 11.8337C15.4331 12.7171 14.7171 13.4331 13.8337 13.4333H10.1843C9.82669 13.4334 9.49408 13.5199 9.21552 13.6921C8.92469 13.8719 8.68976 14.1293 8.5368 14.4352C8.43515 14.6384 8.22691 14.7663 7.99969 14.7663C7.77266 14.7662 7.5652 14.6383 7.46356 14.4352C7.31053 14.1292 7.07491 13.872 6.78387 13.6921C6.5052 13.5199 6.17286 13.4333 5.81512 13.4333H2.16669C1.28313 13.4333 0.567253 12.7172 0.567078 11.8337V4.16669C0.567078 3.28303 1.28303 2.56708 2.16669 2.56708H5.99969C6.80362 2.56708 7.52278 2.93143 7.99969 3.50458C8.47655 2.93132 9.19575 2.56718 9.99969 2.56708H13.8337C14.7172 2.56725 15.4333 3.28313 15.4333 4.16669V11.8337Z' />,\n);\n\nexport const IconOrganization = createIcon(\n 'IconOrganization',\n <path d='M12.2337 3.83301C12.2335 3.42825 11.9051 3.09979 11.5003 3.09961H4.50031C4.0954 3.09961 3.76708 3.42815 3.76691 3.83301V12.9004H12.2337V3.83301ZM6.83331 9.90039C7.16468 9.90039 7.43292 10.1686 7.43292 10.5C7.43292 10.8314 7.16468 11.0996 6.83331 11.0996H5.83331C5.50194 11.0996 5.2337 10.8314 5.2337 10.5C5.2337 10.1686 5.50194 9.90039 5.83331 9.90039H6.83331ZM10.1663 9.90039C10.4977 9.90039 10.7669 10.1686 10.7669 10.5C10.7669 10.8314 10.4977 11.0996 10.1663 11.0996H9.16632C8.8351 11.0994 8.56671 10.8313 8.56671 10.5C8.56671 10.1687 8.8351 9.90057 9.16632 9.90039H10.1663ZM6.83331 7.2334C7.16458 7.2334 7.43275 7.50179 7.43292 7.83301C7.43292 8.16438 7.16468 8.43359 6.83331 8.43359H5.83331C5.50194 8.43359 5.2337 8.16438 5.2337 7.83301C5.23388 7.50179 5.50205 7.2334 5.83331 7.2334H6.83331ZM10.1663 7.2334C10.4976 7.2334 10.7667 7.50179 10.7669 7.83301C10.7669 8.16438 10.4977 8.43359 10.1663 8.43359H9.16632C8.8351 8.43342 8.56671 8.16427 8.56671 7.83301C8.56689 7.5019 8.83521 7.23357 9.16632 7.2334H10.1663ZM6.83331 4.56641C7.16468 4.56641 7.43292 4.83562 7.43292 5.16699C7.43275 5.49821 7.16458 5.7666 6.83331 5.7666H5.83331C5.50205 5.7666 5.23388 5.49821 5.2337 5.16699C5.2337 4.83562 5.50194 4.56641 5.83331 4.56641H6.83331ZM10.1663 4.56641C10.4977 4.56641 10.7669 4.83562 10.7669 5.16699C10.7667 5.49821 10.4976 5.7666 10.1663 5.7666H9.16632C8.83521 5.76643 8.56689 5.49811 8.56671 5.16699C8.56671 4.83573 8.8351 4.56658 9.16632 4.56641H10.1663ZM13.4329 12.9004H14.1663C14.4977 12.9004 14.7669 13.1686 14.7669 13.5C14.7669 13.8314 14.4977 14.0996 14.1663 14.0996H1.83331C1.50194 14.0996 1.2337 13.8314 1.2337 13.5C1.2337 13.1686 1.50194 12.9004 1.83331 12.9004H2.56671V3.83301C2.56689 2.76541 3.43266 1.90039 4.50031 1.90039H11.5003C12.5678 1.90057 13.4327 2.76552 13.4329 3.83301V12.9004Z' />,\n);\n\nexport const IconPaperPlane = createIcon(\n 'IconPaperPlane',\n <path d='M1.68521 3.4533C1.28892 2.37656 2.41472 1.36982 3.44107 1.88299L13.4088 6.86736C14.3425 7.33414 14.3425 8.66622 13.4088 9.13299L3.44107 14.1174C2.41451 14.6307 1.28848 13.6229 1.68521 12.5461L3.36002 7.9992L1.68521 3.4533ZM2.82974 2.966C2.81636 2.97797 2.80974 2.99129 2.80728 3.00018C2.80577 3.00575 2.80303 3.01709 2.81119 3.03924L4.41861 7.39959H6.16666C6.49803 7.39959 6.76626 7.66881 6.76626 8.00018C6.76614 8.33144 6.49795 8.59979 6.16666 8.59979H4.41861L2.81119 12.9611C2.80292 12.9836 2.80577 12.9947 2.80728 13.0002C2.80975 13.0091 2.81638 13.0224 2.82974 13.0344C2.84305 13.0462 2.85683 13.0515 2.86587 13.0529C2.8715 13.0538 2.8827 13.0547 2.90396 13.0441L12.8727 8.05975C12.89 8.05107 12.8964 8.04235 12.9001 8.03631C12.9048 8.02818 12.9098 8.01545 12.9098 8.00018C12.9098 7.9848 12.9049 7.97221 12.9001 7.96404C12.8965 7.958 12.8902 7.94941 12.8727 7.94061L2.90396 2.95623C2.88252 2.94552 2.8715 2.94655 2.86587 2.94744C2.85677 2.9489 2.84312 2.95403 2.82974 2.966Z' />,\n);\n\nexport const IconPaperPlaneTopRight = createIcon(\n 'IconPaperPlaneTopRight',\n <path d='M13.6699 1.90039C14.6485 1.90058 15.2576 2.96323 14.7627 3.80762L9.30762 13.1152C8.74225 14.0793 7.29621 13.8918 6.99512 12.8154L5.55957 7.68164C5.55666 7.6713 5.55142 7.66123 5.54395 7.65332L2.12598 4.03613C1.3633 3.22838 1.9358 1.90041 3.04688 1.90039H13.6699ZM6.79883 7.65527L8.15039 12.4922C8.15637 12.5135 8.16417 12.5214 8.16895 12.5254C8.17614 12.5313 8.18906 12.5378 8.20606 12.54C8.22306 12.5422 8.23663 12.539 8.24512 12.5352C8.25069 12.5326 8.26092 12.5275 8.27247 12.5078L13.2041 4.0918L6.79883 7.65527ZM3.00977 3.10938C3.00209 3.11471 2.99208 3.12503 2.98536 3.14062C2.97888 3.15586 2.97819 3.16954 2.9795 3.17871C2.98043 3.18487 2.98256 3.19649 2.99805 3.21289L6.20801 6.61035L12.5215 3.09961H3.04688C3.02433 3.09961 3.01489 3.10583 3.00977 3.10938Z' />,\n);\n\nexport const IconPaperclip = createIcon(\n 'IconPaperclip',\n <path d='M3.23373 10.1663V7.16632C3.23391 6.8351 3.50208 6.56671 3.83334 6.56671C4.16461 6.56671 4.43278 6.8351 4.43295 7.16632V10.1663C4.43295 12.0441 5.95558 13.5667 7.83334 13.5667H8.16635C10.0441 13.5667 11.5667 12.0441 11.5667 10.1663V4.66632C11.5666 3.43304 10.5667 2.43292 9.33334 2.43292C8.10002 2.43292 7.10012 3.43304 7.09995 4.66632V9.91632C7.09995 10.3672 7.46547 10.7335 7.91635 10.7337C8.36738 10.7337 8.73373 10.3673 8.73373 9.91632V5.16632C8.73391 4.8351 9.00208 4.56671 9.33334 4.56671C9.66461 4.56671 9.93278 4.8351 9.93295 5.16632V9.91632C9.93295 11.0301 9.03012 11.9329 7.91635 11.9329C6.80273 11.9327 5.89975 11.03 5.89975 9.91632V4.66632C5.89993 2.77029 7.43728 1.2337 9.33334 1.2337C11.2294 1.2337 12.7668 2.77029 12.7669 4.66632V10.1663C12.7669 12.7068 10.7069 14.7669 8.16635 14.7669H7.83334C5.29283 14.7669 3.23373 12.7068 3.23373 10.1663Z' />,\n);\n\nexport const IconParagraphsText = createIcon(\n 'IconParagraphsText',\n <path d='M6.83334 12.2331C7.16471 12.2331 7.43295 12.5023 7.43295 12.8337C7.43278 13.1649 7.16461 13.4333 6.83334 13.4333H1.83334C1.50208 13.4333 1.23391 13.1649 1.23373 12.8337C1.23373 12.5023 1.50197 12.2331 1.83334 12.2331H6.83334ZM14.1664 12.2331C14.4977 12.2331 14.7669 12.5023 14.7669 12.8337C14.7668 13.1649 14.4976 13.4333 14.1664 13.4333H9.83334C9.50208 13.4333 9.23391 13.1649 9.23373 12.8337C9.23373 12.5023 9.50197 12.2331 9.83334 12.2331H14.1664ZM5.50034 7.40009C5.83145 7.40026 6.09977 7.66858 6.09995 7.99969C6.09995 8.33096 5.83156 8.6001 5.50034 8.60028H1.83334C1.50197 8.60028 1.23373 8.33107 1.23373 7.99969C1.23391 7.66847 1.50208 7.40009 1.83334 7.40009H5.50034ZM14.1664 7.40009C14.4976 7.40009 14.7668 7.66847 14.7669 7.99969C14.7669 8.33107 14.4977 8.60028 14.1664 8.60028H8.50034C8.16896 8.60028 7.89975 8.33107 7.89975 7.99969C7.89993 7.66847 8.16907 7.40009 8.50034 7.40009H14.1664ZM8.80014 2.56708C9.13145 2.56715 9.39975 2.83536 9.39975 3.16669C9.39975 3.49801 9.13145 3.76623 8.80014 3.7663H1.83334C1.50197 3.7663 1.23373 3.49806 1.23373 3.16669C1.23373 2.83532 1.50197 2.56708 1.83334 2.56708H8.80014ZM14.1664 2.56708C14.4977 2.56708 14.7669 2.83532 14.7669 3.16669C14.7669 3.49806 14.4977 3.7663 14.1664 3.7663H11.8333C11.502 3.7663 11.2337 3.49806 11.2337 3.16669C11.2337 2.83532 11.502 2.56708 11.8333 2.56708H14.1664Z' />,\n);\n\nexport const IconPause = createIcon(\n 'IconPause',\n <>\n <path d='M4.49996 2C3.48744 2 2.66663 2.82081 2.66663 3.83333V12.1667C2.66663 13.1792 3.48744 14 4.49996 14H4.83329C5.84581 14 6.66663 13.1792 6.66663 12.1667V3.83333C6.66663 2.82081 5.84581 2 4.83329 2H4.49996Z' />\n <path d='M11.1666 2C10.1541 2 9.33329 2.82081 9.33329 3.83333V12.1667C9.33329 13.1792 10.1541 14 11.1666 14H11.5C12.5125 14 13.3333 13.1792 13.3333 12.1667V3.83333C13.3333 2.82081 12.5125 2 11.5 2H11.1666Z' />\n </>,\n);\n\nexport const IconPencil = createIcon(\n 'IconPencil',\n <path d='M10.2992 1.85138C11.054 1.09647 12.2785 1.09669 13.0335 1.85138L14.1478 2.96661C14.9027 3.72163 14.9028 4.94501 14.1478 5.70001L5.6478 14.2C5.28523 14.5625 4.79335 14.7664 4.28061 14.7664H1.83334C1.50205 14.7664 1.23386 14.4981 1.23373 14.1668V11.7186C1.23383 11.2059 1.43663 10.7139 1.79916 10.3514L10.2992 1.85138ZM12.1849 2.70001C11.8985 2.41396 11.434 2.41375 11.1478 2.70001L9.681 4.16583L11.8324 6.3172L13.2992 4.85138C13.5855 4.56499 13.5855 4.10066 13.2992 3.81427L12.1849 2.70001ZM2.43295 13.5662H4.28061C4.4751 13.5662 4.66163 13.4889 4.79916 13.3514L10.9847 7.16583L8.83334 5.01447L2.6478 11.2C2.5104 11.3374 2.43304 11.5241 2.43295 11.7186V13.5662Z' />,\n);\n\nexport const IconPeople = createIcon(\n 'IconPeople',\n <path d='M8.00096 8.2337C10.5261 8.2338 12.4575 9.74575 13.2422 11.8675C13.4598 12.4565 13.3106 13.0363 12.9638 13.4495C12.6253 13.853 12.1016 14.0999 11.5361 14.0999H4.46483C3.89952 14.0998 3.37558 13.8529 3.03709 13.4495C2.69041 13.0362 2.54205 12.4564 2.75975 11.8675C3.54447 9.74568 5.47576 8.2337 8.00096 8.2337ZM8.00096 9.43292C6.00465 9.43292 4.50471 10.6072 3.88475 12.2835C3.83022 12.4312 3.86075 12.5633 3.95701 12.678C4.06154 12.8026 4.24487 12.8996 4.46483 12.8997H11.5361C11.7563 12.8997 11.9403 12.8027 12.0449 12.678C12.1411 12.5633 12.1708 12.4311 12.1162 12.2835C11.4963 10.6073 9.99719 9.43302 8.00096 9.43292ZM9.90037 4.33331C9.90037 3.28397 9.04934 2.43292 7.99998 2.43292C6.95064 2.43292 6.09959 3.28397 6.09959 4.33331C6.09959 5.38266 6.95064 6.2337 7.99998 6.2337C9.04934 6.2337 9.90037 5.38266 9.90037 4.33331ZM11.0996 4.33331C11.0996 6.04539 9.71209 7.43292 7.99998 7.43292C6.2879 7.43292 4.90037 6.0454 4.90037 4.33331C4.90037 2.62123 6.2879 1.2337 7.99998 1.2337C9.71209 1.23371 11.0996 2.62123 11.0996 4.33331Z' />,\n);\n\nexport const IconPeople2 = createIcon(\n 'IconPeople2',\n <path d='M12.9004 13.5003V12.5003C12.9004 11.3589 11.9744 10.4329 10.833 10.4329H5.16699C4.02561 10.4329 3.09961 11.3589 3.09961 12.5003V13.5003C3.09943 13.8315 2.83126 14.0999 2.5 14.0999C2.16874 14.0999 1.90057 13.8315 1.90039 13.5003V12.5003C1.90039 10.6962 3.36286 9.2337 5.16699 9.2337H10.833C12.6371 9.2337 14.0996 10.6962 14.0996 12.5003V13.5003C14.0994 13.8315 13.8313 14.0999 13.5 14.0999C13.1687 14.0999 12.9006 13.8315 12.9004 13.5003ZM10.5664 5.00031C10.5664 3.58277 9.41756 2.43292 8 2.43292C6.58247 2.43292 5.43359 3.58278 5.43359 5.00031C5.43377 6.41771 6.58258 7.56671 8 7.56671C9.41745 7.56671 10.5662 6.41772 10.5664 5.00031ZM11.7666 5.00031C11.7664 7.08046 10.0802 8.76691 8 8.76691C5.91984 8.76691 4.23357 7.08046 4.2334 5.00031C4.2334 2.92003 5.91973 1.2337 8 1.2337C10.0803 1.2337 11.7666 2.92004 11.7666 5.00031Z' />,\n);\n\nexport const IconPeopleAdd = createIcon(\n 'IconPeopleAdd',\n <path d='M11.5664 14.1663V12.7669H10.167C9.8356 12.7669 9.56639 12.4977 9.56639 12.1663C9.56656 11.8351 9.83571 11.5667 10.167 11.5667H11.5664V10.1663C11.5666 9.8351 11.8357 9.56671 12.167 9.56671C12.4981 9.56689 12.7664 9.83521 12.7666 10.1663V11.5667H14.167C14.4981 11.5669 14.7664 11.8352 14.7666 12.1663C14.7666 12.4976 14.4982 12.7667 14.167 12.7669H12.7666V14.1663C12.7666 14.4976 12.4982 14.7667 12.167 14.7669C11.8356 14.7669 11.5664 14.4977 11.5664 14.1663ZM8.38572 8.24542L8.7617 8.28058L9.14744 8.3421C9.20142 8.35265 9.25432 8.36719 9.3076 8.37921C9.36705 8.39263 9.42675 8.40401 9.48533 8.41925C9.48862 8.4201 9.49184 8.42128 9.4951 8.42218C9.75 8.48896 9.99647 8.57239 10.2334 8.67218C10.5388 8.80082 10.6823 9.15293 10.5537 9.45831C10.425 9.76366 10.0729 9.90726 9.76756 9.77863C9.49934 9.66564 9.21353 9.57752 8.91111 9.51886C8.81303 9.49983 8.71287 9.48382 8.61131 9.47101C8.41443 9.44617 8.21082 9.43293 8.00096 9.43292L7.91307 9.4339C7.7624 9.43651 7.61441 9.44741 7.46971 9.4632C7.40057 9.47073 7.33219 9.47915 7.26463 9.48956C7.22825 9.49517 7.19219 9.50168 7.15623 9.50812C7.07628 9.52242 6.99754 9.5387 6.9199 9.55695C5.46753 9.89837 4.38719 10.925 3.88475 12.2835C3.83022 12.4312 3.86075 12.5633 3.95701 12.678C4.06154 12.8026 4.24487 12.8996 4.46483 12.8997H8.33397C8.66534 12.8997 8.93358 13.1689 8.93358 13.5003C8.9334 13.8315 8.66523 14.0999 8.33397 14.0999H4.46483C3.89952 14.0998 3.37558 13.8529 3.03709 13.4495C2.69041 13.0362 2.54205 12.4564 2.75975 11.8675C3.41893 10.0851 4.8873 8.73154 6.83885 8.34503C6.84598 8.34362 6.85319 8.34251 6.86033 8.34113C6.95651 8.32246 7.05386 8.30621 7.15233 8.2923C7.16922 8.28991 7.18616 8.28771 7.20311 8.28546C7.29876 8.2728 7.39543 8.26229 7.49315 8.25421C7.52333 8.25171 7.55361 8.24943 7.58397 8.24738C7.68545 8.24053 7.788 8.23648 7.89158 8.23468L8.00096 8.2337C8.13061 8.23371 8.25889 8.23752 8.38572 8.24542ZM9.90037 4.33331C9.90037 3.28397 9.04934 2.43292 7.99998 2.43292C6.95064 2.43292 6.09959 3.28397 6.09959 4.33331C6.09959 5.38266 6.95064 6.2337 7.99998 6.2337C9.04934 6.2337 9.90037 5.38266 9.90037 4.33331ZM11.0996 4.33331C11.0996 6.04539 9.71209 7.43292 7.99998 7.43292C6.2879 7.43292 4.90037 6.0454 4.90037 4.33331C4.90037 2.62123 6.2879 1.2337 7.99998 1.2337C9.71209 1.2337 11.0996 2.62123 11.0996 4.33331Z' />,\n);\n\nexport const IconPeopleAdded = createIcon(\n 'IconPeopleAdded',\n <>\n <path d='M9.90037 4.33331C9.90037 3.28397 9.04934 2.43292 7.99998 2.43292C6.95064 2.43292 6.09959 3.28397 6.09959 4.33331C6.09959 5.38266 6.95064 6.2337 7.99998 6.2337C9.04934 6.2337 9.90037 5.38266 9.90037 4.33331ZM11.0996 4.33331C11.0996 6.04539 9.71209 7.43292 7.99998 7.43292C6.2879 7.43292 4.90037 6.0454 4.90037 4.33331C4.90037 2.62123 6.2879 1.2337 7.99998 1.2337C9.71209 1.2337 11.0996 2.62123 11.0996 4.33331Z' />\n <path d='M8.00096 8.2337C8.26024 8.23371 8.51407 8.24933 8.7617 8.28058C8.94766 8.30405 9.12924 8.33993 9.3076 8.38019C9.36698 8.39359 9.42682 8.40403 9.48533 8.41925C9.4887 8.42013 9.49176 8.42223 9.4951 8.42316C9.74991 8.48993 9.99654 8.57243 10.2334 8.67218C10.5388 8.80082 10.6823 9.15293 10.5537 9.45831C10.425 9.76366 10.0729 9.90726 9.76756 9.77863C9.49934 9.66564 9.21353 9.57752 8.91111 9.51886C8.81303 9.49983 8.71287 9.48382 8.61131 9.47101C8.41443 9.44617 8.21082 9.43293 8.00096 9.43292L7.91307 9.4339C7.7624 9.43651 7.61441 9.44741 7.46971 9.4632C7.40057 9.47073 7.33219 9.47915 7.26463 9.48956C7.22825 9.49517 7.19219 9.50168 7.15623 9.50812C7.07628 9.52242 6.99754 9.5387 6.9199 9.55695C5.46753 9.89837 4.38719 10.925 3.88475 12.2835C3.83022 12.4312 3.86075 12.5633 3.95701 12.678C4.06154 12.8026 4.24487 12.8996 4.46483 12.8997H7.66697C7.99834 12.8997 8.26756 13.1689 8.26756 13.5003C8.26738 13.8315 7.99824 14.0999 7.66697 14.0999H4.46483C3.89952 14.0998 3.37558 13.8529 3.03709 13.4495C2.69041 13.0362 2.54205 12.4564 2.75975 11.8675C3.38129 10.1869 4.72264 8.88903 6.50975 8.42218C6.51207 8.42155 6.51425 8.41986 6.51658 8.41925C6.5217 8.41792 6.52709 8.41764 6.53221 8.41632C6.63309 8.39041 6.73519 8.36654 6.83885 8.34601C6.84599 8.34459 6.85319 8.34349 6.86033 8.3421C6.95652 8.32343 7.05384 8.30719 7.15233 8.29327C7.16922 8.29088 7.18615 8.28869 7.20311 8.28644C7.29877 8.27377 7.39542 8.26327 7.49315 8.25519C7.52334 8.25269 7.5536 8.25041 7.58397 8.24835C7.68547 8.2415 7.78798 8.23648 7.89158 8.23468L8.00096 8.2337Z' />\n <path d='M12.9857 9.52472C13.1561 9.24057 13.5247 9.14817 13.8089 9.31866C14.0929 9.48912 14.1852 9.85783 14.015 10.1419L11.8148 13.8089C11.7274 13.9545 11.582 14.0565 11.4153 14.0892C11.2487 14.1218 11.0756 14.0817 10.9398 13.9798L9.47296 12.8802C9.20812 12.6815 9.15446 12.3054 9.35284 12.0403C9.55167 11.7752 9.92857 11.7214 10.1937 11.9202L11.1273 12.6204L12.9857 9.52472Z' />\n </>,\n);\n\nexport const IconPeopleCircle = createIcon(\n 'IconPeopleCircle',\n <path d='M13.5667 8.00031C13.5667 4.92603 11.0745 2.4331 8.00031 2.43292C4.92592 2.43292 2.43292 4.92592 2.43292 8.00031C2.433 9.42546 2.96946 10.7242 3.85089 11.7093C4.84826 10.5938 6.29224 9.89972 8.00031 9.89972C9.70793 9.89981 11.1505 10.5942 12.1478 11.7093C13.0295 10.7241 13.5666 9.42576 13.5667 8.00031ZM8.00031 11.0999C6.63874 11.0999 5.51656 11.6452 4.74249 12.513C5.65856 13.1755 6.78314 13.5667 8.00031 13.5667C9.21697 13.5666 10.3404 13.1751 11.2562 12.513C10.4822 11.6456 9.36141 11.1 8.00031 11.0999ZM9.56671 6.66632C9.56654 5.80133 8.86528 5.10009 8.00031 5.09991C7.13518 5.09991 6.4331 5.80122 6.43292 6.66632C6.43292 7.53155 7.13508 8.2337 8.00031 8.2337C8.86538 8.23353 9.56671 7.53144 9.56671 6.66632ZM14.7669 8.00031C14.7668 10.0126 13.8868 11.8204 12.4935 13.0589C11.2989 14.1207 9.72438 14.7668 8.00031 14.7669C6.27602 14.7669 4.70083 14.1208 3.50616 13.0589C2.11283 11.8204 1.2338 10.0126 1.2337 8.00031C1.2337 4.26318 4.26318 1.2337 8.00031 1.2337C11.7373 1.23388 14.7669 4.26329 14.7669 8.00031ZM10.7669 6.66632C10.7669 8.19418 9.52813 9.43275 8.00031 9.43292C6.47233 9.43292 5.2337 8.19429 5.2337 6.66632C5.23388 5.13848 6.47245 3.89972 8.00031 3.89972C9.52801 3.8999 10.7667 5.13858 10.7669 6.66632Z' />,\n);\n\nexport const IconPeopleCopy = createIcon(\n 'IconPeopleCopy',\n <path d='M9.33331 10.8997C11.0055 10.8997 12.3917 12.0298 12.9036 13.5628C13.2756 13.5274 13.5667 13.2146 13.5667 12.8333V5.83331C13.5667 5.4283 13.2383 5.09991 12.8333 5.09991H5.83331C5.4283 5.09991 5.09991 5.4283 5.09991 5.83331V12.8333C5.09991 13.2143 5.39048 13.5269 5.76202 13.5628C6.27385 12.0297 7.66102 10.8997 9.33331 10.8997ZM9.33331 12.0999C8.36174 12.0999 7.49395 12.6831 7.05304 13.5667H11.6136C11.1727 12.6831 10.3049 12.0999 9.33331 12.0999ZM10.2337 8.33331C10.2337 7.83628 9.83034 7.43292 9.33331 7.43292C8.83628 7.43292 8.43292 7.83628 8.43292 8.33331C8.43292 8.83034 8.83628 9.2337 9.33331 9.2337C9.83034 9.2337 10.2337 8.83034 10.2337 8.33331ZM11.4329 8.33331C11.4329 9.49308 10.4931 10.4329 9.33331 10.4329C8.17354 10.4329 7.2337 9.49308 7.2337 8.33331C7.2337 7.17354 8.17354 6.2337 9.33331 6.2337C10.4931 6.2337 11.4329 7.17354 11.4329 8.33331ZM10.8997 3.16632C10.8995 2.76146 10.5712 2.43292 10.1663 2.43292H3.16632C2.76157 2.4331 2.4331 2.76157 2.43292 3.16632V10.1663C2.43292 10.5712 2.76146 10.8995 3.16632 10.8997H3.89972V5.83331C3.89972 4.76556 4.76556 3.89972 5.83331 3.89972H10.8997V3.16632ZM12.0999 3.89972H12.8333C13.9011 3.89972 14.7669 4.76557 14.7669 5.83331V12.8333C14.7669 13.9011 13.9011 14.7669 12.8333 14.7669H5.83331C4.76557 14.7669 3.89972 13.9011 3.89972 12.8333V12.0999H3.16632C2.09873 12.0997 1.2337 11.234 1.2337 10.1663V3.16632C1.23388 2.09883 2.09883 1.23388 3.16632 1.2337H10.1663C11.234 1.2337 12.0997 2.09873 12.0999 3.16632V3.89972Z' />,\n);\n\nexport const IconPeopleEditUserRights = createIcon(\n 'IconPeopleEditUserRights',\n <path d='M11.8262 9.49249C12.3826 8.93621 13.2844 8.9361 13.8408 9.49249C14.3971 10.0489 14.3971 10.9507 13.8408 11.5071L11.1484 14.2005C10.7859 14.563 10.2939 14.7669 9.78123 14.7669H9.16697C8.8356 14.7669 8.56639 14.4977 8.56639 14.1663V13.5521C8.56644 13.0394 8.77025 12.5474 9.13279 12.1849L11.8262 9.49249ZM8.00096 8.2337C8.66049 8.23373 9.28403 8.33673 9.85936 8.53058C10.173 8.63645 10.3417 8.97658 10.2363 9.29034C10.1305 9.60437 9.78959 9.77408 9.47557 9.66827C9.02732 9.51725 8.53402 9.43295 8.00096 9.43292C6.00465 9.43292 4.50471 10.6072 3.88475 12.2835C3.83022 12.4312 3.86075 12.5633 3.95701 12.678C4.06154 12.8026 4.24487 12.8996 4.46483 12.8997H6.83397C7.16534 12.8997 7.43358 13.1689 7.43358 13.5003C7.4334 13.8315 7.16523 14.0999 6.83397 14.0999H4.46483C3.89952 14.0998 3.37558 13.8529 3.03709 13.4495C2.69041 13.0362 2.54205 12.4564 2.75975 11.8675C3.54447 9.74568 5.47576 8.2337 8.00096 8.2337ZM9.90037 4.33331C9.90037 3.28397 9.04932 2.43292 7.99998 2.43292C6.95064 2.43292 6.09959 3.28397 6.09959 4.33331C6.09959 5.38265 6.95064 6.2337 7.99998 6.2337C9.04932 6.2337 9.90037 5.38265 9.90037 4.33331ZM9.76658 13.5667H9.78123C9.97563 13.5667 10.1623 13.4894 10.2998 13.3519L12.9922 10.6595C13.0799 10.5717 13.08 10.429 12.9922 10.3411C12.9044 10.2533 12.7616 10.2533 12.6738 10.3411L9.98143 13.0335C9.84392 13.171 9.76663 13.3577 9.76658 13.5521V13.5667ZM11.0996 4.33331C11.0996 6.04539 9.71206 7.43292 7.99998 7.43292C6.2879 7.43292 4.90037 6.0454 4.90037 4.33331C4.90037 2.62123 6.2879 1.2337 7.99998 1.2337C9.71206 1.2337 11.0996 2.62123 11.0996 4.33331Z' />,\n);\n\nexport const IconPeopleRemove = createIcon(\n 'IconPeopleRemove',\n <>\n <path d='M9.9004 4.33331C9.9004 3.28397 9.04937 2.43292 8.00001 2.43292C6.95067 2.43292 6.09962 3.28397 6.09962 4.33331C6.09962 5.38266 6.95067 6.2337 8.00001 6.2337C9.04937 6.2337 9.9004 5.38266 9.9004 4.33331ZM11.0996 4.33331C11.0996 6.04539 9.71212 7.43292 8.00001 7.43292C6.28793 7.43292 4.9004 6.0454 4.9004 4.33331C4.9004 2.62123 6.28793 1.2337 8.00001 1.2337C9.71212 1.2337 11.0996 2.62123 11.0996 4.33331Z' />\n <path d='M12.9089 10.2428C13.1432 10.0085 13.5232 10.0085 13.7575 10.2428C13.9916 10.4771 13.9916 10.8562 13.7575 11.0905L12.8483 11.9997L13.7575 12.9088C13.9918 13.1431 13.9918 13.5232 13.7575 13.7575C13.5232 13.9918 13.1432 13.9918 12.9089 13.7575L11.9997 12.8483L11.0905 13.7575C10.8562 13.9916 10.4771 13.9916 10.2429 13.7575C10.0085 13.5232 10.0085 13.1431 10.2429 12.9088L11.1511 11.9997L10.2429 11.0905C10.0085 10.8562 10.0085 10.4771 10.2429 10.2428C10.4772 10.0085 10.8562 10.0085 11.0905 10.2428L11.9997 11.151L12.9089 10.2428Z' />\n <path d='M8.00099 8.2337C8.38422 8.23371 8.75548 8.26786 9.11232 8.33527C9.43782 8.39678 9.65218 8.71094 9.59084 9.03644C9.52934 9.36197 9.21519 9.57631 8.88966 9.51495C8.60782 9.46171 8.3111 9.43293 8.00099 9.43292L7.9131 9.4339C7.76241 9.43651 7.61447 9.44741 7.46974 9.4632C7.4006 9.47073 7.33222 9.47915 7.26466 9.48956C7.22829 9.49517 7.19222 9.50168 7.15627 9.50812C7.07631 9.52242 6.99757 9.5387 6.91994 9.55695C5.46758 9.89838 4.38722 10.925 3.88478 12.2835C3.83027 12.4311 3.86025 12.5635 3.95607 12.678C4.0605 12.8026 4.24471 12.8997 4.46486 12.8997H8.16701C8.49838 12.8997 8.76759 13.1689 8.76759 13.5003C8.76742 13.8315 8.49827 14.0999 8.16701 14.0999H4.46486C3.89938 14.0999 3.37558 13.8531 3.03713 13.4495C2.69048 13.0361 2.54213 12.4563 2.75978 11.8675C3.38132 10.1869 4.72268 8.88904 6.50978 8.42218C6.51212 8.42154 6.51427 8.41986 6.51662 8.41925C6.52173 8.41792 6.52712 8.41764 6.53224 8.41632C6.63313 8.39041 6.73523 8.36654 6.83888 8.34601C6.84602 8.34459 6.85322 8.34349 6.86037 8.3421C6.95656 8.32343 7.05388 8.30719 7.15236 8.29327C7.16925 8.29088 7.18619 8.28869 7.20314 8.28644C7.29881 8.27377 7.39545 8.26327 7.49318 8.25519C7.52337 8.25269 7.55364 8.25041 7.584 8.24835C7.68551 8.2415 7.78801 8.23648 7.89162 8.23468L8.00099 8.2337Z' />\n </>,\n);\n\nexport const IconPersona = createIcon(\n 'IconPersona',\n <>\n <path d='M9.93443 2.16641C9.93443 2.49778 9.66576 2.76641 9.33443 2.76641C9.00303 2.76641 8.73443 2.49778 8.73443 2.16641C8.73443 1.83503 9.00303 1.56641 9.33443 1.56641C9.66576 1.56641 9.93443 1.83503 9.93443 2.16641Z' />\n <path d='M9.33443 4.93307C9.6658 4.93307 9.93443 4.66445 9.93443 4.33307C9.93443 4.0017 9.6658 3.73307 9.33443 3.73307C9.00306 3.73307 8.73443 4.0017 8.73443 4.33307C8.73443 4.66445 9.00306 4.93307 9.33443 4.93307Z' />\n <path d='M11.3334 3.83333C11.6095 3.83333 11.8334 3.60948 11.8334 3.33333C11.8334 3.05719 11.6095 2.83333 11.3334 2.83333C11.0572 2.83333 10.8334 3.05719 10.8334 3.33333C10.8334 3.60948 11.0572 3.83333 11.3334 3.83333Z' />\n <path d='M11.3334 5.83333C11.6095 5.83333 11.8334 5.60948 11.8334 5.33333C11.8334 5.05719 11.6095 4.83333 11.3334 4.83333C11.0572 4.83333 10.8334 5.05719 10.8334 5.33333C10.8334 5.60948 11.0572 5.83333 11.3334 5.83333Z' />\n <path d='M9.33443 7.09974C9.6658 7.09974 9.93443 6.83111 9.93443 6.49974C9.93443 6.16837 9.6658 5.89974 9.33443 5.89974C9.00306 5.89974 8.73443 6.16837 8.73443 6.49974C8.73443 6.83111 9.00306 7.09974 9.33443 7.09974Z' />\n <path d='M9.33443 9.2664C9.6658 9.2664 9.93443 8.99777 9.93443 8.6664C9.93443 8.33503 9.6658 8.0664 9.33443 8.0664C9.00306 8.0664 8.73443 8.33503 8.73443 8.6664C8.73443 8.99777 9.00306 9.2664 9.33443 9.2664Z' />\n <path d='M11.3334 9.16667C11.6095 9.16667 11.8334 8.94281 11.8334 8.66667C11.8334 8.39053 11.6095 8.16667 11.3334 8.16667C11.0572 8.16667 10.8334 8.39053 10.8334 8.66667C10.8334 8.94281 11.0572 9.16667 11.3334 9.16667Z' />\n <path d='M13.3334 11.5C13.6095 11.5 13.8334 11.2761 13.8334 11C13.8334 10.7239 13.6095 10.5 13.3334 10.5C13.0572 10.5 12.8334 10.7239 12.8334 11C12.8334 11.2761 13.0572 11.5 13.3334 11.5Z' />\n <path d='M13.3334 13.8333C13.6095 13.8333 13.8334 13.6095 13.8334 13.3333C13.8334 13.0572 13.6095 12.8333 13.3334 12.8333C13.0572 12.8333 12.8334 13.0572 12.8334 13.3333C12.8334 13.6095 13.0572 13.8333 13.3334 13.8333Z' />\n <path d='M9.33443 11.5997C9.6658 11.5997 9.93443 11.3311 9.93443 10.9997C9.93443 10.6684 9.6658 10.3997 9.33443 10.3997C9.00306 10.3997 8.73443 10.6684 8.73443 10.9997C8.73443 11.3311 9.00306 11.5997 9.33443 11.5997Z' />\n <path d='M11.3344 11.5997C11.6658 11.5997 11.9344 11.3311 11.9344 10.9997C11.9344 10.6684 11.6658 10.3997 11.3344 10.3997C11.0031 10.3997 10.7344 10.6684 10.7344 10.9997C10.7344 11.3311 11.0031 11.5997 11.3344 11.5997Z' />\n <path d='M9.33443 13.9331C9.6658 13.9331 9.93443 13.6644 9.93443 13.3331C9.93443 13.0017 9.6658 12.7331 9.33443 12.7331C9.00306 12.7331 8.73443 13.0017 8.73443 13.3331C8.73443 13.6644 9.00306 13.9331 9.33443 13.9331Z' />\n <path d='M11.3344 13.9331C11.6658 13.9331 11.9344 13.6644 11.9344 13.3331C11.9344 13.0017 11.6658 12.7331 11.3344 12.7331C11.0031 12.7331 10.7344 13.0017 10.7344 13.3331C10.7344 13.6644 11.0031 13.9331 11.3344 13.9331Z' />\n <path d='M4.90042 4.33366C4.90042 2.83321 5.96565 1.58285 7.38089 1.29558C7.70557 1.22978 8.02201 1.43964 8.08792 1.76433C8.15372 2.08901 7.94386 2.40545 7.61917 2.47136C6.75227 2.64741 6.09964 3.41522 6.09964 4.33366C6.09974 5.25197 6.75239 6.01888 7.61917 6.19499C7.94392 6.26092 8.15385 6.57825 8.08792 6.903C8.02193 7.22755 7.70548 7.43749 7.38089 7.37175C5.96573 7.08446 4.90052 5.83403 4.90042 4.33366Z' />\n <path d='M7.44267 8.25848C7.77261 8.22839 8.06483 8.47153 8.09501 8.80145C8.12509 9.13132 7.88185 9.42351 7.55204 9.45379C5.78535 9.61489 4.45824 10.7315 3.88407 12.2839C3.82966 12.4314 3.86011 12.5637 3.95634 12.6784C4.06089 12.8029 4.24428 12.9 4.46415 12.9001H7.49735C7.82849 12.9002 8.09672 13.1686 8.09696 13.4997C8.09696 13.831 7.82864 14.1002 7.49735 14.1003H4.46415C3.89881 14.1001 3.37489 13.8533 3.03642 13.4499C2.6896 13.0365 2.54118 12.456 2.75907 11.8669C3.48357 9.90836 5.18699 8.46417 7.44267 8.25848Z' />\n </>,\n);\n\nexport const IconPin = createIcon(\n 'IconPin',\n <path d='M8.31151 2.27018C8.88823 1.06866 10.4795 0.797512 11.4219 1.73991L14.2607 4.57878C15.2027 5.5212 14.9308 7.11149 13.7295 7.68815L11.8935 8.56999C11.6754 8.67477 11.5231 8.88058 11.4863 9.11979L10.9931 12.3239C10.7523 13.8891 8.83459 14.5168 7.71483 13.3971L5.58299 11.2643L2.92381 13.9245C2.68958 14.1584 2.31039 14.1584 2.07616 13.9245C1.84184 13.6902 1.84184 13.3102 2.07616 13.0758L4.73436 10.4167L2.60252 8.28483C1.48306 7.16507 2.11081 5.24743 3.67577 5.00651L6.88084 4.51432C7.11992 4.47742 7.32502 4.32417 7.42967 4.10612L8.31151 2.27018ZM10.5732 2.58854C10.2158 2.23107 9.61229 2.33398 9.39354 2.78971L8.5117 4.62565C8.2356 5.20092 7.69311 5.60285 7.06249 5.69987L3.85838 6.19303C3.26487 6.28444 3.0267 7.01145 3.45116 7.4362L5.95799 9.94303C5.97562 9.95698 5.9944 9.9698 6.01073 9.986C6.02766 10.0028 6.04115 10.0225 6.05565 10.0407L8.56346 12.5485C8.98823 12.9732 9.71529 12.7349 9.80663 12.1413L10.2998 8.93717C10.3968 8.3066 10.7988 7.76414 11.374 7.48796L13.2109 6.6071C13.6664 6.38838 13.7691 5.78489 13.4121 5.42741L10.5732 2.58854Z' />,\n);\n\nexport const IconPlaySolid = createIcon(\n 'IconPlaySolid',\n <path d='M6.16267 1.57839C4.94283 0.789081 3.33337 1.66467 3.33337 3.11759V12.8825C3.33337 14.3355 4.94283 15.2111 6.16267 14.4217L13.7083 9.53927C14.8248 8.81687 14.8248 7.18333 13.7083 6.46086L6.16267 1.57839Z' />,\n);\n\nexport const IconPlusLarge = createIcon(\n 'IconPlusLarge',\n <path d='M7.40039 13.5V8.59961H2.5C2.16863 8.59961 1.90039 8.33137 1.90039 8C1.90039 7.66863 2.16863 7.40039 2.5 7.40039H7.40039V2.5C7.40039 2.16863 7.66863 1.90039 8 1.90039C8.33137 1.90039 8.59961 2.16863 8.59961 2.5V7.40039H13.5C13.8314 7.40039 14.0996 7.66863 14.0996 8C14.0996 8.33137 13.8314 8.59961 13.5 8.59961H8.59961V13.5C8.59961 13.8314 8.33137 14.0996 8 14.0996C7.66863 14.0996 7.40039 13.8314 7.40039 13.5Z' />,\n);\n\nexport const IconPlusSmall = createIcon(\n 'IconPlusSmall',\n <path d='M7.40039 11.5V8.59961H4.5C4.16863 8.59961 3.90039 8.33137 3.90039 8C3.90039 7.66863 4.16863 7.40039 4.5 7.40039H7.40039V4.5C7.40039 4.16863 7.66863 3.90039 8 3.90039C8.33137 3.90039 8.59961 4.16863 8.59961 4.5V7.40039H11.5C11.8314 7.40039 12.0996 7.66863 12.0996 8C12.0996 8.33137 11.8314 8.59961 11.5 8.59961H8.59961V11.5C8.59961 11.8314 8.33137 12.0996 8 12.0996C7.66863 12.0996 7.40039 11.8314 7.40039 11.5Z' />,\n);\n\nexport const IconRunShortcut = createIcon(\n 'IconRunShortcut',\n <path d='M12.9004 3.83301C12.9002 3.42825 12.5718 3.09978 12.167 3.09961H3.83301C3.42826 3.09979 3.09979 3.42826 3.09961 3.83301V12.167C3.09978 12.5718 3.42825 12.9002 3.83301 12.9004H12.167C12.5718 12.9002 12.9002 12.5718 12.9004 12.167V3.83301ZM8.95801 4.57617C9.09997 4.27696 9.45749 4.14925 9.75684 4.29102C10.0562 4.43284 10.1837 4.79041 10.042 5.08984L7.04199 11.4238C6.90003 11.723 6.54251 11.8508 6.24316 11.709C5.94375 11.5672 5.81629 11.2096 5.95801 10.9102L8.95801 4.57617ZM14.0996 12.167C14.0994 13.2345 13.2345 14.0994 12.167 14.0996H3.83301C2.76552 14.0994 1.90057 13.2345 1.90039 12.167V3.83301C1.90057 2.76552 2.76552 1.90057 3.83301 1.90039H12.167C13.2345 1.90057 14.0994 2.76552 14.0996 3.83301V12.167Z' />,\n);\n\nexport const IconSearchText = createIcon(\n 'IconSearchText',\n <path d='M13.5667 8.00031C13.5667 6.0306 11.97 4.4331 10.0003 4.43292C8.03048 4.43292 6.43292 6.03049 6.43292 8.00031C6.4331 9.96998 8.03058 11.5667 10.0003 11.5667C11.9699 11.5665 13.5665 9.96988 13.5667 8.00031ZM4.16632 10.8997C4.49769 10.8997 4.76691 11.1689 4.76691 11.5003C4.76673 11.8315 4.49758 12.0999 4.16632 12.0999H1.83331C1.50205 12.0999 1.23388 11.8315 1.2337 11.5003C1.2337 11.1689 1.50194 10.8997 1.83331 10.8997H4.16632ZM3.50031 7.39972C3.83153 7.39989 4.09991 7.66904 4.09991 8.00031C4.09974 8.33142 3.83142 8.59974 3.50031 8.59991H1.83331C1.50205 8.59991 1.23388 8.33153 1.2337 8.00031C1.2337 7.66893 1.50194 7.39972 1.83331 7.39972H3.50031ZM4.16632 3.89972C4.49769 3.89972 4.76691 4.16893 4.76691 4.50031C4.76673 4.83153 4.49758 5.09991 4.16632 5.09991H1.83331C1.50205 5.09991 1.23388 4.83153 1.2337 4.50031C1.2337 4.16893 1.50194 3.89972 1.83331 3.89972H4.16632ZM14.7669 8.00031C14.7668 9.10009 14.3926 10.1118 13.7669 10.9183L15.2571 12.4095C15.4915 12.6438 15.4915 13.0228 15.2571 13.2571C15.0228 13.4915 14.6438 13.4915 14.4095 13.2571L12.9183 11.7669C12.1118 12.3926 11.1001 12.7668 10.0003 12.7669C7.36784 12.7669 5.23388 10.6327 5.2337 8.00031C5.2337 5.36775 7.36773 3.2337 10.0003 3.2337C12.6327 3.23388 14.7669 5.36786 14.7669 8.00031Z' />,\n);\n\nexport const IconSettingsGear2 = createIcon(\n 'IconSettingsGear2',\n <path d='M13.5667 8.00031C13.5667 7.81566 13.4743 7.64281 13.3206 7.54034L12.7503 7.16046C12.0815 6.71442 11.7583 5.90079 11.9388 5.11749L12.0472 4.64777C12.092 4.45315 12.034 4.24906 11.8929 4.10773C11.7515 3.96629 11.5467 3.90753 11.3519 3.95245L10.8831 4.06085C10.0996 4.24168 9.28525 3.91849 8.8392 3.24933L8.45932 2.67902C8.35689 2.52558 8.18474 2.43303 8.00034 2.43292C7.81575 2.43292 7.64286 2.5254 7.54037 2.67902L7.16049 3.24933C6.7145 3.91832 5.90097 4.24146 5.11752 4.06085L4.6478 3.95245C4.45304 3.90767 4.24908 3.9664 4.10776 4.10773C3.96643 4.24905 3.9077 4.45301 3.95248 4.64777L4.06088 5.11749C4.24149 5.90094 3.91835 6.71447 3.24936 7.16046L2.67905 7.54034C2.52543 7.64282 2.43295 7.81572 2.43295 8.00031C2.43306 8.18471 2.52561 8.35686 2.67905 8.45929L3.24936 8.83917C3.91852 9.28522 4.24171 10.0995 4.06088 10.8831L3.95248 11.3519C3.90756 11.5467 3.96632 11.7514 4.10776 11.8929C4.24909 12.034 4.45317 12.092 4.6478 12.0472L5.11752 11.9388C5.90082 11.7583 6.71445 12.0814 7.16049 12.7503L7.54037 13.3206C7.64284 13.4743 7.81569 13.5667 8.00034 13.5667C8.18484 13.5666 8.35691 13.4742 8.45932 13.3206L8.8392 12.7503C9.2574 12.123 9.99909 11.8004 10.7357 11.9114L10.8831 11.9388L11.3519 12.0472C11.5467 12.0922 11.7505 12.0334 11.8919 11.8919C12.0334 11.7504 12.0922 11.5467 12.0472 11.3519L11.9388 10.8831C11.7581 10.0996 12.0812 9.28525 12.7503 8.83917L13.3206 8.45929C13.4742 8.35688 13.5666 8.18481 13.5667 8.00031ZM9.23373 8.00031C9.23373 7.31925 8.68135 6.76708 8.00034 6.76691C7.31917 6.76691 6.76694 7.31914 6.76694 8.00031C6.76711 8.68132 7.31928 9.2337 8.00034 9.2337C8.68124 9.23353 9.23356 8.68121 9.23373 8.00031ZM10.433 8.00031C10.4328 9.34395 9.34398 10.4327 8.00034 10.4329C6.65654 10.4329 5.56692 9.34406 5.56674 8.00031C5.56674 6.6564 6.65643 5.56671 8.00034 5.56671C9.34409 5.56689 10.433 6.65651 10.433 8.00031ZM14.7669 8.00031C14.7668 8.58607 14.474 9.13337 13.9867 9.45831L13.4164 9.8382C13.1627 10.0072 13.0404 10.3155 13.1087 10.6126L13.2171 11.0823C13.355 11.6803 13.1744 12.3067 12.7406 12.7405C12.3067 13.1744 11.6803 13.355 11.0824 13.2171L10.6126 13.1087C10.3155 13.0403 10.0073 13.1627 9.83823 13.4163L9.45834 13.9866C9.1334 14.4739 8.5861 14.7668 8.00034 14.7669C7.41454 14.7669 6.86735 14.4739 6.54233 13.9866L6.16245 13.4163C5.99328 13.1626 5.6843 13.0402 5.38705 13.1087L4.9183 13.2171C4.32022 13.3552 3.69313 13.1746 3.25912 12.7405C2.82535 12.3066 2.64568 11.6802 2.78354 11.0823L2.89194 10.6126C2.96027 10.3155 2.83695 10.0072 2.58334 9.8382L2.01401 9.45831C1.52667 9.13338 1.23384 8.58608 1.23373 8.00031C1.23373 7.4144 1.52657 6.86729 2.01401 6.5423L2.58334 6.16241C2.83709 5.99325 2.96042 5.68417 2.89194 5.38702L2.78354 4.91827C2.64553 4.32022 2.82513 3.69309 3.25912 3.25909C3.69312 2.8251 4.32025 2.6455 4.9183 2.78351L5.38705 2.89191C5.6842 2.96039 5.99328 2.83706 6.16245 2.58331L6.54233 2.01398C6.86732 1.52654 7.41443 1.2337 8.00034 1.2337C8.58611 1.23381 9.13341 1.52663 9.45834 2.01398L9.83823 2.58331C10.0073 2.83692 10.3156 2.96024 10.6126 2.89191L11.0824 2.78351C11.6803 2.64565 12.3067 2.82532 12.7406 3.25909C13.1746 3.6931 13.3552 4.3202 13.2171 4.91827L13.1087 5.38702C13.0402 5.68427 13.1626 5.99325 13.4164 6.16241L13.9867 6.5423C14.4739 6.86732 14.7669 7.41451 14.7669 8.00031Z' />,\n);\n\nexport const IconSettingsSliderVer = createIcon(\n 'IconSettingsSliderVer',\n <path d='M6.2334 6C6.2334 5.1344 5.53255 4.43377 4.66699 4.43359C3.80128 4.43359 3.09961 5.13429 3.09961 6C3.09961 6.8657 3.80129 7.56641 4.66699 7.56641C5.53255 7.56623 6.2334 6.86559 6.2334 6ZM12.9004 11.333C12.9002 10.4675 12.1986 9.7666 11.333 9.7666C10.4676 9.76678 9.76678 10.4676 9.7666 11.333C9.7666 12.1986 10.4675 12.9002 11.333 12.9004C12.1987 12.9004 12.9004 12.1987 12.9004 11.333ZM14.0996 11.333C14.0996 12.8614 12.8614 14.0996 11.333 14.0996C9.80472 14.0994 8.56641 12.8613 8.56641 11.333C8.56656 10.0109 9.49389 8.90783 10.7334 8.63379V2.5C10.7334 2.16874 11.0018 1.90057 11.333 1.90039C11.6644 1.90039 11.9336 2.16863 11.9336 2.5V8.63379C13.1729 8.90795 14.0995 10.011 14.0996 11.333ZM7.43359 6C7.43359 7.32224 6.50619 8.42513 5.2666 8.69922V13.5C5.2666 13.8313 4.99821 14.0994 4.66699 14.0996C4.33562 14.0996 4.06641 13.8314 4.06641 13.5V8.69922C2.82698 8.42501 1.90039 7.32213 1.90039 6C1.90039 4.67778 2.82687 3.57393 4.06641 3.2998V2.5C4.06641 2.16863 4.33562 1.90039 4.66699 1.90039C4.99821 1.90057 5.2666 2.16874 5.2666 2.5V3.2998C6.50629 3.57382 7.43359 4.67767 7.43359 6Z' />,\n);\n\nexport const IconShapesPlusCloseSquareCircle = createIcon(\n 'IconShapesPlusCloseSquareCircle',\n <path d='M5.16667 2.5C5.16667 2.22386 4.94281 2 4.66667 2C4.39053 2 4.16667 2.22386 4.16667 2.5H5.16667ZM4.16667 6.83333C4.16667 7.10947 4.39053 7.33333 4.66667 7.33333C4.94281 7.33333 5.16667 7.10947 5.16667 6.83333H4.16667ZM2.5 4.16667C2.22386 4.16667 2 4.39053 2 4.66667C2 4.94281 2.22386 5.16667 2.5 5.16667V4.16667ZM6.83333 5.16667C7.10947 5.16667 7.33333 4.94281 7.33333 4.66667C7.33333 4.39053 7.10947 4.16667 6.83333 4.16667V5.16667ZM13.2189 10.1548C13.4142 9.95953 13.4142 9.643 13.2189 9.44773C13.0237 9.25247 12.7071 9.25247 12.5119 9.44773L13.2189 10.1548ZM9.44773 12.5119C9.25247 12.7071 9.25247 13.0237 9.44773 13.2189C9.643 13.4142 9.95953 13.4142 10.1548 13.2189L9.44773 12.5119ZM10.1548 9.44773C9.95953 9.25247 9.643 9.25247 9.44773 9.44773C9.25247 9.643 9.25247 9.95953 9.44773 10.1548L10.1548 9.44773ZM12.5119 13.2189C12.7071 13.4142 13.0237 13.4142 13.2189 13.2189C13.4142 13.0237 13.4142 12.7071 13.2189 12.5119L12.5119 13.2189ZM11.3333 6.33333C10.4129 6.33333 9.66667 5.58714 9.66667 4.66667H8.66667C8.66667 6.13943 9.8606 7.33333 11.3333 7.33333V6.33333ZM13 4.66667C13 5.58714 12.2538 6.33333 11.3333 6.33333V7.33333C12.8061 7.33333 14 6.13943 14 4.66667H13ZM11.3333 3C12.2538 3 13 3.74619 13 4.66667H14C14 3.19391 12.8061 2 11.3333 2V3ZM11.3333 2C9.8606 2 8.66667 3.19391 8.66667 4.66667H9.66667C9.66667 3.74619 10.4129 3 11.3333 3V2ZM4.16667 2.5V4.66667H5.16667V2.5H4.16667ZM4.16667 4.66667V6.83333H5.16667V4.66667H4.16667ZM2.5 5.16667H4.66667V4.16667H2.5V5.16667ZM4.66667 5.16667H6.83333V4.16667H4.66667V5.16667ZM12.5119 9.44773L10.9798 10.9798L11.6869 11.6869L13.2189 10.1548L12.5119 9.44773ZM10.9798 10.9798L9.44773 12.5119L10.1548 13.2189L11.6869 11.6869L10.9798 10.9798ZM9.44773 10.1548L10.9798 11.6869L11.6869 10.9798L10.1548 9.44773L9.44773 10.1548ZM10.9798 11.6869L12.5119 13.2189L13.2189 12.5119L11.6869 10.9798L10.9798 11.6869ZM3.5 9.66667H5.83333V8.66667H3.5V9.66667ZM6.33333 10.1667V12.5H7.33333V10.1667H6.33333ZM5.83333 13H3.5V14H5.83333V13ZM3 12.5V10.1667H2V12.5H3ZM3.5 13C3.22386 13 3 12.7761 3 12.5H2C2 13.3284 2.67157 14 3.5 14V13ZM6.33333 12.5C6.33333 12.7761 6.10947 13 5.83333 13V14C6.66176 14 7.33333 13.3284 7.33333 12.5H6.33333ZM5.83333 9.66667C6.10947 9.66667 6.33333 9.89053 6.33333 10.1667H7.33333C7.33333 9.33827 6.66176 8.66667 5.83333 8.66667V9.66667ZM3.5 8.66667C2.67157 8.66667 2 9.33827 2 10.1667H3C3 9.89053 3.22386 9.66667 3.5 9.66667V8.66667Z' />,\n);\n\nexport const IconShapesTriangleSquareCircle = createIcon(\n 'IconShapesTriangleSquareCircle',\n <path d='M10.8037 11.4388C10.8037 10.6323 10.1489 9.97691 9.33986 9.97691C8.53082 9.97692 7.87599 10.6323 7.87599 11.4388C7.87618 12.2453 8.53093 12.8998 9.33986 12.8998C10.1488 12.8998 10.8035 12.2453 10.8037 11.4388ZM3.12208 4.09312C3.32342 4.0198 3.54868 4.05999 3.7129 4.19762L7.36427 7.25816C7.52844 7.39592 7.60653 7.61056 7.56935 7.82164C7.53213 8.03284 7.38516 8.20833 7.18361 8.2816L2.70509 9.90953C2.50365 9.98276 2.27843 9.94286 2.11427 9.80504C1.95021 9.66721 1.87194 9.45258 1.90919 9.24156L2.73634 4.55308L2.75587 4.47594C2.81166 4.29998 2.94588 4.15732 3.12208 4.09312ZM3.2715 8.42613L5.79591 7.50816L3.73829 5.78355L3.2715 8.42613ZM8.76173 2.82164C8.94288 2.14617 9.63702 1.74533 10.3125 1.92613L13.0117 2.64879C13.6876 2.82991 14.0884 3.52481 13.9072 4.20055L13.1846 6.89488C13.0034 7.57013 12.3092 7.97101 11.6338 7.79039L8.93458 7.06773C8.25853 6.88677 7.85784 6.19183 8.03907 5.51597L8.76173 2.82164ZM10.002 3.08531C9.9665 3.0759 9.9305 3.09686 9.92091 3.13219L9.19728 5.8275C9.18805 5.86299 9.20976 5.89909 9.24513 5.90855L11.9434 6.63121C11.9788 6.6407 12.0157 6.61977 12.0254 6.58433L12.7481 3.88902C12.7575 3.85349 12.7366 3.81751 12.7012 3.80797L10.002 3.08531ZM12.0039 11.4388C12.0037 12.9093 10.8103 14.1 9.33986 14.1C7.86945 14.0999 6.67599 12.9093 6.67579 11.4388C6.67579 9.96831 7.86932 8.77673 9.33986 8.77672C10.8104 8.77672 12.0039 9.9683 12.0039 11.4388Z' />,\n);\n\nexport const IconShareRedirectLink = createIcon(\n 'IconShareRedirectLink',\n <path d='M1.9004 11.3662V4.6338C1.9004 4.27046 1.89933 3.96138 1.91993 3.70899C1.94111 3.44973 1.98761 3.1972 2.11036 2.95606C2.29571 2.59227 2.59227 2.29571 2.95606 2.11036C3.1972 1.98761 3.44973 1.94111 3.70899 1.91993C3.96138 1.89933 4.27046 1.9004 4.6338 1.9004H6.167C6.49822 1.90058 6.76661 2.16875 6.76661 2.50001C6.76661 2.83127 6.49822 3.09944 6.167 3.09962H4.6338C4.25065 3.09962 3.99886 3.10053 3.80665 3.11622C3.62142 3.13135 3.54393 3.15732 3.50001 3.1797C3.3622 3.24997 3.24997 3.3622 3.1797 3.50001C3.15732 3.54393 3.13135 3.62142 3.11622 3.80665C3.10053 3.99886 3.09962 4.25065 3.09962 4.6338V11.3662C3.09962 11.7494 3.10053 12.0012 3.11622 12.1934C3.13136 12.3786 3.15732 12.4561 3.1797 12.5C3.24999 12.6379 3.36224 12.7501 3.50001 12.8203C3.54393 12.8427 3.62142 12.8687 3.80665 12.8838C3.99886 12.8995 4.25064 12.9004 4.6338 12.9004H11.3662C11.7494 12.9004 12.0012 12.8995 12.1934 12.8838C12.3786 12.8687 12.4561 12.8427 12.5 12.8203C12.6378 12.7501 12.7501 12.6378 12.8203 12.5C12.8427 12.4561 12.8687 12.3786 12.8838 12.1934C12.8995 12.0012 12.9004 11.7494 12.9004 11.3662V9.83302C12.9006 9.5018 13.1687 9.23341 13.5 9.23341C13.8313 9.23341 14.0994 9.5018 14.0996 9.83302V11.3662C14.0996 11.7296 14.1007 12.0386 14.0801 12.291C14.0589 12.5503 14.0124 12.8028 13.8897 13.044C13.7043 13.4077 13.4077 13.7043 13.044 13.8897C12.8028 14.0124 12.5503 14.0589 12.291 14.0801C12.0386 14.1007 11.7296 14.0996 11.3662 14.0996H4.6338C4.27046 14.0996 3.96138 14.1007 3.70899 14.0801C3.44973 14.0589 3.1972 14.0124 2.95606 13.8897C2.59221 13.7043 2.2957 13.4077 2.11036 13.044C1.98761 12.8028 1.94111 12.5503 1.91993 12.291C1.89933 12.0386 1.9004 11.7296 1.9004 11.3662ZM14.0996 6.83302C14.0996 7.16439 13.8314 7.4336 13.5 7.4336C13.1686 7.4336 12.9004 7.16439 12.9004 6.83302V3.94728L7.75782 9.09083C7.52351 9.32514 7.1435 9.32514 6.90919 9.09083C6.67487 8.85652 6.67487 8.47651 6.90919 8.2422L12.0527 3.09962H9.167C8.83563 3.09962 8.56642 2.83138 8.56642 2.50001C8.56642 2.16864 8.83563 1.9004 9.167 1.9004H13.5C13.8314 1.9004 14.0996 2.16864 14.0996 2.50001V6.83302Z' />,\n);\n\nexport const IconShield = createIcon(\n 'IconShield',\n <path d='M12.9004 4.62815C12.9004 4.31251 12.6979 4.03168 12.3984 3.93186L8.23145 2.54319C8.08106 2.49325 7.91792 2.49211 7.76758 2.54221L7.76855 2.54319L3.60156 3.93186C3.30211 4.03168 3.09961 4.3125 3.09961 4.62815V7.94163C3.09961 9.39817 3.71162 10.4724 4.66309 11.3752C5.56793 12.2338 6.75689 12.9127 8 13.5871C9.24311 12.9127 10.4321 12.2338 11.3369 11.3752C12.2884 10.4724 12.9004 9.39817 12.9004 7.94163V4.62815ZM14.0996 7.94163C14.0996 9.79989 13.2948 11.1714 12.1631 12.2453C11.0538 13.2978 9.60591 14.0875 8.28516 14.8C8.10735 14.8959 7.89265 14.8959 7.71484 14.8C6.39409 14.0875 4.94615 13.2978 3.83691 12.2453C2.70516 11.1714 1.90039 9.79989 1.90039 7.94163V4.62815C1.90039 3.79603 2.43229 3.05638 3.22168 2.79319L7.38867 1.40452L7.53906 1.36155C7.84189 1.2872 8.15811 1.2872 8.46094 1.36155L8.61133 1.40452L12.7783 2.79319C13.5677 3.05637 14.0996 3.79601 14.0996 4.62815V7.94163Z' />,\n);\n\nexport const IconSquareBehindSquare2_Copy = createIcon(\n 'IconSquareBehindSquare2_Copy',\n <path d='M9.56671 6.66632C9.56654 6.53759 9.46209 6.43292 9.33331 6.43292H2.66632C2.53771 6.4331 2.4331 6.53771 2.43292 6.66632V13.3333C2.43292 13.4621 2.53759 13.5665 2.66632 13.5667H9.33331C9.46221 13.5667 9.56671 13.4622 9.56671 13.3333V6.66632ZM10.7669 9.56671H13.3333C13.4622 9.56671 13.5667 9.46221 13.5667 9.33331V2.66632C13.5665 2.53759 13.4621 2.43292 13.3333 2.43292H6.66632C6.53771 2.4331 6.4331 2.53771 6.43292 2.66632V5.2337H9.33331C10.1249 5.2337 10.7667 5.87487 10.7669 6.66632V9.56671ZM14.7669 9.33331C14.7669 10.125 14.125 10.7669 13.3333 10.7669H10.7669V13.3333C10.7669 14.125 10.125 14.7669 9.33331 14.7669H2.66632C1.87487 14.7667 1.2337 14.1249 1.2337 13.3333V6.66632C1.23388 5.87497 1.87497 5.23388 2.66632 5.2337H5.2337V2.66632C5.23388 1.87497 5.87497 1.23388 6.66632 1.2337H13.3333C14.1249 1.2337 14.7667 1.87487 14.7669 2.66632V9.33331Z' />,\n);\n\nexport const IconSquareCircleTopRightFeeds = createIcon(\n 'IconSquareCircleTopRightFeeds',\n <path d='M1.90039 12.1663V3.83333C1.90039 2.76568 2.76541 1.89991 3.83301 1.89973H7.83301C8.16438 1.89973 8.43359 2.16895 8.43359 2.50032C8.43342 2.83154 8.16427 3.09993 7.83301 3.09993H3.83301C3.42815 3.1001 3.09961 3.42843 3.09961 3.83333V12.1663C3.09961 12.5712 3.42814 12.8996 3.83301 12.8997H12.167C12.5719 12.8996 12.9004 12.5713 12.9004 12.1663V8.16633C12.9006 7.83511 13.1687 7.56672 13.5 7.56672C13.8313 7.56672 14.0994 7.83511 14.0996 8.16633V12.1663C14.0996 13.234 13.2346 14.0998 12.167 14.0999H3.83301C2.76541 14.0998 1.90039 13.234 1.90039 12.1663ZM10.0439 2.04329C11.1243 0.963273 12.8757 0.963273 13.9561 2.04329C15.0365 3.12374 15.0365 4.87592 13.9561 5.95637C12.8756 7.0366 11.1244 7.0366 10.0439 5.95637C8.9635 4.87592 8.9635 3.12374 10.0439 2.04329ZM13.1074 2.89192C12.4957 2.28053 11.5043 2.28053 10.8926 2.89192C10.2808 3.50375 10.2808 4.49591 10.8926 5.10774C11.5044 5.71934 12.4956 5.71934 13.1074 5.10774C13.7192 4.49591 13.7192 3.50375 13.1074 2.89192Z' />,\n);\n\nexport const IconStop = createIcon(\n 'IconStop',\n <path d='M10.8224 3H5.17754C4.88079 2.99999 4.63309 2.99999 4.43074 3.01652C4.21969 3.03377 4.02155 3.07105 3.83418 3.16652C3.54671 3.31299 3.31299 3.54671 3.16652 3.83418C3.07105 4.02155 3.03377 4.21969 3.01652 4.43074C2.99999 4.63309 2.99999 4.88078 3 5.17753V10.8224C2.99999 11.1192 2.99999 11.3669 3.01652 11.5693C3.03377 11.7803 3.07105 11.9784 3.16652 12.1658C3.31299 12.4533 3.54671 12.687 3.83418 12.8335C4.02155 12.9289 4.21969 12.9662 4.43074 12.9835C4.63309 13 4.88078 13 5.17753 13H10.8225C11.1192 13 11.3669 13 11.5693 12.9835C11.7803 12.9662 11.9784 12.9289 12.1658 12.8335C12.4533 12.687 12.687 12.4533 12.8335 12.1658C12.9289 11.9784 12.9662 11.7803 12.9835 11.5693C13 11.3669 13 11.1192 13 10.8225V5.17753C13 4.88078 13 4.63309 12.9835 4.43074C12.9662 4.21969 12.9289 4.02155 12.8335 3.83418C12.687 3.54671 12.4533 3.31299 12.1658 3.16652C11.9784 3.07105 11.7803 3.03377 11.5693 3.01652C11.3669 2.99999 11.1192 2.99999 10.8224 3Z' />,\n);\n\nexport const IconTable = createIcon(\n 'IconTable',\n <path d='M7 2.5V2H6V2.5H7ZM6 13.5V14H7V13.5H6ZM2.5 6H2V7H2.5V6ZM13.5 7H14V6H13.5V7ZM13 4.63333V11.3667H14V4.63333H13ZM11.3667 13H4.63333V14H11.3667V13ZM3 11.3667V4.63333H2V11.3667H3ZM4.63333 3H11.3667V2H4.63333V3ZM4.63333 13C4.25171 13 3.99557 12.9996 3.79832 12.9835C3.6069 12.9679 3.51538 12.9399 3.45501 12.9092L3.00102 13.8002C3.22586 13.9147 3.46363 13.9595 3.71689 13.9802C3.96431 14.0004 4.26821 14 4.63333 14V13ZM2 11.3667C2 11.7318 1.99961 12.0357 2.01983 12.2831C2.04052 12.5364 2.08526 12.7741 2.19982 12.999L3.09083 12.545C3.06007 12.4846 3.03215 12.3931 3.01651 12.2017C3.00039 12.0044 3 11.7483 3 11.3667H2ZM3.45501 12.9092C3.29821 12.8293 3.17072 12.7018 3.09083 12.545L2.19982 12.999C2.37559 13.3439 2.65605 13.6244 3.00102 13.8002L3.45501 12.9092ZM13 11.3667C13 11.7483 12.9996 12.0044 12.9835 12.2017C12.9679 12.3931 12.9399 12.4846 12.9092 12.545L13.8002 12.999C13.9147 12.7741 13.9595 12.5364 13.9802 12.2831C14.0004 12.0357 14 11.7318 14 11.3667H13ZM11.3667 14C11.7318 14 12.0357 14.0004 12.2831 13.9802C12.5364 13.9595 12.7741 13.9147 12.999 13.8002L12.545 12.9092C12.4846 12.9399 12.3931 12.9679 12.2017 12.9835C12.0044 12.9996 11.7483 13 11.3667 13V14ZM12.9092 12.545C12.8293 12.7018 12.7018 12.8293 12.545 12.9092L12.999 13.8002C13.3439 13.6244 13.6244 13.3439 13.8002 12.999L12.9092 12.545ZM14 4.63333C14 4.26821 14.0004 3.96431 13.9802 3.71689C13.9595 3.46363 13.9147 3.22586 13.8002 3.00102L12.9092 3.45501C12.9399 3.51538 12.9679 3.6069 12.9835 3.79832C12.9996 3.99557 13 4.25171 13 4.63333H14ZM11.3667 3C11.7483 3 12.0044 3.00039 12.2017 3.01651C12.3931 3.03215 12.4846 3.06007 12.545 3.09083L12.999 2.19982C12.7741 2.08526 12.5364 2.04052 12.2831 2.01983C12.0357 1.99961 11.7318 2 11.3667 2V3ZM13.8002 3.00102C13.6244 2.65605 13.3439 2.37559 12.999 2.19982L12.545 3.09083C12.7018 3.17072 12.8293 3.29821 12.9092 3.45501L13.8002 3.00102ZM3 4.63333C3 4.25171 3.00039 3.99557 3.01651 3.79832C3.03215 3.6069 3.06007 3.51538 3.09083 3.45501L2.19982 3.00102C2.08526 3.22586 2.04052 3.46363 2.01983 3.71689C1.99961 3.96431 2 4.26821 2 4.63333H3ZM4.63333 2C4.26821 2 3.96431 1.99961 3.71689 2.01983C3.46363 2.04052 3.22586 2.08526 3.00102 2.19982L3.45501 3.09083C3.51538 3.06007 3.6069 3.03215 3.79832 3.01651C3.99557 3.00039 4.25171 3 4.63333 3V2ZM3.09083 3.45501C3.17072 3.29821 3.29821 3.17072 3.45501 3.09083L3.00102 2.19982C2.65605 2.37559 2.37559 2.65605 2.19982 3.00102L3.09083 3.45501ZM6 2.5V6.5H7V2.5H6ZM6 6.5V13.5H7V6.5H6ZM2.5 7H6.5V6H2.5V7ZM6.5 7H13.5V6H6.5V7Z' />,\n);\n\nexport const IconTeam = createIcon(\n 'IconTeam',\n <>\n <g clipPath='url(#clip0_792_552)'>\n <path d='M10.8997 11.667C10.8997 10.0655 9.60181 8.76678 8.00033 8.7666C6.3987 8.7666 5.09994 10.0654 5.09994 11.667C5.10012 11.9797 5.35364 12.2332 5.66635 12.2334H10.3333C10.6462 12.2334 10.8996 11.9798 10.8997 11.667ZM2.9017 8.61621C3.2284 8.56144 3.53817 8.78175 3.59311 9.1084C3.64794 9.4352 3.42674 9.74497 3.09994 9.7998C2.29875 9.93432 1.55989 10.4634 1.18783 11.167C1.15757 11.2243 1.1588 11.2592 1.16147 11.2783C1.1647 11.3014 1.1767 11.3378 1.2142 11.3818C1.295 11.4764 1.46133 11.5664 1.66732 11.5664H2.50131C2.8325 11.5666 3.10092 11.8358 3.10092 12.167C3.10067 12.498 2.83235 12.7664 2.50131 12.7666H1.66732C1.13742 12.7666 0.627159 12.5425 0.301114 12.1602C-0.0431868 11.7562 -0.172281 11.1732 0.127286 10.6064C0.677707 9.56557 1.7393 8.81124 2.9017 8.61621ZM13.099 8.61621C14.2614 8.81124 15.323 9.56562 15.8734 10.6064C16.1729 11.1732 16.0439 11.7562 15.6996 12.1602C15.3735 12.5425 14.8633 12.7666 14.3333 12.7666H13.5003C13.1691 12.7666 12.9 12.4982 12.8997 12.167C12.8997 11.8356 13.169 11.5664 13.5003 11.5664H14.3333C14.5394 11.5664 14.7056 11.4764 14.7865 11.3818C14.824 11.3378 14.837 11.3015 14.8402 11.2783C14.8415 11.2688 14.8415 11.2554 14.8382 11.2373L14.8128 11.167C14.4408 10.4634 13.702 9.93425 12.9007 9.7998C12.5739 9.74498 12.3537 9.4352 12.4085 9.1084C12.4635 8.7819 12.7724 8.5616 13.099 8.61621ZM3.73373 6C3.73373 5.5951 3.40519 5.26678 3.00033 5.2666C2.59532 5.2666 2.26693 5.59499 2.26693 6C2.26693 6.40501 2.59532 6.7334 3.00033 6.7334C3.40519 6.73322 3.73373 6.4049 3.73373 6ZM13.7337 6C13.7337 5.5951 13.4052 5.26678 13.0003 5.2666C12.5953 5.2666 12.2669 5.59499 12.2669 6C12.2669 6.40501 12.5953 6.7334 13.0003 6.7334C13.4052 6.73322 13.7337 6.4049 13.7337 6ZM9.06674 4.66699C9.06674 4.078 8.58929 3.59979 8.00033 3.59961C7.41123 3.59961 6.93295 4.07789 6.93295 4.66699C6.93313 5.25595 7.41134 5.7334 8.00033 5.7334C8.58918 5.73322 9.06656 5.25584 9.06674 4.66699ZM12.0999 11.667C12.0998 12.6425 11.3089 13.4336 10.3333 13.4336H5.66635C4.6909 13.4334 3.89992 12.6424 3.89975 11.667C3.89975 9.40262 5.73596 7.56641 8.00033 7.56641C10.2646 7.56658 12.0999 9.40273 12.0999 11.667ZM4.93295 6C4.93295 7.06764 4.06793 7.93342 3.00033 7.93359C1.93258 7.93359 1.06674 7.06775 1.06674 6C1.06674 4.93225 1.93258 4.06641 3.00033 4.06641C4.06793 4.06658 4.93295 4.93236 4.93295 6ZM14.933 6C14.933 7.06764 14.0679 7.93342 13.0003 7.93359C11.9326 7.93359 11.0667 7.06775 11.0667 6C11.0667 4.93225 11.9326 4.06641 13.0003 4.06641C14.0679 4.06658 14.933 4.93236 14.933 6ZM10.2669 4.66699C10.2668 5.91858 9.25192 6.93342 8.00033 6.93359C6.7486 6.93359 5.73391 5.91869 5.73373 4.66699C5.73373 3.41515 6.74849 2.40039 8.00033 2.40039C9.25203 2.40057 10.2669 3.41526 10.2669 4.66699Z' />\n </g>\n <defs>\n <clipPath id='clip0_792_552'>\n <rect fill='white' height='16' width='16' />\n </clipPath>\n </defs>\n </>,\n);\n\nexport const IconTennis = createIcon(\n 'IconTennis',\n <path d='M5.56674 8.00037C5.56674 6.49623 4.96954 5.13258 3.99936 4.13025C3.02955 5.13252 2.43295 6.49655 2.43295 8.00037C2.43304 9.50396 3.02972 10.8673 3.99936 11.8695C4.96937 10.8673 5.56666 9.50428 5.56674 8.00037ZM6.76694 8.00037C6.76685 9.79632 6.06519 11.4282 4.92416 12.639C5.8055 13.2247 6.86239 13.5668 8.00034 13.5668C9.13776 13.5667 10.1935 13.2243 11.0746 12.639C9.93388 11.4283 9.23382 9.796 9.23373 8.00037C9.23373 6.20425 9.93342 4.57067 11.0746 3.35974C10.1936 2.77473 9.1375 2.43305 8.00034 2.43298C6.86265 2.43298 5.80538 2.7743 4.92416 3.35974C6.06564 4.57073 6.76694 6.20393 6.76694 8.00037ZM10.433 8.00037C10.433 9.50396 11.0297 10.8673 11.9994 11.8695C12.9694 10.8673 13.5667 9.50429 13.5667 8.00037C13.5667 6.49622 12.9695 5.13258 11.9994 4.13025C11.0295 5.13252 10.433 6.49655 10.433 8.00037ZM14.7669 8.00037C14.7668 10.0626 13.8428 11.9096 12.389 13.1498C11.2078 14.1574 9.67452 14.7669 8.00034 14.767C6.32595 14.767 4.79201 14.1575 3.61069 13.1498C2.15697 11.9096 1.23383 10.0626 1.23373 8.00037C1.23373 5.93794 2.15685 4.09018 3.61069 2.84998C4.792 1.84228 6.32599 1.23376 8.00034 1.23376C9.67445 1.23384 11.2078 1.84243 12.389 2.84998C13.8429 4.09019 14.7669 5.93794 14.7669 8.00037Z' />,\n);\n\nexport const IconTextToImageURLEnrichment = createIcon(\n 'IconTextToImageURLEnrichment',\n <>\n <path\n clipRule='evenodd'\n d='M6.66666 7.83331C6.66666 6.82078 7.48746 5.99998 8.49999 5.99998H12.8333C13.8459 5.99998 14.6667 6.82078 14.6667 7.83331V12.1666C14.6667 13.1792 13.8459 14 12.8333 14H8.49999C7.48746 14 6.66666 13.1792 6.66666 12.1666V7.83331ZM9.70712 13H12.8333C13.2295 13 13.5612 12.7234 13.6458 12.3528L12.5893 11.2963C12.2638 10.9709 11.7362 10.9709 11.4107 11.2963L9.70712 13ZM13.6667 10.9595L13.2963 10.5892C12.5804 9.87324 11.4196 9.87324 10.7037 10.5892L8.31379 12.9791C7.94319 12.8945 7.66666 12.5628 7.66666 12.1666V7.83331C7.66666 7.37304 8.03972 6.99998 8.49999 6.99998H12.8333C13.2936 6.99998 13.6667 7.37304 13.6667 7.83331V10.9595Z'\n fillRule='evenodd'\n />\n <path d='M10.3333 8.83331C10.3333 9.29358 9.96026 9.66665 9.49999 9.66665C9.03972 9.66665 8.66666 9.29358 8.66666 8.83331C8.66666 8.37304 9.03972 7.99998 9.49999 7.99998C9.96026 7.99998 10.3333 8.37304 10.3333 8.83331Z' />\n <path\n clipRule='evenodd'\n d='M1.83332 2.99998C1.74128 2.99998 1.66666 3.0746 1.66666 3.16664C1.66666 3.44278 1.4428 3.66664 1.16666 3.66664C0.890516 3.66664 0.666656 3.44278 0.666656 3.16664C0.666656 2.52231 1.18899 1.99998 1.83332 1.99998H6.16666C6.81099 1.99998 7.33332 2.52231 7.33332 3.16664C7.33332 3.44278 7.10946 3.66664 6.83332 3.66664C6.55718 3.66664 6.33332 3.44278 6.33332 3.16664C6.33332 3.0746 6.2587 2.99998 6.16666 2.99998H4.49999V8.33331H4.83332C5.10946 8.33331 5.33332 8.55718 5.33332 8.83331C5.33332 9.10944 5.10946 9.33331 4.83332 9.33331H3.16666C2.89052 9.33331 2.66666 9.10944 2.66666 8.83331C2.66666 8.55718 2.89052 8.33331 3.16666 8.33331H3.49999V2.99998H1.83332Z'\n fillRule='evenodd'\n />\n <path d='M13.8368 1.43844C13.7667 1.29827 13.5667 1.29827 13.4966 1.43844L13.0611 2.30938C13.0427 2.34618 13.0129 2.37602 12.9761 2.39443L12.1051 2.8299C11.9649 2.89998 11.9649 3.10001 12.1051 3.1701L12.9761 3.60557C13.0129 3.62397 13.0427 3.65381 13.0611 3.69062L13.4966 4.56156C13.5667 4.70173 13.7667 4.70173 13.8368 4.56156L14.2723 3.69062C14.2907 3.65381 14.3205 3.62397 14.3573 3.60557L15.2283 3.1701C15.3684 3.10001 15.3684 2.89998 15.2283 2.8299L14.3573 2.39443C14.3205 2.37602 14.2907 2.34618 14.2723 2.30938L13.8368 1.43844Z' />\n <path d='M10.1763 2.77561C10.1037 2.63032 9.89632 2.63032 9.82366 2.77561L9.50372 3.41554C9.48466 3.45369 9.45372 3.48462 9.41552 3.5037L8.77566 3.82366C8.63032 3.89631 8.63032 4.10364 8.77566 4.17629L9.41552 4.49626C9.45372 4.51533 9.48466 4.54626 9.50372 4.58441L9.82366 5.22435C9.89632 5.36963 10.1037 5.36963 10.1763 5.22435L10.4963 4.58441C10.5153 4.54626 10.5463 4.51533 10.5845 4.49626L11.2243 4.17629C11.3697 4.10364 11.3697 3.89631 11.2243 3.82366L10.5845 3.5037C10.5463 3.48462 10.5153 3.45369 10.4963 3.41554L10.1763 2.77561Z' />\n <path d='M3.17008 10.7718C3.1 10.6316 2.89998 10.6316 2.8299 10.7718L2.39443 11.6427C2.37602 11.6795 2.34618 11.7094 2.30938 11.7278L1.43845 12.1632C1.29828 12.2333 1.29828 12.4333 1.43845 12.5034L2.30938 12.9388C2.34618 12.9572 2.37602 12.9871 2.39443 13.0239L2.8299 13.8948C2.89998 14.035 3.1 14.035 3.17009 13.8948L3.60555 13.0239C3.62396 12.9871 3.6538 12.9572 3.6906 12.9388L4.56153 12.5034C4.7017 12.4333 4.7017 12.2333 4.56153 12.1632L3.6906 11.7278C3.6538 11.7094 3.62396 11.6795 3.60555 11.6427L3.17008 10.7718Z' />\n </>,\n);\n\nexport const IconThunder = createIcon(\n 'IconThunder',\n <>\n <g clipPath='url(#clip0_792_396)'>\n <path d='M10.9688 1.55531C11.3653 0.373312 9.8676 -0.556097 9.00187 0.388642L2.30975 7.6914C1.62604 8.43753 2.14576 9.65607 3.16967 9.65607H6.38966C6.49908 9.65607 6.58608 9.76573 6.54953 9.88153L5.10289 14.4652C4.72929 15.649 6.22995 16.5515 7.08307 15.6045L13.6976 8.26187C14.3718 7.51347 13.8501 6.30461 12.8309 6.30461H9.611C9.5004 6.30461 9.41307 6.19259 9.45214 6.07613L10.9688 1.55531Z' />\n </g>\n <defs>\n <clipPath id='clip0_792_396'>\n <rect fill='white' height='16' width='16' />\n </clipPath>\n </defs>\n </>,\n);\n\nexport const IconTranslate = createIcon(\n 'IconTranslate',\n <path\n d='M2.5 3.87761H8.16667M5.33333 3.83333V2.5M8 9.5C5.28999 8.79887 3.89659 7.07587 3.5 4M2.66667 9.33333C5.37568 8.6532 6.7692 6.98233 7.16667 4M9.56253 11.4166H13.1041M14.1667 12.8333L11.957 6.98413C11.7399 6.40937 10.9268 6.40937 10.7097 6.98413L8.5 12.8333'\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n />,\n);\n\nexport const IconTrashBin = createIcon(\n 'IconTrashBin',\n <path d='M7.99969 1.06708C9.35431 1.06708 10.4912 1.98524 10.8288 3.23309H13.8337C14.1649 3.23327 14.4333 3.50242 14.4333 3.83368C14.4331 4.16479 14.1648 4.43311 13.8337 4.43329H13.4284L12.8288 12.9684C12.7577 13.981 11.9152 14.7662 10.9001 14.7663H5.10028C4.08508 14.7663 3.24268 13.9811 3.17157 12.9684L2.57196 4.43329H2.16669C1.83542 4.43329 1.56725 4.1649 1.56708 3.83368C1.56708 3.50231 1.83532 3.23309 2.16669 3.23309H5.17157C5.50918 1.98537 6.64525 1.06722 7.99969 1.06708ZM4.36884 12.8845C4.39581 13.2686 4.71521 13.5671 5.10028 13.5671H10.9001C11.2851 13.567 11.6045 13.2685 11.6315 12.8845L12.2253 4.43329H3.77509L4.36884 12.8845ZM6.06708 10.8337V6.99969C6.06725 6.66847 6.33542 6.40009 6.66669 6.40009C6.99795 6.40009 7.26612 6.66847 7.2663 6.99969V10.8337C7.26612 11.1649 6.99795 11.4333 6.66669 11.4333C6.33542 11.4333 6.06725 11.1649 6.06708 10.8337ZM8.73309 10.8337V6.99969C8.73327 6.66847 9.00242 6.40009 9.33368 6.40009C9.66479 6.40026 9.93311 6.66858 9.93329 6.99969V10.8337C9.93311 11.1648 9.66479 11.4331 9.33368 11.4333C9.00242 11.4333 8.73327 11.1649 8.73309 10.8337ZM7.99969 2.2663C7.31836 2.26642 6.73003 2.66111 6.44696 3.23309H9.55341C9.27031 2.66094 8.68122 2.2663 7.99969 2.2663Z' />,\n);\n\nexport const IconTrending4 = createIcon(\n 'IconTrending4',\n <path d='M1.23373 11.4997V3.16669C1.23373 2.83532 1.50197 2.56708 1.83334 2.56708C2.16471 2.56708 2.43295 2.83532 2.43295 3.16669V11.4997C2.43295 11.9046 2.76149 12.2329 3.16635 12.2331H14.1664C14.4977 12.2331 14.7669 12.5023 14.7669 12.8337C14.7668 13.1649 14.4976 13.4333 14.1664 13.4333H3.16635C2.09876 13.4331 1.23373 12.5674 1.23373 11.4997ZM12.2337 7.49969V5.94794L9.75717 8.4245C9.15463 9.02669 8.17794 9.02691 7.57553 8.4245C7.44165 8.29061 7.22504 8.29061 7.09116 8.4245L4.92416 10.5905C4.68985 10.8248 4.30985 10.8248 4.07553 10.5905C3.84165 10.3563 3.84165 9.97709 4.07553 9.74286L6.24252 7.57587C6.84504 6.97335 7.82165 6.97335 8.42416 7.57587C8.55805 7.70975 8.77563 7.70975 8.90952 7.57587L11.3841 5.10028H9.83334C9.50197 5.10028 9.23373 4.83107 9.23373 4.49969C9.23391 4.16847 9.50208 3.90009 9.83334 3.90009H12.8333C13.1646 3.90009 13.4328 4.16847 13.433 4.49969V7.49969C13.433 7.83107 13.1647 8.10028 12.8333 8.10028C12.502 8.10028 12.2337 7.83107 12.2337 7.49969Z' />,\n);\n\nexport const IconTrophy = createIcon(\n 'IconTrophy',\n <path d='M10.8997 13.0004C10.8997 12.6874 10.6463 12.433 10.3333 12.433H5.66635C5.35354 12.4332 5.09995 12.6875 5.09995 13.0004C5.10012 13.3131 5.35365 13.5666 5.66635 13.5668H10.3333C10.6462 13.5668 10.8996 13.3132 10.8997 13.0004ZM5.16635 2.43298C4.7616 2.43316 4.43313 2.76163 4.43295 3.16638V6.16638C4.43295 8.04414 5.95558 9.56677 7.83334 9.56677H8.16635C10.0441 9.56677 11.5667 8.04414 11.5667 6.16638V3.16638C11.5666 2.76152 11.2383 2.43298 10.8333 2.43298H5.16635ZM13.5667 4.50037C13.5667 4.09535 13.2384 3.76697 12.8333 3.76697H12.7669V6.09607C13.2393 5.87113 13.5667 5.39138 13.5667 4.83337V4.50037ZM2.43295 4.83337C2.43295 5.39173 2.76091 5.87229 3.23373 6.09705V3.76697H3.16635C2.76149 3.76714 2.43295 4.09547 2.43295 4.50037V4.83337ZM14.7669 4.83337C14.7669 6.12182 13.8289 7.18781 12.599 7.39392C12.0992 9.20306 10.5237 10.5638 8.60287 10.7445V11.2338H10.3333C11.309 11.2338 12.0999 12.0247 12.0999 13.0004C12.0998 13.9759 11.3089 14.767 10.3333 14.767H5.66635C4.69091 14.7668 3.89993 13.9758 3.89975 13.0004C3.89975 12.0248 4.6908 11.2339 5.66635 11.2338H7.40268V10.7455C5.47918 10.5668 3.89995 9.20498 3.39975 7.39392C2.17048 7.18728 1.23373 6.12138 1.23373 4.83337V4.50037C1.23373 3.43272 2.09875 2.56695 3.16635 2.56677H3.32944C3.58194 1.79299 4.3083 1.23391 5.16635 1.23376H10.8333C11.6915 1.23377 12.4177 1.79295 12.6703 2.56677H12.8333C13.9011 2.56677 14.7669 3.43262 14.7669 4.50037V4.83337Z' />,\n);\n\nexport const IconUnlocked = createIcon(\n 'IconUnlocked',\n <path d='M12.2331 7.83337C12.2331 7.42834 11.9047 7.09998 11.4997 7.09998H4.49966C4.0948 7.10015 3.76627 7.42846 3.76627 7.83337V12.8334C3.76627 13.2383 4.0948 13.5666 4.49966 13.5668H11.4997C11.9047 13.5668 12.2331 13.2384 12.2331 12.8334V7.83337ZM7.40005 11.3334V9.33337C7.40005 9.00211 7.66844 8.73394 7.99966 8.73376C8.33104 8.73376 8.60025 9.002 8.60025 9.33337V11.3334C8.60025 11.6647 8.33104 11.933 7.99966 11.933C7.66844 11.9328 7.40005 11.6646 7.40005 11.3334ZM13.4333 12.8334C13.4333 13.9011 12.5674 14.767 11.4997 14.767H4.49966C3.43207 14.7668 2.56705 13.901 2.56705 12.8334V7.83337C2.56705 6.76571 3.43207 5.89996 4.49966 5.89978H4.56705V4.66638C4.56722 2.77046 6.10374 1.23394 7.99966 1.23376C9.69077 1.23376 11.0955 2.45571 11.3805 4.06482C11.4382 4.39102 11.2204 4.70236 10.8942 4.76013C10.568 4.81777 10.2567 4.60001 10.1989 4.2738C10.0136 3.22781 9.09868 2.43298 7.99966 2.43298C6.76649 2.43316 5.76644 3.4332 5.76627 4.66638V5.89978H11.4997C12.5674 5.89978 13.4333 6.7656 13.4333 7.83337V12.8334Z' />,\n);\n\nexport const IconUnpin = createIcon(\n 'IconUnpin',\n <path\n d='M7.83334 4.66666L8.85241 2.52971C9.25014 1.70108 10.3473 1.51394 10.9973 2.16388L13.8361 5.00274C14.486 5.65267 14.2989 6.74986 13.4703 7.14759L11.3333 8.16666M5.58334 10.4167L8.13948 12.9728C8.91174 13.745 10.234 13.3121 10.4001 12.2327L10.6466 10.6305M5.58334 10.4167L3.02722 7.86052C2.25496 7.08826 2.68785 5.76595 3.76729 5.59988L5.36948 5.35339M5.58334 10.4167L5.58824 10.4117M5.58334 10.4167L2.50001 13.5M1.83334 1.83332L14.1667 14.1667'\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth='1.2'\n />,\n);\n\nexport const IconUsers = createIcon(\n 'IconUsers',\n <path d='M11.6012 8.80597C11.7118 8.49361 12.0545 8.3301 12.3668 8.44073C14.0487 9.03645 15.3541 10.3951 15.8659 12.0062C16.0482 12.5804 15.8812 13.1275 15.5348 13.5101C15.1982 13.8819 14.6962 14.0999 14.1666 14.0999H13.8336C13.5024 14.0999 13.2332 13.8315 13.233 13.5003C13.233 13.1689 13.5023 12.8997 13.8336 12.8997H14.1666C14.3735 12.8997 14.5467 12.8132 14.6452 12.7044C14.7339 12.6064 14.7619 12.4971 14.7213 12.3694C14.3254 11.1233 13.3004 10.0442 11.9664 9.57159C11.6542 9.461 11.4908 9.11823 11.6012 8.80597ZM6.16566 7.89972C8.93419 7.89985 11.3034 9.65621 12.0348 11.9866C12.2151 12.5611 12.0473 13.1076 11.7008 13.4896C11.3638 13.861 10.8612 14.0794 10.3317 14.0794H1.99867C1.46923 14.0794 0.967516 13.8609 0.630508 13.4896C0.283919 13.1076 0.115249 12.5611 0.295547 11.9866C1.02701 9.65608 3.39701 7.89972 6.16566 7.89972ZM6.16566 9.09991C3.88889 9.09991 2.00603 10.5461 1.44106 12.346C1.40086 12.4741 1.42959 12.5842 1.51918 12.6829C1.61835 12.7922 1.79184 12.8792 1.99867 12.8792H10.3317C10.5384 12.8792 10.712 12.7922 10.8112 12.6829C10.9008 12.5842 10.9304 12.4741 10.8903 12.346C10.3254 10.5461 8.44236 9.10005 6.16566 9.09991ZM7.90004 4.16632C7.89986 3.20917 7.12383 2.43292 6.16664 2.43292C5.20945 2.43292 4.43342 3.20917 4.43324 4.16632C4.43324 5.12362 5.20935 5.89972 6.16664 5.89972C7.12394 5.89972 7.90004 5.12362 7.90004 4.16632ZM11.733 4.16632C11.7329 3.20917 10.9568 2.43292 9.99965 2.43292C9.66843 2.43275 9.40004 2.16458 9.40004 1.83331C9.40004 1.50205 9.66843 1.23388 9.99965 1.2337C11.6196 1.2337 12.9331 2.54643 12.9332 4.16632C12.9332 5.78636 11.6197 7.09991 9.99965 7.09991C9.66854 7.09974 9.40022 6.83142 9.40004 6.50031C9.40004 6.16904 9.66843 5.8999 9.99965 5.89972C10.9569 5.89972 11.733 5.12362 11.733 4.16632ZM9.10023 4.16632C9.10023 5.78636 7.78668 7.09991 6.16664 7.09991C4.5466 7.09991 3.23305 5.78636 3.23305 4.16632C3.23322 2.54643 4.54671 1.2337 6.16664 1.2337C7.78657 1.2337 9.10006 2.54643 9.10023 4.16632Z' />,\n);\n\nexport const IconVideo = createIcon(\n 'IconVideo',\n <path d='M13.5667 5.74579C13.5667 5.69623 13.5144 5.66406 13.4701 5.68622L10.7669 7.03778V8.96259L13.4701 10.3141C13.5144 10.3363 13.5667 10.304 13.5667 10.2546V5.74579ZM9.56674 4.49969C9.56657 4.09483 9.23826 3.7663 8.83334 3.7663H3.16635C2.7616 3.76647 2.43313 4.09494 2.43295 4.49969V11.4997C2.43295 11.9046 2.76149 12.2329 3.16635 12.2331H8.83334C9.23837 12.2331 9.56674 11.9047 9.56674 11.4997V4.49969ZM10.7669 5.69501L12.9339 4.612C13.776 4.19137 14.7669 4.80435 14.7669 5.74579V10.2546C14.7669 11.1961 13.7761 11.8082 12.9339 11.3874L10.7669 10.3034V11.4997C10.7669 12.5675 9.90111 13.4333 8.83334 13.4333H3.16635C2.09876 13.4331 1.23373 12.5674 1.23373 11.4997V4.49969C1.23391 3.4322 2.09886 2.56725 3.16635 2.56708H8.83334C9.90101 2.56708 10.7668 3.4321 10.7669 4.49969V5.69501Z' />,\n);\n\nexport const IconVideoSolid = createIcon(\n 'IconVideoSolid',\n <path\n clipRule='evenodd'\n d='M1.33337 4.50002C1.33337 3.4875 2.15419 2.66669 3.16671 2.66669H8.83337C9.84591 2.66669 10.6667 3.4875 10.6667 4.50002V5.85796L12.9783 4.70217C13.754 4.31431 14.6667 4.87839 14.6667 5.74567V10.255C14.6667 11.1222 13.754 11.6863 12.9783 11.2984L10.6667 10.1427V11.5C10.6667 12.5126 9.84591 13.3334 8.83337 13.3334H3.16671C2.15419 13.3334 1.33337 12.5126 1.33337 11.5V4.50002Z'\n fillRule='evenodd'\n />,\n);\n\nexport const IconVoiceAndVideo = createIcon(\n 'IconVoiceAndVideo',\n <>\n <g clipPath='url(#clip0_792_508)'>\n <path d='M-0.0996094 8.49969C-0.0994333 8.16847 0.168738 7.90009 0.5 7.90009C0.831262 7.90009 1.09943 8.16847 1.09961 8.49969C1.09961 10.584 2.71914 12.2331 4.66699 12.2331C6.61472 12.2329 8.2334 10.5839 8.2334 8.49969C8.23357 8.16858 8.5019 7.90026 8.83301 7.90009C9.16427 7.90009 9.43342 8.16847 9.43359 8.49969C9.43359 11.2018 7.32137 13.4331 4.66699 13.4333C2.01248 13.4333 -0.0996094 11.2019 -0.0996094 8.49969ZM14.9004 6.4079C14.9004 6.35849 14.848 6.32551 14.8037 6.34735L13.4336 7.02606V8.97333L14.8037 9.65204L14.8379 9.65887C14.871 9.65654 14.9004 9.6294 14.9004 9.59247V6.4079ZM6.2334 5.33368C6.2334 4.46854 5.53209 3.76647 4.66699 3.7663C3.80174 3.7663 3.09961 4.46843 3.09961 5.33368V8.66669C3.09961 9.53192 3.80175 10.2331 4.66699 10.2331C5.53209 10.2329 6.2334 9.53181 6.2334 8.66669V5.33368ZM16.0996 9.59247C16.0996 10.5319 15.1133 11.1446 14.2715 10.7282L13.4336 10.3122V10.8337C13.4334 11.9013 12.5677 12.7663 11.5 12.7663H10.5C10.1686 12.7663 9.90039 12.4981 9.90039 12.1667C9.90039 11.8353 10.1686 11.5671 10.5 11.5671H11.5C11.9049 11.5671 12.2332 11.2386 12.2334 10.8337V5.16669C12.2334 4.76167 11.905 4.43329 11.5 4.43329H9.16699C8.83573 4.43329 8.56658 4.1649 8.56641 3.83368C8.56641 3.50231 8.83562 3.23309 9.16699 3.23309H11.5C12.5678 3.23309 13.4336 4.09894 13.4336 5.16669V5.68622L14.2715 5.27216C15.1133 4.85552 16.0996 5.4685 16.0996 6.4079V9.59247ZM7.43359 8.66669C7.43359 10.1945 6.19484 11.4331 4.66699 11.4333C3.139 11.4333 1.90039 10.1947 1.90039 8.66669V5.33368C1.90039 3.80569 3.139 2.56708 4.66699 2.56708C6.19483 2.56725 7.43359 3.8058 7.43359 5.33368V8.66669Z' />\n </g>\n <defs>\n <clipPath id='clip0_792_508'>\n <rect fill='white' height='16' width='16' />\n </clipPath>\n </defs>\n </>,\n);\n\nexport const IconVoiceHigh = createIcon(\n 'IconVoiceHigh',\n <path d='M4.56641 13.5V2.5C4.56641 2.16863 4.83562 1.90039 5.16699 1.90039C5.49821 1.90057 5.7666 2.16874 5.7666 2.5V13.5C5.7666 13.8313 5.49821 14.0994 5.16699 14.0996C4.83562 14.0996 4.56641 13.8314 4.56641 13.5ZM10.2334 12.167V3.83301C10.2336 3.5019 10.5019 3.23357 10.833 3.2334C11.1643 3.2334 11.4334 3.50179 11.4336 3.83301V12.167C11.4334 12.4982 11.1643 12.7666 10.833 12.7666C10.5019 12.7664 10.2336 12.4981 10.2334 12.167ZM7.40039 10.833V5.16699C7.40039 4.83562 7.66863 4.56641 8 4.56641C8.33137 4.56641 8.59961 4.83562 8.59961 5.16699V10.833C8.59961 11.1644 8.33137 11.4336 8 11.4336C7.66863 11.4336 7.40039 11.1644 7.40039 10.833ZM1.90039 9.5V6.5C1.90039 6.16863 2.16863 5.90039 2.5 5.90039C2.83137 5.90039 3.09961 6.16863 3.09961 6.5V9.5C3.09961 9.83137 2.83137 10.0996 2.5 10.0996C2.16863 10.0996 1.90039 9.83137 1.90039 9.5ZM12.9004 9.5V6.5C12.9004 6.16863 13.1686 5.90039 13.5 5.90039C13.8314 5.90039 14.0996 6.16863 14.0996 6.5V9.5C14.0996 9.83137 13.8314 10.0996 13.5 10.0996C13.1686 10.0996 12.9004 9.83137 12.9004 9.5Z' />,\n);\n\nexport const IconVolumeFull = createIcon(\n 'IconVolumeFull',\n <path d='M14.2331 8.00005C14.2331 6.2786 13.5365 4.72053 12.4079 3.59185C12.1736 3.35753 12.1736 2.97752 12.4079 2.74322C12.6422 2.50928 13.0223 2.50906 13.2565 2.74322C14.601 4.08773 15.4333 5.94755 15.4333 8.00005C15.4332 10.0523 14.6008 11.9115 13.2565 13.2559C13.0222 13.4902 12.6422 13.4901 12.4079 13.2559C12.1736 13.0216 12.1736 12.6416 12.4079 12.4073C13.5364 11.2787 14.233 9.72127 14.2331 8.00005ZM11.067 8.00005C11.067 7.15323 10.724 6.38764 10.1686 5.83209C9.9343 5.59778 9.93432 5.21777 10.1686 4.98345C10.4029 4.74914 10.7829 4.74914 11.0172 4.98345C11.7885 5.75485 12.2662 6.82219 12.2663 8.00005C12.2663 9.1781 11.7887 10.2462 11.0172 11.0176C10.783 11.2518 10.4029 11.2516 10.1686 11.0176C9.93432 10.7833 9.93437 10.4033 10.1686 10.169C10.7242 9.61339 11.067 8.84707 11.067 8.00005ZM8.76627 13.1827C8.76619 13.9433 7.90514 14.3841 7.28775 13.9395L3.99869 11.5713C3.87395 11.4815 3.7238 11.4337 3.56998 11.4336H2.49966C1.4321 11.4335 0.567092 10.5677 0.567047 9.50005V6.50005C0.567047 5.43241 1.43206 4.56664 2.49966 4.56646H3.56998C3.72375 4.56645 3.87389 4.51862 3.99869 4.42877L7.28775 2.05962L7.40591 1.98638C8.00924 1.6713 8.76627 2.1041 8.76627 2.81744V13.1827ZM1.76627 9.50005C1.76631 9.90493 2.09483 10.2333 2.49966 10.2335H3.56998C3.97535 10.2335 4.37078 10.3607 4.69986 10.5977L7.56705 12.6612V3.33795L4.69986 5.4024C4.37084 5.63929 3.9754 5.76665 3.56998 5.76666H2.49966C2.0948 5.76683 1.76627 6.09515 1.76627 6.50005V9.50005Z' />,\n);\n\nexport const IconWebhook = createIcon(\n 'IconWebhook',\n <path d='M9.2334 4.33301C9.23322 3.65201 8.68104 3.09961 8 3.09961C7.31896 3.09961 6.76678 3.65201 6.7666 4.33301C6.7666 5.01416 7.31885 5.56641 8 5.56641C8.68115 5.56641 9.2334 5.01416 9.2334 4.33301ZM10.4336 4.33301C10.4336 5.46966 9.65309 6.42108 8.59961 6.68848V10.75C8.59961 11.9374 9.56257 12.9004 10.75 12.9004C11.9374 12.9004 12.9004 11.9374 12.9004 10.75V10.002L11.9502 10.8467L11.1533 9.9502L14.0996 7.33008V10.75C14.0996 12.6002 12.6002 14.0996 10.75 14.0996C9.61085 14.0996 8.60524 13.5309 8 12.6621C7.39476 13.5309 6.38915 14.0996 5.25 14.0996C3.39985 14.0996 1.90039 12.6002 1.90039 10.75V7.33008L4.84668 9.9502L4.0498 10.8467L3.09961 10.002V10.75C3.09961 11.9374 4.06259 12.9004 5.25 12.9004C6.43743 12.9004 7.40039 11.9374 7.40039 10.75V6.68848C6.34691 6.42108 5.56641 5.46966 5.56641 4.33301C5.56658 2.98926 6.65622 1.90039 8 1.90039C9.34378 1.90039 10.4334 2.98926 10.4336 4.33301Z' />,\n);\n\nexport const IconArchive = createIcon(\n 'IconArchive',\n <path\n d='M6.66683 7.83333H9.3335M13.5002 11.3667V5.16667H2.50016V11.3667C2.50016 12.1134 2.50016 12.4868 2.64549 12.772C2.77332 13.0229 2.97729 13.2269 3.22818 13.3547C3.51339 13.5 3.88676 13.5 4.6335 13.5H11.3668C12.1136 13.5 12.487 13.5 12.7722 13.3547C13.023 13.2269 13.227 13.0229 13.3548 12.772C13.5002 12.4868 13.5002 12.1134 13.5002 11.3667ZM1.8335 2.5H14.1668V5.16667H1.8335V2.5Z'\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth='1.5'\n />,\n);\n\nexport const IconLoadingCircle = createIcon(\n 'IconLoadingCircle',\n <>\n <path\n d='M17.5 10C17.5 14.1422 14.1422 17.5 10 17.5C5.85787 17.5 2.5 14.1422 2.5 10C2.5 5.85787 5.85787 2.5 10 2.5C14.1422 2.5 17.5 5.85787 17.5 10Z'\n fill='none'\n opacity='0.25'\n stroke='currentColor'\n strokeWidth='1.5'\n />\n <path\n d='M17.4542 10.8333C17.0698 14.3096 14.3096 17.0698 10.8333 17.4542'\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeWidth='1.5'\n />\n </>,\n {\n viewBox: '0 0 20 20',\n },\n);\n","import React from 'react';\n\nimport { useTranslationContext } from '../../context/TranslationContext';\nimport { IconBubble2ChatMessage, IconBubbles } from '../Icons';\n\nexport type EmptyStateIndicatorProps = {\n /** List Type: channel | message */\n listType?: 'channel' | 'message' | 'thread';\n messageText?: string;\n};\n\nconst UnMemoizedEmptyStateIndicator = (props: EmptyStateIndicatorProps) => {\n const { listType, messageText } = props;\n\n const { t } = useTranslationContext('EmptyStateIndicator');\n\n if (listType === 'thread') return null;\n\n if (listType === 'channel') {\n const text = t('No conversations yet');\n return (\n <div className='str-chat__channel-list-empty'>\n <IconBubbles />\n <p role='listitem'>{text}</p>\n </div>\n );\n }\n\n if (listType === 'message') {\n const text = t(messageText || 'Send a message to start the conversation');\n return (\n <div className='str-chat__empty-channel'>\n <IconBubble2ChatMessage />\n <p className='str-chat__empty-channel-text' role='listitem'>\n {text}\n </p>\n </div>\n );\n }\n\n return <p>{t('No items exist')}</p>;\n};\n\nexport const EmptyStateIndicator = React.memo(\n UnMemoizedEmptyStateIndicator,\n) as typeof UnMemoizedEmptyStateIndicator;\n","import type {\n Channel,\n LocalMessage,\n MessageResponse,\n ChannelState as StreamChannelState,\n} from 'stream-chat';\n\nimport type { ChannelState } from '../../context/ChannelStateContext';\n\nexport type ChannelStateReducerAction =\n | {\n type: 'closeThread';\n }\n | {\n type: 'clearHighlightedMessage';\n }\n | {\n channel: Channel;\n type: 'copyMessagesFromChannel';\n parentId?: string | null;\n }\n | {\n channel: Channel;\n type: 'copyStateFromChannelOnEvent';\n }\n | {\n hasMore: boolean;\n hasMoreNewer: boolean;\n messages: LocalMessage[];\n type: 'jumpToLatestMessageFinished';\n }\n | {\n channel: Channel;\n highlightedMessageId: string;\n type: 'jumpToMessageFinished';\n }\n | {\n channel: Channel;\n hasMore: boolean;\n type: 'initStateFromChannel';\n }\n | {\n hasMore: boolean;\n messages: LocalMessage[];\n type: 'loadMoreFinished';\n }\n | {\n hasMoreNewer: boolean;\n messages: LocalMessage[];\n type: 'loadMoreNewerFinished';\n }\n | {\n threadHasMore: boolean;\n threadMessages: Array<ReturnType<StreamChannelState['formatMessage']>>;\n type: 'loadMoreThreadFinished';\n }\n | {\n channel: Channel;\n message: LocalMessage;\n type: 'openThread';\n }\n | {\n error: Error;\n type: 'setError';\n }\n | {\n loadingMore: boolean;\n type: 'setLoadingMore';\n }\n | {\n loadingMoreForJumpToChannelMessage: boolean;\n type: 'setLoadingMoreForJumpToChannelMessage';\n }\n | {\n loadingMoreNewer: boolean;\n type: 'setLoadingMoreNewer';\n }\n | {\n message: LocalMessage;\n type: 'setThread';\n }\n | {\n channel: Channel;\n type: 'setTyping';\n }\n | {\n type: 'startLoadingThread';\n }\n | {\n channel: Channel;\n message: MessageResponse;\n type: 'updateThreadOnEvent';\n };\n\nexport const makeChannelReducer =\n () => (state: ChannelState, action: ChannelStateReducerAction) => {\n switch (action.type) {\n case 'closeThread': {\n return {\n ...state,\n thread: null,\n threadLoadingMore: false,\n threadMessages: [],\n };\n }\n\n case 'copyMessagesFromChannel': {\n const { channel, parentId } = action;\n return {\n ...state,\n messages: [...channel.state.messages],\n pinnedMessages: [...channel.state.pinnedMessages],\n // copying messages from channel happens with new message - this resets the suppressAutoscroll\n suppressAutoscroll: false,\n threadMessages: parentId\n ? { ...channel.state.threads }[parentId] || []\n : state.threadMessages,\n };\n }\n\n case 'copyStateFromChannelOnEvent': {\n const { channel } = action;\n return {\n ...state,\n members: { ...channel.state.members },\n messages: [...channel.state.messages],\n pinnedMessages: [...channel.state.pinnedMessages],\n read: { ...channel.state.read },\n watcherCount: channel.state.watcher_count,\n watchers: { ...channel.state.watchers },\n };\n }\n\n case 'initStateFromChannel': {\n const { channel, hasMore } = action;\n return {\n ...state,\n hasMore,\n loading: false,\n members: { ...channel.state.members },\n messages: [...channel.state.messages],\n pinnedMessages: [...channel.state.pinnedMessages],\n read: { ...channel.state.read },\n watcherCount: channel.state.watcher_count,\n watchers: { ...channel.state.watchers },\n };\n }\n\n case 'jumpToLatestMessageFinished': {\n const { hasMore, hasMoreNewer, messages } = action;\n return {\n ...state,\n hasMore,\n hasMoreNewer,\n highlightedMessageId: undefined,\n loading: false,\n messages,\n suppressAutoscroll: false,\n };\n }\n\n case 'jumpToMessageFinished': {\n return {\n ...state,\n hasMore: action.channel.state.messagePagination.hasPrev,\n hasMoreNewer: action.channel.state.messagePagination.hasNext,\n highlightedMessageId: action.highlightedMessageId,\n loadingMore: false,\n loadingMoreForJumpToChannelMessage: false,\n messages: action.channel.state.messages,\n suppressAutoscroll: false,\n };\n }\n\n case 'clearHighlightedMessage': {\n return {\n ...state,\n highlightedMessageId: undefined,\n };\n }\n\n case 'loadMoreFinished': {\n const { hasMore, messages } = action;\n return {\n ...state,\n hasMore,\n loadingMore: false,\n messages,\n suppressAutoscroll: false,\n };\n }\n\n case 'loadMoreNewerFinished': {\n const { hasMoreNewer, messages } = action;\n return {\n ...state,\n hasMoreNewer,\n loadingMoreNewer: false,\n messages,\n };\n }\n\n case 'loadMoreThreadFinished': {\n const { threadHasMore, threadMessages } = action;\n return {\n ...state,\n threadHasMore,\n threadLoadingMore: false,\n threadMessages,\n };\n }\n\n case 'openThread': {\n const { channel, message } = action;\n return {\n ...state,\n thread: message,\n threadHasMore: true,\n threadMessages: message.id\n ? { ...channel.state.threads }[message.id] || []\n : [],\n threadSuppressAutoscroll: false,\n };\n }\n\n case 'setError': {\n const { error } = action;\n return { ...state, error };\n }\n\n case 'setLoadingMore': {\n const { loadingMore } = action;\n // suppress the autoscroll behavior\n return { ...state, loadingMore, suppressAutoscroll: loadingMore };\n }\n\n case 'setLoadingMoreForJumpToChannelMessage': {\n const { loadingMoreForJumpToChannelMessage } = action;\n return {\n ...state,\n loadingMoreForJumpToChannelMessage,\n suppressAutoscroll: loadingMoreForJumpToChannelMessage,\n };\n }\n\n case 'setLoadingMoreNewer': {\n const { loadingMoreNewer } = action;\n return { ...state, loadingMoreNewer };\n }\n\n case 'setThread': {\n const { message } = action;\n return { ...state, thread: message };\n }\n\n case 'setTyping': {\n const { channel } = action;\n return {\n ...state,\n typing: { ...channel.state.typing },\n };\n }\n\n case 'startLoadingThread': {\n return {\n ...state,\n threadLoadingMore: true,\n threadSuppressAutoscroll: true,\n };\n }\n\n case 'updateThreadOnEvent': {\n const { channel, message } = action;\n if (!state.thread) return state;\n return {\n ...state,\n thread:\n message?.id === state.thread.id\n ? channel.state.formatMessage(message)\n : state.thread,\n threadMessages: state.thread?.id\n ? { ...channel.state.threads }[state.thread.id] || []\n : [],\n };\n }\n\n default:\n return state;\n }\n };\n\nexport const initialState = {\n error: null,\n hasMore: true,\n hasMoreNewer: false,\n loading: true,\n loadingMore: false,\n loadingMoreForJumpToChannelMessage: false,\n members: {},\n messages: [],\n pinnedMessages: [],\n read: {},\n suppressAutoscroll: false,\n thread: null,\n threadHasMore: true,\n threadLoadingMore: false,\n threadMessages: [],\n threadSuppressAutoscroll: false,\n typing: {},\n watcherCount: 0,\n watchers: {},\n};\n","import { useMemo } from 'react';\n\nimport { isDate, isDayOrMoment } from '../../../i18n';\n\nimport type { ChannelStateContextValue } from '../../../context/ChannelStateContext';\n\nexport const useCreateChannelStateContext = (\n value: Omit<ChannelStateContextValue, 'channelCapabilities'> & {\n channelCapabilitiesArray: string[];\n skipMessageDataMemoization?: boolean;\n },\n) => {\n const {\n channel,\n channelCapabilitiesArray = [],\n channelConfig,\n channelUnreadUiState,\n error,\n giphyVersion,\n hasMore,\n hasMoreNewer,\n highlightedMessageId,\n imageAttachmentSizeHandler,\n loading,\n loadingMore,\n loadingMoreForJumpToChannelMessage,\n members,\n messages = [],\n mutes,\n notifications,\n pinnedMessages,\n read = {},\n shouldGenerateVideoThumbnail,\n skipMessageDataMemoization,\n suppressAutoscroll,\n thread,\n threadHasMore,\n threadLoadingMore,\n threadMessages = [],\n videoAttachmentSizeHandler,\n watcher_count,\n watcherCount,\n watchers,\n } = value;\n\n const channelId = channel.cid;\n const lastRead = channel.initialized && channel.lastRead()?.getTime();\n const membersLength = Object.keys(members || []).length;\n const notificationsLength = notifications.length;\n const readUsers = Object.values(read);\n const readUsersLength = readUsers.length;\n const readUsersLastReadDateStrings: string[] = [];\n for (const { last_read } of readUsers) {\n if (!lastRead) continue;\n readUsersLastReadDateStrings.push(last_read?.toISOString());\n }\n const readUsersLastReads = readUsersLastReadDateStrings.join();\n const threadMessagesLength = threadMessages?.length;\n\n const channelCapabilities: Record<string, boolean> = {};\n\n channelCapabilitiesArray.forEach((capability) => {\n channelCapabilities[capability] = true;\n });\n\n // FIXME: this is crazy - I could not find out why the messages were not getting updated when only message properties that are not part\n // of this serialization has been changed. A great example of memoization gone wrong.\n const memoizedMessageData = skipMessageDataMemoization\n ? messages\n : messages\n .map(\n ({\n deleted_at,\n latest_reactions,\n pinned,\n reply_count,\n status,\n type,\n updated_at,\n user,\n }) =>\n `${type}${deleted_at}${\n latest_reactions ? latest_reactions.map(({ type }) => type).join() : ''\n }${pinned}${reply_count}${status}${\n updated_at && (isDayOrMoment(updated_at) || isDate(updated_at))\n ? updated_at.toISOString()\n : updated_at || ''\n }${user?.updated_at}`,\n )\n .join();\n\n const memoizedThreadMessageData = threadMessages\n .map(\n ({ deleted_at, latest_reactions, pinned, status, updated_at, user }) =>\n `${deleted_at}${\n latest_reactions ? latest_reactions.map(({ type }) => type).join() : ''\n }${pinned}${status}${\n updated_at && (isDayOrMoment(updated_at) || isDate(updated_at))\n ? updated_at.toISOString()\n : updated_at || ''\n }${user?.updated_at}`,\n )\n .join();\n\n const channelStateContext: ChannelStateContextValue = useMemo(\n () => ({\n channel,\n channelCapabilities,\n channelConfig,\n channelUnreadUiState,\n error,\n giphyVersion,\n hasMore,\n hasMoreNewer,\n highlightedMessageId,\n imageAttachmentSizeHandler,\n loading,\n loadingMore,\n loadingMoreForJumpToChannelMessage,\n members,\n messages,\n mutes,\n notifications,\n pinnedMessages,\n read,\n shouldGenerateVideoThumbnail,\n suppressAutoscroll,\n thread,\n threadHasMore,\n threadLoadingMore,\n threadMessages,\n videoAttachmentSizeHandler,\n watcher_count,\n watcherCount,\n watchers,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n channel.data?.name, // otherwise ChannelHeader will not be updated\n channelId,\n channelUnreadUiState,\n error,\n hasMore,\n hasMoreNewer,\n highlightedMessageId,\n lastRead,\n loading,\n loadingMore,\n loadingMoreForJumpToChannelMessage,\n membersLength,\n memoizedMessageData,\n memoizedThreadMessageData,\n notificationsLength,\n readUsersLength,\n readUsersLastReads,\n shouldGenerateVideoThumbnail,\n skipMessageDataMemoization,\n suppressAutoscroll,\n thread,\n threadHasMore,\n threadLoadingMore,\n threadMessagesLength,\n watcherCount,\n ],\n );\n\n return channelStateContext;\n};\n","import { useMemo } from 'react';\n\nimport type { TypingContextValue } from '../../../context/TypingContext';\n\nexport const useCreateTypingContext = (value: TypingContextValue) => {\n const { typing } = value;\n\n const typingValue = Object.keys(typing || {}).join();\n\n const typingContext: TypingContextValue = useMemo(\n () => ({\n typing,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [typingValue],\n );\n\n return typingContext;\n};\n","import type {\n LocalMessage,\n MessageResponse,\n StreamChat,\n UpdateMessageOptions,\n} from 'stream-chat';\n\nimport { useChatContext } from '../../../context/ChatContext';\n\ntype UpdateHandler = (\n cid: string,\n updatedMessage: LocalMessage | MessageResponse,\n options?: UpdateMessageOptions,\n) => ReturnType<StreamChat['updateMessage']>;\n\nexport const useEditMessageHandler = (doUpdateMessageRequest?: UpdateHandler) => {\n const { channel, client } = useChatContext('useEditMessageHandler');\n\n return (\n updatedMessage: LocalMessage | MessageResponse,\n options?: UpdateMessageOptions,\n ) => {\n if (doUpdateMessageRequest && channel) {\n return Promise.resolve(\n doUpdateMessageRequest(channel.cid, updatedMessage, options),\n );\n }\n return client.updateMessage(updatedMessage, undefined, options);\n };\n};\n","import { useEffect, useRef } from 'react';\n\nexport const useIsMounted = () => {\n const isMounted = useRef(false);\n\n useEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n return isMounted;\n};\n","import type React from 'react';\nimport { useCallback } from 'react';\nimport type { UserResponse } from 'stream-chat';\n\nexport type OnMentionAction = (\n event: React.BaseSyntheticEvent,\n user?: UserResponse,\n) => void;\n\nexport const useMentionsHandlers = (\n onMentionsHover?: OnMentionAction,\n onMentionsClick?: OnMentionAction,\n) =>\n useCallback(\n (event: React.BaseSyntheticEvent, mentioned_users: UserResponse[]) => {\n if (\n (!onMentionsHover && !onMentionsClick) ||\n !(event.target instanceof HTMLElement)\n ) {\n return;\n }\n\n const target = event.target;\n const textContent = target.innerHTML.replace('*', '');\n\n if (textContent[0] === '@') {\n const userName = textContent.replace('@', '');\n const user = mentioned_users?.find(\n ({ id, name }) => name === userName || id === userName,\n );\n\n if (\n onMentionsHover &&\n typeof onMentionsHover === 'function' &&\n event.type === 'mouseover'\n ) {\n onMentionsHover(event, user);\n }\n\n if (\n onMentionsClick &&\n event.type === 'click' &&\n typeof onMentionsClick === 'function'\n ) {\n onMentionsClick(event, user);\n }\n }\n },\n [onMentionsClick, onMentionsHover],\n );\n","import React from 'react';\n\ntype LoadingMessageProps = {\n bubbleSize: 'md' | 'lg';\n metadataSize: 'sm' | 'md';\n outgoing?: boolean;\n};\n\nconst LoadingMessage = ({\n bubbleSize,\n metadataSize,\n outgoing = false,\n}: LoadingMessageProps) => (\n <div\n className={`str-chat__loading-channel-message ${\n outgoing\n ? 'str-chat__loading-channel-message--outgoing'\n : 'str-chat__loading-channel-message--incoming'\n }`}\n >\n {!outgoing ? <div className='str-chat__loading-channel-message-avatar' /> : null}\n <div className='str-chat__loading-channel-message-content'>\n <div\n className={`str-chat__loading-channel-message-bubble str-chat__loading-channel-message-bubble--${bubbleSize}`}\n ></div>\n <div\n className={`str-chat__loading-channel-message-metadata str-chat__loading-channel-message-metadata--${metadataSize}`}\n ></div>\n </div>\n </div>\n);\n\nconst LoadingMessageInput = () => (\n <div className='str-chat__message-composer-container str-chat__message-composer-container--loading'>\n <div className='str-chat__message-composer'>\n <div className='str-chat__loading-channel-message-input-button'></div>\n <div className='str-chat__loading-channel-message-input-pill'></div>\n </div>\n </div>\n);\n\nconst LoadingChannelHeader = () => (\n <div className='str-chat__channel-header str-chat__channel-header--loading'>\n <div className='str-chat__channel-header__data str-chat__channel-header__data--loading'>\n <div className='str-chat__loading-channel-header-name'></div>\n </div>\n <div className='str-chat__loading-channel-header-avatar'></div>\n </div>\n);\n\nexport const LoadingChannel = () => (\n <div className='str-chat__loading-channel'>\n <LoadingChannelHeader />\n <div className='str-chat__message-list str-chat__message-list--loading'>\n <div className='str-chat__message-list-scroll'>\n <div className='str-chat__loading-channel-message-list'>\n <LoadingMessage bubbleSize='lg' metadataSize='md' />\n <LoadingMessage bubbleSize='md' metadataSize='sm' outgoing />\n <LoadingMessage bubbleSize='lg' metadataSize='md' />\n </div>\n </div>\n </div>\n <LoadingMessageInput />\n </div>\n);\n","import React from 'react';\n\nimport { useTranslationContext } from '../../context/TranslationContext';\n\nexport type LoadingErrorIndicatorProps = {\n /** Error object */\n error?: Error | null;\n};\n\n/**\n * UI component for error indicator in a Channel\n */\nconst UnMemoizedLoadingErrorIndicator = ({ error }: LoadingErrorIndicatorProps) => {\n const { t } = useTranslationContext('LoadingErrorIndicator');\n\n if (!error) return null;\n\n return <div>{t('Error: {{ errorMessage }}', { errorMessage: error.message })}</div>;\n};\n\nexport const LoadingErrorIndicator = React.memo(\n UnMemoizedLoadingErrorIndicator,\n (prevProps, nextProps) => prevProps.error?.message === nextProps.error?.message,\n) as typeof UnMemoizedLoadingErrorIndicator;\n","export const CHANNEL_CONTAINER_ID = 'str-chat__channel';\n","export const DEFAULT_NEXT_CHANNEL_PAGE_SIZE = 25;\nexport const DEFAULT_JUMP_TO_PAGE_SIZE = 25;\nexport const DEFAULT_THREAD_PAGE_SIZE = 25;\nexport const DEFAULT_LOAD_PAGE_SCROLL_THRESHOLD = 250;\nexport const DEFAULT_HIGHLIGHT_DURATION = 500;\n","import deepequal from 'react-fast-compare';\nimport emojiRegex from 'emoji-regex';\n\nimport type { TFunction } from 'i18next';\nimport type {\n ChannelConfigWithInfo,\n LocalMessage,\n LocalMessageBase,\n MessageResponse,\n Mute,\n StreamChat,\n UserResponse,\n} from 'stream-chat';\nimport type { PinPermissions } from './hooks';\nimport type { MessageProps } from './types';\nimport type { MessageContextValue } from '../../context';\n\n/**\n * Following function validates a function which returns notification message.\n * It validates if the first parameter is function and also if return value of function is string or no.\n */\nexport const validateAndGetMessage = <T extends unknown[]>(\n func: (...args: T) => unknown,\n args: T,\n) => {\n if (!func || typeof func !== 'function') return null;\n\n // below is due to tests passing a single argument\n // rather than an array.\n if (!Array.isArray(args)) {\n args = [args] as unknown as T;\n }\n\n const returnValue = func(...args);\n\n if (typeof returnValue !== 'string') return null;\n\n return returnValue;\n};\n\n/**\n * Tell if the owner of the current message is muted\n */\nexport const isUserMuted = (message: LocalMessage, mutes?: Mute[]) => {\n if (!mutes || !message) return false;\n\n const userMuted = mutes.filter((el) => el.target.id === message.user?.id);\n return !!userMuted.length;\n};\n\nexport const OPTIONAL_MESSAGE_ACTIONS = {\n deleteForMe: 'deleteForMe',\n};\n\nexport const MESSAGE_ACTIONS = {\n delete: 'delete',\n edit: 'edit',\n flag: 'flag',\n markUnread: 'markUnread',\n mute: 'mute',\n pin: 'pin',\n quote: 'quote',\n react: 'react',\n remindMe: 'remindMe',\n reply: 'reply',\n saveForLater: 'saveForLater',\n};\n\nexport type MessageActionsArray<T extends string = string> = Array<\n keyof typeof MESSAGE_ACTIONS | keyof typeof OPTIONAL_MESSAGE_ACTIONS | T\n>;\n\n// @deprecated in favor of `channelCapabilities` - TODO: remove in next major release\nexport const defaultPinPermissions: PinPermissions = {\n commerce: {\n admin: true,\n anonymous: false,\n channel_member: false,\n channel_moderator: true,\n guest: false,\n member: false,\n moderator: true,\n owner: true,\n user: false,\n },\n gaming: {\n admin: true,\n anonymous: false,\n channel_member: false,\n channel_moderator: true,\n guest: false,\n member: false,\n moderator: true,\n owner: false,\n user: false,\n },\n livestream: {\n admin: true,\n anonymous: false,\n channel_member: false,\n channel_moderator: true,\n guest: false,\n member: false,\n moderator: true,\n owner: true,\n user: false,\n },\n messaging: {\n admin: true,\n anonymous: false,\n channel_member: true,\n channel_moderator: true,\n guest: false,\n member: true,\n moderator: true,\n owner: true,\n user: false,\n },\n team: {\n admin: true,\n anonymous: false,\n channel_member: true,\n channel_moderator: true,\n guest: false,\n member: true,\n moderator: true,\n owner: true,\n user: false,\n },\n};\n\nexport type Capabilities = {\n canDelete?: boolean;\n canEdit?: boolean;\n canFlag?: boolean;\n canMarkUnread?: boolean;\n canMute?: boolean;\n canPin?: boolean;\n canQuote?: boolean;\n canReact?: boolean;\n canReply?: boolean;\n};\n\nexport const getMessageActions = (\n actions: MessageActionsArray | boolean,\n {\n canDelete,\n canEdit,\n canFlag,\n canMarkUnread,\n canMute,\n canPin,\n canQuote,\n canReact,\n canReply,\n }: Capabilities,\n channelConfig?: ChannelConfigWithInfo,\n): MessageActionsArray => {\n const messageActionsAfterPermission: MessageActionsArray = [];\n let messageActions: MessageActionsArray = [];\n\n if (actions && typeof actions === 'boolean') {\n // If value of actions is true, then populate all the possible values\n messageActions = Object.keys(MESSAGE_ACTIONS);\n } else if (actions && actions.length > 0) {\n messageActions = [...actions];\n } else {\n return [];\n }\n\n if (canDelete && messageActions.indexOf(MESSAGE_ACTIONS.delete) > -1) {\n messageActionsAfterPermission.push(MESSAGE_ACTIONS.delete);\n }\n\n if (canDelete && messageActions.indexOf(OPTIONAL_MESSAGE_ACTIONS.deleteForMe) > -1) {\n messageActionsAfterPermission.push(OPTIONAL_MESSAGE_ACTIONS.deleteForMe);\n }\n\n if (canEdit && messageActions.indexOf(MESSAGE_ACTIONS.edit) > -1) {\n messageActionsAfterPermission.push(MESSAGE_ACTIONS.edit);\n }\n\n if (canFlag && messageActions.indexOf(MESSAGE_ACTIONS.flag) > -1) {\n messageActionsAfterPermission.push(MESSAGE_ACTIONS.flag);\n }\n\n if (canMarkUnread && messageActions.indexOf(MESSAGE_ACTIONS.markUnread) > -1) {\n messageActionsAfterPermission.push(MESSAGE_ACTIONS.markUnread);\n }\n\n if (canMute && messageActions.indexOf(MESSAGE_ACTIONS.mute) > -1) {\n messageActionsAfterPermission.push(MESSAGE_ACTIONS.mute);\n }\n\n if (canPin && messageActions.indexOf(MESSAGE_ACTIONS.pin) > -1) {\n messageActionsAfterPermission.push(MESSAGE_ACTIONS.pin);\n }\n\n if (canQuote && messageActions.indexOf(MESSAGE_ACTIONS.quote) > -1) {\n messageActionsAfterPermission.push(MESSAGE_ACTIONS.quote);\n }\n\n if (canReact && messageActions.indexOf(MESSAGE_ACTIONS.react) > -1) {\n messageActionsAfterPermission.push(MESSAGE_ACTIONS.react);\n }\n\n if (\n channelConfig?.['user_message_reminders'] &&\n messageActions.indexOf(MESSAGE_ACTIONS.remindMe) > -1\n ) {\n messageActionsAfterPermission.push(MESSAGE_ACTIONS.remindMe);\n }\n\n if (canReply && messageActions.indexOf(MESSAGE_ACTIONS.reply) > -1) {\n messageActionsAfterPermission.push(MESSAGE_ACTIONS.reply);\n }\n\n if (\n channelConfig?.['user_message_reminders'] &&\n messageActions.indexOf(MESSAGE_ACTIONS.saveForLater) > -1\n ) {\n messageActionsAfterPermission.push(MESSAGE_ACTIONS.saveForLater);\n }\n\n return messageActionsAfterPermission;\n};\n\nexport const ACTIONS_NOT_WORKING_IN_THREAD = [\n MESSAGE_ACTIONS.pin,\n MESSAGE_ACTIONS.reply,\n MESSAGE_ACTIONS.markUnread,\n];\n\nfunction areMessagesEqual(prevMessage: LocalMessage, nextMessage: LocalMessage): boolean {\n const areBaseMessagesEqual = (\n prevMessage: LocalMessageBase,\n nextMessage: LocalMessageBase,\n ) =>\n prevMessage.deleted_at === nextMessage.deleted_at &&\n prevMessage.latest_reactions?.length === nextMessage.latest_reactions?.length &&\n prevMessage.own_reactions?.length === nextMessage.own_reactions?.length &&\n prevMessage.pinned === nextMessage.pinned &&\n prevMessage.reply_count === nextMessage.reply_count &&\n prevMessage.show_in_channel === nextMessage.show_in_channel &&\n prevMessage.status === nextMessage.status &&\n prevMessage.text === nextMessage.text &&\n prevMessage.type === nextMessage.type &&\n prevMessage.updated_at === nextMessage.updated_at &&\n prevMessage.user?.updated_at === nextMessage.user?.updated_at;\n\n return (\n areBaseMessagesEqual(prevMessage, nextMessage) &&\n Boolean(prevMessage.quoted_message) === Boolean(nextMessage.quoted_message) &&\n ((!prevMessage.quoted_message && !nextMessage.quoted_message) ||\n areBaseMessagesEqual(\n prevMessage.quoted_message as LocalMessageBase,\n nextMessage.quoted_message as LocalMessageBase,\n ))\n );\n}\n\nexport const areMessagePropsEqual = (\n prevProps: MessageProps & {\n mutes?: Mute[];\n showDetailedReactions?: boolean;\n },\n nextProps: MessageProps & {\n mutes?: Mute[];\n showDetailedReactions?: boolean;\n },\n) => {\n const { message: prevMessage, Message: prevMessageUI } = prevProps;\n const { message: nextMessage, Message: nextMessageUI } = nextProps;\n\n if (prevMessageUI !== nextMessageUI) return false;\n\n if (nextProps.showDetailedReactions !== prevProps.showDetailedReactions) {\n return false;\n }\n\n if (nextProps.closeReactionSelectorOnClick !== prevProps.closeReactionSelectorOnClick) {\n return false;\n }\n\n const messagesAreEqual = areMessagesEqual(prevMessage, nextMessage);\n if (!messagesAreEqual) return false;\n\n const deepEqualProps =\n deepequal(nextProps.messageActions, prevProps.messageActions) &&\n deepequal(nextProps.readBy, prevProps.readBy) &&\n deepequal(nextProps.deliveredTo, prevProps.deliveredTo) &&\n deepequal(nextProps.highlighted, prevProps.highlighted) &&\n deepequal(nextProps.groupStyles, prevProps.groupStyles) && // last 3 messages can have different group styles\n deepequal(nextProps.mutes, prevProps.mutes) &&\n deepequal(nextProps.lastReceivedId, prevProps.lastReceivedId);\n\n if (!deepEqualProps) return false;\n\n return (\n prevProps.messageListRect === nextProps.messageListRect // MessageList wrapper layout changes\n );\n};\n\nexport const areMessageUIPropsEqual = (\n prevProps: MessageContextValue & {\n showDetailedReactions?: boolean;\n },\n nextProps: MessageContextValue & {\n showDetailedReactions?: boolean;\n },\n) => {\n const { lastReceivedId: prevLastReceivedId, message: prevMessage } = prevProps;\n const { lastReceivedId: nextLastReceivedId, message: nextMessage } = nextProps;\n\n if (prevProps.highlighted !== nextProps.highlighted) return false;\n if (prevProps.threadList !== nextProps.threadList) return false;\n if (prevProps.endOfGroup !== nextProps.endOfGroup) return false;\n if (prevProps.mutes?.length !== nextProps.mutes?.length) return false;\n if (prevProps.readBy?.length !== nextProps.readBy?.length) return false;\n if (prevProps.deliveredTo?.length !== nextProps.deliveredTo?.length) return false;\n if (prevProps.groupStyles !== nextProps.groupStyles) return false;\n\n if (prevProps.showDetailedReactions !== nextProps.showDetailedReactions) {\n return false;\n }\n\n if (\n (prevMessage.id === prevLastReceivedId || prevMessage.id === nextLastReceivedId) &&\n prevLastReceivedId !== nextLastReceivedId\n ) {\n return false;\n }\n\n return areMessagesEqual(prevMessage, nextMessage);\n};\n\nexport const messageHasReactions = (message?: LocalMessage) =>\n Object.values(message?.reaction_groups ?? {}).some(({ count }) => count > 0);\n\nexport const messageHasAttachments = (message?: LocalMessage) =>\n !!message?.attachments && !!message.attachments.length;\n\nexport const messageHasSingleAttachment = (message?: LocalMessage) =>\n message?.attachments?.length === 1;\n\nexport const messageHasGiphyAttachment = (message?: LocalMessage) =>\n !!message?.attachments?.some((att) => att.type === 'giphy');\n\nexport const getImages = (message?: MessageResponse) => {\n if (!message?.attachments) {\n return [];\n }\n return message.attachments.filter((item) => item.type === 'image');\n};\n\nexport const getNonImageAttachments = (message?: MessageResponse) => {\n if (!message?.attachments) {\n return [];\n }\n return message.attachments.filter((item) => item.type !== 'image');\n};\n\nexport interface TooltipUsernameMapper {\n (user: UserResponse): string;\n}\n\n/**\n * Default Tooltip Username mapper implementation.\n *\n * @param user the user.\n */\nexport const mapToUserNameOrId: TooltipUsernameMapper = (user) => user.name || user.id;\n\nexport const getReadByTooltipText = (\n users: UserResponse[],\n t: TFunction,\n client: StreamChat,\n tooltipUserNameMapper: TooltipUsernameMapper,\n) => {\n let outStr = '';\n\n if (!t) {\n throw new Error(\n 'getReadByTooltipText was called, but translation function is not available',\n );\n }\n\n if (!tooltipUserNameMapper) {\n throw new Error(\n 'getReadByTooltipText was called, but tooltipUserNameMapper function is not available',\n );\n }\n // first filter out client user, so restLength won't count it\n const otherUsers = users\n .filter((item) => item && client?.user && item.id !== client.user.id)\n .map(tooltipUserNameMapper);\n\n const slicedArr = otherUsers.slice(0, 5);\n const restLength = otherUsers.length - slicedArr.length;\n\n if (slicedArr.length === 1) {\n outStr = `${slicedArr[0]} `;\n } else if (slicedArr.length === 2) {\n // joins all with \"and\" but =no commas\n // example: \"bob and sam\"\n outStr = t('{{ firstUser }} and {{ secondUser }}', {\n firstUser: slicedArr[0],\n secondUser: slicedArr[1],\n });\n } else if (slicedArr.length > 2) {\n // joins all with commas, but last one gets \", and\" (oxford comma!)\n // example: \"bob, joe, sam and 4 more\"\n if (restLength === 0) {\n // mutate slicedArr to remove last user to display it separately\n const lastUser = slicedArr.splice(slicedArr.length - 1, 1);\n outStr = t('{{ commaSeparatedUsers }}, and {{ lastUser }}', {\n commaSeparatedUsers: slicedArr.join(', '),\n lastUser,\n });\n } else {\n outStr = t('{{ commaSeparatedUsers }} and {{ moreCount }} more', {\n commaSeparatedUsers: slicedArr.join(', '),\n moreCount: restLength,\n });\n }\n }\n\n return outStr;\n};\n\nexport const countEmojis = (text?: string) => {\n const matches = text?.match(emojiRegex());\n return matches ? matches.length : 0;\n};\n\nexport const messageTextHasEmojisOnly = (message: LocalMessage) => {\n if (!message.text) return false;\n\n const noEmojis = message.text.replace(emojiRegex(), '');\n const noSpace = noEmojis.replace(/[\\s\\n]/gm, '');\n\n return !noSpace;\n};\n\nexport const isMessageErrorRetryable = (message: LocalMessage) =>\n message.status === 'failed' && message.error?.status !== 403;\n\nexport const isMessageBounced = (\n message: Pick<LocalMessage, 'type' | 'moderation' | 'moderation_details'>,\n) =>\n message.type === 'error' &&\n (message.moderation_details?.action === 'MESSAGE_RESPONSE_ACTION_BOUNCE' ||\n message.moderation?.action === 'bounce');\n\nexport const isMessageBlocked = (\n message: Pick<LocalMessage, 'type' | 'moderation' | 'moderation_details'>,\n) =>\n message.type === 'error' &&\n (message.moderation_details?.action === 'MESSAGE_RESPONSE_ACTION_REMOVE' ||\n message.moderation?.action === 'remove');\n\nexport const isMessageEdited = (message: Pick<LocalMessage, 'message_text_updated_at'>) =>\n !!message.message_text_updated_at;\n","import {\n autoPlacement,\n autoUpdate,\n flip as flipMw,\n offset as offsetMw,\n type Placement,\n shift as shiftMw,\n size as sizeMw,\n useFloating,\n} from '@floating-ui/react';\nimport type { AutoPlacementOptions } from '@floating-ui/core';\n\nconst hasResizeObserver = typeof window !== 'undefined' && 'ResizeObserver' in window;\n\nexport type PopperLikePlacement = Placement | 'auto' | 'auto-start' | 'auto-end';\n\nfunction autoMiddlewareFor(p: PopperLikePlacement) {\n if (!String(p).startsWith('auto')) return null;\n const alignment: AutoPlacementOptions['alignment'] =\n p === 'auto-start' ? 'start' : p === 'auto-end' ? 'end' : undefined;\n return autoPlacement({ alignment });\n}\n\nexport type OffsetOpt =\n | number\n | { mainAxis?: number; crossAxis?: number; alignmentAxis?: number }\n | [crossAxis: number, mainAxis: number]; // keep your tuple compat\n\nfunction toOffsetMw(opt?: OffsetOpt) {\n if (opt == null) return null;\n if (Array.isArray(opt)) {\n const [crossAxis, mainAxis] = opt;\n return offsetMw({ crossAxis, mainAxis });\n }\n if (typeof opt === 'number') return offsetMw(opt);\n return offsetMw(opt);\n}\n\nexport type UsePopoverParams = {\n placement?: PopperLikePlacement;\n /** Add flip() when placement is not 'auto*' */\n allowFlip?: boolean;\n /** Keep in viewport; default true to match common popper setups */\n allowShift?: boolean;\n /** Extra options for Floating UI shift() middleware (merged with default padding: 8) */\n shiftOptions?: Parameters<typeof shiftMw>[0];\n /** The floating UI is fitted to the available space (by constraining its max size) instead of letting it overflow; default false */\n fitAvailableSpace?: boolean;\n /** Offset (number, object, or [crossAxis, mainAxis] tuple) */\n offset?: OffsetOpt;\n /**\n * Freeze behavior like Popper's eventListeners: { scroll:false, resize:false }.\n * If true → no autoUpdate (you can call `update()` manually).\n */\n freeze?: boolean;\n /**\n * Fine-grained control of autoUpdate triggers (only if freeze=false).\n * Defaults match Popper's \"disabled\" example when all set to false.\n */\n autoUpdateOptions?: Partial<Parameters<typeof autoUpdate>[3]>;\n};\n\nexport function usePopoverPosition({\n allowFlip = true,\n allowShift = true,\n autoUpdateOptions,\n fitAvailableSpace = false,\n freeze = false,\n offset,\n placement = 'bottom-start',\n shiftOptions,\n}: UsePopoverParams) {\n const autoMw = autoMiddlewareFor(placement);\n const offsetMiddleware = toOffsetMw(offset);\n const isSidePlacement = placement.startsWith('left') || placement.startsWith('right');\n const mergedShiftOptions = shiftOptions\n ? { padding: 8, ...shiftOptions }\n : { padding: 8 };\n\n const middleware = [\n // offset first (mirrors common Popper setups)\n ...(offsetMiddleware ? [offsetMiddleware] : []),\n\n // choose between autoPlacement (Popper's \"auto*\") OR flip()\n // only allow flip when not explicitly 'left*' or 'right*'\n ...(autoMw ? [autoMw] : allowFlip && !isSidePlacement ? [flipMw()] : []),\n\n // viewport collision adjustments\n ...(allowShift ? [shiftMw(mergedShiftOptions)] : []),\n\n // optional size constraining\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n ...(fitAvailableSpace ? [sizeMw({ apply: () => {} })] : []),\n ];\n\n // if placement is 'auto*', seed with any static placement; autoPlacement will pick the final one\n const seedPlacement: Placement = String(placement).startsWith('auto')\n ? 'bottom'\n : (placement as Placement);\n\n return useFloating({\n middleware,\n placement: seedPlacement,\n strategy: 'fixed',\n whileElementsMounted: freeze\n ? undefined\n : (reference, floating, update) =>\n autoUpdate(reference, floating, update, {\n ancestorResize: true,\n ancestorScroll: true,\n animationFrame: false,\n elementResize: hasResizeObserver,\n ...autoUpdateOptions,\n }),\n });\n}\n","import React, { useContext } from 'react';\nimport type { LocalMessage } from 'stream-chat';\n\nexport const LegacyThreadContext = React.createContext<{\n legacyThread: LocalMessage | undefined;\n}>({ legacyThread: undefined });\n\nexport const useLegacyThreadContext = () => useContext(LegacyThreadContext);\n","import { useChannelStateContext } from '../../../context';\nimport { useStateStore } from '../../../store';\nimport type { CooldownTimerState } from 'stream-chat';\n\nconst cooldownTimerStateSelector = (state: CooldownTimerState) => ({\n isCooldownActive: !!state.cooldownRemaining,\n});\n\nexport const useIsCooldownActive = () => {\n const { channel } = useChannelStateContext();\n return useStateStore(channel.cooldownTimer.state, cooldownTimerStateSelector)\n .isCooldownActive;\n};\n","import { useEffect, useMemo } from 'react';\nimport {\n FixedSizeQueueCache,\n MessageComposer as MessageComposerController,\n} from 'stream-chat';\nimport { useThreadContext } from '../../Threads';\nimport { useChannelStateContext, useChatContext } from '../../../context';\nimport { useLegacyThreadContext } from '../../Thread';\n\nconst queueCache = new FixedSizeQueueCache<string, MessageComposerController>(64);\n\nexport const useMessageComposerController = () => {\n const { client } = useChatContext();\n const { channel } = useChannelStateContext();\n const { legacyThread: parentMessage } = useLegacyThreadContext();\n const threadInstance = useThreadContext();\n\n const cachedParentMessage = useMemo(() => {\n if (!parentMessage) return undefined;\n\n return parentMessage;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [parentMessage?.id]);\n\n // composer hierarchy\n // edited message (always new) -> thread instance (own) -> thread message (always new) -> channel (own)\n // editedMessage ?? thread ?? parentMessage ?? channel;\n const messageComposer = useMemo(() => {\n if (threadInstance) {\n return threadInstance.messageComposer;\n } else if (cachedParentMessage) {\n const compositionContext = {\n ...cachedParentMessage,\n legacyThreadId: cachedParentMessage.id,\n };\n\n const tag = MessageComposerController.constructTag(compositionContext);\n\n const cachedComposer = queueCache.get(tag);\n if (cachedComposer) return cachedComposer;\n\n return new MessageComposerController({\n client,\n compositionContext,\n });\n } else {\n return channel.messageComposer;\n }\n }, [cachedParentMessage, channel, client, threadInstance]);\n\n if (\n (['legacy_thread', 'message'] as MessageComposerController['contextType'][]).includes(\n messageComposer.contextType,\n ) &&\n !queueCache.peek(messageComposer.tag)\n ) {\n queueCache.add(messageComposer.tag, messageComposer);\n }\n\n useEffect(() => {\n const unsubscribe = messageComposer.registerSubscriptions();\n return () => {\n unsubscribe();\n };\n }, [messageComposer]);\n\n return messageComposer;\n};\n","export const CUSTOM_MESSAGE_TYPE = {\n date: 'message.date',\n intro: 'channel.intro',\n} as const;\n","import { nanoid } from 'nanoid';\n\nimport { CUSTOM_MESSAGE_TYPE } from '../../constants/messageTypes';\nimport { isMessageEdited } from '../Message/utils';\nimport { isDate } from '../../i18n';\n\nimport type { LocalMessage, MessageLabel } from 'stream-chat';\n\ntype IntroMessage = {\n customType: typeof CUSTOM_MESSAGE_TYPE.intro;\n id: string;\n};\n\ntype DateSeparatorMessage = {\n customType: typeof CUSTOM_MESSAGE_TYPE.date;\n date: Date;\n id: string;\n type: MessageLabel;\n unread: boolean;\n};\n\nexport type RenderedMessage = LocalMessage | DateSeparatorMessage | IntroMessage;\n\ntype ProcessMessagesContext = {\n /** the connected user ID */\n userId: string;\n /** Enable date separator */\n enableDateSeparator?: boolean;\n /** Enable deleted messages to be filtered out of resulting message list */\n hideDeletedMessages?: boolean;\n /** Disable date separator display for unread incoming messages */\n hideNewMessageSeparator?: boolean;\n /** Sets the threshold after everything is considered unread */\n lastRead?: Date | null;\n};\n\nexport type ProcessMessagesParams = ProcessMessagesContext & {\n messages: LocalMessage[];\n reviewProcessedMessage?: (params: {\n /** array of messages representing the changes applied around a given processed message */\n changes: RenderedMessage[];\n /** configuration params and information forwarded from `processMessages` */\n context: ProcessMessagesContext;\n /** index of the processed message in the original messages array */\n index: number;\n /** array of messages retrieved from the back-end */\n messages: LocalMessage[];\n /** newly built array of messages to be later rendered */\n processedMessages: RenderedMessage[];\n }) => LocalMessage[];\n /** Signals whether to separate giphy preview as well as used to set the giphy preview state */\n setGiphyPreviewMessage?: React.Dispatch<React.SetStateAction<LocalMessage | undefined>>;\n};\n\n/**\n * processMessages - Transform the input message list according to config parameters\n *\n * Inserts date separators btw. messages created on different dates or before unread incoming messages. By default:\n * - enabled in main message list\n * - disabled in virtualized message list\n * - disabled in thread\n *\n * Allows to filter out deleted messages, contolled by hideDeletedMessages param. This is disabled by default.\n *\n * Sets Giphy preview message for VirtualizedMessageList\n *\n * The only required params are messages and userId, the rest are config params:\n *\n * @return {LocalMessage[]} Transformed list of messages\n */\nexport const processMessages = (params: ProcessMessagesParams) => {\n const { messages, reviewProcessedMessage, setGiphyPreviewMessage, ...context } = params;\n const {\n enableDateSeparator,\n hideDeletedMessages,\n hideNewMessageSeparator,\n lastRead,\n userId,\n } = context;\n\n let unread = false;\n let ephemeralMessagePresent = false;\n let lastDateSeparator;\n const newMessages: RenderedMessage[] = [];\n\n for (let i = 0; i < messages.length; i += 1) {\n const message = messages[i];\n\n if (hideDeletedMessages && message.type === 'deleted') {\n continue;\n }\n\n if (\n setGiphyPreviewMessage &&\n message.type === 'ephemeral' &&\n message.command === 'giphy'\n ) {\n ephemeralMessagePresent = true;\n setGiphyPreviewMessage(message);\n continue;\n }\n\n const changes: RenderedMessage[] = [];\n const messageDate =\n (message.created_at &&\n isDate(message.created_at) &&\n message.created_at.toDateString()) ||\n '';\n const previousMessage = messages[i - 1];\n let prevMessageDate = messageDate;\n\n if (\n enableDateSeparator &&\n previousMessage?.created_at &&\n isDate(previousMessage.created_at)\n ) {\n prevMessageDate = previousMessage.created_at.toDateString();\n }\n\n if (!unread && !hideNewMessageSeparator) {\n unread =\n (lastRead && message.created_at && new Date(lastRead) < message.created_at) ||\n false;\n\n // do not show date separator for current user's messages\n if (enableDateSeparator && unread && message.user?.id !== userId) {\n changes.push({\n customType: CUSTOM_MESSAGE_TYPE.date,\n date: message.created_at,\n id: makeDateMessageId(message.created_at),\n unread,\n } as DateSeparatorMessage);\n }\n }\n\n if (\n enableDateSeparator &&\n (i === 0 || // always put date separator before the first message\n messageDate !== prevMessageDate || // add date separator btw. 2 messages created on different date\n // if hiding deleted messages replace the previous deleted message(s) with A separator if the last rendered message was created on different date\n (hideDeletedMessages &&\n previousMessage?.type === 'deleted' &&\n lastDateSeparator !== messageDate)) &&\n !isDateSeparatorMessage(changes[changes.length - 1]) // do not show two date separators in a row)\n ) {\n lastDateSeparator = messageDate;\n\n changes.push(\n {\n customType: CUSTOM_MESSAGE_TYPE.date,\n date: message.created_at,\n id: makeDateMessageId(message.created_at),\n } as DateSeparatorMessage,\n message,\n );\n } else {\n changes.push(message);\n }\n\n newMessages.push(\n ...(reviewProcessedMessage?.({\n changes,\n context,\n index: i,\n messages,\n processedMessages: newMessages,\n }) || changes),\n );\n }\n\n // clean up the giphy preview component state after a Cancel action\n if (setGiphyPreviewMessage && !ephemeralMessagePresent) {\n setGiphyPreviewMessage(undefined);\n }\n\n return newMessages;\n};\n\nexport const makeIntroMessage = (): IntroMessage => ({\n customType: CUSTOM_MESSAGE_TYPE.intro,\n id: nanoid(),\n});\n\nexport const makeDateMessageId = (date?: string | Date) => {\n let idSuffix;\n try {\n idSuffix = !date ? nanoid() : date instanceof Date ? date.toISOString() : date;\n } catch (e) {\n idSuffix = nanoid();\n }\n return `${CUSTOM_MESSAGE_TYPE.date}-${idSuffix}`;\n};\n\n// fast since it usually iterates just the last few messages\nexport const getLastReceived = (messages: RenderedMessage[]) => {\n for (let i = messages.length - 1; i > 0; i -= 1) {\n if ((messages[i] as LocalMessage).status === 'received') {\n return messages[i].id;\n }\n }\n\n return null;\n};\n\nexport const insertIntro = (messages: RenderedMessage[], headerPosition?: number) => {\n const newMessages = messages;\n const intro = makeIntroMessage();\n\n // if no headerPosition is set, HeaderComponent will go at the top\n if (!headerPosition) {\n newMessages.unshift(intro);\n return newMessages;\n }\n\n // if no messages, intro gets inserted\n if (!newMessages.length) {\n newMessages.unshift(intro);\n return newMessages;\n }\n\n // else loop over the messages\n for (let i = 0; i < messages.length; i += 1) {\n const messageTime = isDate((messages[i] as LocalMessage).created_at)\n ? (messages[i] as LocalMessage).created_at.getTime()\n : null;\n\n const nextMessageTime = isDate((messages[i + 1] as LocalMessage).created_at)\n ? (messages[i + 1] as LocalMessage).created_at.getTime()\n : null;\n\n // header position is smaller than message time so comes after;\n if (messageTime && messageTime < headerPosition) {\n // if header position is also smaller than message time continue;\n if (nextMessageTime && nextMessageTime < headerPosition) {\n if (messages[i + 1] && isDateSeparatorMessage(messages[i + 1])) continue;\n if (!nextMessageTime) {\n newMessages.push(intro);\n return newMessages;\n }\n } else {\n newMessages.splice(i + 1, 0, intro);\n return newMessages;\n }\n }\n }\n\n return newMessages;\n};\n\nexport type GroupStyle = '' | 'middle' | 'top' | 'bottom' | 'single';\n\nexport const getGroupStyles = (\n message: RenderedMessage,\n previousMessage: RenderedMessage,\n nextMessage: RenderedMessage,\n noGroupByUser: boolean,\n maxTimeBetweenGroupedMessages?: number,\n): GroupStyle => {\n if (isDateSeparatorMessage(message) || isIntroMessage(message)) return '';\n\n if (noGroupByUser || message.attachments?.length !== 0) return 'single';\n\n const isTopMessage =\n !previousMessage ||\n isIntroMessage(previousMessage) ||\n isDateSeparatorMessage(previousMessage) ||\n previousMessage.type === 'system' ||\n previousMessage.type === 'error' ||\n previousMessage.attachments?.length !== 0 ||\n message.user?.id !== previousMessage.user?.id ||\n (message.reaction_groups && Object.keys(message.reaction_groups).length > 0) ||\n isMessageEdited(previousMessage) ||\n (maxTimeBetweenGroupedMessages !== undefined &&\n previousMessage.created_at &&\n message.created_at &&\n new Date(message.created_at).getTime() -\n new Date(previousMessage.created_at).getTime() >\n maxTimeBetweenGroupedMessages);\n\n const isBottomMessage =\n !nextMessage ||\n isIntroMessage(nextMessage) ||\n isDateSeparatorMessage(nextMessage) ||\n nextMessage.type === 'system' ||\n nextMessage.type === 'error' ||\n nextMessage.attachments?.length !== 0 ||\n message.user?.id !== nextMessage.user?.id ||\n (nextMessage.reaction_groups &&\n Object.keys(nextMessage.reaction_groups).length > 0) ||\n isMessageEdited(message) ||\n (maxTimeBetweenGroupedMessages !== undefined &&\n nextMessage.created_at &&\n message.created_at &&\n new Date(nextMessage.created_at).getTime() -\n new Date(message.created_at).getTime() >\n maxTimeBetweenGroupedMessages);\n\n if (!isTopMessage && !isBottomMessage) {\n if (message.type === 'error') return 'single';\n return 'middle';\n }\n\n if (isBottomMessage) {\n if (isTopMessage || message.type === 'error') return 'single';\n return 'bottom';\n }\n\n if (isTopMessage) return 'top';\n\n return '';\n};\n\n// \"Probably\" included, because it may happen that the last page was returned and it has exactly the size of the limit\n// but the back-end cannot provide us with information on whether it has still more messages in the DB\n// FIXME: once the pagination state is moved from Channel to MessageList, these should be moved as well.\n// The MessageList should have configurable the limit for performing the requests.\n// This parameter would then be used within these functions\nexport const hasMoreMessagesProbably = (returnedCountMessages: number, limit: number) =>\n returnedCountMessages >= limit;\n\n// @deprecated\nexport const hasNotMoreMessages = (returnedCountMessages: number, limit: number) =>\n returnedCountMessages < limit;\n\nexport function isIntroMessage(message: unknown): message is IntroMessage {\n return (message as IntroMessage).customType === CUSTOM_MESSAGE_TYPE.intro;\n}\n\nexport function isDateSeparatorMessage(\n message: unknown,\n): message is DateSeparatorMessage {\n return (\n message !== null &&\n typeof message === 'object' &&\n (message as DateSeparatorMessage).customType === CUSTOM_MESSAGE_TYPE.date &&\n isDate((message as DateSeparatorMessage).date)\n );\n}\n\nexport function isLocalMessage(message: unknown): message is LocalMessage {\n return !isDateSeparatorMessage(message) && !isIntroMessage(message);\n}\n\nexport const getIsFirstUnreadMessage = ({\n firstUnreadMessageId,\n isFirstMessage,\n lastReadDate,\n lastReadMessageId,\n message,\n previousMessage,\n unreadMessageCount = 0,\n}: {\n isFirstMessage: boolean;\n message: LocalMessage;\n firstUnreadMessageId?: string;\n lastReadDate?: Date;\n lastReadMessageId?: string;\n previousMessage?: RenderedMessage;\n unreadMessageCount?: number;\n}) => {\n // prevent showing unread indicator in threads\n if (message.parent_id) return false;\n\n const createdAtTimestamp = message.created_at && new Date(message.created_at).getTime();\n const lastReadTimestamp = lastReadDate?.getTime();\n\n const messageIsUnread =\n !!createdAtTimestamp && !!lastReadTimestamp && createdAtTimestamp > lastReadTimestamp;\n\n const previousMessageIsLastRead =\n !!lastReadMessageId && lastReadMessageId === previousMessage?.id;\n\n return (\n firstUnreadMessageId === message.id ||\n (!!unreadMessageCount &&\n messageIsUnread &&\n (isFirstMessage || previousMessageIsLastRead))\n );\n};\n","import { useChatContext } from '../../../context/ChatContext';\nimport type { ChatContextValue } from '../../../context/ChatContext';\n\nexport const useImageFlagEmojisOnWindowsClass = () => {\n const { useImageFlagEmojisOnWindows } = useChatContext('Channel');\n return useImageFlagEmojisOnWindows && navigator.userAgent.match(/Win/)\n ? 'str-chat--windows-flags'\n : '';\n};\n\nexport const getChatContainerClass = (customClass?: string) =>\n customClass ?? 'str-chat__container';\n\nexport const useChannelContainerClasses = ({\n customClasses,\n}: Pick<ChatContextValue, 'customClasses'>) => {\n const windowsEmojiClass = useImageFlagEmojisOnWindowsClass();\n return {\n channelClass: customClasses?.channel ?? 'str-chat__channel',\n chatClass: customClasses?.chat ?? 'str-chat',\n chatContainerClass: getChatContainerClass(customClasses?.chatContainer),\n windowsEmojiClass,\n };\n};\n","import type { ChannelState, MessageResponse } from 'stream-chat';\n\n/**\n * Utility function for jumpToFirstUnreadMessage\n * @param targetId\n * @param msgSet\n */\nexport const findInMsgSetById = (\n targetId: string,\n msgSet: ReturnType<ChannelState['formatMessage']>[],\n) => {\n for (let i = msgSet.length - 1; i >= 0; i--) {\n const item = msgSet[i];\n if (item.id === targetId) {\n return {\n index: i,\n target: item,\n };\n }\n }\n return {\n index: -1,\n };\n};\n\n/**\n * Utility function for jumpToFirstUnreadMessage\n * @param targetDate\n * @param msgSet\n * @param exact\n */\nexport const findInMsgSetByDate = (\n targetDate: Date,\n msgSet: MessageResponse[] | ReturnType<ChannelState['formatMessage']>[],\n exact = false,\n) => {\n const targetTimestamp = targetDate.getTime();\n let left = 0;\n let middle = 0;\n let right = msgSet.length - 1;\n while (left <= right) {\n middle = Math.floor((right + left) / 2);\n const middleTimestamp = new Date(\n msgSet[middle].created_at as string | Date,\n ).getTime();\n const middleLeftTimestamp =\n msgSet[middle - 1]?.created_at &&\n new Date(msgSet[middle - 1].created_at as string | Date).getTime();\n const middleRightTimestamp =\n msgSet[middle + 1]?.created_at &&\n new Date(msgSet[middle + 1].created_at as string | Date).getTime();\n if (\n middleTimestamp === targetTimestamp ||\n (middleLeftTimestamp &&\n middleRightTimestamp &&\n middleLeftTimestamp < targetTimestamp &&\n targetTimestamp < middleRightTimestamp)\n ) {\n return { index: middle, target: msgSet[middle] };\n }\n if (middleTimestamp < targetTimestamp) left = middle + 1;\n else right = middle - 1;\n }\n\n if (\n !exact ||\n new Date(msgSet[left].created_at as string | Date).getTime() === targetTimestamp\n ) {\n return { index: left, target: msgSet[left] };\n }\n return { index: -1 };\n};\n","import type {\n Channel,\n ChannelQueryOptions,\n QueryChannelAPIResponse,\n StreamChat,\n} from 'stream-chat';\n\n/**\n * prevent from duplicate invocation of channel.watch()\n * when events 'notification.message_new' and 'notification.added_to_channel' arrive at the same time\n */\nconst WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL: Record<\n string,\n Promise<QueryChannelAPIResponse> | undefined\n> = {};\n\ntype GetChannelParams = {\n client: StreamChat;\n channel?: Channel;\n id?: string;\n members?: string[];\n options?: ChannelQueryOptions;\n type?: string;\n};\n/**\n * Calls channel.watch() if it was not already recently called. Waits for watch promise to resolve even if it was invoked previously.\n * @param client\n * @param members\n * @param options\n * @param type\n * @param id\n * @param channel\n */\nexport const getChannel = async ({\n channel,\n client,\n id,\n members,\n options,\n type,\n}: GetChannelParams) => {\n if (!channel && !type) {\n throw new Error('Channel or channel type have to be provided to query a channel.');\n }\n\n // unfortunately typescript is not able to infer that if (!channel && !type) === false, then channel or type has to be truthy\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const theChannel = channel || client.channel(type!, id, { members });\n\n // need to keep as with call to channel.watch the id can be changed from undefined to an actual ID generated server-side\n const originalCid = theChannel?.id\n ? theChannel.cid\n : members && members.length\n ? generateChannelTempCid(theChannel.type, members)\n : undefined;\n\n if (!originalCid) {\n throw new Error(\n 'Channel ID or channel members array have to be provided to query a channel.',\n );\n }\n\n const queryPromise = WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[originalCid];\n\n if (queryPromise) {\n await queryPromise;\n } else {\n try {\n WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[originalCid] = theChannel.watch(options);\n await WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[originalCid];\n } finally {\n delete WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[originalCid];\n }\n }\n\n return theChannel;\n};\n\n// Channels created without ID need to be referenced by an identifier until the back-end generates the final ID.\nconst generateChannelTempCid = (channelType: string, members?: string[]) => {\n if (!members) return;\n const membersStr = [...members].sort().join(',');\n return `${channelType}:!members-${membersStr}`;\n};\n","import type { Attachment } from 'stream-chat';\nimport * as linkify from 'linkifyjs';\n\nexport const getImageAttachmentConfiguration = (\n attachment: Attachment,\n element: HTMLElement,\n) => {\n let newUrl = undefined;\n\n const urlToTest = attachment.image_url || attachment.thumb_url || '';\n\n if (linkify.test(urlToTest, 'url')) {\n const url = new URL(urlToTest);\n const resizeDimensions = getSizingRestrictions(url, element);\n\n if (resizeDimensions) {\n // Apply 2x for retina displays\n resizeDimensions.height *= 2;\n resizeDimensions.width *= 2;\n addResizingParamsToUrl(resizeDimensions, url);\n }\n newUrl = url.href;\n }\n\n return {\n url: newUrl || '',\n };\n};\n\nexport const getVideoAttachmentConfiguration = (\n attachment: Attachment,\n element: HTMLElement,\n shouldGenerateVideoThumbnail: boolean,\n) => {\n let thumbUrl = undefined;\n if (\n attachment.thumb_url &&\n shouldGenerateVideoThumbnail &&\n linkify.test(attachment.thumb_url, 'url')\n ) {\n const url = new URL(attachment.thumb_url);\n const resizeDimensions = getSizingRestrictions(url, element);\n\n if (resizeDimensions) {\n // Apply 2x for retina displays\n resizeDimensions.height *= 2;\n resizeDimensions.width *= 2;\n addResizingParamsToUrl(resizeDimensions, url);\n }\n thumbUrl = url.href;\n }\n\n return {\n thumbUrl,\n url: attachment.asset_url || '',\n };\n};\n\nconst getSizingRestrictions = (url: URL, htmlElement: HTMLElement) => {\n const urlParams = url.searchParams;\n const originalHeight = Number(urlParams.get('oh')) || 1;\n const originalWidth = Number(urlParams.get('ow')) || 1;\n const cssSizeRestriction = getCSSSizeRestrictions(htmlElement);\n let resizeDimensions: { height: number; width: number } | undefined;\n\n if (\n (cssSizeRestriction.maxHeight || cssSizeRestriction.height) &&\n cssSizeRestriction.maxWidth\n ) {\n resizeDimensions = getResizeDimensions(\n originalHeight,\n originalWidth,\n /* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */\n cssSizeRestriction.maxHeight || cssSizeRestriction.height!,\n cssSizeRestriction.maxWidth,\n );\n } else {\n resizeDimensions = undefined;\n }\n\n return resizeDimensions;\n};\n\nconst getResizeDimensions = (\n originalHeight: number,\n originalWidth: number,\n maxHeight: number,\n maxWidth: number,\n) => ({\n height: Math.round(Math.max(maxHeight, (maxWidth / originalWidth) * originalHeight)),\n width: Math.round(Math.max(maxHeight, (maxWidth / originalHeight) * originalWidth)),\n});\n\nconst getCSSSizeRestrictions = (htmlElement: HTMLElement) => {\n const computedStylesheet = getComputedStyle(htmlElement);\n const height = getValueRepresentationOfCSSProperty(\n computedStylesheet.getPropertyValue('height'),\n );\n const maxHeight = getValueRepresentationOfCSSProperty(\n computedStylesheet.getPropertyValue('max-height'),\n );\n const maxWidth = getValueRepresentationOfCSSProperty(\n computedStylesheet.getPropertyValue('max-width'),\n );\n\n if (!((height || maxHeight) && maxWidth)) {\n console.warn(\n `Invalid value set for height/max-height and/or max-width for HTML element, this can cause scrolling issues inside the message list, more info https://getstream.io/chat/docs/sdk/react/message-components/attachment/#image-and-video-sizing`,\n );\n }\n\n return { height, maxHeight, maxWidth };\n};\n\nconst getValueRepresentationOfCSSProperty = (property: string) => {\n if (!property.endsWith('px')) {\n return undefined;\n }\n const number = parseFloat(property);\n return isNaN(number) ? undefined : number;\n};\n\nconst addResizingParamsToUrl = (\n resizeDimensions: { height: number; width: number },\n url: URL,\n) => {\n url.searchParams.set('h', resizeDimensions.height.toString());\n url.searchParams.set('w', resizeDimensions.width.toString());\n};\n","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","import type { ComponentProps, PropsWithChildren } from 'react';\nimport React, {\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from 'react';\nimport clsx from 'clsx';\nimport debounce from 'lodash.debounce';\nimport throttle from 'lodash.throttle';\nimport type {\n APIErrorResponse,\n ChannelAPIResponse,\n ChannelMemberResponse,\n ChannelQueryOptions,\n ChannelState,\n DeleteMessageOptions,\n ErrorFromResponse,\n Event,\n EventAPIResponse,\n GiphyVersions,\n LocalMessage,\n Message,\n MessageResponse,\n SendMessageAPIResponse,\n SendMessageOptions,\n Channel as StreamChannel,\n StreamChat,\n UpdateMessageOptions,\n} from 'stream-chat';\nimport { localMessageToNewMessagePayload } from 'stream-chat';\n\nimport { initialState, makeChannelReducer } from './channelState';\nimport { useCreateChannelStateContext } from './hooks/useCreateChannelStateContext';\nimport { useCreateTypingContext } from './hooks/useCreateTypingContext';\nimport { useEditMessageHandler } from './hooks/useEditMessageHandler';\nimport { useIsMounted } from './hooks/useIsMounted';\nimport type { OnMentionAction } from './hooks/useMentionsHandlers';\nimport { useMentionsHandlers } from './hooks/useMentionsHandlers';\n\nimport {\n LoadingErrorIndicator as DefaultLoadingErrorIndicator,\n LoadingChannel as DefaultLoadingIndicator,\n} from '../Loading';\nimport { EmptyStateIndicator as DefaultEmptyStateIndicator } from '../EmptyStateIndicator';\nimport { addNotificationTargetTag } from '../Notifications';\n\nimport type { ChannelActionContextValue, MarkReadWrapperOptions } from '../../context';\nimport {\n ChannelActionProvider,\n ChannelStateProvider,\n TypingProvider,\n useChatContext,\n useComponentContext,\n useTranslationContext,\n} from '../../context';\n\nimport { CHANNEL_CONTAINER_ID } from './constants';\nimport {\n DEFAULT_HIGHLIGHT_DURATION,\n DEFAULT_JUMP_TO_PAGE_SIZE,\n DEFAULT_NEXT_CHANNEL_PAGE_SIZE,\n DEFAULT_THREAD_PAGE_SIZE,\n} from '../../constants/limits';\n\nimport { hasMoreMessagesProbably } from '../MessageList';\nimport {\n getChatContainerClass,\n useChannelContainerClasses,\n useImageFlagEmojisOnWindowsClass,\n} from './hooks/useChannelContainerClasses';\nimport { findInMsgSetByDate, findInMsgSetById } from './utils';\nimport { useThreadContext } from '../Threads';\nimport { getChannel } from '../../utils';\nimport type {\n ChannelUnreadUiState,\n ImageAttachmentSizeHandler,\n VideoAttachmentSizeHandler,\n} from '../../types/types';\nimport {\n getImageAttachmentConfiguration,\n getVideoAttachmentConfiguration,\n} from '../Attachment/attachment-sizing';\nimport { useSearchFocusedMessage } from '../Search/hooks';\nimport { WithAudioPlayback } from '../AudioPlayback';\n\nexport type ChannelProps = {\n /** Custom handler function that runs when the active channel has unread messages and the app is running on a separate browser tab */\n activeUnreadHandler?: (unread: number, documentTitle: string) => void;\n /** Allows multiple audio players to play the audio at the same time. Disabled by default. */\n allowConcurrentAudioPlayback?: boolean;\n /** The connected and active channel */\n channel?: StreamChannel;\n /**\n * Optional configuration parameters used for the initial channel query.\n * Applied only if the value of channel.initialized is false.\n * If the channel instance has already been initialized (channel has been queried),\n * then the channel query will be skipped and channelQueryOptions will not be applied.\n */\n channelQueryOptions?: ChannelQueryOptions;\n /** Custom action handler to override the default `client.deleteMessage(message.id)` function */\n doDeleteMessageRequest?: (\n message: LocalMessage,\n options?: DeleteMessageOptions,\n ) => Promise<MessageResponse>;\n /** Custom action handler to override the default `channel.markRead` request function (advanced usage only) */\n doMarkReadRequest?: (\n channel: StreamChannel,\n setChannelUnreadUiState?: (state: ChannelUnreadUiState) => void,\n ) => Promise<EventAPIResponse> | void;\n /** Custom action handler to override the default `channel.sendMessage` request function (advanced usage only) */\n doSendMessageRequest?: (\n channel: StreamChannel,\n message: Message,\n options?: SendMessageOptions,\n ) => ReturnType<StreamChannel['sendMessage']> | void;\n /** Custom action handler to override the default `client.updateMessage` request function (advanced usage only) */\n doUpdateMessageRequest?: (\n cid: string,\n updatedMessage: LocalMessage | MessageResponse,\n options?: UpdateMessageOptions,\n ) => ReturnType<StreamChat['updateMessage']>;\n /** Custom UI component to be shown if no active channel is set, defaults to the message empty state indicator. Pass `null` to suppress rendering. */\n EmptyPlaceholder?: React.ReactElement | null;\n /** The giphy version to render - check the keys of the [Image Object](https://developers.giphy.com/docs/api/schema#image-object) for possible values. Uses 'fixed_height' by default */\n giphyVersion?: GiphyVersions;\n /** A custom function to provide size configuration for image attachments */\n imageAttachmentSizeHandler?: ImageAttachmentSizeHandler;\n /**\n * Allows to prevent triggering the channel.watch() call when mounting the component.\n * That means that no channel data from the back-end will be received neither channel WS events will be delivered to the client.\n * Preventing to initialize the channel on mount allows us to postpone the channel creation to a later point in time.\n */\n initializeOnMount?: boolean;\n /** Configuration parameter to mark the active channel as read when mounted (opened). By default, the channel is marked read on mount. */\n markReadOnMount?: boolean;\n /** Custom action handler function to run on click of an @mention in a message */\n onMentionsClick?: OnMentionAction;\n /** Custom action handler function to run on hover of an @mention in a message */\n onMentionsHover?: OnMentionAction;\n /** You can turn on/off thumbnail generation for video attachments */\n shouldGenerateVideoThumbnail?: boolean;\n /** If true, skips the message data string comparison used to memoize the current channel messages (helpful for channels with 1000s of messages) */\n skipMessageDataMemoization?: boolean;\n /** A custom function to provide size configuration for video attachments */\n videoAttachmentSizeHandler?: VideoAttachmentSizeHandler;\n};\n\nconst ChannelContainer = ({\n children,\n className: additionalClassName,\n ...props\n}: PropsWithChildren<ComponentProps<'div'>>) => {\n const { customClasses, theme } = useChatContext('Channel');\n const { channelClass, chatClass } = useChannelContainerClasses({\n customClasses,\n });\n const className = clsx(chatClass, theme, channelClass, additionalClassName);\n return (\n <div id={CHANNEL_CONTAINER_ID} {...props} className={className}>\n {children}\n </div>\n );\n};\n\nconst UnMemoizedChannel = (props: PropsWithChildren<ChannelProps>) => {\n const { channel: propsChannel, EmptyPlaceholder } = props;\n const {\n EmptyStateIndicator = DefaultEmptyStateIndicator,\n LoadingErrorIndicator,\n LoadingIndicator = DefaultLoadingIndicator,\n } = useComponentContext('Channel');\n\n const { channel: contextChannel, channelsQueryState } = useChatContext('Channel');\n\n const channel = propsChannel || contextChannel;\n const emptyPlaceholder =\n 'EmptyPlaceholder' in props\n ? EmptyPlaceholder\n : EmptyStateIndicator && <EmptyStateIndicator listType='message' />;\n\n if (channelsQueryState.queryInProgress === 'reload' && LoadingIndicator) {\n return (\n <ChannelContainer>\n <LoadingIndicator />\n </ChannelContainer>\n );\n }\n\n if (channelsQueryState.error && LoadingErrorIndicator) {\n return (\n <ChannelContainer>\n <LoadingErrorIndicator error={channelsQueryState.error} />\n </ChannelContainer>\n );\n }\n\n if (channelsQueryState.error) {\n return <ChannelContainer />;\n }\n\n if (!channel?.cid) {\n return <ChannelContainer>{emptyPlaceholder}</ChannelContainer>;\n }\n\n return <ChannelInner {...props} channel={channel} key={channel.cid} />;\n};\n\nconst ChannelInner = (\n props: PropsWithChildren<\n ChannelProps & {\n channel: StreamChannel;\n key: string;\n }\n >,\n) => {\n const {\n activeUnreadHandler,\n allowConcurrentAudioPlayback,\n channel,\n channelQueryOptions,\n children,\n doDeleteMessageRequest,\n doMarkReadRequest,\n doSendMessageRequest,\n doUpdateMessageRequest,\n initializeOnMount = true,\n markReadOnMount = true,\n onMentionsClick,\n onMentionsHover,\n skipMessageDataMemoization,\n } = props;\n const {\n LoadingErrorIndicator = DefaultLoadingErrorIndicator,\n LoadingIndicator = DefaultLoadingIndicator,\n } = useComponentContext();\n\n const { client, customClasses, latestMessageDatesByChannels, mutes, searchController } =\n useChatContext('Channel');\n const { t } = useTranslationContext('Channel');\n const chatContainerClass = getChatContainerClass(customClasses?.chatContainer);\n const windowsEmojiClass = useImageFlagEmojisOnWindowsClass();\n const thread = useThreadContext();\n\n const [channelConfig, setChannelConfig] = useState(channel.getConfig());\n\n const [channelUnreadUiState, _setChannelUnreadUiState] =\n useState<ChannelUnreadUiState>();\n\n const channelReducer = useMemo(() => makeChannelReducer(), []);\n\n const [state, dispatch] = useReducer(\n channelReducer,\n // channel.initialized === false if client.channel().query() was not called, e.g. ChannelList is not used\n // => Channel will call channel.watch() in useLayoutEffect => state.loading is used to signal the watch() call state\n {\n ...initialState,\n hasMore: channel.state.messagePagination.hasPrev,\n loading: !channel.initialized,\n messages: channel.state.messages,\n },\n );\n const jumpToMessageFromSearch = useSearchFocusedMessage();\n const isMounted = useIsMounted();\n\n const originalTitle = useRef('');\n const lastRead = useRef<Date | undefined>(undefined);\n const online = useRef(true);\n\n const clearHighlightedMessageTimeoutId = useRef<ReturnType<typeof setTimeout> | null>(\n null,\n );\n\n const channelCapabilitiesArray = channel.data?.own_capabilities as string[];\n\n const throttledCopyStateFromChannel = throttle(\n () => dispatch({ channel, type: 'copyStateFromChannelOnEvent' }),\n 500,\n {\n leading: true,\n trailing: true,\n },\n );\n\n const setChannelUnreadUiState = useMemo(\n () =>\n throttle(_setChannelUnreadUiState, 200, {\n leading: true,\n trailing: false,\n }),\n [],\n );\n\n const markRead = useMemo(\n () =>\n throttle(\n async (options?: MarkReadWrapperOptions) => {\n const { updateChannelUiUnreadState = true } = options ?? {};\n if (channel.disconnected || !channelConfig?.read_events) {\n return;\n }\n\n lastRead.current = new Date();\n\n try {\n if (doMarkReadRequest) {\n doMarkReadRequest(\n channel,\n updateChannelUiUnreadState ? setChannelUnreadUiState : undefined,\n );\n } else {\n const markReadResponse = await channel.markRead();\n // markReadResponse.event can be null in case of a user that is not a member of a channel being marked read\n // in that case event is null and we should not set unread UI\n if (updateChannelUiUnreadState && markReadResponse?.event) {\n _setChannelUnreadUiState({\n last_read: lastRead.current,\n last_read_message_id: markReadResponse.event.last_read_message_id,\n unread_messages: 0,\n });\n }\n }\n\n if (activeUnreadHandler) {\n activeUnreadHandler(0, originalTitle.current);\n } else if (originalTitle.current) {\n document.title = originalTitle.current;\n }\n } catch (e) {\n console.error(t('Failed to mark channel as read'));\n }\n },\n 500,\n { leading: true, trailing: false },\n ),\n [\n activeUnreadHandler,\n channel,\n channelConfig,\n doMarkReadRequest,\n setChannelUnreadUiState,\n t,\n ],\n );\n\n const handleEvent = async (event: Event) => {\n if (event.message) {\n dispatch({\n channel,\n message: event.message,\n type: 'updateThreadOnEvent',\n });\n }\n\n // ignore the event if it is not targeted at the current channel.\n // Event targeted at this channel or globally targeted event should lead to state refresh\n if (event.type === 'user.messages.deleted' && event.cid && event.cid !== channel.cid)\n return;\n\n if (event.type === 'user.watching.start' || event.type === 'user.watching.stop')\n return;\n\n if (event.type === 'typing.start' || event.type === 'typing.stop') {\n return dispatch({ channel, type: 'setTyping' });\n }\n\n if (event.type === 'connection.changed' && typeof event.online === 'boolean') {\n online.current = event.online;\n }\n\n if (event.type === 'message.new') {\n const mainChannelUpdated =\n !event.message?.parent_id || event.message?.show_in_channel;\n\n if (mainChannelUpdated) {\n if (\n document.hidden &&\n channelConfig?.read_events &&\n !channel.muteStatus().muted\n ) {\n const unread = channel.countUnread(lastRead.current);\n\n if (activeUnreadHandler) {\n activeUnreadHandler(unread, originalTitle.current);\n } else {\n document.title = `(${unread}) ${originalTitle.current}`;\n }\n }\n }\n\n if (\n event.message?.user?.id === client.userID &&\n event?.message?.created_at &&\n event?.message?.cid\n ) {\n const messageDate = new Date(event.message.created_at);\n const cid = event.message.cid;\n\n if (\n !latestMessageDatesByChannels[cid] ||\n latestMessageDatesByChannels[cid].getTime() < messageDate.getTime()\n ) {\n latestMessageDatesByChannels[cid] = messageDate;\n }\n }\n }\n\n if (event.type === 'user.deleted') {\n const oldestID = channel.state?.messages?.[0]?.id;\n\n /**\n * As the channel state is not normalized we re-fetch the channel data. Thus, we avoid having to search for user references in the channel state.\n */\n // FIXME: we should use channelQueryOptions if they are available\n await channel.query({\n messages: { id_lt: oldestID, limit: DEFAULT_NEXT_CHANNEL_PAGE_SIZE },\n watchers: { limit: DEFAULT_NEXT_CHANNEL_PAGE_SIZE },\n });\n }\n\n if (event.type === 'notification.mark_unread')\n _setChannelUnreadUiState((prev) => {\n if (!(event.last_read_at && event.user)) return prev;\n return {\n first_unread_message_id: event.first_unread_message_id,\n last_read: new Date(event.last_read_at),\n last_read_message_id: event.last_read_message_id,\n unread_messages: event.unread_messages ?? 0,\n };\n });\n\n if (event.type === 'channel.truncated' && event.cid === channel.cid) {\n _setChannelUnreadUiState(undefined);\n }\n\n throttledCopyStateFromChannel();\n };\n\n // useLayoutEffect here to prevent spinner. Use Suspense when it is available in stable release\n useLayoutEffect(() => {\n let errored = false;\n let done = false;\n\n (async () => {\n if (!channel.initialized && initializeOnMount) {\n try {\n // if active channel has been set without id, we will create a temporary channel id from its member IDs\n // to keep track of the /query request in progress. This is the same approach of generating temporary id\n // that the JS client uses to keep track of channel in client.activeChannels\n const members: string[] = [];\n if (!channel.id && channel.data?.members) {\n for (const member of channel.data.members) {\n let userId: string | undefined;\n if (typeof member === 'string') {\n userId = member;\n } else if (typeof member === 'object') {\n const { user, user_id } = member as ChannelMemberResponse;\n userId = user_id || user?.id;\n }\n if (userId) {\n members.push(userId);\n }\n }\n }\n await getChannel({ channel, client, members, options: channelQueryOptions });\n const config = channel.getConfig();\n setChannelConfig(config);\n } catch (e) {\n dispatch({ error: e as Error, type: 'setError' });\n errored = true;\n }\n }\n\n done = true;\n originalTitle.current = document.title;\n\n if (!errored) {\n dispatch({\n channel,\n hasMore: channel.state.messagePagination.hasPrev,\n type: 'initStateFromChannel',\n });\n\n if (client.user?.id && channel.state.read[client.user.id]) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { user, ...ownReadState } = channel.state.read[client.user.id];\n _setChannelUnreadUiState(ownReadState);\n }\n /**\n * TODO: maybe pass last_read to the countUnread method to get proper value\n * combined with channel.countUnread adjustment (_countMessageAsUnread)\n * to allow counting own messages too\n *\n * const lastRead = channel.state.read[client.userID as string].last_read;\n */\n if (channel.countUnread() > 0 && markReadOnMount)\n markRead({ updateChannelUiUnreadState: false });\n // The more complex sync logic is done in Chat\n client.on('connection.changed', handleEvent);\n client.on('connection.recovered', handleEvent);\n client.on('user.updated', handleEvent);\n client.on('user.deleted', handleEvent);\n client.on('user.messages.deleted', handleEvent);\n channel.on(handleEvent);\n }\n })();\n\n return () => {\n if (errored || !done) return;\n channel?.off(handleEvent);\n client.off('connection.changed', handleEvent);\n client.off('connection.recovered', handleEvent);\n client.off('user.deleted', handleEvent);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n channel.cid,\n channelQueryOptions,\n doMarkReadRequest,\n channelConfig?.read_events,\n initializeOnMount,\n ]);\n\n useEffect(() => {\n if (!state.thread) return;\n\n const message = state.messages?.find((m) => m.id === state.thread?.id);\n\n if (message) dispatch({ message, type: 'setThread' });\n }, [state.messages, state.thread]);\n\n const handleHighlightedMessageChange = useCallback(\n ({\n highlightDuration,\n highlightedMessageId,\n }: {\n highlightedMessageId: string;\n highlightDuration?: number;\n }) => {\n dispatch({\n channel,\n highlightedMessageId,\n type: 'jumpToMessageFinished',\n });\n if (clearHighlightedMessageTimeoutId.current) {\n clearTimeout(clearHighlightedMessageTimeoutId.current);\n }\n clearHighlightedMessageTimeoutId.current = setTimeout(() => {\n if (searchController._internalState.getLatestValue().focusedMessage) {\n searchController._internalState.partialNext({ focusedMessage: undefined });\n }\n clearHighlightedMessageTimeoutId.current = null;\n dispatch({ type: 'clearHighlightedMessage' });\n }, highlightDuration ?? DEFAULT_HIGHLIGHT_DURATION);\n },\n [channel, searchController],\n );\n\n useEffect(() => {\n if (!jumpToMessageFromSearch?.id) return;\n handleHighlightedMessageChange({ highlightedMessageId: jumpToMessageFromSearch.id });\n }, [jumpToMessageFromSearch, handleHighlightedMessageChange]);\n\n /** MESSAGE */\n const notifyJumpToFirstUnreadError = useCallback(() => {\n client.notifications.addError({\n message: t('Failed to jump to the first unread message'),\n options: {\n tags: addNotificationTargetTag('channel'),\n type: 'channel:jumpToFirstUnread:failed',\n },\n origin: {\n context: { feature: 'jumpToFirstUnread' },\n emitter: 'Channel',\n },\n });\n }, [client, t]);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const loadMoreFinished = useCallback(\n debounce(\n (hasMore: boolean, messages: ChannelState['messages']) => {\n if (!isMounted.current) return;\n dispatch({ hasMore, messages, type: 'loadMoreFinished' });\n },\n 2000,\n { leading: true, trailing: true },\n ),\n [],\n );\n\n const finishLoadMore = useCallback(\n (hasMore: boolean, messages: ChannelState['messages']) => {\n if (!isMounted.current) return;\n dispatch({ hasMore, messages, type: 'loadMoreFinished' });\n },\n [isMounted],\n );\n\n const loadMore = async (limit = DEFAULT_NEXT_CHANNEL_PAGE_SIZE) => {\n if (\n !online.current ||\n !window.navigator.onLine ||\n !channel.state.messagePagination.hasPrev\n )\n return 0;\n\n // prevent duplicate loading events...\n const oldestMessage = state?.messages?.[0];\n\n if (\n state.loadingMore ||\n state.loadingMoreNewer ||\n oldestMessage?.status !== 'received'\n ) {\n return 0;\n }\n\n dispatch({ loadingMore: true, type: 'setLoadingMore' });\n\n const oldestID = oldestMessage?.id;\n const perPage = limit;\n let queryResponse: ChannelAPIResponse;\n\n try {\n queryResponse = await channel.query({\n messages: { id_lt: oldestID, limit: perPage },\n watchers: { limit: perPage },\n });\n } catch (e) {\n console.warn('message pagination request failed with error', e);\n dispatch({ loadingMore: false, type: 'setLoadingMore' });\n return 0;\n }\n\n loadMoreFinished.cancel();\n finishLoadMore(channel.state.messagePagination.hasPrev, channel.state.messages);\n\n return queryResponse.messages.length;\n };\n\n const loadMoreNewer = async (limit = DEFAULT_NEXT_CHANNEL_PAGE_SIZE) => {\n if (\n !online.current ||\n !window.navigator.onLine ||\n !channel.state.messagePagination.hasNext\n )\n return 0;\n\n const newestMessage = state?.messages?.[state?.messages?.length - 1];\n if (state.loadingMore || state.loadingMoreNewer) return 0;\n\n dispatch({ loadingMoreNewer: true, type: 'setLoadingMoreNewer' });\n\n const newestId = newestMessage?.id;\n const perPage = limit;\n let queryResponse: ChannelAPIResponse;\n\n try {\n queryResponse = await channel.query({\n messages: { id_gt: newestId, limit: perPage },\n watchers: { limit: perPage },\n });\n } catch (e) {\n console.warn('message pagination request failed with error', e);\n dispatch({ loadingMoreNewer: false, type: 'setLoadingMoreNewer' });\n return 0;\n }\n\n dispatch({\n hasMoreNewer: channel.state.messagePagination.hasNext,\n messages: channel.state.messages,\n type: 'loadMoreNewerFinished',\n });\n return queryResponse.messages.length;\n };\n\n const jumpToMessage: ChannelActionContextValue['jumpToMessage'] = useCallback(\n async (\n messageId,\n messageLimit = DEFAULT_JUMP_TO_PAGE_SIZE,\n highlightDuration = DEFAULT_HIGHLIGHT_DURATION,\n ) => {\n // Keep quoted-message jumps out of the older-page pagination path.\n dispatch({\n loadingMoreForJumpToChannelMessage: true,\n type: 'setLoadingMoreForJumpToChannelMessage',\n });\n loadMoreFinished.cancel();\n try {\n await channel.state.loadMessageIntoState(messageId, undefined, messageLimit);\n\n handleHighlightedMessageChange({\n highlightDuration,\n highlightedMessageId: messageId,\n });\n } catch (error) {\n dispatch({\n loadingMoreForJumpToChannelMessage: false,\n type: 'setLoadingMoreForJumpToChannelMessage',\n });\n throw error;\n }\n },\n [channel, handleHighlightedMessageChange, loadMoreFinished],\n );\n\n const jumpToLatestMessage: ChannelActionContextValue['jumpToLatestMessage'] =\n useCallback(async () => {\n loadMoreFinished.cancel();\n await channel.state.loadMessageIntoState('latest');\n dispatch({\n hasMore: channel.state.messagePagination.hasPrev,\n hasMoreNewer: channel.state.messagePagination.hasNext,\n messages: channel.state.messages,\n type: 'jumpToLatestMessageFinished',\n });\n }, [channel, loadMoreFinished]);\n\n const jumpToFirstUnreadMessage: ChannelActionContextValue['jumpToFirstUnreadMessage'] =\n useCallback(\n async (\n queryMessageLimit = DEFAULT_JUMP_TO_PAGE_SIZE,\n highlightDuration = DEFAULT_HIGHLIGHT_DURATION,\n ) => {\n if (!channelUnreadUiState?.unread_messages) return;\n let lastReadMessageId = channelUnreadUiState?.last_read_message_id;\n let firstUnreadMessageId = channelUnreadUiState?.first_unread_message_id;\n let isInCurrentMessageSet = false;\n\n if (firstUnreadMessageId) {\n const result = findInMsgSetById(firstUnreadMessageId, channel.state.messages);\n isInCurrentMessageSet = result.index !== -1;\n } else if (lastReadMessageId) {\n const result = findInMsgSetById(lastReadMessageId, channel.state.messages);\n isInCurrentMessageSet = !!result.target;\n firstUnreadMessageId =\n result.index > -1 ? channel.state.messages[result.index + 1]?.id : undefined;\n } else {\n const lastReadTimestamp = channelUnreadUiState.last_read.getTime();\n const { index: lastReadMessageIndex, target: lastReadMessage } =\n findInMsgSetByDate(\n channelUnreadUiState.last_read,\n channel.state.messages,\n true,\n );\n\n if (lastReadMessage) {\n firstUnreadMessageId = channel.state.messages[lastReadMessageIndex + 1]?.id;\n isInCurrentMessageSet = !!firstUnreadMessageId;\n lastReadMessageId = lastReadMessage.id;\n } else {\n dispatch({ loadingMore: true, type: 'setLoadingMore' });\n let messages;\n try {\n messages = (\n await channel.query(\n {\n messages: {\n created_at_around: channelUnreadUiState.last_read.toISOString(),\n limit: queryMessageLimit,\n },\n },\n 'new',\n )\n ).messages;\n } catch (e) {\n notifyJumpToFirstUnreadError();\n finishLoadMore(\n channel.state.messagePagination.hasPrev,\n channel.state.messages,\n );\n return;\n }\n\n const firstMessageWithCreationDate = messages.find((msg) => msg.created_at);\n if (!firstMessageWithCreationDate) {\n notifyJumpToFirstUnreadError();\n finishLoadMore(\n channel.state.messagePagination.hasPrev,\n channel.state.messages,\n );\n return;\n }\n const firstMessageTimestamp = new Date(\n firstMessageWithCreationDate.created_at as string,\n ).getTime();\n if (lastReadTimestamp < firstMessageTimestamp) {\n // whole channel is unread\n firstUnreadMessageId = firstMessageWithCreationDate.id;\n } else {\n const result = findInMsgSetByDate(channelUnreadUiState.last_read, messages);\n lastReadMessageId = result.target?.id;\n }\n finishLoadMore(\n channel.state.messagePagination.hasPrev,\n channel.state.messages,\n );\n }\n }\n\n if (!firstUnreadMessageId && !lastReadMessageId) {\n notifyJumpToFirstUnreadError();\n return;\n }\n\n if (!isInCurrentMessageSet) {\n dispatch({ loadingMore: true, type: 'setLoadingMore' });\n try {\n const targetId = (firstUnreadMessageId ?? lastReadMessageId) as string;\n await channel.state.loadMessageIntoState(\n targetId,\n undefined,\n queryMessageLimit,\n );\n /**\n * if the index of the last read message on the page is beyond the half of the page,\n * we have arrived to the oldest page of the channel\n */\n const indexOfTarget = channel.state.messages.findIndex(\n (message) => message.id === targetId,\n ) as number;\n finishLoadMore(\n channel.state.messagePagination.hasPrev,\n channel.state.messages,\n );\n firstUnreadMessageId =\n firstUnreadMessageId ?? channel.state.messages[indexOfTarget + 1]?.id;\n } catch (e) {\n notifyJumpToFirstUnreadError();\n finishLoadMore(\n channel.state.messagePagination.hasPrev,\n channel.state.messages,\n );\n return;\n }\n }\n\n if (!firstUnreadMessageId) {\n notifyJumpToFirstUnreadError();\n return;\n }\n if (!channelUnreadUiState.first_unread_message_id)\n _setChannelUnreadUiState({\n ...channelUnreadUiState,\n first_unread_message_id: firstUnreadMessageId,\n last_read_message_id: lastReadMessageId,\n });\n handleHighlightedMessageChange({\n highlightDuration,\n highlightedMessageId: firstUnreadMessageId,\n });\n },\n [\n channel,\n finishLoadMore,\n handleHighlightedMessageChange,\n notifyJumpToFirstUnreadError,\n channelUnreadUiState,\n ],\n );\n\n const deleteMessage = useCallback(\n async (\n message: LocalMessage,\n options?: DeleteMessageOptions,\n ): Promise<MessageResponse> => {\n if (!message?.id) {\n throw new Error('Cannot delete a message - missing message ID.');\n }\n let deletedMessage;\n if (doDeleteMessageRequest) {\n deletedMessage = await doDeleteMessageRequest(message, options);\n } else {\n const result = await client.deleteMessage(message.id, options);\n deletedMessage = result.message;\n }\n\n return deletedMessage;\n },\n [client, doDeleteMessageRequest],\n );\n\n const updateMessage = (updatedMessage: MessageResponse | LocalMessage) => {\n // add the message to the local channel state\n channel.state.addMessageSorted(updatedMessage, true);\n\n dispatch({\n channel,\n parentId: state.thread && updatedMessage.parent_id,\n type: 'copyMessagesFromChannel',\n });\n };\n\n const doSendMessage = async ({\n localMessage,\n message,\n options,\n }: {\n localMessage: LocalMessage;\n message: Message;\n options?: SendMessageOptions;\n }) => {\n try {\n let messageResponse: void | SendMessageAPIResponse;\n\n if (doSendMessageRequest) {\n messageResponse = await doSendMessageRequest(channel, message, options);\n } else {\n messageResponse = await channel.sendMessage(message, options);\n }\n\n let existingMessage: LocalMessage | undefined = undefined;\n for (let i = channel.state.messages.length - 1; i >= 0; i--) {\n const msg = channel.state.messages[i];\n if (msg.id && msg.id === message.id) {\n existingMessage = msg;\n break;\n }\n }\n\n const responseTimestamp = new Date(\n messageResponse?.message?.updated_at || 0,\n ).getTime();\n const existingMessageTimestamp = existingMessage?.updated_at?.getTime() || 0;\n const responseIsTheNewest = responseTimestamp > existingMessageTimestamp;\n\n // Replace the message payload after send is completed\n // We need to check for the newest message payload, because on slow network, the response can arrive later than WS events message.new, message.updated.\n // Always override existing message in status \"sending\"\n if (\n messageResponse?.message &&\n (responseIsTheNewest || existingMessage?.status === 'sending')\n ) {\n updateMessage({\n ...messageResponse.message,\n status: 'received',\n });\n }\n } catch (error) {\n // error response isn't usable so needs to be stringified then parsed\n const stringError = JSON.stringify(error);\n const parsedError = (\n stringError ? JSON.parse(stringError) : {}\n ) as ErrorFromResponse<APIErrorResponse>;\n\n // Handle the case where the message already exists\n // (typically, when retrying to send a message).\n // If the message already exists, we can assume it was sent successfully,\n // so we update the message status to \"received\".\n // Right now, the only way to check this error is by checking\n // the combination of the error code and the error description,\n // since there is no special error code for duplicate messages.\n if (\n parsedError.code === 4 &&\n error instanceof Error &&\n error.message.includes('already exists')\n ) {\n updateMessage({\n ...localMessage,\n status: 'received',\n });\n } else {\n updateMessage({\n ...localMessage,\n error: parsedError,\n status: 'failed',\n });\n\n thread?.upsertReplyLocally({\n message: {\n ...localMessage,\n error: parsedError,\n status: 'failed',\n },\n });\n }\n }\n };\n\n const sendMessage = async ({\n localMessage,\n message,\n options,\n }: {\n localMessage: LocalMessage;\n message: Message;\n options?: SendMessageOptions;\n }) => {\n channel.state.filterErrorMessages();\n\n thread?.upsertReplyLocally({\n message: localMessage,\n });\n\n updateMessage(localMessage);\n\n await doSendMessage({ localMessage, message, options });\n };\n\n const retrySendMessage = async (localMessage: LocalMessage) => {\n /**\n * If type is not checked, and we for example send message.type === 'error',\n * then request fails with error: \"message.type must be one of ['' regular system]\".\n * For now, we re-send any other type to prevent breaking behavior.\n */\n\n const type = localMessage.type === 'error' ? 'regular' : localMessage.type;\n updateMessage({\n ...localMessage,\n error: undefined,\n status: 'sending',\n type,\n });\n\n await doSendMessage({\n localMessage,\n message: localMessageToNewMessagePayload({ ...localMessage, type }),\n });\n };\n\n const removeMessage = (message: LocalMessage) => {\n channel.state.removeMessage(message);\n\n dispatch({\n channel,\n parentId: state.thread && message.parent_id,\n type: 'copyMessagesFromChannel',\n });\n };\n\n /** THREAD */\n\n const openThread = (message: LocalMessage, event?: React.BaseSyntheticEvent) => {\n event?.preventDefault();\n dispatch({ channel, message, type: 'openThread' });\n };\n\n const closeThread = (event?: React.BaseSyntheticEvent) => {\n event?.preventDefault();\n dispatch({ type: 'closeThread' });\n };\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const loadMoreThreadFinished = useCallback(\n debounce(\n (\n threadHasMore: boolean,\n threadMessages: Array<ReturnType<ChannelState['formatMessage']>>,\n ) => {\n dispatch({\n threadHasMore,\n threadMessages,\n type: 'loadMoreThreadFinished',\n });\n },\n 2000,\n { leading: true, trailing: true },\n ),\n [],\n );\n\n const loadMoreThread = async (limit: number = DEFAULT_THREAD_PAGE_SIZE) => {\n // FIXME: should prevent loading more, if state.thread.reply_count === channel.state.threads[parentID].length\n if (state.threadLoadingMore || !state.thread || !state.threadHasMore) return;\n\n dispatch({ type: 'startLoadingThread' });\n const parentId = state.thread.id;\n\n if (!parentId) {\n return dispatch({ type: 'closeThread' });\n }\n\n const oldMessages = channel.state.threads[parentId] || [];\n const oldestMessageId = oldMessages[0]?.id;\n\n try {\n const queryResponse = await channel.getReplies(parentId, {\n id_lt: oldestMessageId,\n limit,\n });\n\n const threadHasMoreMessages = hasMoreMessagesProbably(\n queryResponse.messages.length,\n limit,\n );\n const newThreadMessages = channel.state.threads[parentId] || [];\n\n // next set loadingMore to false so we can start asking for more data\n loadMoreThreadFinished(threadHasMoreMessages, newThreadMessages);\n } catch (e) {\n loadMoreThreadFinished(false, oldMessages);\n }\n };\n\n const onMentionsHoverOrClick = useMentionsHandlers(onMentionsHover, onMentionsClick);\n\n const editMessage = useEditMessageHandler(doUpdateMessageRequest);\n\n const { typing, ...restState } = state;\n\n const channelStateContextValue = useCreateChannelStateContext({\n ...restState,\n channel,\n channelCapabilitiesArray,\n channelConfig,\n channelUnreadUiState,\n giphyVersion: props.giphyVersion || 'fixed_height',\n imageAttachmentSizeHandler:\n props.imageAttachmentSizeHandler || getImageAttachmentConfiguration,\n mutes,\n notifications: [],\n shouldGenerateVideoThumbnail: props.shouldGenerateVideoThumbnail || true,\n videoAttachmentSizeHandler:\n props.videoAttachmentSizeHandler || getVideoAttachmentConfiguration,\n watcher_count: state.watcherCount,\n });\n\n const channelActionContextValue: ChannelActionContextValue = useMemo(\n () => ({\n closeThread,\n deleteMessage,\n dispatch,\n editMessage,\n jumpToFirstUnreadMessage,\n jumpToLatestMessage,\n jumpToMessage,\n loadMore,\n loadMoreNewer,\n loadMoreThread,\n markRead,\n onMentionsClick: onMentionsHoverOrClick,\n onMentionsHover: onMentionsHoverOrClick,\n openThread,\n removeMessage,\n retrySendMessage,\n sendMessage,\n setChannelUnreadUiState,\n skipMessageDataMemoization,\n updateMessage,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n channel.cid,\n deleteMessage,\n loadMore,\n loadMoreNewer,\n markRead,\n jumpToFirstUnreadMessage,\n jumpToMessage,\n jumpToLatestMessage,\n setChannelUnreadUiState,\n ],\n );\n\n const typingContextValue = useCreateTypingContext({\n typing,\n });\n\n if (state.error) {\n return (\n <ChannelContainer>\n <LoadingErrorIndicator error={state.error} />\n </ChannelContainer>\n );\n }\n\n if (state.loading) {\n return (\n <ChannelContainer>\n <LoadingIndicator />\n </ChannelContainer>\n );\n }\n\n if (!channel.watch) {\n return (\n <ChannelContainer>\n <div>{t('Channel Missing')}</div>\n </ChannelContainer>\n );\n }\n\n return (\n <ChannelContainer className={windowsEmojiClass}>\n <ChannelStateProvider value={channelStateContextValue}>\n <ChannelActionProvider value={channelActionContextValue}>\n <TypingProvider value={typingContextValue}>\n <WithAudioPlayback allowConcurrentPlayback={allowConcurrentAudioPlayback}>\n <div className={clsx(chatContainerClass)}>{children}</div>\n </WithAudioPlayback>\n </TypingProvider>\n </ChannelActionProvider>\n </ChannelStateProvider>\n </ChannelContainer>\n );\n};\n\n/**\n * A wrapper component that provides channel data and renders children.\n * The Channel component provides the following contexts:\n * - [ChannelStateContext](https://getstream.io/chat/docs/sdk/react/contexts/channel_state_context/)\n * - [ChannelActionContext](https://getstream.io/chat/docs/sdk/react/contexts/channel_action_context/)\n * - [ComponentContext](https://getstream.io/chat/docs/sdk/react/contexts/component_context/)\n * - [TypingContext](https://getstream.io/chat/docs/sdk/react/contexts/typing_context/)\n */\nexport const Channel = React.memo(UnMemoizedChannel) as typeof UnMemoizedChannel;\n","import React, { createContext, useContext } from 'react';\n\nimport { Channel } from '../Channel';\n\nimport type { PropsWithChildren } from 'react';\nimport type { Thread } from 'stream-chat';\n\nexport type ThreadContextValue = Thread | undefined;\n\nexport const ThreadContext = createContext<ThreadContextValue>(undefined);\n\nexport const useThreadContext = () => useContext(ThreadContext);\n\nexport const ThreadProvider = ({\n children,\n thread,\n}: PropsWithChildren<{ thread?: Thread }>) => (\n <ThreadContext.Provider value={thread}>\n <Channel channel={thread?.channel}>{children}</Channel>\n </ThreadContext.Provider>\n);\n","import clsx from 'clsx';\nimport React from 'react';\nimport type { PropsWithChildren } from 'react';\n\nexport const UnreadCountBadge = ({\n children,\n count,\n position,\n}: PropsWithChildren<{\n count: number;\n position?: 'top-right' | 'bottom-right' | 'bottom-left' | 'top-left';\n}>) => (\n <div className='str-chat__unread-count-badge-container'>\n {children}\n {count > 0 && (\n <div\n className={clsx(\n 'str-chat__unread-count-badge',\n position && `str-chat__unread-count-badge--${position}`,\n )}\n >\n {count}\n </div>\n )}\n </div>\n);\n","import clsx from 'clsx';\nimport React, {\n type ComponentType,\n createContext,\n useContext,\n useEffect,\n useMemo,\n useState,\n} from 'react';\n\nimport { Button, type ButtonProps } from '../Button';\nimport { EmptyStateIndicator as DefaultEmptyStateIndicator } from '../EmptyStateIndicator';\nimport {\n IconBubble2ChatMessage,\n IconBubble2Solid,\n IconBubbleText6ChatMessage,\n IconBubbleText6SolidChatMessage,\n} from '../Icons';\nimport { ThreadProvider } from '../Threads';\nimport { UnreadCountBadge } from '../Threads/UnreadCountBadge';\nimport {\n useChatContext,\n useComponentContext,\n useTranslationContext,\n} from '../../context';\nimport { useStateStore } from '../../store';\n\nimport type { PropsWithChildren } from 'react';\nimport type { Thread, ThreadManagerState } from 'stream-chat';\n\nexport type ChatView = 'channels' | 'threads';\n\ntype ChatViewContextValue = {\n activeChatView: ChatView;\n setActiveChatView: (cv: ChatView) => void;\n};\n\nexport const ChatViewContext = createContext<ChatViewContextValue | undefined>(undefined);\n\nexport const useChatViewContext = () => {\n const value = useContext(ChatViewContext);\n\n if (!value) {\n throw new Error(\n 'The useChatViewContext hook was called outside of the ChatView provider.',\n );\n }\n\n return value;\n};\n\nexport const ChatView = ({ children }: PropsWithChildren) => {\n const [activeChatView, setActiveChatView] = useState<ChatView>('channels');\n\n const { theme } = useChatContext();\n\n const value = useMemo(() => ({ activeChatView, setActiveChatView }), [activeChatView]);\n\n return (\n <ChatViewContext.Provider value={value}>\n <div className={clsx('str-chat', theme, 'str-chat__chat-view')}>{children}</div>\n </ChatViewContext.Provider>\n );\n};\n\nconst ChannelsView = ({ children }: PropsWithChildren) => {\n const { activeChatView } = useChatViewContext();\n\n if (activeChatView !== 'channels') return null;\n\n return <div className='str-chat__chat-view__channels'>{children}</div>;\n};\n\nexport type ThreadsViewContextValue = {\n activeThread: Thread | undefined;\n setActiveThread: (cv: ThreadsViewContextValue['activeThread']) => void;\n};\n\nconst ThreadsViewContext = createContext<ThreadsViewContextValue>({\n activeThread: undefined,\n setActiveThread: () => undefined,\n});\n\nexport const useThreadsViewContext = () => useContext(ThreadsViewContext);\n\nconst ThreadsView = ({ children }: PropsWithChildren) => {\n const { activeChatView } = useChatViewContext();\n const [activeThread, setActiveThread] =\n useState<ThreadsViewContextValue['activeThread']>(undefined);\n\n const value = useMemo(() => ({ activeThread, setActiveThread }), [activeThread]);\n\n if (activeChatView !== 'threads') return null;\n\n return (\n <ThreadsViewContext.Provider value={value}>\n <div className='str-chat__chat-view__threads'>{children}</div>\n </ThreadsViewContext.Provider>\n );\n};\n\n// thread business logic that's impossible to keep within client but encapsulated for ease of use\nexport const useActiveThread = ({ activeThread }: { activeThread?: Thread }) => {\n useEffect(() => {\n if (!activeThread) return;\n\n const handleVisibilityChange = () => {\n if (document.visibilityState === 'visible' && document.hasFocus()) {\n activeThread.activate();\n }\n if (document.visibilityState === 'hidden' || !document.hasFocus()) {\n activeThread.deactivate();\n }\n };\n\n handleVisibilityChange();\n\n window.addEventListener('focus', handleVisibilityChange);\n window.addEventListener('blur', handleVisibilityChange);\n return () => {\n activeThread.deactivate();\n window.addEventListener('blur', handleVisibilityChange);\n window.removeEventListener('focus', handleVisibilityChange);\n };\n }, [activeThread]);\n};\n\n// ThreadList under View.Threads context, will access setting function and on item click will set activeThread\n// which can be accessed for the ease of use by ThreadAdapter which forwards it to required ThreadProvider\n// ThreadList can easily live without this context and click handler can be overriden, ThreadAdapter is then no longer needed\n/**\n * // this setup still works\n * const MyCustomComponent = () => {\n * const [activeThread, setActiveThread] = useState();\n *\n * return <>\n * // simplified\n * <ThreadList onItemPointerDown={setActiveThread} />\n * <ThreadProvider thread={activeThread}>\n * <Thread />\n * </ThreadProvider>\n * </>\n * }\n *\n */\nconst ThreadAdapter = ({ children }: PropsWithChildren) => {\n const { client } = useChatContext('ThreadAdapter');\n const { EmptyStateIndicator = DefaultEmptyStateIndicator } =\n useComponentContext('ThreadAdapter');\n const { activeThread } = useThreadsViewContext();\n const { t } = useTranslationContext('ThreadAdapter');\n const { isLoading, ready } = useStateStore(\n client.threads.state,\n threadAdapterSelector,\n ) ?? {\n isLoading: false,\n ready: false,\n };\n\n useActiveThread({ activeThread });\n\n if (!activeThread && ready && !isLoading && EmptyStateIndicator) {\n return (\n <div className='str-chat__thread-container str-chat__thread'>\n <EmptyStateIndicator\n listType='message'\n messageText={t('Select a thread to continue the conversation')}\n />\n </div>\n );\n }\n\n return <ThreadProvider thread={activeThread}>{children}</ThreadProvider>;\n};\n\nexport const ChatViewSelectorButton = ({\n ActiveIcon,\n children,\n className,\n Icon,\n iconOnly = true,\n isActive,\n text,\n ...props\n}: ButtonProps & {\n ActiveIcon?: ComponentType;\n iconOnly?: boolean;\n Icon?: ComponentType;\n isActive?: boolean;\n text?: string;\n}) => {\n const SelectorIcon = isActive && ActiveIcon ? ActiveIcon : Icon;\n const shouldShowTooltip = !!text && iconOnly;\n\n return (\n <div className='str-chat__chat-view__selector-button-container'>\n <Button\n appearance='ghost'\n aria-label={props['aria-label'] ?? (shouldShowTooltip ? text : undefined)}\n className={clsx('str-chat__chat-view__selector-button', className)}\n role='tab'\n variant='secondary'\n {...props}\n >\n {children ?? (SelectorIcon && <SelectorIcon />)}\n {!iconOnly && text && (\n <div className='str-chat__chat-view__selector-button-text'>{text}</div>\n )}\n </Button>\n {shouldShowTooltip && (\n <div\n aria-hidden='true'\n className='str-chat__chat-view__selector-button-tooltip str-chat__tooltip'\n >\n {text}\n </div>\n )}\n </div>\n );\n};\n\nconst threadAdapterSelector = ({ pagination, ready }: ThreadManagerState) => ({\n isLoading: pagination.isLoading,\n ready,\n});\n\nconst unreadThreadCountSelector = ({ unreadThreadCount }: ThreadManagerState) => ({\n unreadThreadCount,\n});\n\nexport type ChatViewSelectorItemProps = {\n iconOnly?: boolean;\n};\n\nexport const ChatViewChannelsSelectorButton = ({\n iconOnly = true,\n}: ChatViewSelectorItemProps) => {\n const { activeChatView, setActiveChatView } = useChatViewContext();\n const { openMobileNav } = useChatContext('ChatViewChannelsSelectorButton');\n const { t } = useTranslationContext();\n\n const isActive = activeChatView === 'channels';\n return (\n <ChatViewSelectorButton\n ActiveIcon={IconBubble2Solid}\n aria-selected={isActive}\n Icon={IconBubble2ChatMessage}\n iconOnly={iconOnly}\n isActive={isActive}\n onPointerDown={() => {\n openMobileNav();\n setActiveChatView('channels');\n }}\n text={t('Channels')}\n />\n );\n};\n\nexport const ChatViewThreadsSelectorButton = ({\n iconOnly = true,\n}: ChatViewSelectorItemProps) => {\n const { client, openMobileNav } = useChatContext();\n const { unreadThreadCount } = useStateStore(\n client.threads.state,\n unreadThreadCountSelector,\n ) ?? {\n unreadThreadCount: 0,\n };\n const { activeChatView, setActiveChatView } = useChatViewContext();\n const { t } = useTranslationContext();\n\n const isActive = activeChatView === 'threads';\n return (\n <ChatViewSelectorButton\n ActiveIcon={IconBubbleText6SolidChatMessage}\n aria-selected={isActive}\n Icon={IconBubbleText6ChatMessage}\n iconOnly={iconOnly}\n isActive={isActive}\n onPointerDown={() => {\n openMobileNav();\n setActiveChatView('threads');\n }}\n text={t('Threads')}\n >\n <UnreadCountBadge count={unreadThreadCount} position='top-right'>\n {isActive ? <IconBubbleText6SolidChatMessage /> : <IconBubbleText6ChatMessage />}\n </UnreadCountBadge>\n </ChatViewSelectorButton>\n );\n};\n\nexport type ChatViewSelectorItem = {\n Component: React.ComponentType<ChatViewSelectorItemProps>;\n type: string & {};\n};\n\nexport type ChatViewSelectorEntry = ChatViewSelectorItem;\n\nexport type ChatViewSelectorProps = {\n iconOnly?: boolean;\n itemSet?: ChatViewSelectorEntry[];\n};\n\nexport const defaultChatViewSelectorItemSet: ChatViewSelectorEntry[] = [\n {\n Component: ChatViewChannelsSelectorButton,\n type: 'channels' as string & {},\n },\n {\n Component: ChatViewThreadsSelectorButton,\n type: 'threads' as string & {},\n },\n];\n\nconst ChatViewSelector = ({\n iconOnly = true,\n itemSet = defaultChatViewSelectorItemSet,\n}: ChatViewSelectorProps) => {\n const { navOpen } = useChatContext('ChatView.Selector');\n return (\n <div\n className={clsx('str-chat__chat-view__selector', {\n 'str-chat__chat-view__selector--nav-closed': navOpen === false,\n 'str-chat__chat-view__selector--nav-open': navOpen === true,\n })}\n >\n {itemSet.map(({ Component, type }) => (\n <Component iconOnly={iconOnly} key={type} />\n ))}\n </div>\n );\n};\n\nChatView.Channels = ChannelsView;\nChatView.Threads = ThreadsView;\nChatView.ThreadAdapter = ThreadAdapter;\nChatView.Selector = ChatViewSelector;\n","import { useChatViewContext } from '../../ChatView';\nimport { useChannelStateContext } from '../../../context';\nimport { useThreadContext } from '../../Threads/ThreadContext';\n\nimport type { NotificationTargetPanel } from '../notificationTarget';\nimport { useLegacyThreadContext } from '../../Thread';\n\n/**\n * Resolves the panel target where notifications emitted by the current component should be displayed.\n */\nexport const useNotificationTarget = (): NotificationTargetPanel => {\n const { activeChatView } = useChatViewContext();\n const { channel } = useChannelStateContext();\n const threadInstance = useThreadContext();\n const { legacyThread } = useLegacyThreadContext();\n\n if (threadInstance || legacyThread) return 'thread';\n if (channel) return 'channel';\n if (activeChatView === 'threads') return 'thread-list';\n return 'channel-list';\n};\n","import React, { useContext, useState } from 'react';\nimport { useEffect } from 'react';\nimport type { AudioPlayerOptions } from './AudioPlayer';\nimport type { AudioPlayerPoolState } from './AudioPlayerPool';\nimport { AudioPlayerPool } from './AudioPlayerPool';\nimport { audioPlayerNotificationsPluginFactory } from './plugins/AudioPlayerNotificationsPlugin';\nimport { useNotificationTarget } from '../Notifications';\nimport { useChatContext, useTranslationContext } from '../../context';\nimport { useStateStore } from '../../store';\n\nexport type WithAudioPlaybackProps = {\n children?: React.ReactNode;\n allowConcurrentPlayback?: boolean;\n};\n\nconst AudioPlayerContext = React.createContext<{ audioPlayers: AudioPlayerPool | null }>({\n audioPlayers: null,\n});\n\nexport const WithAudioPlayback = ({\n allowConcurrentPlayback,\n children,\n}: WithAudioPlaybackProps) => {\n const [audioPlayers] = useState(() => new AudioPlayerPool({ allowConcurrentPlayback }));\n\n useEffect(\n () => () => {\n audioPlayers.clear();\n },\n [audioPlayers],\n );\n\n return (\n <AudioPlayerContext.Provider value={{ audioPlayers }}>\n {children}\n </AudioPlayerContext.Provider>\n );\n};\n\nexport type UseAudioPlayerProps = {\n /**\n * Identifier of the entity that requested the audio playback, e.g. message ID.\n * Asset to specific audio player is a many-to-many relationship\n * - one URL can be associated with multiple UI elements,\n * - one UI element can display multiple audio sources.\n * Therefore, the AudioPlayer ID is a combination of request:src.\n *\n * The requester string can take into consideration whether there are multiple instances of\n * the same URL requested by the same requester (message has multiple attachments with the same asset URL).\n * In reality the fact that one message has multiple attachments with the same asset URL\n * could be considered a bad practice or a bug.\n */\n requester?: string;\n} & Partial<Omit<AudioPlayerOptions, 'id' | 'pool'>>;\n\nconst makeAudioPlayerId = ({ requester, src }: { src: string; requester?: string }) =>\n `${requester ?? 'requester-unknown'}:${src}`;\n\nexport const useAudioPlayer = ({\n durationSeconds,\n fileSize,\n mimeType,\n playbackRates,\n plugins,\n requester = '',\n src,\n title,\n waveformData,\n}: UseAudioPlayerProps) => {\n const { client } = useChatContext();\n const panel = useNotificationTarget();\n const { t } = useTranslationContext();\n const { audioPlayers } = useContext(AudioPlayerContext);\n\n const audioPlayer =\n src && audioPlayers\n ? audioPlayers.getOrAdd({\n durationSeconds,\n fileSize,\n id: makeAudioPlayerId({ requester, src }),\n mimeType,\n playbackRates,\n plugins,\n src,\n title,\n waveformData,\n })\n : undefined;\n\n useEffect(() => {\n if (!audioPlayer) return;\n /**\n * Avoid having to pass client and translation function to AudioPlayer instances\n * and instead provide plugin that takes care of translated notifications.\n */\n const notificationsPlugin = audioPlayerNotificationsPluginFactory({\n client,\n panel,\n t,\n });\n audioPlayer.setPlugins((currentPlugins) => [\n ...currentPlugins.filter((plugin) => plugin.id !== notificationsPlugin.id),\n notificationsPlugin,\n ]);\n }, [audioPlayer, client, panel, t]);\n\n return audioPlayer;\n};\n\nconst activeAudioPlayerSelector = ({ activeAudioPlayer }: AudioPlayerPoolState) => ({\n activeAudioPlayer,\n});\n\nexport const useActiveAudioPlayer = () => {\n const { audioPlayers } = useContext(AudioPlayerContext);\n const { activeAudioPlayer } =\n useStateStore(audioPlayers?.state, activeAudioPlayerSelector) ?? {};\n return activeAudioPlayer;\n};\n"],"names":["jsx","useContext","useCallback","useMemo","useSyncExternalStore","createContext","module","this","e","t","n","o","r","M","calendar","localizedFormat","durationSeconds","mimeType","playbackRates","StateStore","el","forwardRef","Button","jsxs","Fragment","type","useRef","useEffect","prevMessage","nextMessage","autoPlacement","offsetMw","flipMw","shiftMw","sizeMw","useFloating","autoUpdate","FixedSizeQueueCache","MessageComposerController","nanoid","linkify","EmptyStateIndicator","DefaultEmptyStateIndicator","LoadingErrorIndicator","DefaultLoadingIndicator","DefaultLoadingErrorIndicator","useState","useReducer","useLayoutEffect","localMessageToNewMessagePayload"],"mappings":"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","x_google_ignoreList":[6,7]}
|