stream-chat-react 8.0.0 → 8.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.full-bundle.js +1820 -609
- package/dist/browser.full-bundle.js.map +1 -1
- package/dist/browser.full-bundle.min.js +4 -4
- package/dist/browser.full-bundle.min.js.map +1 -1
- package/dist/components/Attachment/AttachmentActions.d.ts +0 -1
- package/dist/components/Attachment/AttachmentActions.d.ts.map +1 -1
- package/dist/components/Attachment/Audio.d.ts +0 -1
- package/dist/components/Attachment/Audio.d.ts.map +1 -1
- package/dist/components/Attachment/FileAttachment.d.ts +0 -1
- package/dist/components/Attachment/FileAttachment.d.ts.map +1 -1
- package/dist/components/AutoCompleteTextarea/Item.d.ts.map +1 -1
- package/dist/components/AutoCompleteTextarea/Item.js +2 -1
- package/dist/components/AutoCompleteTextarea/Textarea.d.ts.map +1 -1
- package/dist/components/AutoCompleteTextarea/Textarea.js +1 -1
- package/dist/components/Channel/Channel.d.ts.map +1 -1
- package/dist/components/Channel/Channel.js +102 -24
- package/dist/components/Channel/channelState.d.ts +17 -0
- package/dist/components/Channel/channelState.d.ts.map +1 -1
- package/dist/components/Channel/channelState.js +24 -2
- package/dist/components/Channel/hooks/useCreateChannelStateContext.d.ts.map +1 -1
- package/dist/components/Channel/hooks/useCreateChannelStateContext.js +7 -1
- package/dist/components/Channel/hooks/useIsMounted.d.ts +0 -1
- package/dist/components/Channel/hooks/useIsMounted.d.ts.map +1 -1
- package/dist/components/Channel/utils.d.ts +5 -0
- package/dist/components/Channel/utils.d.ts.map +1 -0
- package/dist/components/Channel/utils.js +19 -0
- package/dist/components/ChannelHeader/icons.d.ts +0 -1
- package/dist/components/ChannelHeader/icons.d.ts.map +1 -1
- package/dist/components/ChannelHeader/icons.js +1 -1
- package/dist/components/ChannelList/ChannelList.d.ts +2 -3
- package/dist/components/ChannelList/ChannelList.d.ts.map +1 -1
- package/dist/components/ChannelList/ChannelList.js +1 -0
- package/dist/components/ChannelList/hooks/useChannelDeletedListener.d.ts +0 -1
- package/dist/components/ChannelList/hooks/useChannelDeletedListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useChannelHiddenListener.d.ts +0 -1
- package/dist/components/ChannelList/hooks/useChannelHiddenListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useChannelTruncatedListener.d.ts +0 -1
- package/dist/components/ChannelList/hooks/useChannelTruncatedListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useChannelUpdatedListener.d.ts +0 -1
- package/dist/components/ChannelList/hooks/useChannelUpdatedListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useChannelVisibleListener.d.ts +0 -1
- package/dist/components/ChannelList/hooks/useChannelVisibleListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useMessageNewListener.d.ts +0 -1
- package/dist/components/ChannelList/hooks/useMessageNewListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.d.ts +0 -1
- package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.d.ts +0 -1
- package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useNotificationRemovedFromChannelListener.d.ts +0 -1
- package/dist/components/ChannelList/hooks/useNotificationRemovedFromChannelListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/usePaginatedChannels.d.ts +0 -1
- package/dist/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useUserPresenceChangedListener.d.ts +0 -1
- package/dist/components/ChannelList/hooks/useUserPresenceChangedListener.d.ts.map +1 -1
- package/dist/components/ChannelPreview/ChannelPreview.d.ts.map +1 -1
- package/dist/components/ChannelPreview/ChannelPreview.js +6 -10
- package/dist/components/ChannelPreview/ChannelPreviewMessenger.d.ts +0 -1
- package/dist/components/ChannelPreview/ChannelPreviewMessenger.d.ts.map +1 -1
- package/dist/components/ChannelPreview/utils.d.ts +0 -1
- package/dist/components/ChannelPreview/utils.d.ts.map +1 -1
- package/dist/components/Chat/Chat.d.ts.map +1 -1
- package/dist/components/Chat/Chat.js +2 -1
- package/dist/components/Chat/hooks/useChat.d.ts +1 -1
- package/dist/components/Chat/hooks/useChat.d.ts.map +1 -1
- package/dist/components/Chat/hooks/useChat.js +12 -7
- package/dist/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -1
- package/dist/components/Chat/hooks/useCreateChatContext.js +2 -1
- package/dist/components/DateSeparator/DateSeparator.d.ts +0 -1
- package/dist/components/DateSeparator/DateSeparator.d.ts.map +1 -1
- package/dist/components/Gallery/Gallery.d.ts +0 -1
- package/dist/components/Gallery/Gallery.d.ts.map +1 -1
- package/dist/components/InfiniteScrollPaginator/InfiniteScroll.d.ts +2 -2
- package/dist/components/InfiniteScrollPaginator/InfiniteScroll.d.ts.map +1 -1
- package/dist/components/InfiniteScrollPaginator/InfiniteScroll.js +16 -45
- package/dist/components/InfiniteScrollPaginator/index.d.ts +0 -2
- package/dist/components/InfiniteScrollPaginator/index.d.ts.map +1 -1
- package/dist/components/InfiniteScrollPaginator/index.js +0 -2
- package/dist/components/Message/FixedHeightMessage.d.ts +0 -1
- package/dist/components/Message/FixedHeightMessage.d.ts.map +1 -1
- package/dist/components/Message/Message.d.ts +0 -1
- package/dist/components/Message/Message.d.ts.map +1 -1
- package/dist/components/Message/Message.js +8 -7
- package/dist/components/Message/MessageCommerce.d.ts +0 -1
- package/dist/components/Message/MessageCommerce.d.ts.map +1 -1
- package/dist/components/Message/MessageDeleted.d.ts +0 -1
- package/dist/components/Message/MessageDeleted.d.ts.map +1 -1
- package/dist/components/Message/MessageRepliesCountButton.d.ts.map +1 -1
- package/dist/components/Message/MessageRepliesCountButton.js +10 -24
- package/dist/components/Message/MessageSimple.d.ts +0 -1
- package/dist/components/Message/MessageSimple.d.ts.map +1 -1
- package/dist/components/Message/MessageSimple.js +2 -2
- package/dist/components/Message/MessageTeam.d.ts +0 -1
- package/dist/components/Message/MessageTeam.d.ts.map +1 -1
- package/dist/components/Message/MessageText.d.ts +0 -1
- package/dist/components/Message/MessageText.d.ts.map +1 -1
- package/dist/components/Message/MessageTimestamp.d.ts +0 -1
- package/dist/components/Message/MessageTimestamp.d.ts.map +1 -1
- package/dist/components/Message/QuotedMessage.d.ts +0 -1
- package/dist/components/Message/QuotedMessage.d.ts.map +1 -1
- package/dist/components/Message/QuotedMessage.js +3 -1
- package/dist/components/Message/hooks/useEditHandler.d.ts +0 -1
- package/dist/components/Message/hooks/useEditHandler.d.ts.map +1 -1
- package/dist/components/Message/hooks/useUserHandler.d.ts +0 -1
- package/dist/components/Message/hooks/useUserHandler.d.ts.map +1 -1
- package/dist/components/Message/icons.d.ts +0 -1
- package/dist/components/Message/icons.d.ts.map +1 -1
- package/dist/components/Message/types.d.ts +2 -1
- package/dist/components/Message/types.d.ts.map +1 -1
- package/dist/components/Message/utils.d.ts.map +1 -1
- package/dist/components/Message/utils.js +3 -0
- package/dist/components/MessageActions/MessageActionsBox.d.ts +0 -1
- package/dist/components/MessageActions/MessageActionsBox.d.ts.map +1 -1
- package/dist/components/MessageInput/EditMessageForm.d.ts +0 -1
- package/dist/components/MessageInput/EditMessageForm.d.ts.map +1 -1
- package/dist/components/MessageInput/EmojiPicker.d.ts +0 -1
- package/dist/components/MessageInput/EmojiPicker.d.ts.map +1 -1
- package/dist/components/MessageInput/MessageInputFlat.d.ts +0 -1
- package/dist/components/MessageInput/MessageInputFlat.d.ts.map +1 -1
- package/dist/components/MessageInput/MessageInputFlat.js +25 -3
- package/dist/components/MessageInput/MessageInputSmall.d.ts +0 -1
- package/dist/components/MessageInput/MessageInputSmall.d.ts.map +1 -1
- package/dist/components/MessageInput/MessageInputSmall.js +26 -4
- package/dist/components/MessageInput/QuotedMessagePreview.d.ts +0 -1
- package/dist/components/MessageInput/QuotedMessagePreview.d.ts.map +1 -1
- package/dist/components/MessageInput/UploadsPreview.d.ts +0 -1
- package/dist/components/MessageInput/UploadsPreview.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useAttachments.d.ts +0 -1
- package/dist/components/MessageInput/hooks/useAttachments.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useCooldownTimer.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useCooldownTimer.js +19 -29
- package/dist/components/MessageInput/hooks/useEmojiPicker.d.ts +0 -1
- package/dist/components/MessageInput/hooks/useEmojiPicker.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useFileUploads.d.ts +0 -1
- package/dist/components/MessageInput/hooks/useFileUploads.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useMessageInputText.d.ts +0 -1
- package/dist/components/MessageInput/hooks/useMessageInputText.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useSubmitHandler.d.ts +0 -1
- package/dist/components/MessageInput/hooks/useSubmitHandler.d.ts.map +1 -1
- package/dist/components/MessageList/GiphyPreviewMessage.d.ts +0 -1
- package/dist/components/MessageList/GiphyPreviewMessage.d.ts.map +1 -1
- package/dist/components/MessageList/MessageList.d.ts +8 -3
- package/dist/components/MessageList/MessageList.d.ts.map +1 -1
- package/dist/components/MessageList/MessageList.js +90 -24
- package/dist/components/MessageList/MessageListNotifications.d.ts +1 -0
- package/dist/components/MessageList/MessageListNotifications.d.ts.map +1 -1
- package/dist/components/MessageList/MessageListNotifications.js +2 -2
- package/dist/components/MessageList/VirtualizedMessageList.d.ts +11 -1
- package/dist/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
- package/dist/components/MessageList/VirtualizedMessageList.js +116 -19
- package/dist/components/MessageList/hooks/index.d.ts +0 -1
- package/dist/components/MessageList/hooks/index.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/index.js +0 -1
- package/dist/components/MessageList/hooks/useEnrichedMessages.d.ts +0 -1
- package/dist/components/MessageList/hooks/useEnrichedMessages.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/useEnrichedMessages.js +4 -4
- package/dist/components/MessageList/hooks/useGiphyPreview.d.ts +0 -1
- package/dist/components/MessageList/hooks/useGiphyPreview.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/useMessageListElements.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/useMessageListElements.js +1 -1
- package/dist/components/MessageList/hooks/useNewMessageNotification.d.ts +1 -2
- package/dist/components/MessageList/hooks/useNewMessageNotification.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/useNewMessageNotification.js +6 -2
- package/dist/components/MessageList/hooks/usePrependMessagesCount.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/usePrependMessagesCount.js +2 -0
- package/dist/components/MessageList/hooks/useScrollLocationLogic.d.ts +2 -0
- package/dist/components/MessageList/hooks/useScrollLocationLogic.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/useScrollLocationLogic.js +9 -5
- package/dist/components/MessageList/utils.d.ts +24 -6
- package/dist/components/MessageList/utils.d.ts.map +1 -1
- package/dist/components/MessageList/utils.js +31 -23
- package/dist/components/Reactions/ReactionsList.d.ts +0 -1
- package/dist/components/Reactions/ReactionsList.d.ts.map +1 -1
- package/dist/components/Reactions/utils/utils.d.ts +0 -1
- package/dist/components/Reactions/utils/utils.d.ts.map +1 -1
- package/dist/components/Thread/Thread.d.ts +2 -0
- package/dist/components/Thread/Thread.d.ts.map +1 -1
- package/dist/components/Thread/Thread.js +6 -10
- package/dist/context/ChannelActionContext.d.ts +3 -0
- package/dist/context/ChannelActionContext.d.ts.map +1 -1
- package/dist/context/ChannelStateContext.d.ts +5 -1
- package/dist/context/ChannelStateContext.d.ts.map +1 -1
- package/dist/context/ChatContext.d.ts +3 -0
- package/dist/context/ChatContext.d.ts.map +1 -1
- package/dist/context/MessageContext.d.ts +2 -0
- package/dist/context/MessageContext.d.ts.map +1 -1
- package/dist/context/utils/getDisplayName.d.ts +0 -1
- package/dist/context/utils/getDisplayName.d.ts.map +1 -1
- package/dist/css/index.css +1 -1
- package/dist/i18n/Streami18n.d.ts +5 -4
- package/dist/i18n/Streami18n.d.ts.map +1 -1
- package/dist/i18n/Streami18n.js +5 -5
- package/dist/i18n/de.json +29 -28
- package/dist/i18n/en.json +3 -2
- package/dist/i18n/es.json +4 -2
- package/dist/i18n/fr.json +4 -2
- package/dist/i18n/hi.json +3 -2
- package/dist/i18n/it.json +4 -2
- package/dist/i18n/ja.json +3 -2
- package/dist/i18n/ko.json +3 -2
- package/dist/i18n/nl.json +3 -2
- package/dist/i18n/pt.json +22 -20
- package/dist/i18n/ru.json +5 -2
- package/dist/i18n/tr.json +3 -2
- package/dist/index.cjs.js +489 -278
- package/dist/index.cjs.js.map +1 -1
- package/dist/scss/Attachment.scss +6 -1
- package/dist/scss/Avatar.scss +1 -1
- package/dist/scss/ChannelHeader.scss +8 -13
- package/dist/scss/Gallery.scss +19 -0
- package/dist/scss/Message.scss +24 -13
- package/dist/scss/MessageInputFlat.scss +20 -0
- package/dist/scss/MessageList.scss +7 -0
- package/dist/scss/ReactionList.scss +2 -1
- package/dist/scss/ReactionSelector.scss +2 -1
- package/dist/scss/SimpleReactionsList.scss +2 -1
- package/dist/scss/SmallMessageInput.scss +34 -0
- package/dist/scss/Thread.scss +5 -1
- package/dist/scss/VirtualMessage.scss +6 -0
- package/dist/scss/_variables.scss +4 -5
- package/dist/stories/connected-user.stories.d.ts +4 -0
- package/dist/stories/connected-user.stories.d.ts.map +1 -0
- package/dist/stories/connected-user.stories.js +81 -0
- package/dist/stories/hello.stories.d.ts +3 -0
- package/dist/stories/hello.stories.d.ts.map +1 -0
- package/dist/stories/hello.stories.js +47 -0
- package/dist/stories/jump-to-message.stories.d.ts +4 -0
- package/dist/stories/jump-to-message.stories.d.ts.map +1 -0
- package/dist/stories/jump-to-message.stories.js +111 -0
- package/dist/stories/utils.d.ts +19 -0
- package/dist/stories/utils.d.ts.map +1 -0
- package/dist/stories/utils.js +5 -0
- package/dist/types/types.d.ts +15 -0
- package/dist/types/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +20 -12
- package/dist/components/InfiniteScrollPaginator/InfiniteScrollPaginator.d.ts +0 -18
- package/dist/components/InfiniteScrollPaginator/InfiniteScrollPaginator.d.ts.map +0 -1
- package/dist/components/InfiniteScrollPaginator/InfiniteScrollPaginator.js +0 -8
- package/dist/components/InfiniteScrollPaginator/ReverseInfiniteScroll.d.ts +0 -4
- package/dist/components/InfiniteScrollPaginator/ReverseInfiniteScroll.d.ts.map +0 -1
- package/dist/components/InfiniteScrollPaginator/ReverseInfiniteScroll.js +0 -14
- package/dist/components/MessageList/hooks/useCallLoadMore.d.ts +0 -3
- package/dist/components/MessageList/hooks/useCallLoadMore.d.ts.map +0 -1
- package/dist/components/MessageList/hooks/useCallLoadMore.js +0 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttachmentActions.d.ts","sourceRoot":"","sources":["../../../src/components/Attachment/AttachmentActions.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AttachmentActions.d.ts","sourceRoot":"","sources":["../../../src/components/Attachment/AttachmentActions.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAEjF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,oBAAY,sBAAsB,CAChC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,UAAU,CAAC,kBAAkB,CAAC,GAAG;IACnC,wBAAwB;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,+HAA+H;IAC/H,EAAE,EAAE,MAAM,CAAC;IACX,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,aAAa,CAAC,EAAE,uBAAuB,CAAC;CACzC,CAAC;AAuCF;;GAEG;AACH,eAAO,MAAM,iBAAiB,sJAES,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Audio.d.ts","sourceRoot":"","sources":["../../../src/components/Attachment/Audio.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Audio.d.ts","sourceRoot":"","sources":["../../../src/components/Attachment/Audio.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAInE,oBAAY,UAAU,CACpB,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,EAAE,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;CACpC,CAAC;AA4FF;;GAEG;AACH,eAAO,MAAM,KAAK,0IAAwD,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import type { Attachment } from 'stream-chat';
|
|
3
2
|
import type { DefaultStreamChatGenerics } from '../../types/types';
|
|
4
3
|
export declare type FileAttachmentProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileAttachment.d.ts","sourceRoot":"","sources":["../../../src/components/Attachment/FileAttachment.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FileAttachment.d.ts","sourceRoot":"","sources":["../../../src/components/Attachment/FileAttachment.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,oBAAY,mBAAmB,CAC7B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,UAAU,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;CAC5C,CAAC;AAwBF,eAAO,MAAM,cAAc,mJAES,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.d.ts","sourceRoot":"","sources":["../../../src/components/AutoCompleteTextarea/Item.js"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"Item.d.ts","sourceRoot":"","sources":["../../../src/components/AutoCompleteTextarea/Item.js"],"names":[],"mappings":"AAEA,6EA4BG"}
|
|
@@ -4,5 +4,6 @@ export var Item = React.forwardRef(function Item(props, innerRef) {
|
|
|
4
4
|
var selectItem = function () { return onSelectHandler(item); };
|
|
5
5
|
return (React.createElement("li", { className: "rta__item " + (className || ''), style: style },
|
|
6
6
|
React.createElement("button", { className: "rta__entity " + (selected ? 'rta__entity--selected' : ''), onClick: onClickHandler, onFocus: selectItem, onMouseEnter: selectItem, ref: innerRef },
|
|
7
|
-
React.createElement(
|
|
7
|
+
React.createElement("div", { tabIndex: -1 },
|
|
8
|
+
React.createElement(Component, { entity: item, selected: selected })))));
|
|
8
9
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../src/components/AutoCompleteTextarea/Textarea.js"],"names":[],"mappings":"AAkBA;IACE;;;;;;;MAOE;IA0YF;;OAEG;IACH;;;aAMC;IAjZD,wBA6BC;IA6BD;;;aAOE;IAEF,2BAOE;IAEF,8CAKE;IAEF,+BAIE;IAEF,mDAaE;IAJc,yCAA+B;IAM/C,+BAwBE;IAEF,qBAQE;IAEF,yBA6BE;IAEF,mCAqEE;IAEF,qEAuBE;IAEF,sEA2DE;IAEF,uDAQE;IAEF,mCA0CE;IAEF,6CAQE;IAYF;;OAEG;IACH,+BAQE;IAEF;;;MA6CE;IAEF,mCAQE;IAEF,iCA+EE;IAEF,iCASE;IAGF,yCAiBE;IAEF,6BAAmD;IAEnD,qCAiBE;IAEF;;;;;;;;MAoCE;IAEF,oDAyCC;IAlBS,+CAAsB;
|
|
1
|
+
{"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../src/components/AutoCompleteTextarea/Textarea.js"],"names":[],"mappings":"AAkBA;IACE;;;;;;;MAOE;IA0YF;;OAEG;IACH;;;aAMC;IAjZD,wBA6BC;IA6BD;;;aAOE;IAEF,2BAOE;IAEF,8CAKE;IAEF,+BAIE;IAEF,mDAaE;IAJc,yCAA+B;IAM/C,+BAwBE;IAEF,qBAQE;IAEF,yBA6BE;IAEF,mCAqEE;IAEF,qEAuBE;IAEF,sEA2DE;IAEF,uDAQE;IAEF,mCA0CE;IAEF,6CAQE;IAYF;;OAEG;IACH,+BAQE;IAEF;;;MA6CE;IAEF,mCAQE;IAEF,iCA+EE;IAEF,iCASE;IAGF,yCAiBE;IAEF,6BAAmD;IAEnD,qCAiBE;IAEF;;;;;;;;MAoCE;IAEF,oDAyCC;IAlBS,+CAAsB;IAgDtB,oDAAsB;CASjC"}
|
|
@@ -571,7 +571,7 @@ var ReactTextareaAutocomplete = /** @class */ (function (_super) {
|
|
|
571
571
|
maxRows = 1;
|
|
572
572
|
return (React.createElement("div", { className: "rta " + (dataLoading === true ? 'rta--loading' : '') + " " + (containerClassName || ''), style: containerStyle },
|
|
573
573
|
this.renderSuggestionListContainer(),
|
|
574
|
-
React.createElement(Textarea, __assign({}, this._cleanUpProps(), { className: "rta__textarea " + (className || ''), maxRows: maxRows, onBlur: this._onClickAndBlurHandler, onChange: this._changeHandler, onClick: this._onClickAndBlurHandler, onFocus: this.props.onFocus, onScroll: this._onScrollHandler, onSelect: this._selectHandler, ref: function (ref) {
|
|
574
|
+
React.createElement(Textarea, __assign({ "data-testid": 'message-input' }, this._cleanUpProps(), { className: "rta__textarea " + (className || ''), maxRows: maxRows, onBlur: this._onClickAndBlurHandler, onChange: this._changeHandler, onClick: this._onClickAndBlurHandler, onFocus: this.props.onFocus, onScroll: this._onScrollHandler, onSelect: this._selectHandler, ref: function (ref) {
|
|
575
575
|
if (_this.props.innerRef)
|
|
576
576
|
_this.props.innerRef(ref);
|
|
577
577
|
_this.textareaRef = ref;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/Channel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,iBAAiB,EAOlB,MAAM,OAAO,CAAC;AAIf,OAAO,EAKL,OAAO,EACP,eAAe,EAEf,OAAO,IAAI,aAAa,EACxB,UAAU,EACV,cAAc,EAEf,MAAM,aAAa,CAAC;AASrB,OAAO,EAAE,eAAe,EAAuB,MAAM,6BAA6B,CAAC;AAGnF,OAAO,EAGL,0BAA0B,EAC3B,MAAM,YAAY,CAAC;AAepB,OAAO,EAAE,qBAAqB,EAAqB,MAAM,gCAAgC,CAAC;AAE1F,OAAO,EAAe,iBAAiB,EAAiB,MAAM,4BAA4B,CAAC;AAK3F,OAAO,KAAK,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/Channel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -56,11 +56,6 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
56
56
|
}
|
|
57
57
|
return t;
|
|
58
58
|
};
|
|
59
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
60
|
-
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
|
61
|
-
to[j] = from[i];
|
|
62
|
-
return to;
|
|
63
|
-
};
|
|
64
59
|
import React, { useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState, } from 'react';
|
|
65
60
|
import debounce from 'lodash.debounce';
|
|
66
61
|
import throttle from 'lodash.throttle';
|
|
@@ -85,6 +80,8 @@ import { EmojiProvider } from '../../context/EmojiContext';
|
|
|
85
80
|
import { useTranslationContext } from '../../context/TranslationContext';
|
|
86
81
|
import { TypingProvider } from '../../context/TypingContext';
|
|
87
82
|
import defaultEmojiData from '../../stream-emoji.json';
|
|
83
|
+
import { makeAddNotifications } from './utils';
|
|
84
|
+
var JUMP_MESSAGE_PAGE_SIZE = 25;
|
|
88
85
|
var UnMemoizedChannel = function (props) {
|
|
89
86
|
var propsChannel = props.channel, _a = props.EmptyPlaceholder, EmptyPlaceholder = _a === void 0 ? null : _a;
|
|
90
87
|
var contextChannel = useChatContext('Channel').channel;
|
|
@@ -96,7 +93,7 @@ var UnMemoizedChannel = function (props) {
|
|
|
96
93
|
var ChannelInner = function (props) {
|
|
97
94
|
var _a;
|
|
98
95
|
var acceptedFiles = props.acceptedFiles, activeUnreadHandler = props.activeUnreadHandler, channel = props.channel, children = props.children, doMarkReadRequest = props.doMarkReadRequest, doSendMessageRequest = props.doSendMessageRequest, doUpdateMessageRequest = props.doUpdateMessageRequest, _b = props.dragAndDropWindow, dragAndDropWindow = _b === void 0 ? false : _b, _c = props.emojiData, emojiData = _c === void 0 ? defaultEmojiData : _c, _d = props.LoadingErrorIndicator, LoadingErrorIndicator = _d === void 0 ? DefaultLoadingErrorIndicator : _d, _e = props.LoadingIndicator, LoadingIndicator = _e === void 0 ? DefaultLoadingIndicator : _e, maxNumberOfFiles = props.maxNumberOfFiles, _f = props.multipleUploads, multipleUploads = _f === void 0 ? true : _f, onMentionsClick = props.onMentionsClick, onMentionsHover = props.onMentionsHover, _g = props.optionalMessageInputProps, optionalMessageInputProps = _g === void 0 ? {} : _g, skipMessageDataMemoization = props.skipMessageDataMemoization;
|
|
99
|
-
var _h = useChatContext('Channel'), client = _h.client, customClasses = _h.customClasses, mutes = _h.mutes, theme = _h.theme, useImageFlagEmojisOnWindows = _h.useImageFlagEmojisOnWindows;
|
|
96
|
+
var _h = useChatContext('Channel'), client = _h.client, customClasses = _h.customClasses, latestMessageDatesByChannels = _h.latestMessageDatesByChannels, mutes = _h.mutes, theme = _h.theme, useImageFlagEmojisOnWindows = _h.useImageFlagEmojisOnWindows;
|
|
100
97
|
var t = useTranslationContext('Channel').t;
|
|
101
98
|
var _j = useState(channel.getConfig()), channelConfig = _j[0], setChannelConfig = _j[1];
|
|
102
99
|
var _k = useState([]), notifications = _k[0], setNotifications = _k[1];
|
|
@@ -138,7 +135,7 @@ var ChannelInner = function (props) {
|
|
|
138
135
|
};
|
|
139
136
|
var markReadThrottled = throttle(markRead, 500, { leading: true, trailing: true });
|
|
140
137
|
var handleEvent = function (event) {
|
|
141
|
-
var _a, _b, _c, _d;
|
|
138
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
142
139
|
if (event.message) {
|
|
143
140
|
dispatch({
|
|
144
141
|
channel: channel,
|
|
@@ -173,6 +170,16 @@ var ChannelInner = function (props) {
|
|
|
173
170
|
}
|
|
174
171
|
}
|
|
175
172
|
}
|
|
173
|
+
if (((_f = (_e = event.message) === null || _e === void 0 ? void 0 : _e.user) === null || _f === void 0 ? void 0 : _f.id) === client.userID &&
|
|
174
|
+
((_g = event === null || event === void 0 ? void 0 : event.message) === null || _g === void 0 ? void 0 : _g.created_at) &&
|
|
175
|
+
((_h = event === null || event === void 0 ? void 0 : event.message) === null || _h === void 0 ? void 0 : _h.cid)) {
|
|
176
|
+
var messageDate = new Date(event.message.created_at);
|
|
177
|
+
var cid = event.message.cid;
|
|
178
|
+
if (!latestMessageDatesByChannels[cid] ||
|
|
179
|
+
latestMessageDatesByChannels[cid].getTime() < messageDate.getTime()) {
|
|
180
|
+
latestMessageDatesByChannels[cid] = messageDate;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
176
183
|
}
|
|
177
184
|
throttledCopyStateFromChannel();
|
|
178
185
|
};
|
|
@@ -248,19 +255,7 @@ var ChannelInner = function (props) {
|
|
|
248
255
|
}, [state.messages, state.thread]);
|
|
249
256
|
/** MESSAGE */
|
|
250
257
|
// Adds a temporary notification to message list, will be removed after 5 seconds
|
|
251
|
-
var addNotification =
|
|
252
|
-
if (typeof text !== 'string' || (type !== 'success' && type !== 'error')) {
|
|
253
|
-
return;
|
|
254
|
-
}
|
|
255
|
-
var id = uuidv4();
|
|
256
|
-
setNotifications(function (prevNotifications) { return __spreadArray(__spreadArray([], prevNotifications), [{ id: id, text: text, type: type }]); });
|
|
257
|
-
var timeout = setTimeout(function () {
|
|
258
|
-
return setNotifications(function (prevNotifications) {
|
|
259
|
-
return prevNotifications.filter(function (notification) { return notification.id !== id; });
|
|
260
|
-
});
|
|
261
|
-
}, 5000);
|
|
262
|
-
notificationTimeouts.push(timeout);
|
|
263
|
-
};
|
|
258
|
+
var addNotification = makeAddNotifications(setNotifications, notificationTimeouts);
|
|
264
259
|
var loadMoreFinished = debounce(function (hasMore, messages) {
|
|
265
260
|
if (!isMounted.current)
|
|
266
261
|
return;
|
|
@@ -280,8 +275,9 @@ var ChannelInner = function (props) {
|
|
|
280
275
|
if (!online.current || !window.navigator.onLine)
|
|
281
276
|
return [2 /*return*/, 0];
|
|
282
277
|
oldestMessage = (_a = state === null || state === void 0 ? void 0 : state.messages) === null || _a === void 0 ? void 0 : _a[0];
|
|
283
|
-
if (state.loadingMore || (oldestMessage === null || oldestMessage === void 0 ? void 0 : oldestMessage.status) !== 'received')
|
|
278
|
+
if (state.loadingMore || state.loadingMoreNewer || (oldestMessage === null || oldestMessage === void 0 ? void 0 : oldestMessage.status) !== 'received') {
|
|
284
279
|
return [2 /*return*/, 0];
|
|
280
|
+
}
|
|
285
281
|
// initial state loads with up to 25 messages, so if less than 25 no need for additional query
|
|
286
282
|
if (channel.state.messages.length < 25) {
|
|
287
283
|
loadMoreFinished(false, channel.state.messages);
|
|
@@ -313,6 +309,85 @@ var ChannelInner = function (props) {
|
|
|
313
309
|
});
|
|
314
310
|
});
|
|
315
311
|
};
|
|
312
|
+
var loadMoreNewer = function (limit) {
|
|
313
|
+
if (limit === void 0) { limit = 100; }
|
|
314
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
315
|
+
var newestMessage, newestId, perPage, queryResponse, e_3, hasMoreNewer;
|
|
316
|
+
var _a, _b;
|
|
317
|
+
return __generator(this, function (_c) {
|
|
318
|
+
switch (_c.label) {
|
|
319
|
+
case 0:
|
|
320
|
+
if (!online.current || !window.navigator.onLine)
|
|
321
|
+
return [2 /*return*/, 0];
|
|
322
|
+
newestMessage = (_a = state === null || state === void 0 ? void 0 : state.messages) === null || _a === void 0 ? void 0 : _a[((_b = state === null || state === void 0 ? void 0 : state.messages) === null || _b === void 0 ? void 0 : _b.length) - 1];
|
|
323
|
+
if (state.loadingMore || state.loadingMoreNewer)
|
|
324
|
+
return [2 /*return*/, 0];
|
|
325
|
+
dispatch({ loadingMoreNewer: true, type: 'setLoadingMoreNewer' });
|
|
326
|
+
newestId = newestMessage === null || newestMessage === void 0 ? void 0 : newestMessage.id;
|
|
327
|
+
perPage = limit;
|
|
328
|
+
_c.label = 1;
|
|
329
|
+
case 1:
|
|
330
|
+
_c.trys.push([1, 3, , 4]);
|
|
331
|
+
return [4 /*yield*/, channel.query({
|
|
332
|
+
messages: { id_gt: newestId, limit: perPage },
|
|
333
|
+
watchers: { limit: perPage },
|
|
334
|
+
})];
|
|
335
|
+
case 2:
|
|
336
|
+
queryResponse = _c.sent();
|
|
337
|
+
return [3 /*break*/, 4];
|
|
338
|
+
case 3:
|
|
339
|
+
e_3 = _c.sent();
|
|
340
|
+
console.warn('message pagination request failed with error', e_3);
|
|
341
|
+
dispatch({ loadingMoreNewer: false, type: 'setLoadingMoreNewer' });
|
|
342
|
+
return [2 /*return*/, 0];
|
|
343
|
+
case 4:
|
|
344
|
+
hasMoreNewer = channel.state.messages !== channel.state.latestMessages;
|
|
345
|
+
dispatch({ hasMoreNewer: hasMoreNewer, messages: channel.state.messages, type: 'loadMoreNewerFinished' });
|
|
346
|
+
return [2 /*return*/, queryResponse.messages.length];
|
|
347
|
+
}
|
|
348
|
+
});
|
|
349
|
+
});
|
|
350
|
+
};
|
|
351
|
+
var jumpToMessage = function (messageId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
352
|
+
var indexOfMessage, hasMoreMessages;
|
|
353
|
+
return __generator(this, function (_a) {
|
|
354
|
+
switch (_a.label) {
|
|
355
|
+
case 0:
|
|
356
|
+
dispatch({ loadingMore: true, type: 'setLoadingMore' });
|
|
357
|
+
return [4 /*yield*/, channel.state.loadMessageIntoState(messageId)];
|
|
358
|
+
case 1:
|
|
359
|
+
_a.sent();
|
|
360
|
+
indexOfMessage = channel.state.messages.findIndex(function (message) { return message.id === messageId; });
|
|
361
|
+
hasMoreMessages = indexOfMessage >= Math.floor(JUMP_MESSAGE_PAGE_SIZE / 2);
|
|
362
|
+
loadMoreFinished(hasMoreMessages, channel.state.messages);
|
|
363
|
+
dispatch({
|
|
364
|
+
hasMoreNewer: channel.state.messages !== channel.state.latestMessages,
|
|
365
|
+
highlightedMessageId: messageId,
|
|
366
|
+
type: 'jumpToMessageFinished',
|
|
367
|
+
});
|
|
368
|
+
setTimeout(function () {
|
|
369
|
+
dispatch({ type: 'clearHighlightedMessage' });
|
|
370
|
+
}, 500);
|
|
371
|
+
return [2 /*return*/];
|
|
372
|
+
}
|
|
373
|
+
});
|
|
374
|
+
}); };
|
|
375
|
+
var jumpToLatestMessage = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
376
|
+
var hasMoreOlder;
|
|
377
|
+
return __generator(this, function (_a) {
|
|
378
|
+
switch (_a.label) {
|
|
379
|
+
case 0: return [4 /*yield*/, channel.state.loadMessageIntoState('latest')];
|
|
380
|
+
case 1:
|
|
381
|
+
_a.sent();
|
|
382
|
+
hasMoreOlder = channel.state.messages.length >= 25;
|
|
383
|
+
loadMoreFinished(hasMoreOlder, channel.state.messages);
|
|
384
|
+
dispatch({
|
|
385
|
+
type: 'jumpToLatestMessage',
|
|
386
|
+
});
|
|
387
|
+
return [2 /*return*/];
|
|
388
|
+
}
|
|
389
|
+
});
|
|
390
|
+
}); };
|
|
316
391
|
var updateMessage = function (updatedMessage) {
|
|
317
392
|
// add the message to the local channel state
|
|
318
393
|
channel.state.addMessageSorted(updatedMessage, true);
|
|
@@ -434,7 +509,7 @@ var ChannelInner = function (props) {
|
|
|
434
509
|
});
|
|
435
510
|
}, 2000, { leading: true, trailing: true });
|
|
436
511
|
var loadMoreThread = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
437
|
-
var parentID, oldMessages, oldestMessageID, limit, queryResponse, threadHasMoreMessages, newThreadMessages,
|
|
512
|
+
var parentID, oldMessages, oldestMessageID, limit, queryResponse, threadHasMoreMessages, newThreadMessages, e_4;
|
|
438
513
|
var _a;
|
|
439
514
|
return __generator(this, function (_b) {
|
|
440
515
|
switch (_b.label) {
|
|
@@ -464,7 +539,7 @@ var ChannelInner = function (props) {
|
|
|
464
539
|
loadMoreThreadFinished(threadHasMoreMessages, newThreadMessages);
|
|
465
540
|
return [3 /*break*/, 4];
|
|
466
541
|
case 3:
|
|
467
|
-
|
|
542
|
+
e_4 = _b.sent();
|
|
468
543
|
loadMoreThreadFinished(false, oldMessages);
|
|
469
544
|
return [3 /*break*/, 4];
|
|
470
545
|
case 4: return [2 /*return*/];
|
|
@@ -480,7 +555,10 @@ var ChannelInner = function (props) {
|
|
|
480
555
|
closeThread: closeThread,
|
|
481
556
|
dispatch: dispatch,
|
|
482
557
|
editMessage: editMessage,
|
|
558
|
+
jumpToLatestMessage: jumpToLatestMessage,
|
|
559
|
+
jumpToMessage: jumpToMessage,
|
|
483
560
|
loadMore: loadMore,
|
|
561
|
+
loadMoreNewer: loadMoreNewer,
|
|
484
562
|
loadMoreThread: loadMoreThread,
|
|
485
563
|
onMentionsClick: onMentionsHoverOrClick,
|
|
486
564
|
onMentionsHover: onMentionsHoverOrClick,
|
|
@@ -491,7 +569,7 @@ var ChannelInner = function (props) {
|
|
|
491
569
|
setQuotedMessage: setQuotedMessage,
|
|
492
570
|
skipMessageDataMemoization: skipMessageDataMemoization,
|
|
493
571
|
updateMessage: updateMessage,
|
|
494
|
-
}); }, [channel.cid, loadMore, quotedMessage]);
|
|
572
|
+
}); }, [channel.cid, loadMore, loadMoreNewer, quotedMessage, jumpToMessage, jumpToLatestMessage]);
|
|
495
573
|
var componentContextValue = useMemo(function () { return ({
|
|
496
574
|
Attachment: props.Attachment || DefaultAttachment,
|
|
497
575
|
AutocompleteSuggestionHeader: props.AutocompleteSuggestionHeader,
|
|
@@ -4,6 +4,8 @@ import type { ChannelState, StreamMessage } from '../../context/ChannelStateCont
|
|
|
4
4
|
import type { DefaultStreamChatGenerics } from '../../types/types';
|
|
5
5
|
export declare type ChannelStateReducerAction<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
|
|
6
6
|
type: 'closeThread';
|
|
7
|
+
} | {
|
|
8
|
+
type: 'clearHighlightedMessage';
|
|
7
9
|
} | {
|
|
8
10
|
channel: Channel<StreamChatGenerics>;
|
|
9
11
|
type: 'copyMessagesFromChannel';
|
|
@@ -11,6 +13,10 @@ export declare type ChannelStateReducerAction<StreamChatGenerics extends Default
|
|
|
11
13
|
} | {
|
|
12
14
|
channel: Channel<StreamChatGenerics>;
|
|
13
15
|
type: 'copyStateFromChannelOnEvent';
|
|
16
|
+
} | {
|
|
17
|
+
hasMoreNewer: boolean;
|
|
18
|
+
highlightedMessageId: string;
|
|
19
|
+
type: 'jumpToMessageFinished';
|
|
14
20
|
} | {
|
|
15
21
|
channel: Channel<StreamChatGenerics>;
|
|
16
22
|
type: 'initStateFromChannel';
|
|
@@ -18,6 +24,10 @@ export declare type ChannelStateReducerAction<StreamChatGenerics extends Default
|
|
|
18
24
|
hasMore: boolean;
|
|
19
25
|
messages: StreamMessage<StreamChatGenerics>[];
|
|
20
26
|
type: 'loadMoreFinished';
|
|
27
|
+
} | {
|
|
28
|
+
hasMoreNewer: boolean;
|
|
29
|
+
messages: StreamMessage<StreamChatGenerics>[];
|
|
30
|
+
type: 'loadMoreNewerFinished';
|
|
21
31
|
} | {
|
|
22
32
|
threadHasMore: boolean;
|
|
23
33
|
threadMessages: Array<ReturnType<StreamChannelState<StreamChatGenerics>['formatMessage']>>;
|
|
@@ -32,6 +42,9 @@ export declare type ChannelStateReducerAction<StreamChatGenerics extends Default
|
|
|
32
42
|
} | {
|
|
33
43
|
loadingMore: boolean;
|
|
34
44
|
type: 'setLoadingMore';
|
|
45
|
+
} | {
|
|
46
|
+
loadingMoreNewer: boolean;
|
|
47
|
+
type: 'setLoadingMoreNewer';
|
|
35
48
|
} | {
|
|
36
49
|
message: StreamMessage<StreamChatGenerics>;
|
|
37
50
|
type: 'setThread';
|
|
@@ -44,18 +57,22 @@ export declare type ChannelStateReducerAction<StreamChatGenerics extends Default
|
|
|
44
57
|
channel: Channel<StreamChatGenerics>;
|
|
45
58
|
message: MessageResponse<StreamChatGenerics>;
|
|
46
59
|
type: 'updateThreadOnEvent';
|
|
60
|
+
} | {
|
|
61
|
+
type: 'jumpToLatestMessage';
|
|
47
62
|
};
|
|
48
63
|
export declare type ChannelStateReducer<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = Reducer<ChannelState<StreamChatGenerics>, ChannelStateReducerAction<StreamChatGenerics>>;
|
|
49
64
|
export declare const channelReducer: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(state: ChannelState<StreamChatGenerics>, action: ChannelStateReducerAction<StreamChatGenerics>) => ChannelState<StreamChatGenerics>;
|
|
50
65
|
export declare const initialState: {
|
|
51
66
|
error: null;
|
|
52
67
|
hasMore: boolean;
|
|
68
|
+
hasMoreNewer: boolean;
|
|
53
69
|
loading: boolean;
|
|
54
70
|
loadingMore: boolean;
|
|
55
71
|
members: {};
|
|
56
72
|
messages: never[];
|
|
57
73
|
pinnedMessages: never[];
|
|
58
74
|
read: {};
|
|
75
|
+
suppressAutoscroll: boolean;
|
|
59
76
|
thread: null;
|
|
60
77
|
threadHasMore: boolean;
|
|
61
78
|
threadLoadingMore: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channelState.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/channelState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEhG,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAErF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,oBAAY,yBAAyB,CACnC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAE9E;IACE,IAAI,EAAE,aAAa,CAAC;CACrB,GACD;IACE,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,IAAI,EAAE,yBAAyB,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,GACD;IACE,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,IAAI,EAAE,6BAA6B,CAAC;CACrC,GACD;IACE,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,IAAI,EAAE,sBAAsB,CAAC;CAC9B,GACD;IACE,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAC9C,IAAI,EAAE,kBAAkB,CAAC;CAC1B,GACD;IACE,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC3F,IAAI,EAAE,wBAAwB,CAAC;CAChC,GACD;IACE,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAC3C,IAAI,EAAE,YAAY,CAAC;CACpB,GACD;IACE,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;CAClB,GACD;IACE,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,gBAAgB,CAAC;CACxB,GACD;IACE,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAC3C,IAAI,EAAE,WAAW,CAAC;CACnB,GACD;IACE,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,IAAI,EAAE,WAAW,CAAC;CACnB,GACD;IACE,IAAI,EAAE,oBAAoB,CAAC;CAC5B,GACD;IACE,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,OAAO,EAAE,eAAe,CAAC,kBAAkB,CAAC,CAAC;IAC7C,IAAI,EAAE,qBAAqB,CAAC;CAC7B,CAAC;AAEN,oBAAY,mBAAmB,CAC7B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,yBAAyB,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAE7F,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"channelState.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/channelState.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,9 @@ export var channelReducer = function (state, action) {
|
|
|
22
22
|
}
|
|
23
23
|
case 'copyMessagesFromChannel': {
|
|
24
24
|
var channel = action.channel, parentId = action.parentId;
|
|
25
|
-
return __assign(__assign({}, state), { messages: __spreadArray([], channel.state.messages), pinnedMessages: __spreadArray([], channel.state.pinnedMessages),
|
|
25
|
+
return __assign(__assign({}, state), { messages: __spreadArray([], channel.state.messages), pinnedMessages: __spreadArray([], channel.state.pinnedMessages),
|
|
26
|
+
// copying messages from channel happens with new message - this resets the suppressAutoscroll
|
|
27
|
+
suppressAutoscroll: false, threadMessages: parentId
|
|
26
28
|
? __assign({}, channel.state.threads)[parentId] || []
|
|
27
29
|
: state.threadMessages });
|
|
28
30
|
}
|
|
@@ -34,10 +36,23 @@ export var channelReducer = function (state, action) {
|
|
|
34
36
|
var channel = action.channel;
|
|
35
37
|
return __assign(__assign({}, state), { loading: false, members: __assign({}, channel.state.members), messages: __spreadArray([], channel.state.messages), pinnedMessages: __spreadArray([], channel.state.pinnedMessages), read: __assign({}, channel.state.read), watcherCount: channel.state.watcher_count, watchers: __assign({}, channel.state.watchers) });
|
|
36
38
|
}
|
|
39
|
+
case 'jumpToLatestMessage': {
|
|
40
|
+
return __assign(__assign({}, state), { hasMoreNewer: false, highlightedMessageId: undefined, loading: false, suppressAutoscroll: false });
|
|
41
|
+
}
|
|
42
|
+
case 'jumpToMessageFinished': {
|
|
43
|
+
return __assign(__assign({}, state), { hasMoreNewer: action.hasMoreNewer, highlightedMessageId: action.highlightedMessageId });
|
|
44
|
+
}
|
|
45
|
+
case 'clearHighlightedMessage': {
|
|
46
|
+
return __assign(__assign({}, state), { highlightedMessageId: undefined });
|
|
47
|
+
}
|
|
37
48
|
case 'loadMoreFinished': {
|
|
38
49
|
var hasMore = action.hasMore, messages = action.messages;
|
|
39
50
|
return __assign(__assign({}, state), { hasMore: hasMore, loadingMore: false, messages: messages });
|
|
40
51
|
}
|
|
52
|
+
case 'loadMoreNewerFinished': {
|
|
53
|
+
var hasMoreNewer = action.hasMoreNewer, messages = action.messages;
|
|
54
|
+
return __assign(__assign({}, state), { hasMoreNewer: hasMoreNewer, loadingMoreNewer: false, messages: messages });
|
|
55
|
+
}
|
|
41
56
|
case 'loadMoreThreadFinished': {
|
|
42
57
|
var threadHasMore = action.threadHasMore, threadMessages = action.threadMessages;
|
|
43
58
|
return __assign(__assign({}, state), { threadHasMore: threadHasMore, threadLoadingMore: false, threadMessages: threadMessages });
|
|
@@ -52,7 +67,12 @@ export var channelReducer = function (state, action) {
|
|
|
52
67
|
}
|
|
53
68
|
case 'setLoadingMore': {
|
|
54
69
|
var loadingMore = action.loadingMore;
|
|
55
|
-
|
|
70
|
+
// supporess the autoscroll behavior
|
|
71
|
+
return __assign(__assign({}, state), { loadingMore: loadingMore, suppressAutoscroll: true });
|
|
72
|
+
}
|
|
73
|
+
case 'setLoadingMoreNewer': {
|
|
74
|
+
var loadingMoreNewer = action.loadingMoreNewer;
|
|
75
|
+
return __assign(__assign({}, state), { loadingMoreNewer: loadingMoreNewer });
|
|
56
76
|
}
|
|
57
77
|
case 'setThread': {
|
|
58
78
|
var message = action.message;
|
|
@@ -78,12 +98,14 @@ export var channelReducer = function (state, action) {
|
|
|
78
98
|
export var initialState = {
|
|
79
99
|
error: null,
|
|
80
100
|
hasMore: true,
|
|
101
|
+
hasMoreNewer: false,
|
|
81
102
|
loading: true,
|
|
82
103
|
loadingMore: false,
|
|
83
104
|
members: {},
|
|
84
105
|
messages: [],
|
|
85
106
|
pinnedMessages: [],
|
|
86
107
|
read: {},
|
|
108
|
+
suppressAutoscroll: false,
|
|
87
109
|
thread: null,
|
|
88
110
|
threadHasMore: true,
|
|
89
111
|
threadLoadingMore: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCreateChannelStateContext.d.ts","sourceRoot":"","sources":["../../../../src/components/Channel/hooks/useCreateChannelStateContext.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAErF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAO,MAAM,4BAA4B;8BAIX,MAAM,EAAE;;
|
|
1
|
+
{"version":3,"file":"useCreateChannelStateContext.d.ts","sourceRoot":"","sources":["../../../../src/components/Channel/hooks/useCreateChannelStateContext.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAErF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAO,MAAM,4BAA4B;8BAIX,MAAM,EAAE;;kDA2IrC,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { useMemo } from 'react';
|
|
|
2
2
|
import { isDate, isDayOrMoment } from '../../../context/TranslationContext';
|
|
3
3
|
export var useCreateChannelStateContext = function (value) {
|
|
4
4
|
var _a;
|
|
5
|
-
var acceptedFiles = value.acceptedFiles, channel = value.channel, _b = value.channelCapabilitiesArray, channelCapabilitiesArray = _b === void 0 ? [] : _b, channelConfig = value.channelConfig, dragAndDropWindow = value.dragAndDropWindow, giphyVersion = value.giphyVersion, error = value.error, hasMore = value.hasMore, loading = value.loading, loadingMore = value.loadingMore, maxNumberOfFiles = value.maxNumberOfFiles, members = value.members, _c = value.messages, messages = _c === void 0 ? [] : _c, multipleUploads = value.multipleUploads, mutes = value.mutes, notifications = value.notifications, pinnedMessages = value.pinnedMessages, quotedMessage = value.quotedMessage, _d = value.read, read = _d === void 0 ? {} : _d, skipMessageDataMemoization = value.skipMessageDataMemoization, thread = value.thread, threadHasMore = value.threadHasMore, threadLoadingMore = value.threadLoadingMore, _e = value.threadMessages, threadMessages = _e === void 0 ? [] : _e, watcherCount = value.watcherCount, watcher_count = value.watcher_count, watchers = value.watchers;
|
|
5
|
+
var acceptedFiles = value.acceptedFiles, channel = value.channel, _b = value.channelCapabilitiesArray, channelCapabilitiesArray = _b === void 0 ? [] : _b, channelConfig = value.channelConfig, dragAndDropWindow = value.dragAndDropWindow, giphyVersion = value.giphyVersion, error = value.error, hasMore = value.hasMore, hasMoreNewer = value.hasMoreNewer, suppressAutoscroll = value.suppressAutoscroll, highlightedMessageId = value.highlightedMessageId, loading = value.loading, loadingMore = value.loadingMore, maxNumberOfFiles = value.maxNumberOfFiles, members = value.members, _c = value.messages, messages = _c === void 0 ? [] : _c, multipleUploads = value.multipleUploads, mutes = value.mutes, notifications = value.notifications, pinnedMessages = value.pinnedMessages, quotedMessage = value.quotedMessage, _d = value.read, read = _d === void 0 ? {} : _d, skipMessageDataMemoization = value.skipMessageDataMemoization, thread = value.thread, threadHasMore = value.threadHasMore, threadLoadingMore = value.threadLoadingMore, _e = value.threadMessages, threadMessages = _e === void 0 ? [] : _e, watcherCount = value.watcherCount, watcher_count = value.watcher_count, watchers = value.watchers;
|
|
6
6
|
var channelId = channel.cid;
|
|
7
7
|
var lastRead = channel.initialized && ((_a = channel.lastRead()) === null || _a === void 0 ? void 0 : _a.getTime());
|
|
8
8
|
var membersLength = Object.keys(members || []).length;
|
|
@@ -51,6 +51,8 @@ export var useCreateChannelStateContext = function (value) {
|
|
|
51
51
|
error: error,
|
|
52
52
|
giphyVersion: giphyVersion,
|
|
53
53
|
hasMore: hasMore,
|
|
54
|
+
hasMoreNewer: hasMoreNewer,
|
|
55
|
+
highlightedMessageId: highlightedMessageId,
|
|
54
56
|
loading: loading,
|
|
55
57
|
loadingMore: loadingMore,
|
|
56
58
|
maxNumberOfFiles: maxNumberOfFiles,
|
|
@@ -62,6 +64,7 @@ export var useCreateChannelStateContext = function (value) {
|
|
|
62
64
|
pinnedMessages: pinnedMessages,
|
|
63
65
|
quotedMessage: quotedMessage,
|
|
64
66
|
read: read,
|
|
67
|
+
suppressAutoscroll: suppressAutoscroll,
|
|
65
68
|
thread: thread,
|
|
66
69
|
threadHasMore: threadHasMore,
|
|
67
70
|
threadLoadingMore: threadLoadingMore,
|
|
@@ -73,6 +76,8 @@ export var useCreateChannelStateContext = function (value) {
|
|
|
73
76
|
channelId,
|
|
74
77
|
error,
|
|
75
78
|
hasMore,
|
|
79
|
+
hasMoreNewer,
|
|
80
|
+
highlightedMessageId,
|
|
76
81
|
lastRead,
|
|
77
82
|
loading,
|
|
78
83
|
loadingMore,
|
|
@@ -84,6 +89,7 @@ export var useCreateChannelStateContext = function (value) {
|
|
|
84
89
|
readUsersLength,
|
|
85
90
|
readUsersLastReads,
|
|
86
91
|
skipMessageDataMemoization,
|
|
92
|
+
suppressAutoscroll,
|
|
87
93
|
thread,
|
|
88
94
|
threadHasMore,
|
|
89
95
|
threadLoadingMore,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIsMounted.d.ts","sourceRoot":"","sources":["../../../../src/components/Channel/hooks/useIsMounted.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useIsMounted.d.ts","sourceRoot":"","sources":["../../../../src/components/Channel/hooks/useIsMounted.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,iDAWxB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import type { Dispatch, SetStateAction } from 'react';
|
|
3
|
+
import type { ChannelNotifications } from '../../context/ChannelStateContext';
|
|
4
|
+
export declare const makeAddNotifications: (setNotifications: Dispatch<SetStateAction<ChannelNotifications>>, notificationTimeouts: NodeJS.Timeout[]) => (text: string, type: 'success' | 'error') => void;
|
|
5
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/Channel/utils.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAG9E,eAAO,MAAM,oBAAoB,qBACb,SAAS,eAAe,oBAAoB,CAAC,CAAC,wBAC1C,OAAO,OAAO,EAAE,YAC5B,MAAM,QAAQ,SAAS,GAAG,OAAO,SAkB5C,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
2
|
+
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
|
3
|
+
to[j] = from[i];
|
|
4
|
+
return to;
|
|
5
|
+
};
|
|
6
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
7
|
+
export var makeAddNotifications = function (setNotifications, notificationTimeouts) { return function (text, type) {
|
|
8
|
+
if (typeof text !== 'string' || (type !== 'success' && type !== 'error')) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
var id = uuidv4();
|
|
12
|
+
setNotifications(function (prevNotifications) { return __spreadArray(__spreadArray([], prevNotifications), [{ id: id, text: text, type: type }]); });
|
|
13
|
+
var timeout = setTimeout(function () {
|
|
14
|
+
return setNotifications(function (prevNotifications) {
|
|
15
|
+
return prevNotifications.filter(function (notification) { return notification.id !== id; });
|
|
16
|
+
});
|
|
17
|
+
}, 5000);
|
|
18
|
+
notificationTimeouts.push(timeout);
|
|
19
|
+
}; };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../src/components/ChannelHeader/icons.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../src/components/ChannelHeader/icons.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ;;iBAYpB,CAAC"}
|
|
@@ -4,6 +4,6 @@ export var MenuIcon = function (_a) {
|
|
|
4
4
|
var title = _a.title;
|
|
5
5
|
var t = useTranslationContext('MenuIcon').t;
|
|
6
6
|
return (React.createElement("svg", { "data-testid": 'menu-icon', viewBox: '0 0 448 512', xmlns: 'http://www.w3.org/2000/svg' },
|
|
7
|
-
React.createElement("title", null, title
|
|
7
|
+
React.createElement("title", null, title !== null && title !== void 0 ? title : t('Menu')),
|
|
8
8
|
React.createElement("path", { d: 'M0 88C0 74.75 10.75 64 24 64H424C437.3 64 448 74.75 448 88C448 101.3 437.3 112 424 112H24C10.75 112 0 101.3 0 88zM0 248C0 234.7 10.75 224 24 224H424C437.3 224 448 234.7 448 248C448 261.3 437.3 272 424 272H24C10.75 272 0 261.3 0 248zM424 432H24C10.75 432 0 421.3 0 408C0 394.7 10.75 384 24 384H424C437.3 384 448 394.7 448 408C448 421.3 437.3 432 424 432z', fill: 'currentColor' })));
|
|
9
9
|
};
|
|
@@ -7,8 +7,7 @@ import { ChatDownProps } from '../ChatDown/ChatDown';
|
|
|
7
7
|
import { EmptyStateIndicatorProps } from '../EmptyStateIndicator';
|
|
8
8
|
import { LoadMorePaginatorProps } from '../LoadMore/LoadMorePaginator';
|
|
9
9
|
import type { Channel, ChannelFilters, ChannelOptions, ChannelSort, Event } from 'stream-chat';
|
|
10
|
-
import type {
|
|
11
|
-
import type { DefaultStreamChatGenerics } from '../../types/types';
|
|
10
|
+
import type { DefaultStreamChatGenerics, PaginatorProps } from '../../types/types';
|
|
12
11
|
export declare type ChannelListProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
|
|
13
12
|
/** Additional props for underlying ChannelSearch component, [available props](https://getstream.io/chat/docs/sdk/react/utility-components/channel_search/#props) */
|
|
14
13
|
additionalChannelSearchProps?: ChannelSearchProps<StreamChatGenerics>;
|
|
@@ -58,7 +57,7 @@ export declare type ChannelListProps<StreamChatGenerics extends DefaultStreamCha
|
|
|
58
57
|
/** An object containing channel query options */
|
|
59
58
|
options?: ChannelOptions;
|
|
60
59
|
/** Custom UI component to handle channel pagination logic, defaults to and accepts same props as: [LoadMorePaginator](https://github.com/GetStream/stream-chat-react/blob/master/src/components/LoadMore/LoadMorePaginator.tsx) */
|
|
61
|
-
Paginator?: React.ComponentType<
|
|
60
|
+
Paginator?: React.ComponentType<PaginatorProps | LoadMorePaginatorProps>;
|
|
62
61
|
/** Custom UI component to display the channel preview in the list, defaults to and accepts same props as: [ChannelPreviewMessenger](https://github.com/GetStream/stream-chat-react/blob/master/src/components/ChannelPreview/ChannelPreviewMessenger.tsx) */
|
|
63
62
|
Preview?: React.ComponentType<ChannelPreviewUIComponentProps<StreamChatGenerics>>;
|
|
64
63
|
/** If true, sends the list's currently loaded channels to the `List` component as the `loadedChannels` prop */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChannelList.d.ts","sourceRoot":"","sources":["../../../src/components/ChannelList/ChannelList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAE3D,OAAO,EAAwB,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAgBzF,OAAO,EAAE,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAkB,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClG,OAAO,EACL,kBAAkB,EAEnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAY,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAEL,wBAAwB,EACzB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAqB,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAI1F,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE/F,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ChannelList.d.ts","sourceRoot":"","sources":["../../../src/components/ChannelList/ChannelList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -153,6 +153,7 @@ var UnMemoizedChannelList = function (props) {
|
|
|
153
153
|
activeChannel: channel,
|
|
154
154
|
Avatar: Avatar,
|
|
155
155
|
channel: item,
|
|
156
|
+
// forces the update of preview component on channel update
|
|
156
157
|
channelUpdateCount: channelUpdateCount,
|
|
157
158
|
key: item.id,
|
|
158
159
|
Preview: Preview,
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import type { Channel, Event } from 'stream-chat';
|
|
3
2
|
import type { DefaultStreamChatGenerics } from '../../../types/types';
|
|
4
3
|
export declare const useChannelDeletedListener: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(setChannels: import("react").Dispatch<import("react").SetStateAction<Channel<StreamChatGenerics>[]>>, customHandler?: ((setChannels: import("react").Dispatch<import("react").SetStateAction<Channel<StreamChatGenerics>[]>>, event: Event<StreamChatGenerics>) => void) | undefined) => void;
|