stream-chat-react 11.3.0 → 11.4.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 +423 -283
- package/dist/browser.full-bundle.js.map +1 -1
- package/dist/browser.full-bundle.min.js +3 -3
- package/dist/browser.full-bundle.min.js.map +1 -1
- package/dist/components/Attachment/Attachment.d.ts.map +1 -1
- package/dist/components/Attachment/Attachment.js +1 -0
- package/dist/components/Attachment/AttachmentContainer.d.ts.map +1 -1
- package/dist/components/Attachment/AttachmentContainer.js +1 -0
- package/dist/components/Attachment/hooks/useAudioController.d.ts.map +1 -1
- package/dist/components/Attachment/hooks/useAudioController.js +1 -0
- package/dist/components/Channel/Channel.d.ts.map +1 -1
- package/dist/components/Channel/Channel.js +34 -24
- package/dist/components/Channel/hooks/useCreateChannelStateContext.d.ts.map +1 -1
- package/dist/components/Channel/hooks/useCreateChannelStateContext.js +3 -1
- package/dist/components/Channel/hooks/useCreateTypingContext.d.ts.map +1 -1
- package/dist/components/Channel/hooks/useCreateTypingContext.js +3 -1
- package/dist/components/ChannelList/ChannelList.d.ts.map +1 -1
- package/dist/components/ChannelList/ChannelList.js +3 -0
- package/dist/components/ChannelList/hooks/useChannelDeletedListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useChannelDeletedListener.js +1 -0
- package/dist/components/ChannelList/hooks/useChannelHiddenListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useChannelHiddenListener.js +1 -0
- package/dist/components/ChannelList/hooks/useChannelTruncatedListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useChannelTruncatedListener.js +1 -0
- package/dist/components/ChannelList/hooks/useChannelUpdatedListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useChannelUpdatedListener.js +1 -0
- package/dist/components/ChannelList/hooks/useChannelVisibleListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useChannelVisibleListener.js +1 -0
- package/dist/components/ChannelList/hooks/useConnectionRecoveredListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useConnectionRecoveredListener.js +1 -0
- package/dist/components/ChannelList/hooks/useMessageNewListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useMessageNewListener.js +1 -0
- package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.js +1 -0
- package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.js +1 -0
- package/dist/components/ChannelList/hooks/useNotificationRemovedFromChannelListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useNotificationRemovedFromChannelListener.js +1 -0
- package/dist/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/usePaginatedChannels.js +2 -0
- package/dist/components/ChannelList/hooks/useUserPresenceChangedListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useUserPresenceChangedListener.js +1 -0
- package/dist/components/ChannelPreview/ChannelPreview.d.ts.map +1 -1
- package/dist/components/ChannelPreview/ChannelPreview.js +2 -0
- package/dist/components/ChannelPreview/hooks/useChannelPreviewInfo.d.ts.map +1 -1
- package/dist/components/ChannelPreview/hooks/useChannelPreviewInfo.js +1 -0
- package/dist/components/ChannelPreview/hooks/useIsChannelMuted.d.ts.map +1 -1
- package/dist/components/ChannelPreview/hooks/useIsChannelMuted.js +1 -0
- package/dist/components/ChannelSearch/SearchBar.d.ts.map +1 -1
- package/dist/components/ChannelSearch/SearchBar.js +2 -0
- package/dist/components/ChannelSearch/SearchResults.d.ts.map +1 -1
- package/dist/components/ChannelSearch/SearchResults.js +3 -1
- package/dist/components/ChannelSearch/hooks/useChannelSearch.d.ts.map +1 -1
- package/dist/components/ChannelSearch/hooks/useChannelSearch.js +7 -1
- package/dist/components/Chat/hooks/useChat.d.ts.map +1 -1
- package/dist/components/Chat/hooks/useChat.js +2 -0
- package/dist/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -1
- package/dist/components/Chat/hooks/useCreateChatContext.js +3 -1
- package/dist/components/Gallery/ModalGallery.d.ts.map +1 -1
- package/dist/components/Gallery/ModalGallery.js +3 -1
- package/dist/components/InfiniteScrollPaginator/InfiniteScroll.d.ts.map +1 -1
- package/dist/components/InfiniteScrollPaginator/InfiniteScroll.js +1 -0
- package/dist/components/LoadMore/LoadMoreButton.d.ts.map +1 -1
- package/dist/components/LoadMore/LoadMoreButton.js +1 -0
- package/dist/components/LoadMore/LoadMorePaginator.d.ts.map +1 -1
- package/dist/components/LoadMore/LoadMorePaginator.js +1 -0
- package/dist/components/Message/MessageText.d.ts.map +1 -1
- package/dist/components/Message/MessageText.js +1 -0
- package/dist/components/Message/hooks/useReactionHandler.d.ts.map +1 -1
- package/dist/components/Message/hooks/useReactionHandler.js +6 -2
- package/dist/components/MessageActions/MessageActions.d.ts.map +1 -1
- package/dist/components/MessageActions/MessageActions.js +11 -3
- package/dist/components/MessageActions/MessageActionsBox.d.ts +3 -2
- package/dist/components/MessageActions/MessageActionsBox.d.ts.map +1 -1
- package/dist/components/MessageActions/MessageActionsBox.js +9 -24
- package/dist/components/MessageActions/hooks/index.d.ts +2 -0
- package/dist/components/MessageActions/hooks/index.d.ts.map +1 -0
- package/dist/components/MessageActions/hooks/index.js +1 -0
- package/dist/components/MessageActions/hooks/useMessageActionsBoxPopper.d.ts +18 -0
- package/dist/components/MessageActions/hooks/useMessageActionsBoxPopper.d.ts.map +1 -0
- package/dist/components/MessageActions/hooks/useMessageActionsBoxPopper.js +32 -0
- package/dist/components/MessageInput/MessageInputFlat.d.ts.map +1 -1
- package/dist/components/MessageInput/MessageInputFlat.js +1 -0
- package/dist/components/MessageInput/MessageInputSmall.d.ts.map +1 -1
- package/dist/components/MessageInput/MessageInputSmall.js +1 -0
- package/dist/components/MessageInput/hooks/useAttachments.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useAttachments.js +3 -1
- package/dist/components/MessageInput/hooks/useCreateMessageInputContext.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useCreateMessageInputContext.js +3 -1
- package/dist/components/MessageInput/hooks/useFileUploads.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useFileUploads.js +3 -0
- package/dist/components/MessageInput/hooks/useImageUploads.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useImageUploads.js +4 -1
- package/dist/components/MessageInput/hooks/useLinkPreviews.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useLinkPreviews.js +5 -1
- package/dist/components/MessageInput/hooks/useMessageInputText.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useMessageInputText.js +6 -2
- package/dist/components/MessageInput/hooks/usePasteHandler.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/usePasteHandler.js +3 -1
- package/dist/components/MessageInput/hooks/useUserTrigger.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useUserTrigger.js +1 -0
- package/dist/components/MessageList/MessageList.d.ts +3 -0
- package/dist/components/MessageList/MessageList.d.ts.map +1 -1
- package/dist/components/MessageList/MessageList.js +11 -8
- package/dist/components/MessageList/ScrollToBottomButton.d.ts.map +1 -1
- package/dist/components/MessageList/ScrollToBottomButton.js +1 -0
- package/dist/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
- package/dist/components/MessageList/VirtualizedMessageList.js +12 -14
- package/dist/components/MessageList/hooks/MessageList/useEnrichedMessages.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/MessageList/useEnrichedMessages.js +3 -1
- package/dist/components/MessageList/hooks/MessageList/useMessageListElements.d.ts +3 -3
- package/dist/components/MessageList/hooks/MessageList/useMessageListElements.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/MessageList/useMessageListElements.js +19 -30
- package/dist/components/MessageList/hooks/MessageList/useMessageListScrollManager.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/MessageList/useMessageListScrollManager.js +1 -0
- package/dist/components/MessageList/hooks/MessageList/useScrollLocationLogic.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/MessageList/useScrollLocationLogic.js +1 -0
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.js +1 -0
- package/dist/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.js +1 -0
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.js +1 -0
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useShouldForceScrollToBottom.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/VirtualizedMessageList/useShouldForceScrollToBottom.js +1 -0
- package/dist/components/MessageList/index.d.ts +1 -0
- package/dist/components/MessageList/index.d.ts.map +1 -1
- package/dist/components/MessageList/index.js +1 -0
- package/dist/components/MessageList/renderMessages.d.ts +22 -0
- package/dist/components/MessageList/renderMessages.d.ts.map +1 -0
- package/dist/components/MessageList/renderMessages.js +30 -0
- package/dist/components/MessageList/utils.d.ts.map +1 -1
- package/dist/components/MessageList/utils.js +1 -1
- package/dist/components/Reactions/hooks/useProcessReactions.d.ts.map +1 -1
- package/dist/components/Reactions/hooks/useProcessReactions.js +3 -0
- package/dist/components/Thread/Thread.js +1 -0
- package/dist/index.cjs.js +304 -166
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -1
|
@@ -9863,6 +9863,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
9863
9863
|
audioRef.current.play();
|
|
9864
9864
|
return function () {
|
|
9865
9865
|
var _a;
|
|
9866
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
9866
9867
|
(_a = audioRef.current) === null || _a === void 0 ? void 0 : _a.pause();
|
|
9867
9868
|
window.clearInterval(interval);
|
|
9868
9869
|
};
|
|
@@ -10028,7 +10029,9 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
10028
10029
|
source: imageSrc,
|
|
10029
10030
|
};
|
|
10030
10031
|
});
|
|
10031
|
-
},
|
|
10032
|
+
},
|
|
10033
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
10034
|
+
[images]);
|
|
10032
10035
|
return (React__default["default"].createElement(ImageGallery, { items: formattedArray, renderItem: renderItem, showIndex: true, showPlayButton: false, showThumbnails: false, startIndex: index }));
|
|
10033
10036
|
};
|
|
10034
10037
|
|
|
@@ -14648,6 +14651,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
14648
14651
|
var config = videoAttachmentSizeHandler(attachment, videoElement.current, shouldGenerateVideoThumbnail);
|
|
14649
14652
|
setAttachmentConfiguration(config);
|
|
14650
14653
|
}
|
|
14654
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
14651
14655
|
}, [videoElement, videoAttachmentSizeHandler, attachment]);
|
|
14652
14656
|
var content = (React__default["default"].createElement("div", { className: 'str-chat__player-wrapper', "data-testid": 'video-wrapper', ref: videoElement, style: getCssDimensionsVariables(attachment.thumb_url || '') },
|
|
14653
14657
|
React__default["default"].createElement(Media, { className: 'react-player', config: { file: { attributes: { poster: attachmentConfiguration === null || attachmentConfiguration === void 0 ? void 0 : attachmentConfiguration.thumbUrl } } }, controls: true, height: '100%', url: attachmentConfiguration === null || attachmentConfiguration === void 0 ? void 0 : attachmentConfiguration.url, width: '100%' })));
|
|
@@ -14683,6 +14687,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
14683
14687
|
*/
|
|
14684
14688
|
var Attachment = function (props) {
|
|
14685
14689
|
var attachments = props.attachments;
|
|
14690
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
14686
14691
|
var groupedAttachments = React$2.useMemo(function () { return renderGroupedAttachments(props); }, [attachments]);
|
|
14687
14692
|
return (React__default["default"].createElement("div", { className: 'str-chat__attachment-list' }, ATTACHMENT_GROUPS_ORDER.reduce(function (acc, groupName) { return __spreadArray(__spreadArray([], acc, true), groupedAttachments[groupName], true); }, [])));
|
|
14688
14693
|
};
|
|
@@ -44761,7 +44766,9 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
44761
44766
|
watcher_count: watcher_count,
|
|
44762
44767
|
watcherCount: watcherCount,
|
|
44763
44768
|
watchers: watchers,
|
|
44764
|
-
}); },
|
|
44769
|
+
}); },
|
|
44770
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
44771
|
+
[
|
|
44765
44772
|
channelId,
|
|
44766
44773
|
debounceURLEnrichmentMs,
|
|
44767
44774
|
enrichURLForPreview,
|
|
@@ -44798,7 +44805,9 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
44798
44805
|
var typingValue = Object.keys(typing || {}).join();
|
|
44799
44806
|
var typingContext = React$2.useMemo(function () { return ({
|
|
44800
44807
|
typing: typing,
|
|
44801
|
-
}); },
|
|
44808
|
+
}); },
|
|
44809
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
44810
|
+
[typingValue]);
|
|
44802
44811
|
return typingContext;
|
|
44803
44812
|
};
|
|
44804
44813
|
|
|
@@ -45316,29 +45325,15 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
45316
45325
|
})));
|
|
45317
45326
|
};
|
|
45318
45327
|
|
|
45319
|
-
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var UnMemoizedMessageActionsBox = function (props) {
|
|
45320
|
-
var getMessageActions = props.getMessageActions, handleDelete = props.handleDelete, handleEdit = props.handleEdit, handleFlag = props.handleFlag, handleMute = props.handleMute, handlePin = props.handlePin, isUserMuted = props.isUserMuted
|
|
45328
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var UnMemoizedMessageActionsBox = React__default["default"].forwardRef(function (props, ref) {
|
|
45329
|
+
var getMessageActions = props.getMessageActions, handleDelete = props.handleDelete, handleEdit = props.handleEdit, handleFlag = props.handleFlag, handleMute = props.handleMute, handlePin = props.handlePin, isUserMuted = props.isUserMuted;
|
|
45330
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
45331
|
+
props.mine; var _a = props.open, open = _a === void 0 ? false : _a, restDivProps = __rest(props, ["getMessageActions", "handleDelete", "handleEdit", "handleFlag", "handleMute", "handlePin", "isUserMuted", "mine", "open"]);
|
|
45321
45332
|
var _b = useComponentContext('MessageActionsBox').CustomMessageActionsList, CustomMessageActionsList$1 = _b === void 0 ? CustomMessageActionsList : _b;
|
|
45322
45333
|
var setQuotedMessage = useChannelActionContext('MessageActionsBox').setQuotedMessage;
|
|
45323
|
-
var _c = useMessageContext('MessageActionsBox'), customMessageActions = _c.customMessageActions, message = _c.message
|
|
45334
|
+
var _c = useMessageContext('MessageActionsBox'), customMessageActions = _c.customMessageActions, message = _c.message;
|
|
45324
45335
|
var t = useTranslationContext('MessageActionsBox').t;
|
|
45325
|
-
var _d = React$2.useState(false), reverse = _d[0], setReverse = _d[1];
|
|
45326
45336
|
var messageActions = getMessageActions();
|
|
45327
|
-
var checkIfReverse = React$2.useCallback(function (containerElement) {
|
|
45328
|
-
if (!containerElement) {
|
|
45329
|
-
setReverse(false);
|
|
45330
|
-
return;
|
|
45331
|
-
}
|
|
45332
|
-
if (open) {
|
|
45333
|
-
var containerRect = containerElement.getBoundingClientRect();
|
|
45334
|
-
if (mine) {
|
|
45335
|
-
setReverse(!!messageListRect && containerRect.left < messageListRect.left);
|
|
45336
|
-
}
|
|
45337
|
-
else {
|
|
45338
|
-
setReverse(!!messageListRect && containerRect.right + 5 > messageListRect.right);
|
|
45339
|
-
}
|
|
45340
|
-
}
|
|
45341
|
-
}, [messageListRect, mine, open]);
|
|
45342
45337
|
var handleQuote = function () {
|
|
45343
45338
|
setQuotedMessage(message);
|
|
45344
45339
|
var elements = message.parent_id
|
|
@@ -45350,12 +45345,10 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
45350
45345
|
}
|
|
45351
45346
|
};
|
|
45352
45347
|
var rootClassName = clsx('str-chat__message-actions-box', {
|
|
45353
|
-
'str-chat__message-actions-box--mine': mine,
|
|
45354
45348
|
'str-chat__message-actions-box--open': open,
|
|
45355
|
-
'str-chat__message-actions-box--reverse': reverse,
|
|
45356
45349
|
});
|
|
45357
45350
|
var buttonClassName = 'str-chat__message-actions-list-item str-chat__message-actions-list-item-button';
|
|
45358
|
-
return (React__default["default"].createElement("div", { className: rootClassName, "data-testid": 'message-actions-box', ref:
|
|
45351
|
+
return (React__default["default"].createElement("div", __assign({}, restDivProps, { className: rootClassName, "data-testid": 'message-actions-box', ref: ref }),
|
|
45359
45352
|
React__default["default"].createElement("div", { "aria-label": 'Message Options', className: 'str-chat__message-actions-list', role: 'listbox' },
|
|
45360
45353
|
React__default["default"].createElement(CustomMessageActionsList$1, { customMessageActions: customMessageActions, message: message }),
|
|
45361
45354
|
messageActions.indexOf(MESSAGE_ACTIONS.quote) > -1 && (React__default["default"].createElement("button", { "aria-selected": 'false', className: buttonClassName, onClick: handleQuote, role: 'option' }, t('Reply'))),
|
|
@@ -45364,126 +45357,12 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
45364
45357
|
messageActions.indexOf(MESSAGE_ACTIONS.mute) > -1 && (React__default["default"].createElement("button", { "aria-selected": 'false', className: buttonClassName, onClick: handleMute, role: 'option' }, isUserMuted() ? t('Unmute') : t('Mute'))),
|
|
45365
45358
|
messageActions.indexOf(MESSAGE_ACTIONS.edit) > -1 && (React__default["default"].createElement("button", { "aria-selected": 'false', className: buttonClassName, onClick: handleEdit, role: 'option' }, t('Edit Message'))),
|
|
45366
45359
|
messageActions.indexOf(MESSAGE_ACTIONS.delete) > -1 && (React__default["default"].createElement("button", { "aria-selected": 'false', className: buttonClassName, onClick: handleDelete, role: 'option' }, t('Delete'))))));
|
|
45367
|
-
};
|
|
45360
|
+
});
|
|
45368
45361
|
/**
|
|
45369
45362
|
* A popup box that displays the available actions on a message, such as edit, delete, pin, etc.
|
|
45370
45363
|
*/
|
|
45371
45364
|
var MessageActionsBox = React__default["default"].memo(UnMemoizedMessageActionsBox);
|
|
45372
45365
|
|
|
45373
|
-
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var MessageActions = function (props) {
|
|
45374
|
-
var _a = props.ActionsIcon, ActionsIcon$1 = _a === void 0 ? ActionsIcon : _a, _b = props.customWrapperClass, customWrapperClass = _b === void 0 ? '' : _b, propGetMessageActions = props.getMessageActions, propHandleDelete = props.handleDelete, propHandleFlag = props.handleFlag, propHandleMute = props.handleMute, propHandlePin = props.handlePin, inline = props.inline, propMessage = props.message, messageWrapperRef = props.messageWrapperRef, mine = props.mine;
|
|
45375
|
-
var mutes = useChatContext('MessageActions').mutes;
|
|
45376
|
-
var _c = useMessageContext('MessageActions'), customMessageActions = _c.customMessageActions, contextGetMessageActions = _c.getMessageActions, contextHandleDelete = _c.handleDelete, contextHandleFlag = _c.handleFlag, contextHandleMute = _c.handleMute, contextHandlePin = _c.handlePin, isMyMessage = _c.isMyMessage, contextMessage = _c.message, setEditingState = _c.setEditingState;
|
|
45377
|
-
var getMessageActions = propGetMessageActions || contextGetMessageActions;
|
|
45378
|
-
var handleDelete = propHandleDelete || contextHandleDelete;
|
|
45379
|
-
var handleFlag = propHandleFlag || contextHandleFlag;
|
|
45380
|
-
var handleMute = propHandleMute || contextHandleMute;
|
|
45381
|
-
var handlePin = propHandlePin || contextHandlePin;
|
|
45382
|
-
var message = propMessage || contextMessage;
|
|
45383
|
-
var _d = React$2.useState(false), actionsBoxOpen = _d[0], setActionsBoxOpen = _d[1];
|
|
45384
|
-
var isMuted = React$2.useCallback(function () { return isUserMuted(message, mutes); }, [message, mutes]);
|
|
45385
|
-
var hideOptions = React$2.useCallback(function (event) {
|
|
45386
|
-
if (event instanceof KeyboardEvent && event.key !== 'Escape') {
|
|
45387
|
-
return;
|
|
45388
|
-
}
|
|
45389
|
-
setActionsBoxOpen(false);
|
|
45390
|
-
}, []);
|
|
45391
|
-
var messageActions = getMessageActions();
|
|
45392
|
-
var messageDeletedAt = !!(message === null || message === void 0 ? void 0 : message.deleted_at);
|
|
45393
|
-
React$2.useEffect(function () {
|
|
45394
|
-
if (messageWrapperRef === null || messageWrapperRef === void 0 ? void 0 : messageWrapperRef.current) {
|
|
45395
|
-
messageWrapperRef.current.addEventListener('mouseleave', hideOptions);
|
|
45396
|
-
}
|
|
45397
|
-
}, [hideOptions, messageWrapperRef]);
|
|
45398
|
-
React$2.useEffect(function () {
|
|
45399
|
-
if (messageDeletedAt) {
|
|
45400
|
-
document.removeEventListener('click', hideOptions);
|
|
45401
|
-
}
|
|
45402
|
-
}, [hideOptions, messageDeletedAt]);
|
|
45403
|
-
React$2.useEffect(function () {
|
|
45404
|
-
if (!actionsBoxOpen)
|
|
45405
|
-
return;
|
|
45406
|
-
document.addEventListener('click', hideOptions);
|
|
45407
|
-
document.addEventListener('keyup', hideOptions);
|
|
45408
|
-
return function () {
|
|
45409
|
-
document.removeEventListener('click', hideOptions);
|
|
45410
|
-
document.removeEventListener('keyup', hideOptions);
|
|
45411
|
-
};
|
|
45412
|
-
}, [actionsBoxOpen, hideOptions]);
|
|
45413
|
-
if (!messageActions.length && !customMessageActions)
|
|
45414
|
-
return null;
|
|
45415
|
-
return (React__default["default"].createElement(MessageActionsWrapper, { customWrapperClass: customWrapperClass, inline: inline, setActionsBoxOpen: setActionsBoxOpen },
|
|
45416
|
-
React__default["default"].createElement(MessageActionsBox, { getMessageActions: getMessageActions, handleDelete: handleDelete, handleEdit: setEditingState, handleFlag: handleFlag, handleMute: handleMute, handlePin: handlePin, isUserMuted: isMuted, mine: mine ? mine() : isMyMessage(), open: actionsBoxOpen }),
|
|
45417
|
-
React__default["default"].createElement("button", { "aria-expanded": actionsBoxOpen, "aria-haspopup": 'true', "aria-label": 'Open Message Actions Menu', className: 'str-chat__message-actions-box-button' },
|
|
45418
|
-
React__default["default"].createElement(ActionsIcon$1, { className: 'str-chat__message-action-icon' }))));
|
|
45419
|
-
};
|
|
45420
|
-
var MessageActionsWrapper = function (props) {
|
|
45421
|
-
var children = props.children, customWrapperClass = props.customWrapperClass, inline = props.inline, setActionsBoxOpen = props.setActionsBoxOpen;
|
|
45422
|
-
var defaultWrapperClass = "\n str-chat__message-simple__actions__action\n str-chat__message-simple__actions__action--options\n str-chat__message-actions-container";
|
|
45423
|
-
var wrapperClass = customWrapperClass || defaultWrapperClass;
|
|
45424
|
-
var onClickOptionsAction = function (event) {
|
|
45425
|
-
event.stopPropagation();
|
|
45426
|
-
setActionsBoxOpen(function (prev) { return !prev; });
|
|
45427
|
-
};
|
|
45428
|
-
var wrapperProps = {
|
|
45429
|
-
className: wrapperClass,
|
|
45430
|
-
'data-testid': 'message-actions',
|
|
45431
|
-
onClick: onClickOptionsAction,
|
|
45432
|
-
};
|
|
45433
|
-
if (inline)
|
|
45434
|
-
return React__default["default"].createElement("span", __assign({}, wrapperProps), children);
|
|
45435
|
-
return React__default["default"].createElement("div", __assign({}, wrapperProps), children);
|
|
45436
|
-
};
|
|
45437
|
-
|
|
45438
|
-
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
|
|
45439
|
-
|
|
45440
|
-
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var UnMemoizedMessageOptions = function (props) {
|
|
45441
|
-
var _a = props.ActionsIcon, ActionsIcon$1 = _a === void 0 ? ActionsIcon : _a, _b = props.displayReplies, displayReplies = _b === void 0 ? true : _b, propHandleOpenThread = props.handleOpenThread, messageWrapperRef = props.messageWrapperRef, _c = props.ReactionIcon, ReactionIcon$1 = _c === void 0 ? ReactionIcon : _c, _d = props.theme, theme = _d === void 0 ? 'simple' : _d, _e = props.ThreadIcon, ThreadIcon$1 = _e === void 0 ? ThreadIcon : _e;
|
|
45442
|
-
var _f = useMessageContext('MessageOptions'), customMessageActions = _f.customMessageActions, getMessageActions = _f.getMessageActions, contextHandleOpenThread = _f.handleOpenThread, initialMessage = _f.initialMessage, message = _f.message, onReactionListClick = _f.onReactionListClick, threadList = _f.threadList;
|
|
45443
|
-
var handleOpenThread = propHandleOpenThread || contextHandleOpenThread;
|
|
45444
|
-
var messageActions = getMessageActions();
|
|
45445
|
-
var showActionsBox = showMessageActionsBox(messageActions, threadList) || !!customMessageActions;
|
|
45446
|
-
var shouldShowReactions = messageActions.indexOf(MESSAGE_ACTIONS.react) > -1;
|
|
45447
|
-
var shouldShowReplies = messageActions.indexOf(MESSAGE_ACTIONS.reply) > -1 && displayReplies && !threadList;
|
|
45448
|
-
if (!message.type ||
|
|
45449
|
-
message.type === 'error' ||
|
|
45450
|
-
message.type === 'system' ||
|
|
45451
|
-
message.type === 'ephemeral' ||
|
|
45452
|
-
message.status === 'failed' ||
|
|
45453
|
-
message.status === 'sending' ||
|
|
45454
|
-
initialMessage) {
|
|
45455
|
-
return null;
|
|
45456
|
-
}
|
|
45457
|
-
var rootClassName = "str-chat__message-".concat(theme, "__actions str-chat__message-options");
|
|
45458
|
-
return (React__default["default"].createElement("div", { className: rootClassName, "data-testid": 'message-options' },
|
|
45459
|
-
showActionsBox && (React__default["default"].createElement(MessageActions, { ActionsIcon: ActionsIcon$1, messageWrapperRef: messageWrapperRef })),
|
|
45460
|
-
shouldShowReplies && (React__default["default"].createElement("button", { "aria-label": 'Open Thread', className: "str-chat__message-".concat(theme, "__actions__action str-chat__message-").concat(theme, "__actions__action--thread str-chat__message-reply-in-thread-button"), "data-testid": 'thread-action', onClick: handleOpenThread },
|
|
45461
|
-
React__default["default"].createElement(ThreadIcon$1, { className: 'str-chat__message-action-icon' }))),
|
|
45462
|
-
shouldShowReactions && (React__default["default"].createElement("button", { "aria-label": 'Open Reaction Selector', className: "str-chat__message-".concat(theme, "__actions__action str-chat__message-").concat(theme, "__actions__action--reactions str-chat__message-reactions-button"), "data-testid": 'message-reaction-action', onClick: onReactionListClick },
|
|
45463
|
-
React__default["default"].createElement(ReactionIcon$1, { className: 'str-chat__message-action-icon' })))));
|
|
45464
|
-
};
|
|
45465
|
-
var MessageOptions = React__default["default"].memo(UnMemoizedMessageOptions);
|
|
45466
|
-
|
|
45467
|
-
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var UnMemoizedMessageRepliesCountButton = function (props) {
|
|
45468
|
-
var labelPlural = props.labelPlural, labelSingle = props.labelSingle, onClick = props.onClick, _a = props.reply_count, reply_count = _a === void 0 ? 0 : _a;
|
|
45469
|
-
var t = useTranslationContext('MessageRepliesCountButton').t;
|
|
45470
|
-
var themeVersion = useChatContext('MessageRepliesCountButton').themeVersion;
|
|
45471
|
-
if (!reply_count)
|
|
45472
|
-
return null;
|
|
45473
|
-
var replyCountText = t('replyCount', { count: reply_count });
|
|
45474
|
-
if (labelPlural && reply_count > 1) {
|
|
45475
|
-
replyCountText = "".concat(reply_count, " ").concat(labelPlural);
|
|
45476
|
-
}
|
|
45477
|
-
else if (labelSingle) {
|
|
45478
|
-
replyCountText = "1 ".concat(labelSingle);
|
|
45479
|
-
}
|
|
45480
|
-
return (React__default["default"].createElement("div", { className: 'str-chat__message-simple-reply-button str-chat__message-replies-count-button-wrapper' },
|
|
45481
|
-
React__default["default"].createElement("button", { className: 'str-chat__message-replies-count-button', "data-testid": 'replies-count-button', onClick: onClick },
|
|
45482
|
-
themeVersion === '1' && React__default["default"].createElement(ReplyIcon, null),
|
|
45483
|
-
replyCountText)));
|
|
45484
|
-
};
|
|
45485
|
-
var MessageRepliesCountButton = React__default["default"].memo(UnMemoizedMessageRepliesCountButton);
|
|
45486
|
-
|
|
45487
45366
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};React__namespace.createContext();
|
|
45488
45367
|
React__namespace.createContext();
|
|
45489
45368
|
|
|
@@ -47418,6 +47297,160 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
47418
47297
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};// Public components
|
|
47419
47298
|
// Public types
|
|
47420
47299
|
|
|
47300
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};function useMessageActionsBoxPopper(_a) {
|
|
47301
|
+
var open = _a.open, placement = _a.placement, referenceElement = _a.referenceElement;
|
|
47302
|
+
var popperElementRef = React$2.useRef(null);
|
|
47303
|
+
var _b = usePopper(referenceElement, popperElementRef.current, {
|
|
47304
|
+
modifiers: [
|
|
47305
|
+
{
|
|
47306
|
+
name: 'eventListeners',
|
|
47307
|
+
options: {
|
|
47308
|
+
// It's not safe to update popper position on resize and scroll, since popper's
|
|
47309
|
+
// reference element might not be visible at the time.
|
|
47310
|
+
resize: false,
|
|
47311
|
+
scroll: false,
|
|
47312
|
+
},
|
|
47313
|
+
},
|
|
47314
|
+
],
|
|
47315
|
+
placement: placement,
|
|
47316
|
+
}), attributes = _b.attributes, styles = _b.styles, update = _b.update;
|
|
47317
|
+
React$2.useEffect(function () {
|
|
47318
|
+
if (open) {
|
|
47319
|
+
// Since the popper's reference element might not be (and usually is not) visible
|
|
47320
|
+
// all the time, it's safer to force popper update before showing it.
|
|
47321
|
+
update === null || update === void 0 ? void 0 : update();
|
|
47322
|
+
}
|
|
47323
|
+
}, [open, update]);
|
|
47324
|
+
return {
|
|
47325
|
+
attributes: attributes,
|
|
47326
|
+
popperElementRef: popperElementRef,
|
|
47327
|
+
styles: styles,
|
|
47328
|
+
};
|
|
47329
|
+
}
|
|
47330
|
+
|
|
47331
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
|
|
47332
|
+
|
|
47333
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var MessageActions = function (props) {
|
|
47334
|
+
var _a = props.ActionsIcon, ActionsIcon$1 = _a === void 0 ? ActionsIcon : _a, _b = props.customWrapperClass, customWrapperClass = _b === void 0 ? '' : _b, propGetMessageActions = props.getMessageActions, propHandleDelete = props.handleDelete, propHandleFlag = props.handleFlag, propHandleMute = props.handleMute, propHandlePin = props.handlePin, inline = props.inline, propMessage = props.message, messageWrapperRef = props.messageWrapperRef, mine = props.mine;
|
|
47335
|
+
var mutes = useChatContext('MessageActions').mutes;
|
|
47336
|
+
var _c = useMessageContext('MessageActions'), customMessageActions = _c.customMessageActions, contextGetMessageActions = _c.getMessageActions, contextHandleDelete = _c.handleDelete, contextHandleFlag = _c.handleFlag, contextHandleMute = _c.handleMute, contextHandlePin = _c.handlePin, isMyMessage = _c.isMyMessage, contextMessage = _c.message, setEditingState = _c.setEditingState;
|
|
47337
|
+
var getMessageActions = propGetMessageActions || contextGetMessageActions;
|
|
47338
|
+
var handleDelete = propHandleDelete || contextHandleDelete;
|
|
47339
|
+
var handleFlag = propHandleFlag || contextHandleFlag;
|
|
47340
|
+
var handleMute = propHandleMute || contextHandleMute;
|
|
47341
|
+
var handlePin = propHandlePin || contextHandlePin;
|
|
47342
|
+
var message = propMessage || contextMessage;
|
|
47343
|
+
var isMine = mine ? mine() : isMyMessage();
|
|
47344
|
+
var _d = React$2.useState(false), actionsBoxOpen = _d[0], setActionsBoxOpen = _d[1];
|
|
47345
|
+
var isMuted = React$2.useCallback(function () { return isUserMuted(message, mutes); }, [message, mutes]);
|
|
47346
|
+
var hideOptions = React$2.useCallback(function (event) {
|
|
47347
|
+
if (event instanceof KeyboardEvent && event.key !== 'Escape') {
|
|
47348
|
+
return;
|
|
47349
|
+
}
|
|
47350
|
+
setActionsBoxOpen(false);
|
|
47351
|
+
}, []);
|
|
47352
|
+
var messageActions = getMessageActions();
|
|
47353
|
+
var messageDeletedAt = !!(message === null || message === void 0 ? void 0 : message.deleted_at);
|
|
47354
|
+
React$2.useEffect(function () {
|
|
47355
|
+
if (messageWrapperRef === null || messageWrapperRef === void 0 ? void 0 : messageWrapperRef.current) {
|
|
47356
|
+
messageWrapperRef.current.addEventListener('mouseleave', hideOptions);
|
|
47357
|
+
}
|
|
47358
|
+
}, [hideOptions, messageWrapperRef]);
|
|
47359
|
+
React$2.useEffect(function () {
|
|
47360
|
+
if (messageDeletedAt) {
|
|
47361
|
+
document.removeEventListener('click', hideOptions);
|
|
47362
|
+
}
|
|
47363
|
+
}, [hideOptions, messageDeletedAt]);
|
|
47364
|
+
React$2.useEffect(function () {
|
|
47365
|
+
if (!actionsBoxOpen)
|
|
47366
|
+
return;
|
|
47367
|
+
document.addEventListener('click', hideOptions);
|
|
47368
|
+
document.addEventListener('keyup', hideOptions);
|
|
47369
|
+
return function () {
|
|
47370
|
+
document.removeEventListener('click', hideOptions);
|
|
47371
|
+
document.removeEventListener('keyup', hideOptions);
|
|
47372
|
+
};
|
|
47373
|
+
}, [actionsBoxOpen, hideOptions]);
|
|
47374
|
+
var actionsBoxButtonRef = React$2.useRef(null);
|
|
47375
|
+
var _e = useMessageActionsBoxPopper({
|
|
47376
|
+
open: actionsBoxOpen,
|
|
47377
|
+
placement: isMine ? 'top-end' : 'top-start',
|
|
47378
|
+
referenceElement: actionsBoxButtonRef.current,
|
|
47379
|
+
}), attributes = _e.attributes, popperElementRef = _e.popperElementRef, styles = _e.styles;
|
|
47380
|
+
if (!messageActions.length && !customMessageActions)
|
|
47381
|
+
return null;
|
|
47382
|
+
return (React__default["default"].createElement(MessageActionsWrapper, { customWrapperClass: customWrapperClass, inline: inline, setActionsBoxOpen: setActionsBoxOpen },
|
|
47383
|
+
React__default["default"].createElement(MessageActionsBox, __assign({}, attributes.popper, { getMessageActions: getMessageActions, handleDelete: handleDelete, handleEdit: setEditingState, handleFlag: handleFlag, handleMute: handleMute, handlePin: handlePin, isUserMuted: isMuted, mine: isMine, open: actionsBoxOpen, ref: popperElementRef, style: styles.popper })),
|
|
47384
|
+
React__default["default"].createElement("button", { "aria-expanded": actionsBoxOpen, "aria-haspopup": 'true', "aria-label": 'Open Message Actions Menu', className: 'str-chat__message-actions-box-button', ref: actionsBoxButtonRef },
|
|
47385
|
+
React__default["default"].createElement(ActionsIcon$1, { className: 'str-chat__message-action-icon' }))));
|
|
47386
|
+
};
|
|
47387
|
+
var MessageActionsWrapper = function (props) {
|
|
47388
|
+
var children = props.children, customWrapperClass = props.customWrapperClass, inline = props.inline, setActionsBoxOpen = props.setActionsBoxOpen;
|
|
47389
|
+
var defaultWrapperClass = "\n str-chat__message-simple__actions__action\n str-chat__message-simple__actions__action--options\n str-chat__message-actions-container";
|
|
47390
|
+
var wrapperClass = customWrapperClass || defaultWrapperClass;
|
|
47391
|
+
var onClickOptionsAction = function (event) {
|
|
47392
|
+
event.stopPropagation();
|
|
47393
|
+
setActionsBoxOpen(function (prev) { return !prev; });
|
|
47394
|
+
};
|
|
47395
|
+
var wrapperProps = {
|
|
47396
|
+
className: wrapperClass,
|
|
47397
|
+
'data-testid': 'message-actions',
|
|
47398
|
+
onClick: onClickOptionsAction,
|
|
47399
|
+
};
|
|
47400
|
+
if (inline)
|
|
47401
|
+
return React__default["default"].createElement("span", __assign({}, wrapperProps), children);
|
|
47402
|
+
return React__default["default"].createElement("div", __assign({}, wrapperProps), children);
|
|
47403
|
+
};
|
|
47404
|
+
|
|
47405
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
|
|
47406
|
+
|
|
47407
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var UnMemoizedMessageOptions = function (props) {
|
|
47408
|
+
var _a = props.ActionsIcon, ActionsIcon$1 = _a === void 0 ? ActionsIcon : _a, _b = props.displayReplies, displayReplies = _b === void 0 ? true : _b, propHandleOpenThread = props.handleOpenThread, messageWrapperRef = props.messageWrapperRef, _c = props.ReactionIcon, ReactionIcon$1 = _c === void 0 ? ReactionIcon : _c, _d = props.theme, theme = _d === void 0 ? 'simple' : _d, _e = props.ThreadIcon, ThreadIcon$1 = _e === void 0 ? ThreadIcon : _e;
|
|
47409
|
+
var _f = useMessageContext('MessageOptions'), customMessageActions = _f.customMessageActions, getMessageActions = _f.getMessageActions, contextHandleOpenThread = _f.handleOpenThread, initialMessage = _f.initialMessage, message = _f.message, onReactionListClick = _f.onReactionListClick, threadList = _f.threadList;
|
|
47410
|
+
var handleOpenThread = propHandleOpenThread || contextHandleOpenThread;
|
|
47411
|
+
var messageActions = getMessageActions();
|
|
47412
|
+
var showActionsBox = showMessageActionsBox(messageActions, threadList) || !!customMessageActions;
|
|
47413
|
+
var shouldShowReactions = messageActions.indexOf(MESSAGE_ACTIONS.react) > -1;
|
|
47414
|
+
var shouldShowReplies = messageActions.indexOf(MESSAGE_ACTIONS.reply) > -1 && displayReplies && !threadList;
|
|
47415
|
+
if (!message.type ||
|
|
47416
|
+
message.type === 'error' ||
|
|
47417
|
+
message.type === 'system' ||
|
|
47418
|
+
message.type === 'ephemeral' ||
|
|
47419
|
+
message.status === 'failed' ||
|
|
47420
|
+
message.status === 'sending' ||
|
|
47421
|
+
initialMessage) {
|
|
47422
|
+
return null;
|
|
47423
|
+
}
|
|
47424
|
+
var rootClassName = "str-chat__message-".concat(theme, "__actions str-chat__message-options");
|
|
47425
|
+
return (React__default["default"].createElement("div", { className: rootClassName, "data-testid": 'message-options' },
|
|
47426
|
+
showActionsBox && (React__default["default"].createElement(MessageActions, { ActionsIcon: ActionsIcon$1, messageWrapperRef: messageWrapperRef })),
|
|
47427
|
+
shouldShowReplies && (React__default["default"].createElement("button", { "aria-label": 'Open Thread', className: "str-chat__message-".concat(theme, "__actions__action str-chat__message-").concat(theme, "__actions__action--thread str-chat__message-reply-in-thread-button"), "data-testid": 'thread-action', onClick: handleOpenThread },
|
|
47428
|
+
React__default["default"].createElement(ThreadIcon$1, { className: 'str-chat__message-action-icon' }))),
|
|
47429
|
+
shouldShowReactions && (React__default["default"].createElement("button", { "aria-label": 'Open Reaction Selector', className: "str-chat__message-".concat(theme, "__actions__action str-chat__message-").concat(theme, "__actions__action--reactions str-chat__message-reactions-button"), "data-testid": 'message-reaction-action', onClick: onReactionListClick },
|
|
47430
|
+
React__default["default"].createElement(ReactionIcon$1, { className: 'str-chat__message-action-icon' })))));
|
|
47431
|
+
};
|
|
47432
|
+
var MessageOptions = React__default["default"].memo(UnMemoizedMessageOptions);
|
|
47433
|
+
|
|
47434
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var UnMemoizedMessageRepliesCountButton = function (props) {
|
|
47435
|
+
var labelPlural = props.labelPlural, labelSingle = props.labelSingle, onClick = props.onClick, _a = props.reply_count, reply_count = _a === void 0 ? 0 : _a;
|
|
47436
|
+
var t = useTranslationContext('MessageRepliesCountButton').t;
|
|
47437
|
+
var themeVersion = useChatContext('MessageRepliesCountButton').themeVersion;
|
|
47438
|
+
if (!reply_count)
|
|
47439
|
+
return null;
|
|
47440
|
+
var replyCountText = t('replyCount', { count: reply_count });
|
|
47441
|
+
if (labelPlural && reply_count > 1) {
|
|
47442
|
+
replyCountText = "".concat(reply_count, " ").concat(labelPlural);
|
|
47443
|
+
}
|
|
47444
|
+
else if (labelSingle) {
|
|
47445
|
+
replyCountText = "1 ".concat(labelSingle);
|
|
47446
|
+
}
|
|
47447
|
+
return (React__default["default"].createElement("div", { className: 'str-chat__message-simple-reply-button str-chat__message-replies-count-button-wrapper' },
|
|
47448
|
+
React__default["default"].createElement("button", { className: 'str-chat__message-replies-count-button', "data-testid": 'replies-count-button', onClick: onClick },
|
|
47449
|
+
themeVersion === '1' && React__default["default"].createElement(ReplyIcon, null),
|
|
47450
|
+
replyCountText)));
|
|
47451
|
+
};
|
|
47452
|
+
var MessageRepliesCountButton = React__default["default"].memo(UnMemoizedMessageRepliesCountButton);
|
|
47453
|
+
|
|
47421
47454
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var Tooltip = function (_a) {
|
|
47422
47455
|
var children = _a.children, rest = __rest(_a, ["children"]);
|
|
47423
47456
|
return (React__default["default"].createElement("div", __assign({ className: 'str-chat__tooltip' }, rest), children));
|
|
@@ -47544,6 +47577,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
47544
47577
|
var message = propMessage || contextMessage;
|
|
47545
47578
|
var hasAttachment = messageHasAttachments(message);
|
|
47546
47579
|
var messageTextToRender = ((_b = message.i18n) === null || _b === void 0 ? void 0 : _b["".concat(userLanguage, "_text")]) || message.text;
|
|
47580
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
47547
47581
|
var messageText = React$2.useMemo(function () { return renderText$1(messageTextToRender, message.mentioned_users); }, [
|
|
47548
47582
|
message.mentioned_users,
|
|
47549
47583
|
messageTextToRender,
|
|
@@ -48063,6 +48097,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
48063
48097
|
});
|
|
48064
48098
|
return Object.values(uniqueUsers);
|
|
48065
48099
|
}, [members, watchers]);
|
|
48100
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
48066
48101
|
var queryMembersThrottled = React$2.useCallback(lodash_throttle(function (query, onReady) { return __awaiter(void 0, void 0, void 0, function () {
|
|
48067
48102
|
var response, users, error_1;
|
|
48068
48103
|
return __generator(this, function (_a) {
|
|
@@ -48372,6 +48407,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
48372
48407
|
channel === null || channel === void 0 ? void 0 : channel.off('message.deleted', handleQuotedMessageUpdate);
|
|
48373
48408
|
channel === null || channel === void 0 ? void 0 : channel.off('message.updated', handleQuotedMessageUpdate);
|
|
48374
48409
|
};
|
|
48410
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
48375
48411
|
}, [channel, quotedMessage]);
|
|
48376
48412
|
return themeVersion === '2' ? (React__default["default"].createElement(MessageInputV2, null)) : (React__default["default"].createElement(MessageInputV1, null));
|
|
48377
48413
|
};
|
|
@@ -48539,6 +48575,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
48539
48575
|
var removeImage = React$2.useCallback(function (id) {
|
|
48540
48576
|
dispatch({ id: id, type: 'removeImageUpload' });
|
|
48541
48577
|
// TODO: cancel upload if still uploading
|
|
48578
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
48542
48579
|
}, []);
|
|
48543
48580
|
var uploadImage = React$2.useCallback(function (id) { return __awaiter(void 0, void 0, void 0, function () {
|
|
48544
48581
|
var img, file, canUpload, response, error_1, errorMessage, alreadyRemoved;
|
|
@@ -48614,7 +48651,9 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
48614
48651
|
return [2 /*return*/];
|
|
48615
48652
|
}
|
|
48616
48653
|
});
|
|
48617
|
-
}); },
|
|
48654
|
+
}); },
|
|
48655
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
48656
|
+
[imageUploads, channel, doImageUploadRequest, errorHandler, removeImage]);
|
|
48618
48657
|
React$2.useEffect(function () {
|
|
48619
48658
|
var upload = Object.values(imageUploads).find(function (imageUpload) { return imageUpload.state === 'uploading' && imageUpload.file; });
|
|
48620
48659
|
if (!upload)
|
|
@@ -48636,10 +48675,12 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
48636
48675
|
var t = useTranslationContext('useFileUploads').t;
|
|
48637
48676
|
var uploadFile = React$2.useCallback(function (id) {
|
|
48638
48677
|
dispatch({ id: id, state: 'uploading', type: 'setFileUpload' });
|
|
48678
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
48639
48679
|
}, []);
|
|
48640
48680
|
var removeFile = React$2.useCallback(function (id) {
|
|
48641
48681
|
// TODO: cancel upload if still uploading
|
|
48642
48682
|
dispatch({ id: id, type: 'removeFileUpload' });
|
|
48683
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
48643
48684
|
}, []);
|
|
48644
48685
|
React$2.useEffect(function () {
|
|
48645
48686
|
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -48711,6 +48752,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
48711
48752
|
}
|
|
48712
48753
|
});
|
|
48713
48754
|
}); })();
|
|
48755
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
48714
48756
|
}, [fileUploads, channel, doFileUploadRequest, errorHandler, removeFile]);
|
|
48715
48757
|
return {
|
|
48716
48758
|
removeFile: removeFile,
|
|
@@ -48762,7 +48804,9 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
48762
48804
|
}
|
|
48763
48805
|
});
|
|
48764
48806
|
(_a = textareaRef === null || textareaRef === void 0 ? void 0 : textareaRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
48765
|
-
},
|
|
48807
|
+
},
|
|
48808
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
48809
|
+
[maxFilesLeft, noFiles]);
|
|
48766
48810
|
return {
|
|
48767
48811
|
maxFilesLeft: maxFilesLeft,
|
|
48768
48812
|
numberOfUploads: numberOfUploads,
|
|
@@ -48813,7 +48857,9 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
48813
48857
|
},
|
|
48814
48858
|
type: 'setText',
|
|
48815
48859
|
});
|
|
48816
|
-
},
|
|
48860
|
+
},
|
|
48861
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
48862
|
+
[additionalTextareaProps, newCursorPosition, textareaRef]);
|
|
48817
48863
|
React$2.useEffect(function () {
|
|
48818
48864
|
var textareaElement = textareaRef.current;
|
|
48819
48865
|
if (textareaElement && newCursorPosition.current !== undefined) {
|
|
@@ -48836,7 +48882,9 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
48836
48882
|
if (publishTypingEvent && newText && channel) {
|
|
48837
48883
|
streamChat.logChatPromiseExecution(channel.keystroke(parent === null || parent === void 0 ? void 0 : parent.id), 'start typing event');
|
|
48838
48884
|
}
|
|
48839
|
-
},
|
|
48885
|
+
},
|
|
48886
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
48887
|
+
[channel, findAndEnqueueURLsToEnrich, parent, publishTypingEvent]);
|
|
48840
48888
|
return {
|
|
48841
48889
|
handleChange: handleChange,
|
|
48842
48890
|
insertText: insertText,
|
|
@@ -49070,7 +49118,9 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
49070
49118
|
}
|
|
49071
49119
|
});
|
|
49072
49120
|
}); })(clipboardEvent);
|
|
49073
|
-
},
|
|
49121
|
+
},
|
|
49122
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
49123
|
+
[insertText, uploadNewFiles]);
|
|
49074
49124
|
return { onPaste: onPaste };
|
|
49075
49125
|
};
|
|
49076
49126
|
|
|
@@ -49094,7 +49144,10 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
49094
49144
|
mode: exports.SetLinkPreviewMode.UPSERT,
|
|
49095
49145
|
type: 'setLinkPreviews',
|
|
49096
49146
|
});
|
|
49097
|
-
},
|
|
49147
|
+
},
|
|
49148
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
49149
|
+
[onLinkPreviewDismissed]);
|
|
49150
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
49098
49151
|
var findAndEnqueueURLsToEnrich = React$2.useCallback(lodash_debounce(function (text, mode) {
|
|
49099
49152
|
if (mode === void 0) { mode = exports.SetLinkPreviewMode.SET; }
|
|
49100
49153
|
var urls = findURLFn
|
|
@@ -49160,6 +49213,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
49160
49213
|
});
|
|
49161
49214
|
});
|
|
49162
49215
|
});
|
|
49216
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
49163
49217
|
}, [shouldDiscardEnrichQueries, linkPreviews]);
|
|
49164
49218
|
return {
|
|
49165
49219
|
cancelURLEnrichment: cancelURLEnrichment,
|
|
@@ -49453,7 +49507,9 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
49453
49507
|
uploadImage: uploadImage,
|
|
49454
49508
|
uploadNewFiles: uploadNewFiles,
|
|
49455
49509
|
useMentionsTransliteration: useMentionsTransliteration,
|
|
49456
|
-
}); },
|
|
49510
|
+
}); },
|
|
49511
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
49512
|
+
[
|
|
49457
49513
|
cancelURLEnrichment,
|
|
49458
49514
|
cooldownInterval,
|
|
49459
49515
|
cooldownRemaining,
|
|
@@ -49536,6 +49592,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
49536
49592
|
channel === null || channel === void 0 ? void 0 : channel.off('message.deleted', handleQuotedMessageUpdate);
|
|
49537
49593
|
channel === null || channel === void 0 ? void 0 : channel.off('message.updated', handleQuotedMessageUpdate);
|
|
49538
49594
|
};
|
|
49595
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
49539
49596
|
}, [channel, quotedMessage]);
|
|
49540
49597
|
return (React__default["default"].createElement("div", { className: 'str-chat__small-message-input__wrapper' },
|
|
49541
49598
|
React__default["default"].createElement(ImageDropzone, { accept: acceptedFiles, disabled: !isUploadEnabled || maxFilesLeft === 0 || !!cooldownRemaining, handleFiles: uploadNewFiles, maxNumberOfFiles: maxFilesLeft, multiple: multipleUploads },
|
|
@@ -49698,8 +49755,11 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
49698
49755
|
var message = useMessageContext('useProcessReactions').message;
|
|
49699
49756
|
var contextReactionOptions = useComponentContext('useProcessReactions').reactionOptions;
|
|
49700
49757
|
var reactionOptions = propReactionOptions !== null && propReactionOptions !== void 0 ? propReactionOptions : contextReactionOptions;
|
|
49758
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
49701
49759
|
var latestReactions = propReactions || message.latest_reactions || [];
|
|
49760
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
49702
49761
|
var ownReactions = propOwnReactions || (message === null || message === void 0 ? void 0 : message.own_reactions) || [];
|
|
49762
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
49703
49763
|
var reactionCounts = propReactionCounts || message.reaction_counts || {};
|
|
49704
49764
|
var iHaveReactedWithReaction = React$2.useCallback(function (reactionType) { return ownReactions.find(function (reaction) { return reaction.type === reactionType; }); }, [ownReactions]);
|
|
49705
49765
|
var getEmojiByReactionType = React$2.useCallback(function (reactionType) { return reactionOptions.find(function (_a) {
|
|
@@ -50211,7 +50271,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
50211
50271
|
// The MessageList should have configurable the limit for performing the requests.
|
|
50212
50272
|
// This parameter would then be used within these functions
|
|
50213
50273
|
var hasMoreMessagesProbably = function (returnedCountMessages, limit) {
|
|
50214
|
-
return returnedCountMessages
|
|
50274
|
+
return returnedCountMessages >= limit;
|
|
50215
50275
|
};
|
|
50216
50276
|
// @deprecated
|
|
50217
50277
|
var hasNotMoreMessages = function (returnedCountMessages, limit) {
|
|
@@ -50385,7 +50445,65 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
50385
50445
|
url.searchParams.set('w', resizeDimensions.width.toString());
|
|
50386
50446
|
};
|
|
50387
50447
|
|
|
50388
|
-
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=
|
|
50448
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};/**
|
|
50449
|
+
* Component to display system and channel event messages
|
|
50450
|
+
*/
|
|
50451
|
+
var UnMemoizedEventComponent = function (props) {
|
|
50452
|
+
var _a, _b, _c;
|
|
50453
|
+
var _d = props.Avatar, Avatar$1 = _d === void 0 ? Avatar : _d, message = props.message;
|
|
50454
|
+
var tDateTimeParser = useTranslationContext('EventComponent').tDateTimeParser;
|
|
50455
|
+
var _e = message.created_at, created_at = _e === void 0 ? '' : _e, event = message.event, text = message.text, type = message.type;
|
|
50456
|
+
var getDateOptions = { messageCreatedAt: created_at.toString(), tDateTimeParser: tDateTimeParser };
|
|
50457
|
+
if (type === 'system')
|
|
50458
|
+
return (React__default["default"].createElement("div", { className: 'str-chat__message--system', "data-testid": 'message-system' },
|
|
50459
|
+
React__default["default"].createElement("div", { className: 'str-chat__message--system__text' },
|
|
50460
|
+
React__default["default"].createElement("div", { className: 'str-chat__message--system__line' }),
|
|
50461
|
+
React__default["default"].createElement("p", null, text),
|
|
50462
|
+
React__default["default"].createElement("div", { className: 'str-chat__message--system__line' })),
|
|
50463
|
+
React__default["default"].createElement("div", { className: 'str-chat__message--system__date' },
|
|
50464
|
+
React__default["default"].createElement("strong", null,
|
|
50465
|
+
getDateString(__assign(__assign({}, getDateOptions), { format: 'dddd' })),
|
|
50466
|
+
" "),
|
|
50467
|
+
"at ",
|
|
50468
|
+
getDateString(__assign(__assign({}, getDateOptions), { format: 'hh:mm A' })))));
|
|
50469
|
+
if ((event === null || event === void 0 ? void 0 : event.type) === 'member.removed' || (event === null || event === void 0 ? void 0 : event.type) === 'member.added') {
|
|
50470
|
+
var name_1 = ((_a = event.user) === null || _a === void 0 ? void 0 : _a.name) || ((_b = event.user) === null || _b === void 0 ? void 0 : _b.id);
|
|
50471
|
+
var sentence = "".concat(name_1, " ").concat(event.type === 'member.added' ? 'has joined the chat' : 'was removed from the chat');
|
|
50472
|
+
return (React__default["default"].createElement("div", { className: 'str-chat__event-component__channel-event' },
|
|
50473
|
+
React__default["default"].createElement(Avatar$1, { image: (_c = event.user) === null || _c === void 0 ? void 0 : _c.image, name: name_1, user: event.user }),
|
|
50474
|
+
React__default["default"].createElement("div", { className: 'str-chat__event-component__channel-event__content' },
|
|
50475
|
+
React__default["default"].createElement("em", { className: 'str-chat__event-component__channel-event__sentence' }, sentence),
|
|
50476
|
+
React__default["default"].createElement("div", { className: 'str-chat__event-component__channel-event__date' }, getDateString(__assign(__assign({}, getDateOptions), { format: 'LT' }))))));
|
|
50477
|
+
}
|
|
50478
|
+
return null;
|
|
50479
|
+
};
|
|
50480
|
+
var EventComponent = React__default["default"].memo(UnMemoizedEventComponent);
|
|
50481
|
+
|
|
50482
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
|
|
50483
|
+
|
|
50484
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var UnMemoizedDateSeparator = function (props) {
|
|
50485
|
+
var messageCreatedAt = props.date, formatDate = props.formatDate, _a = props.position, position = _a === void 0 ? 'right' : _a, unread = props.unread;
|
|
50486
|
+
var _b = useTranslationContext('DateSeparator'), t = _b.t, tDateTimeParser = _b.tDateTimeParser;
|
|
50487
|
+
var formattedDate = getDateString({
|
|
50488
|
+
calendar: true,
|
|
50489
|
+
formatDate: formatDate,
|
|
50490
|
+
messageCreatedAt: messageCreatedAt,
|
|
50491
|
+
tDateTimeParser: tDateTimeParser,
|
|
50492
|
+
});
|
|
50493
|
+
return (React__default["default"].createElement("div", { className: 'str-chat__date-separator', "data-testid": 'date-separator' },
|
|
50494
|
+
(position === 'right' || position === 'center') && (React__default["default"].createElement("hr", { className: 'str-chat__date-separator-line' })),
|
|
50495
|
+
React__default["default"].createElement("div", { className: 'str-chat__date-separator-date' }, unread ? "".concat(t('New'), " - ").concat(formattedDate) : formattedDate),
|
|
50496
|
+
(position === 'left' || position === 'center') && (React__default["default"].createElement("hr", { className: 'str-chat__date-separator-line' }))));
|
|
50497
|
+
};
|
|
50498
|
+
/**
|
|
50499
|
+
* A simple date separator between messages.
|
|
50500
|
+
*/
|
|
50501
|
+
var DateSeparator = React__default["default"].memo(UnMemoizedDateSeparator);
|
|
50502
|
+
|
|
50503
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
|
|
50504
|
+
|
|
50505
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=streamChat.logChatPromiseExecution;window.StreamChat.Channel=Channel$1;window.ICAL=window.ICAL||{};var isUserResponseArray = function (output) { var _a; return ((_a = output[0]) === null || _a === void 0 ? void 0 : _a.id) != null; };
|
|
50506
|
+
var UnMemoizedChannel = function (props) {
|
|
50389
50507
|
var propsChannel = props.channel, _a = props.EmptyPlaceholder, EmptyPlaceholder = _a === void 0 ? null : _a, LoadingErrorIndicator = props.LoadingErrorIndicator, _b = props.LoadingIndicator, LoadingIndicator = _b === void 0 ? LoadingChannel : _b;
|
|
50390
50508
|
var _c = useChatContext('Channel'), contextChannel = _c.channel, channelsQueryState = _c.channelsQueryState, customClasses = _c.customClasses, theme = _c.theme;
|
|
50391
50509
|
var _d = useChannelContainerClasses({
|
|
@@ -50606,6 +50724,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
50606
50724
|
client.off('user.deleted', handleEvent);
|
|
50607
50725
|
notificationTimeouts.forEach(clearTimeout);
|
|
50608
50726
|
};
|
|
50727
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
50609
50728
|
}, [
|
|
50610
50729
|
channel.cid,
|
|
50611
50730
|
channelQueryOptions,
|
|
@@ -50624,14 +50743,12 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
50624
50743
|
/** MESSAGE */
|
|
50625
50744
|
// Adds a temporary notification to message list, will be removed after 5 seconds
|
|
50626
50745
|
var addNotification = makeAddNotifications(setNotifications, notificationTimeouts);
|
|
50627
|
-
|
|
50746
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
50747
|
+
var loadMoreFinished = React$2.useCallback(lodash_debounce(function (hasMore, messages) {
|
|
50628
50748
|
if (!isMounted.current)
|
|
50629
50749
|
return;
|
|
50630
50750
|
dispatch({ hasMore: hasMore, messages: messages, type: 'loadMoreFinished' });
|
|
50631
|
-
}, 2000, {
|
|
50632
|
-
leading: true,
|
|
50633
|
-
trailing: true,
|
|
50634
|
-
});
|
|
50751
|
+
}, 2000, { leading: true, trailing: true }), []);
|
|
50635
50752
|
var loadMore = function (limit) {
|
|
50636
50753
|
if (limit === void 0) { limit = DEFAULT_NEXT_CHANNEL_PAGE_SIZE; }
|
|
50637
50754
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -50675,12 +50792,12 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
50675
50792
|
var loadMoreNewer = function (limit) {
|
|
50676
50793
|
if (limit === void 0) { limit = 100; }
|
|
50677
50794
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
50678
|
-
var newestMessage, newestId, perPage, queryResponse, e_3,
|
|
50795
|
+
var newestMessage, newestId, perPage, queryResponse, e_3, hasMoreNewerMessages;
|
|
50679
50796
|
var _a, _b;
|
|
50680
50797
|
return __generator(this, function (_c) {
|
|
50681
50798
|
switch (_c.label) {
|
|
50682
50799
|
case 0:
|
|
50683
|
-
if (!online.current || !window.navigator.onLine)
|
|
50800
|
+
if (!online.current || !window.navigator.onLine || !state.hasMoreNewer)
|
|
50684
50801
|
return [2 /*return*/, 0];
|
|
50685
50802
|
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];
|
|
50686
50803
|
if (state.loadingMore || state.loadingMoreNewer)
|
|
@@ -50704,8 +50821,12 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
50704
50821
|
dispatch({ loadingMoreNewer: false, type: 'setLoadingMoreNewer' });
|
|
50705
50822
|
return [2 /*return*/, 0];
|
|
50706
50823
|
case 4:
|
|
50707
|
-
|
|
50708
|
-
dispatch({
|
|
50824
|
+
hasMoreNewerMessages = channel.state.messages !== channel.state.latestMessages;
|
|
50825
|
+
dispatch({
|
|
50826
|
+
hasMoreNewer: hasMoreNewerMessages,
|
|
50827
|
+
messages: channel.state.messages,
|
|
50828
|
+
type: 'loadMoreNewerFinished',
|
|
50829
|
+
});
|
|
50709
50830
|
return [2 /*return*/, queryResponse.messages.length];
|
|
50710
50831
|
}
|
|
50711
50832
|
});
|
|
@@ -50790,7 +50911,6 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
50790
50911
|
type: 'copyMessagesFromChannel',
|
|
50791
50912
|
});
|
|
50792
50913
|
};
|
|
50793
|
-
var isUserResponseArray = function (output) { var _a; return ((_a = output[0]) === null || _a === void 0 ? void 0 : _a.id) != null; };
|
|
50794
50914
|
var doSendMessage = function (message, customMessageData, options) { return __awaiter(void 0, void 0, void 0, function () {
|
|
50795
50915
|
var attachments, id, _a, mentioned_users, parent_id, text, mentions, messageData, messageResponse, existingMessage, i, msg, responseTimestamp, existingMessageTimestamp, responseIsTheNewest, error_1, stringError, parsedError;
|
|
50796
50916
|
var _b, _c;
|
|
@@ -50910,17 +51030,18 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
50910
51030
|
event === null || event === void 0 ? void 0 : event.preventDefault();
|
|
50911
51031
|
dispatch({ type: 'closeThread' });
|
|
50912
51032
|
};
|
|
50913
|
-
|
|
51033
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51034
|
+
var loadMoreThreadFinished = React$2.useCallback(lodash_debounce(function (threadHasMore, threadMessages) {
|
|
50914
51035
|
dispatch({
|
|
50915
51036
|
threadHasMore: threadHasMore,
|
|
50916
51037
|
threadMessages: threadMessages,
|
|
50917
51038
|
type: 'loadMoreThreadFinished',
|
|
50918
51039
|
});
|
|
50919
|
-
}, 2000, { leading: true, trailing: true });
|
|
51040
|
+
}, 2000, { leading: true, trailing: true }), []);
|
|
50920
51041
|
var loadMoreThread = function (limit) {
|
|
50921
51042
|
if (limit === void 0) { limit = DEFAULT_THREAD_PAGE_SIZE; }
|
|
50922
51043
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
50923
|
-
var
|
|
51044
|
+
var parentId, oldMessages, oldestMessageId, queryResponse, threadHasMoreMessages, newThreadMessages;
|
|
50924
51045
|
var _a;
|
|
50925
51046
|
return __generator(this, function (_b) {
|
|
50926
51047
|
switch (_b.label) {
|
|
@@ -50929,23 +51050,23 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
50929
51050
|
if (state.threadLoadingMore || !state.thread)
|
|
50930
51051
|
return [2 /*return*/];
|
|
50931
51052
|
dispatch({ type: 'startLoadingThread' });
|
|
50932
|
-
|
|
50933
|
-
if (!
|
|
51053
|
+
parentId = state.thread.id;
|
|
51054
|
+
if (!parentId) {
|
|
50934
51055
|
return [2 /*return*/, dispatch({ type: 'closeThread' })];
|
|
50935
51056
|
}
|
|
50936
|
-
oldMessages = channel.state.threads[
|
|
50937
|
-
|
|
51057
|
+
oldMessages = channel.state.threads[parentId] || [];
|
|
51058
|
+
oldestMessageId = (_a = oldMessages[0]) === null || _a === void 0 ? void 0 : _a.id;
|
|
50938
51059
|
_b.label = 1;
|
|
50939
51060
|
case 1:
|
|
50940
51061
|
_b.trys.push([1, 3, , 4]);
|
|
50941
|
-
return [4 /*yield*/, channel.getReplies(
|
|
50942
|
-
id_lt:
|
|
51062
|
+
return [4 /*yield*/, channel.getReplies(parentId, {
|
|
51063
|
+
id_lt: oldestMessageId,
|
|
50943
51064
|
limit: limit,
|
|
50944
51065
|
})];
|
|
50945
51066
|
case 2:
|
|
50946
51067
|
queryResponse = _b.sent();
|
|
50947
51068
|
threadHasMoreMessages = hasMoreMessagesProbably(queryResponse.messages.length, limit);
|
|
50948
|
-
newThreadMessages = channel.state.threads[
|
|
51069
|
+
newThreadMessages = channel.state.threads[parentId] || [];
|
|
50949
51070
|
// next set loadingMore to false so we can start asking for more data
|
|
50950
51071
|
loadMoreThreadFinished(threadHasMoreMessages, newThreadMessages);
|
|
50951
51072
|
return [3 /*break*/, 4];
|
|
@@ -50982,7 +51103,9 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
50982
51103
|
setQuotedMessage: setQuotedMessage,
|
|
50983
51104
|
skipMessageDataMemoization: skipMessageDataMemoization,
|
|
50984
51105
|
updateMessage: updateMessage,
|
|
50985
|
-
}); },
|
|
51106
|
+
}); },
|
|
51107
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51108
|
+
[
|
|
50986
51109
|
channel.cid,
|
|
50987
51110
|
deleteMessage,
|
|
50988
51111
|
enrichURLForPreviewConfig === null || enrichURLForPreviewConfig === void 0 ? void 0 : enrichURLForPreviewConfig.findURLFn,
|
|
@@ -51005,7 +51128,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
51005
51128
|
BaseImage: props.BaseImage,
|
|
51006
51129
|
CooldownTimer: props.CooldownTimer,
|
|
51007
51130
|
CustomMessageActionsList: props.CustomMessageActionsList,
|
|
51008
|
-
DateSeparator: props.DateSeparator,
|
|
51131
|
+
DateSeparator: props.DateSeparator || DateSeparator,
|
|
51009
51132
|
EditMessageInput: props.EditMessageInput,
|
|
51010
51133
|
EmojiPicker: props.EmojiPicker,
|
|
51011
51134
|
emojiSearchIndex: props.emojiSearchIndex,
|
|
@@ -51023,7 +51146,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
51023
51146
|
MessageOptions: props.MessageOptions,
|
|
51024
51147
|
MessageRepliesCountButton: props.MessageRepliesCountButton,
|
|
51025
51148
|
MessageStatus: props.MessageStatus,
|
|
51026
|
-
MessageSystem: props.MessageSystem,
|
|
51149
|
+
MessageSystem: props.MessageSystem || EventComponent,
|
|
51027
51150
|
MessageTimestamp: props.MessageTimestamp,
|
|
51028
51151
|
ModalGallery: props.ModalGallery,
|
|
51029
51152
|
PinIndicator: props.PinIndicator,
|
|
@@ -51040,7 +51163,9 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
51040
51163
|
TypingIndicator: props.TypingIndicator,
|
|
51041
51164
|
VirtualMessage: props.VirtualMessage,
|
|
51042
51165
|
});
|
|
51043
|
-
},
|
|
51166
|
+
},
|
|
51167
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51168
|
+
[props.reactionOptions]);
|
|
51044
51169
|
var typingContextValue = useCreateTypingContext({
|
|
51045
51170
|
typing: typing,
|
|
51046
51171
|
});
|
|
@@ -51156,6 +51281,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
51156
51281
|
return function () {
|
|
51157
51282
|
client.off('user.updated', handleEvent);
|
|
51158
51283
|
};
|
|
51284
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51159
51285
|
}, []);
|
|
51160
51286
|
return {
|
|
51161
51287
|
displayImage: overrideImage || displayImage,
|
|
@@ -51258,6 +51384,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
51258
51384
|
return function () {
|
|
51259
51385
|
client.off('channel.deleted', handleEvent);
|
|
51260
51386
|
};
|
|
51387
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51261
51388
|
}, [customHandler]);
|
|
51262
51389
|
};
|
|
51263
51390
|
|
|
@@ -51283,6 +51410,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
51283
51410
|
return function () {
|
|
51284
51411
|
client.off('channel.hidden', handleEvent);
|
|
51285
51412
|
};
|
|
51413
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51286
51414
|
}, [customHandler]);
|
|
51287
51415
|
};
|
|
51288
51416
|
|
|
@@ -51302,6 +51430,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
51302
51430
|
return function () {
|
|
51303
51431
|
client.off('channel.truncated', handleEvent);
|
|
51304
51432
|
};
|
|
51433
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51305
51434
|
}, [customHandler]);
|
|
51306
51435
|
};
|
|
51307
51436
|
|
|
@@ -51330,6 +51459,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
51330
51459
|
return function () {
|
|
51331
51460
|
client.off('channel.updated', handleEvent);
|
|
51332
51461
|
};
|
|
51462
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51333
51463
|
}, [customHandler]);
|
|
51334
51464
|
};
|
|
51335
51465
|
|
|
@@ -51363,6 +51493,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
51363
51493
|
return function () {
|
|
51364
51494
|
client.off('channel.visible', handleEvent);
|
|
51365
51495
|
};
|
|
51496
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51366
51497
|
}, [customHandler]);
|
|
51367
51498
|
};
|
|
51368
51499
|
|
|
@@ -51378,6 +51509,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
51378
51509
|
return function () {
|
|
51379
51510
|
client.off('connection.recovered', handleEvent);
|
|
51380
51511
|
};
|
|
51512
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51381
51513
|
}, []);
|
|
51382
51514
|
};
|
|
51383
51515
|
|
|
@@ -51419,6 +51551,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
51419
51551
|
return function () {
|
|
51420
51552
|
client.off('message.new', handleEvent);
|
|
51421
51553
|
};
|
|
51554
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51422
51555
|
}, [lockChannelOrder]);
|
|
51423
51556
|
};
|
|
51424
51557
|
|
|
@@ -51479,6 +51612,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
51479
51612
|
return function () {
|
|
51480
51613
|
client.off('notification.added_to_channel', handleEvent);
|
|
51481
51614
|
};
|
|
51615
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51482
51616
|
}, [customHandler]);
|
|
51483
51617
|
};
|
|
51484
51618
|
|
|
@@ -51514,6 +51648,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
51514
51648
|
return function () {
|
|
51515
51649
|
client.off('notification.message_new', handleEvent);
|
|
51516
51650
|
};
|
|
51651
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51517
51652
|
}, [customHandler]);
|
|
51518
51653
|
};
|
|
51519
51654
|
|
|
@@ -51532,6 +51667,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
51532
51667
|
return function () {
|
|
51533
51668
|
client.off('notification.removed_from_channel', handleEvent);
|
|
51534
51669
|
};
|
|
51670
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51535
51671
|
}, [customHandler]);
|
|
51536
51672
|
};
|
|
51537
51673
|
|
|
@@ -51551,6 +51687,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
51551
51687
|
// memoize props
|
|
51552
51688
|
var filterString = React$2.useMemo(function () { return JSON.stringify(filters); }, [filters]);
|
|
51553
51689
|
var sortString = React$2.useMemo(function () { return JSON.stringify(sort); }, [sort]);
|
|
51690
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51554
51691
|
var queryChannels = function (queryType) { return __awaiter(void 0, void 0, void 0, function () {
|
|
51555
51692
|
var offset, newOptions, channelQueryResponse, newChannels, err_1;
|
|
51556
51693
|
var _a;
|
|
@@ -51619,6 +51756,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
51619
51756
|
}, [client, throttleRecover]);
|
|
51620
51757
|
React$2.useEffect(function () {
|
|
51621
51758
|
queryChannels('reload');
|
|
51759
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51622
51760
|
}, [filterString, sortString]);
|
|
51623
51761
|
return {
|
|
51624
51762
|
channels: channels,
|
|
@@ -51649,6 +51787,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
51649
51787
|
return function () {
|
|
51650
51788
|
client.off('user.presence.changed', handleEvent);
|
|
51651
51789
|
};
|
|
51790
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51652
51791
|
}, []);
|
|
51653
51792
|
};
|
|
51654
51793
|
|
|
@@ -51691,6 +51830,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
51691
51830
|
var handleEvent = function () { return setMuted(channel.muteStatus()); };
|
|
51692
51831
|
client.on('notification.channel_mutes_updated', handleEvent);
|
|
51693
51832
|
return function () { return client.off('notification.channel_mutes_updated', handleEvent); };
|
|
51833
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51694
51834
|
}, [muted]);
|
|
51695
51835
|
return muted;
|
|
51696
51836
|
};
|
|
@@ -51774,6 +51914,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
51774
51914
|
};
|
|
51775
51915
|
client.on('notification.mark_read', handleEvent);
|
|
51776
51916
|
return function () { return client.off('notification.mark_read', handleEvent); };
|
|
51917
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51777
51918
|
}, []);
|
|
51778
51919
|
var refreshUnreadCount = React$2.useCallback(function () {
|
|
51779
51920
|
if (isActive || muted) {
|
|
@@ -51798,6 +51939,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
51798
51939
|
channel.off('message.updated', handleEvent);
|
|
51799
51940
|
channel.off('message.deleted', handleEvent);
|
|
51800
51941
|
};
|
|
51942
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51801
51943
|
}, [refreshUnreadCount, channelUpdateCount]);
|
|
51802
51944
|
if (!Preview)
|
|
51803
51945
|
return null;
|
|
@@ -51854,6 +51996,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
51854
51996
|
};
|
|
51855
51997
|
document.addEventListener('click', clickListener);
|
|
51856
51998
|
return function () { return document.removeEventListener('click', clickListener); };
|
|
51999
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51857
52000
|
}, [disabled, inputIsFocused, query, exitSearch, clearSearchOnClickOutside]);
|
|
51858
52001
|
React$2.useEffect(function () {
|
|
51859
52002
|
if (!inputRef.current || disabled)
|
|
@@ -51865,8 +52008,10 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
51865
52008
|
inputRef.current.addEventListener('keydown', handleKeyDown);
|
|
51866
52009
|
return function () {
|
|
51867
52010
|
var _a;
|
|
52011
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51868
52012
|
(_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('keydown', handleKeyDown);
|
|
51869
52013
|
};
|
|
52014
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51870
52015
|
}, [disabled]);
|
|
51871
52016
|
var selectResult = React$2.useCallback(function (result) { return __awaiter(void 0, void 0, void 0, function () {
|
|
51872
52017
|
var selectedChannel, newChannel;
|
|
@@ -51905,7 +52050,9 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
51905
52050
|
return [2 /*return*/];
|
|
51906
52051
|
}
|
|
51907
52052
|
});
|
|
51908
|
-
}); },
|
|
52053
|
+
}); },
|
|
52054
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
52055
|
+
[clearSearchOnClickOutside, client, exitSearch, onSelectResult, setActiveChannel, setChannels]);
|
|
51909
52056
|
var getChannels = React$2.useCallback(function (text) { return __awaiter(void 0, void 0, void 0, function () {
|
|
51910
52057
|
var results, userQueryPromise, users, channelQueryPromise, _a, channels, users, error_1;
|
|
51911
52058
|
var _b, _c, _d, _e, _f, _g;
|
|
@@ -51953,6 +52100,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
51953
52100
|
}
|
|
51954
52101
|
});
|
|
51955
52102
|
}); }, [client, searchForChannels, searchQueryParams]);
|
|
52103
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51956
52104
|
var scheduleGetChannels = React$2.useCallback(lodash_debounce(getChannels, searchDebounceIntervalMs), [
|
|
51957
52105
|
getChannels,
|
|
51958
52106
|
searchDebounceIntervalMs,
|
|
@@ -52060,11 +52208,13 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
52060
52208
|
(_a = props.inputRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('focus', handleFocus);
|
|
52061
52209
|
(_b = props.inputRef.current) === null || _b === void 0 ? void 0 : _b.addEventListener('blur', handleBlur);
|
|
52062
52210
|
};
|
|
52211
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
52063
52212
|
}, []);
|
|
52064
52213
|
var handleClearClick = React$2.useCallback(function () {
|
|
52065
52214
|
var _a;
|
|
52066
52215
|
exitSearch();
|
|
52067
52216
|
(_a = inputProps.inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
52217
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
52068
52218
|
}, []);
|
|
52069
52219
|
var closeAppMenu = React$2.useCallback(function () { return setMenuIsOpen(false); }, []);
|
|
52070
52220
|
return (React__default["default"].createElement("div", { className: 'str-chat__channel-search-bar', "data-testid": 'search-bar', ref: searchBarRef },
|
|
@@ -52150,7 +52300,9 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
52150
52300
|
return setFocusedResult(undefined);
|
|
52151
52301
|
}
|
|
52152
52302
|
}
|
|
52153
|
-
},
|
|
52303
|
+
},
|
|
52304
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
52305
|
+
[focusedResult]);
|
|
52154
52306
|
React$2.useEffect(function () {
|
|
52155
52307
|
document.addEventListener('keydown', handleKeyDown, false);
|
|
52156
52308
|
return function () { return document.removeEventListener('keydown', handleKeyDown); };
|
|
@@ -52233,6 +52385,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
52233
52385
|
var loading = typeof isLoading !== 'undefined' ? isLoading : refreshing;
|
|
52234
52386
|
React$2.useEffect(function () {
|
|
52235
52387
|
deprecationAndReplacementWarning([[{ refreshing: refreshing }, { isLoading: isLoading }]], 'LoadMoreButton');
|
|
52388
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
52236
52389
|
}, []);
|
|
52237
52390
|
return (React__default["default"].createElement("div", { className: 'str-chat__load-more-button' },
|
|
52238
52391
|
React__default["default"].createElement("button", { "aria-label": 'Load More Channels', className: 'str-chat__load-more-button__button str-chat__cta-button', "data-testid": 'load-more-button', disabled: loading, onClick: onClick }, loading ? React__default["default"].createElement(LoadingIndicator, null) : childrenOrDefaultString)));
|
|
@@ -52244,6 +52397,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
52244
52397
|
var loadingState = typeof isLoading !== 'undefined' ? isLoading : refreshing;
|
|
52245
52398
|
React$2.useEffect(function () {
|
|
52246
52399
|
deprecationAndReplacementWarning([[{ refreshing: refreshing }, { isLoading: isLoading }]], 'LoadMorePaginator');
|
|
52400
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
52247
52401
|
}, []);
|
|
52248
52402
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
52249
52403
|
!reverse && children,
|
|
@@ -52315,11 +52469,13 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
52315
52469
|
setSearchActive(true);
|
|
52316
52470
|
}
|
|
52317
52471
|
(_a = additionalChannelSearchProps === null || additionalChannelSearchProps === void 0 ? void 0 : additionalChannelSearchProps.onSearch) === null || _a === void 0 ? void 0 : _a.call(additionalChannelSearchProps, event);
|
|
52472
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
52318
52473
|
}, []);
|
|
52319
52474
|
var onSearchExit = React$2.useCallback(function () {
|
|
52320
52475
|
var _a;
|
|
52321
52476
|
setSearchActive(false);
|
|
52322
52477
|
(_a = additionalChannelSearchProps === null || additionalChannelSearchProps === void 0 ? void 0 : additionalChannelSearchProps.onSearchExit) === null || _a === void 0 ? void 0 : _a.call(additionalChannelSearchProps);
|
|
52478
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
52323
52479
|
}, []);
|
|
52324
52480
|
var _u = usePaginatedChannels(client, filters || DEFAULT_FILTERS, sort || DEFAULT_SORT, options || DEFAULT_OPTIONS, activeChannelHandler, recoveryThrottleIntervalMs), channels = _u.channels, hasNextPage = _u.hasNextPage, loadNextPage = _u.loadNextPage, setChannels = _u.setChannels;
|
|
52325
52481
|
var loadedChannels = channelRenderFilterFn ? channelRenderFilterFn(channels) : channels;
|
|
@@ -52347,6 +52503,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
52347
52503
|
client.off('channel.deleted', handleEvent);
|
|
52348
52504
|
client.off('channel.hidden', handleEvent);
|
|
52349
52505
|
};
|
|
52506
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
52350
52507
|
}, [channel === null || channel === void 0 ? void 0 : channel.cid]);
|
|
52351
52508
|
var renderChannel = function (item) {
|
|
52352
52509
|
var previewProps = {
|
|
@@ -52386,7 +52543,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
52386
52543
|
|
|
52387
52544
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
|
|
52388
52545
|
|
|
52389
|
-
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version$1 = '11.
|
|
52546
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version$1 = '11.4.0';
|
|
52390
52547
|
|
|
52391
52548
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useChat = function (_a) {
|
|
52392
52549
|
var _b, _c;
|
|
@@ -52428,6 +52585,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
52428
52585
|
};
|
|
52429
52586
|
client.on('notification.mutes_updated', handleEvent);
|
|
52430
52587
|
return function () { return client.off('notification.mutes_updated', handleEvent); };
|
|
52588
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
52431
52589
|
}, [clientMutes === null || clientMutes === void 0 ? void 0 : clientMutes.length]);
|
|
52432
52590
|
React$2.useEffect(function () {
|
|
52433
52591
|
var _a;
|
|
@@ -52443,6 +52601,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
52443
52601
|
streami18n.getTranslators().then(function (translator) {
|
|
52444
52602
|
setTranslators(__assign(__assign({}, translator), { userLanguage: userLanguage || defaultLanguage }));
|
|
52445
52603
|
});
|
|
52604
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
52446
52605
|
}, [i18nInstance]);
|
|
52447
52606
|
var setActiveChannel = React$2.useCallback(function (activeChannel, watchers, event) {
|
|
52448
52607
|
if (watchers === void 0) { watchers = {}; }
|
|
@@ -52504,7 +52663,9 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
52504
52663
|
theme: theme,
|
|
52505
52664
|
themeVersion: themeVersion,
|
|
52506
52665
|
useImageFlagEmojisOnWindows: useImageFlagEmojisOnWindows,
|
|
52507
|
-
}); },
|
|
52666
|
+
}); },
|
|
52667
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
52668
|
+
[
|
|
52508
52669
|
channelCid,
|
|
52509
52670
|
channelsQueryError,
|
|
52510
52671
|
channelsQueryInProgress,
|
|
@@ -52607,63 +52768,6 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
52607
52768
|
|
|
52608
52769
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
|
|
52609
52770
|
|
|
52610
|
-
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var UnMemoizedDateSeparator = function (props) {
|
|
52611
|
-
var messageCreatedAt = props.date, formatDate = props.formatDate, _a = props.position, position = _a === void 0 ? 'right' : _a, unread = props.unread;
|
|
52612
|
-
var _b = useTranslationContext('DateSeparator'), t = _b.t, tDateTimeParser = _b.tDateTimeParser;
|
|
52613
|
-
var formattedDate = getDateString({
|
|
52614
|
-
calendar: true,
|
|
52615
|
-
formatDate: formatDate,
|
|
52616
|
-
messageCreatedAt: messageCreatedAt,
|
|
52617
|
-
tDateTimeParser: tDateTimeParser,
|
|
52618
|
-
});
|
|
52619
|
-
return (React__default["default"].createElement("div", { className: 'str-chat__date-separator', "data-testid": 'date-separator' },
|
|
52620
|
-
(position === 'right' || position === 'center') && (React__default["default"].createElement("hr", { className: 'str-chat__date-separator-line' })),
|
|
52621
|
-
React__default["default"].createElement("div", { className: 'str-chat__date-separator-date' }, unread ? "".concat(t('New'), " - ").concat(formattedDate) : formattedDate),
|
|
52622
|
-
(position === 'left' || position === 'center') && (React__default["default"].createElement("hr", { className: 'str-chat__date-separator-line' }))));
|
|
52623
|
-
};
|
|
52624
|
-
/**
|
|
52625
|
-
* A simple date separator between messages.
|
|
52626
|
-
*/
|
|
52627
|
-
var DateSeparator = React__default["default"].memo(UnMemoizedDateSeparator);
|
|
52628
|
-
|
|
52629
|
-
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
|
|
52630
|
-
|
|
52631
|
-
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
|
|
52632
|
-
|
|
52633
|
-
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};/**
|
|
52634
|
-
* Component to display system and channel event messages
|
|
52635
|
-
*/
|
|
52636
|
-
var UnMemoizedEventComponent = function (props) {
|
|
52637
|
-
var _a, _b, _c;
|
|
52638
|
-
var _d = props.Avatar, Avatar$1 = _d === void 0 ? Avatar : _d, message = props.message;
|
|
52639
|
-
var tDateTimeParser = useTranslationContext('EventComponent').tDateTimeParser;
|
|
52640
|
-
var _e = message.created_at, created_at = _e === void 0 ? '' : _e, event = message.event, text = message.text, type = message.type;
|
|
52641
|
-
var getDateOptions = { messageCreatedAt: created_at.toString(), tDateTimeParser: tDateTimeParser };
|
|
52642
|
-
if (type === 'system')
|
|
52643
|
-
return (React__default["default"].createElement("div", { className: 'str-chat__message--system', "data-testid": 'message-system' },
|
|
52644
|
-
React__default["default"].createElement("div", { className: 'str-chat__message--system__text' },
|
|
52645
|
-
React__default["default"].createElement("div", { className: 'str-chat__message--system__line' }),
|
|
52646
|
-
React__default["default"].createElement("p", null, text),
|
|
52647
|
-
React__default["default"].createElement("div", { className: 'str-chat__message--system__line' })),
|
|
52648
|
-
React__default["default"].createElement("div", { className: 'str-chat__message--system__date' },
|
|
52649
|
-
React__default["default"].createElement("strong", null,
|
|
52650
|
-
getDateString(__assign(__assign({}, getDateOptions), { format: 'dddd' })),
|
|
52651
|
-
" "),
|
|
52652
|
-
"at ",
|
|
52653
|
-
getDateString(__assign(__assign({}, getDateOptions), { format: 'hh:mm A' })))));
|
|
52654
|
-
if ((event === null || event === void 0 ? void 0 : event.type) === 'member.removed' || (event === null || event === void 0 ? void 0 : event.type) === 'member.added') {
|
|
52655
|
-
var name_1 = ((_a = event.user) === null || _a === void 0 ? void 0 : _a.name) || ((_b = event.user) === null || _b === void 0 ? void 0 : _b.id);
|
|
52656
|
-
var sentence = "".concat(name_1, " ").concat(event.type === 'member.added' ? 'has joined the chat' : 'was removed from the chat');
|
|
52657
|
-
return (React__default["default"].createElement("div", { className: 'str-chat__event-component__channel-event' },
|
|
52658
|
-
React__default["default"].createElement(Avatar$1, { image: (_c = event.user) === null || _c === void 0 ? void 0 : _c.image, name: name_1, user: event.user }),
|
|
52659
|
-
React__default["default"].createElement("div", { className: 'str-chat__event-component__channel-event__content' },
|
|
52660
|
-
React__default["default"].createElement("em", { className: 'str-chat__event-component__channel-event__sentence' }, sentence),
|
|
52661
|
-
React__default["default"].createElement("div", { className: 'str-chat__event-component__channel-event__date' }, getDateString(__assign(__assign({}, getDateOptions), { format: 'LT' }))))));
|
|
52662
|
-
}
|
|
52663
|
-
return null;
|
|
52664
|
-
};
|
|
52665
|
-
var EventComponent = React__default["default"].memo(UnMemoizedEventComponent);
|
|
52666
|
-
|
|
52667
52771
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
|
|
52668
52772
|
|
|
52669
52773
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};/**
|
|
@@ -52721,6 +52825,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
52721
52825
|
[{ hasMore: hasMore }, { hasPreviousPage: hasPreviousPage }],
|
|
52722
52826
|
[{ loadMore: loadMore }, { loadPreviousPage: loadPreviousPage }],
|
|
52723
52827
|
], 'InfiniteScroll');
|
|
52828
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
52724
52829
|
}, []);
|
|
52725
52830
|
React$2.useLayoutEffect(function () {
|
|
52726
52831
|
var _a;
|
|
@@ -53078,7 +53183,9 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
53078
53183
|
var newOwnReactions = add
|
|
53079
53184
|
? __spreadArray([reaction], ((message === null || message === void 0 ? void 0 : message.own_reactions) || []), true) : (_b = message === null || message === void 0 ? void 0 : message.own_reactions) === null || _b === void 0 ? void 0 : _b.filter(function (item) { return item.type !== reaction.type; });
|
|
53080
53185
|
return __assign(__assign({}, message), { latest_reactions: newReactions || message.latest_reactions, own_reactions: newOwnReactions, reaction_counts: newReactionCounts, reaction_scores: newReactionCounts });
|
|
53081
|
-
},
|
|
53186
|
+
},
|
|
53187
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
53188
|
+
[client.user, client.userID]);
|
|
53082
53189
|
var createReactionPreview = function (type) {
|
|
53083
53190
|
var _a;
|
|
53084
53191
|
return ({
|
|
@@ -53184,7 +53291,9 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
53184
53291
|
return;
|
|
53185
53292
|
}
|
|
53186
53293
|
setShowDetailedReactions(false);
|
|
53187
|
-
},
|
|
53294
|
+
},
|
|
53295
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
53296
|
+
[setShowDetailedReactions, reactionSelectorRef]);
|
|
53188
53297
|
React$2.useEffect(function () {
|
|
53189
53298
|
var messageWrapper = messageWrapperRef === null || messageWrapperRef === void 0 ? void 0 : messageWrapperRef.current;
|
|
53190
53299
|
if (showDetailedReactions && !hasListener.current) {
|
|
@@ -53469,7 +53578,9 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
53469
53578
|
acc[message.id] = style;
|
|
53470
53579
|
return acc;
|
|
53471
53580
|
}, {});
|
|
53472
|
-
},
|
|
53581
|
+
},
|
|
53582
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
53583
|
+
[messagesWithDates, noGroupByUser]);
|
|
53473
53584
|
return { messageGroupStyles: messageGroupStyles, messages: messagesWithDates };
|
|
53474
53585
|
};
|
|
53475
53586
|
|
|
@@ -53484,9 +53595,9 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
53484
53595
|
};
|
|
53485
53596
|
|
|
53486
53597
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useMessageListElements = function (props) {
|
|
53487
|
-
var enrichedMessages = props.enrichedMessages, internalMessageProps = props.internalMessageProps, messageGroupStyles = props.messageGroupStyles, read = props.read, returnAllReadData = props.returnAllReadData, threadList = props.threadList;
|
|
53598
|
+
var enrichedMessages = props.enrichedMessages, internalMessageProps = props.internalMessageProps, messageGroupStyles = props.messageGroupStyles, read = props.read, renderMessages = props.renderMessages, returnAllReadData = props.returnAllReadData, threadList = props.threadList;
|
|
53488
53599
|
var _a = useChatContext('useMessageListElements'), client = _a.client, customClasses = _a.customClasses;
|
|
53489
|
-
var
|
|
53600
|
+
var components = useComponentContext('useMessageListElements');
|
|
53490
53601
|
// get the readData, but only for messages submitted by the user themselves
|
|
53491
53602
|
var readData = useLastReadData({
|
|
53492
53603
|
messages: enrichedMessages,
|
|
@@ -53494,34 +53605,28 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
53494
53605
|
returnAllReadData: returnAllReadData,
|
|
53495
53606
|
userID: client.userID,
|
|
53496
53607
|
});
|
|
53497
|
-
var
|
|
53608
|
+
var lastReceivedMessageId = React$2.useMemo(function () { return getLastReceived(enrichedMessages); }, [
|
|
53609
|
+
enrichedMessages,
|
|
53610
|
+
]);
|
|
53498
53611
|
var elements = React$2.useMemo(function () {
|
|
53499
|
-
return
|
|
53500
|
-
|
|
53501
|
-
|
|
53502
|
-
|
|
53503
|
-
|
|
53504
|
-
|
|
53505
|
-
|
|
53506
|
-
|
|
53507
|
-
return (React__default["default"].createElement("li", { key: 'intro' },
|
|
53508
|
-
React__default["default"].createElement(HeaderComponent, null)));
|
|
53509
|
-
}
|
|
53510
|
-
if (message.type === 'system') {
|
|
53511
|
-
return (React__default["default"].createElement("li", { key: message.id || message.created_at },
|
|
53512
|
-
React__default["default"].createElement(MessageSystem, { message: message })));
|
|
53513
|
-
}
|
|
53514
|
-
var groupStyles = messageGroupStyles[message.id] || '';
|
|
53515
|
-
var messageClass = (customClasses === null || customClasses === void 0 ? void 0 : customClasses.message) || "str-chat__li str-chat__li--".concat(groupStyles);
|
|
53516
|
-
return (React__default["default"].createElement("li", { className: messageClass, "data-message-id": message.id, "data-testid": messageClass, key: message.id || message.created_at },
|
|
53517
|
-
React__default["default"].createElement(Message, __assign({ groupStyles: [groupStyles], lastReceivedId: lastReceivedId, message: message, readBy: readData[message.id] || [], threadList: threadList }, internalMessageProps))));
|
|
53612
|
+
return renderMessages({
|
|
53613
|
+
components: components,
|
|
53614
|
+
customClasses: customClasses,
|
|
53615
|
+
lastReceivedMessageId: lastReceivedMessageId,
|
|
53616
|
+
messageGroupStyles: messageGroupStyles,
|
|
53617
|
+
messages: enrichedMessages,
|
|
53618
|
+
readData: readData,
|
|
53619
|
+
sharedMessageProps: __assign(__assign({}, internalMessageProps), { threadList: threadList }),
|
|
53518
53620
|
});
|
|
53519
|
-
},
|
|
53621
|
+
},
|
|
53622
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
53623
|
+
[
|
|
53520
53624
|
enrichedMessages,
|
|
53521
53625
|
internalMessageProps,
|
|
53522
|
-
|
|
53626
|
+
lastReceivedMessageId,
|
|
53523
53627
|
messageGroupStyles,
|
|
53524
53628
|
readData,
|
|
53629
|
+
renderMessages,
|
|
53525
53630
|
threadList,
|
|
53526
53631
|
]);
|
|
53527
53632
|
return elements;
|
|
@@ -53578,6 +53683,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
53578
53683
|
}
|
|
53579
53684
|
messages.current = newMessages;
|
|
53580
53685
|
measures.current = newMeasures;
|
|
53686
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
53581
53687
|
}, [measures, messages, params.messages]);
|
|
53582
53688
|
return function (scrollTopValue) {
|
|
53583
53689
|
scrollTop.current = scrollTopValue;
|
|
@@ -53607,6 +53713,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
53607
53713
|
setWrapperRect(listElement.getBoundingClientRect());
|
|
53608
53714
|
scrollToBottom();
|
|
53609
53715
|
}
|
|
53716
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
53610
53717
|
}, [listElement, hasMoreNewer]);
|
|
53611
53718
|
var updateScrollTop = useMessageListScrollManager({
|
|
53612
53719
|
loadMoreScrollThreshold: loadMoreScrollThreshold,
|
|
@@ -53761,24 +53868,50 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
53761
53868
|
return React__default["default"].createElement(React__default["default"].Fragment, null, children);
|
|
53762
53869
|
};
|
|
53763
53870
|
|
|
53871
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};function defaultRenderMessages(_a) {
|
|
53872
|
+
var components = _a.components, customClasses = _a.customClasses, lastReceivedId = _a.lastReceivedMessageId, messageGroupStyles = _a.messageGroupStyles, messages = _a.messages, readData = _a.readData, messageProps = _a.sharedMessageProps;
|
|
53873
|
+
var DateSeparator = components.DateSeparator, HeaderComponent = components.HeaderComponent, MessageSystem = components.MessageSystem;
|
|
53874
|
+
return messages.map(function (message) {
|
|
53875
|
+
if (message.customType === CUSTOM_MESSAGE_TYPE.date &&
|
|
53876
|
+
message.date &&
|
|
53877
|
+
isDate(message.date) &&
|
|
53878
|
+
DateSeparator) {
|
|
53879
|
+
return (React__default["default"].createElement("li", { key: "".concat(message.date.toISOString(), "-i") },
|
|
53880
|
+
React__default["default"].createElement(DateSeparator, { date: message.date, formatDate: messageProps.formatDate, unread: message.unread })));
|
|
53881
|
+
}
|
|
53882
|
+
if (message.customType === CUSTOM_MESSAGE_TYPE.intro && HeaderComponent) {
|
|
53883
|
+
return (React__default["default"].createElement("li", { key: 'intro' },
|
|
53884
|
+
React__default["default"].createElement(HeaderComponent, null)));
|
|
53885
|
+
}
|
|
53886
|
+
if (message.type === 'system' && MessageSystem) {
|
|
53887
|
+
return (React__default["default"].createElement("li", { key: message.id || message.created_at },
|
|
53888
|
+
React__default["default"].createElement(MessageSystem, { message: message })));
|
|
53889
|
+
}
|
|
53890
|
+
var groupStyles = messageGroupStyles[message.id] || '';
|
|
53891
|
+
var messageClass = (customClasses === null || customClasses === void 0 ? void 0 : customClasses.message) || "str-chat__li str-chat__li--".concat(groupStyles);
|
|
53892
|
+
return (React__default["default"].createElement("li", { className: messageClass, "data-message-id": message.id, "data-testid": messageClass, key: message.id || message.created_at },
|
|
53893
|
+
React__default["default"].createElement(Message, __assign({ groupStyles: [groupStyles], lastReceivedId: lastReceivedId, message: message, readBy: readData[message.id] || [] }, messageProps))));
|
|
53894
|
+
});
|
|
53895
|
+
}
|
|
53896
|
+
|
|
53764
53897
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var MessageListWithContext = function (props) {
|
|
53765
53898
|
var channel = props.channel, _a = props.disableDateSeparator, disableDateSeparator = _a === void 0 ? false : _a, groupStyles = props.groupStyles, _b = props.hideDeletedMessages, hideDeletedMessages = _b === void 0 ? false : _b, _c = props.hideNewMessageSeparator, hideNewMessageSeparator = _c === void 0 ? false : _c, internalInfiniteScrollProps = props.internalInfiniteScrollProps, _d = props.messageActions, messageActions = _d === void 0 ? Object.keys(MESSAGE_ACTIONS) : _d, _e = props.messages, messages = _e === void 0 ? [] : _e, notifications = props.notifications, _f = props.noGroupByUser, noGroupByUser = _f === void 0 ? false : _f, _g = props.pinPermissions, pinPermissions = _g === void 0 ? defaultPinPermissions : _g, // @deprecated in favor of `channelCapabilities` - TODO: remove in next major release
|
|
53766
53899
|
_h = props.returnAllReadData, // @deprecated in favor of `channelCapabilities` - TODO: remove in next major release
|
|
53767
|
-
returnAllReadData = _h === void 0 ? false : _h, _j = props.threadList, threadList = _j === void 0 ? false : _j, _k = props.unsafeHTML, unsafeHTML = _k === void 0 ? false : _k, headerPosition = props.headerPosition, read = props.read, _l = props.messageLimit, messageLimit =
|
|
53768
|
-
var
|
|
53769
|
-
var
|
|
53900
|
+
returnAllReadData = _h === void 0 ? false : _h, _j = props.threadList, threadList = _j === void 0 ? false : _j, _k = props.unsafeHTML, unsafeHTML = _k === void 0 ? false : _k, headerPosition = props.headerPosition, read = props.read, _l = props.renderMessages, renderMessages = _l === void 0 ? defaultRenderMessages : _l, _m = props.messageLimit, messageLimit = _m === void 0 ? 100 : _m, loadMoreCallback = props.loadMore, loadMoreNewerCallback = props.loadMoreNewer, _o = props.hasMoreNewer, hasMoreNewer = _o === void 0 ? false : _o, suppressAutoscroll = props.suppressAutoscroll, highlightedMessageId = props.highlightedMessageId, _p = props.jumpToLatestMessage, jumpToLatestMessage = _p === void 0 ? function () { return Promise.resolve(); } : _p;
|
|
53901
|
+
var _q = React__default["default"].useState(null), listElement = _q[0], setListElement = _q[1];
|
|
53902
|
+
var _r = React__default["default"].useState(null), ulElement = _r[0], setUlElement = _r[1];
|
|
53770
53903
|
var customClasses = useChatContext('MessageList').customClasses;
|
|
53771
|
-
var
|
|
53904
|
+
var _s = useComponentContext('MessageList'), _t = _s.EmptyStateIndicator, EmptyStateIndicator$1 = _t === void 0 ? EmptyStateIndicator : _t, _u = _s.LoadingIndicator, LoadingIndicator$1 = _u === void 0 ? LoadingIndicator : _u, _v = _s.MessageListNotifications, MessageListNotifications$1 = _v === void 0 ? MessageListNotifications : _v, _w = _s.MessageNotification, MessageNotification$1 = _w === void 0 ? MessageNotification : _w, _x = _s.TypingIndicator, TypingIndicator$1 = _x === void 0 ? TypingIndicator : _x;
|
|
53772
53905
|
var loadMoreScrollThreshold = (internalInfiniteScrollProps === null || internalInfiniteScrollProps === void 0 ? void 0 : internalInfiniteScrollProps.threshold) || 250;
|
|
53773
|
-
var
|
|
53906
|
+
var _y = useScrollLocationLogic({
|
|
53774
53907
|
hasMoreNewer: hasMoreNewer,
|
|
53775
53908
|
listElement: listElement,
|
|
53776
53909
|
loadMoreScrollThreshold: loadMoreScrollThreshold,
|
|
53777
53910
|
messages: messages,
|
|
53778
53911
|
scrolledUpThreshold: props.scrolledUpThreshold,
|
|
53779
53912
|
suppressAutoscroll: suppressAutoscroll,
|
|
53780
|
-
}), hasNewMessages =
|
|
53781
|
-
var
|
|
53913
|
+
}), hasNewMessages = _y.hasNewMessages, isMessageListScrolledToBottom = _y.isMessageListScrolledToBottom, onScroll = _y.onScroll, scrollToBottom = _y.scrollToBottom, wrapperRect = _y.wrapperRect;
|
|
53914
|
+
var _z = useEnrichedMessages({
|
|
53782
53915
|
channel: channel,
|
|
53783
53916
|
disableDateSeparator: disableDateSeparator,
|
|
53784
53917
|
groupStyles: groupStyles,
|
|
@@ -53787,7 +53920,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
53787
53920
|
hideNewMessageSeparator: hideNewMessageSeparator,
|
|
53788
53921
|
messages: messages,
|
|
53789
53922
|
noGroupByUser: noGroupByUser,
|
|
53790
|
-
}), messageGroupStyles =
|
|
53923
|
+
}), messageGroupStyles = _z.messageGroupStyles, enrichedMessages = _z.messages;
|
|
53791
53924
|
var elements = useMessageListElements({
|
|
53792
53925
|
enrichedMessages: enrichedMessages,
|
|
53793
53926
|
internalMessageProps: {
|
|
@@ -53818,6 +53951,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
53818
53951
|
},
|
|
53819
53952
|
messageGroupStyles: messageGroupStyles,
|
|
53820
53953
|
read: read,
|
|
53954
|
+
renderMessages: renderMessages,
|
|
53821
53955
|
returnAllReadData: returnAllReadData,
|
|
53822
53956
|
threadList: threadList,
|
|
53823
53957
|
});
|
|
@@ -53856,6 +53990,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
53856
53990
|
var element = ulElement === null || ulElement === void 0 ? void 0 : ulElement.querySelector("[data-message-id='".concat(highlightedMessageId, "']"));
|
|
53857
53991
|
element === null || element === void 0 ? void 0 : element.scrollIntoView({ block: 'center' });
|
|
53858
53992
|
}
|
|
53993
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
53859
53994
|
}, [highlightedMessageId]);
|
|
53860
53995
|
var showEmptyStateIndicator = elements.length === 0 && !threadList;
|
|
53861
53996
|
return (React__default["default"].createElement(MessageListContextProvider, { value: { listElement: listElement, scrollToBottom: scrollToBottom } },
|
|
@@ -53923,6 +54058,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
53923
54058
|
return function () {
|
|
53924
54059
|
client.off(observedEvent, handleEvent);
|
|
53925
54060
|
};
|
|
54061
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
53926
54062
|
}, [activeChannel, isMessageListScrolledToBottom, observedEvent, replyCount, thread]);
|
|
53927
54063
|
React$2.useEffect(function () {
|
|
53928
54064
|
if (isMessageListScrolledToBottom) {
|
|
@@ -55233,6 +55369,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
55233
55369
|
return 0;
|
|
55234
55370
|
// TODO: there's a bug here, the messages prop is the same array instance (something mutates it)
|
|
55235
55371
|
// that's why the second dependency is necessary
|
|
55372
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
55236
55373
|
}, [firstRealMessageIndex, messages, messages === null || messages === void 0 ? void 0 : messages.length]);
|
|
55237
55374
|
return numItemsPrepended;
|
|
55238
55375
|
}
|
|
@@ -55257,6 +55394,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
55257
55394
|
initialFocusRegistered.current = true;
|
|
55258
55395
|
recheckForNewOwnMessage();
|
|
55259
55396
|
}
|
|
55397
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
55260
55398
|
}, [messages, messages === null || messages === void 0 ? void 0 : messages.length]);
|
|
55261
55399
|
return recheckForNewOwnMessage;
|
|
55262
55400
|
}
|
|
@@ -55276,6 +55414,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
55276
55414
|
if (separateGiphyPreview)
|
|
55277
55415
|
client.on('message.new', handleEvent);
|
|
55278
55416
|
return function () { return client.off('message.new', handleEvent); };
|
|
55417
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
55279
55418
|
}, [separateGiphyPreview]);
|
|
55280
55419
|
return { giphyPreviewMessage: giphyPreviewMessage, setGiphyPreviewMessage: setGiphyPreviewMessage };
|
|
55281
55420
|
};
|
|
@@ -55325,6 +55464,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
55325
55464
|
window.removeEventListener('focus', scrollToBottomIfConfigured);
|
|
55326
55465
|
window.removeEventListener('blur', resetNewMessagesReceivedInBackground);
|
|
55327
55466
|
};
|
|
55467
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
55328
55468
|
}, [scrollToBottomIfConfigured]);
|
|
55329
55469
|
};
|
|
55330
55470
|
|
|
@@ -55423,7 +55563,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
55423
55563
|
return messages.length - 1;
|
|
55424
55564
|
}
|
|
55425
55565
|
var VirtualizedMessageListWithContext = function (props) {
|
|
55426
|
-
var additionalMessageInputProps = props.additionalMessageInputProps, _a = props.additionalVirtuosoProps, additionalVirtuosoProps = _a === void 0 ? {} : _a, channel = props.channel, closeReactionSelectorOnClick = props.closeReactionSelectorOnClick, customMessageActions = props.customMessageActions, customMessageRenderer = props.customMessageRenderer, defaultItemHeight = props.defaultItemHeight, _b = props.disableDateSeparator, disableDateSeparator = _b === void 0 ? true : _b, groupStyles = props.groupStyles,
|
|
55566
|
+
var additionalMessageInputProps = props.additionalMessageInputProps, _a = props.additionalVirtuosoProps, additionalVirtuosoProps = _a === void 0 ? {} : _a, channel = props.channel, closeReactionSelectorOnClick = props.closeReactionSelectorOnClick, customMessageActions = props.customMessageActions, customMessageRenderer = props.customMessageRenderer, defaultItemHeight = props.defaultItemHeight, _b = props.disableDateSeparator, disableDateSeparator = _b === void 0 ? true : _b, groupStyles = props.groupStyles, hasMoreNewer = props.hasMoreNewer, head = props.head, _c = props.hideDeletedMessages, hideDeletedMessages = _c === void 0 ? false : _c, _d = props.hideNewMessageSeparator, hideNewMessageSeparator = _d === void 0 ? false : _d, highlightedMessageId = props.highlightedMessageId, jumpToLatestMessage = props.jumpToLatestMessage, loadingMore = props.loadingMore, loadMore = props.loadMore, loadMoreNewer = props.loadMoreNewer, MessageUIComponentFromProps = props.Message, messageActions = props.messageActions, _e = props.messageLimit, messageLimit = _e === void 0 ? 100 : _e, messages = props.messages, notifications = props.notifications,
|
|
55427
55567
|
// TODO: refactor to scrollSeekPlaceHolderConfiguration and components.ScrollSeekPlaceholder, like the Virtuoso Component
|
|
55428
55568
|
_f = props.overscan,
|
|
55429
55569
|
// TODO: refactor to scrollSeekPlaceHolderConfiguration and components.ScrollSeekPlaceholder, like the Virtuoso Component
|
|
@@ -55457,6 +55597,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
55457
55597
|
setGiphyPreviewMessage: setGiphyPreviewMessage,
|
|
55458
55598
|
userId: client.userID || '',
|
|
55459
55599
|
});
|
|
55600
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
55460
55601
|
}, [
|
|
55461
55602
|
disableDateSeparator,
|
|
55462
55603
|
hideDeletedMessages,
|
|
@@ -55486,6 +55627,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
55486
55627
|
}, {});
|
|
55487
55628
|
},
|
|
55488
55629
|
// processedMessages were incorrectly rebuilt with a new object identity at some point, hence the .length usage
|
|
55630
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
55489
55631
|
[processedMessages.length, shouldGroupByUser, groupStylesFn]);
|
|
55490
55632
|
var _w = useNewMessageNotification(processedMessages, client.userID, hasMoreNewer), atBottom = _w.atBottom, isMessageListScrolledToBottom = _w.isMessageListScrolledToBottom, newMessagesNotification = _w.newMessagesNotification, setIsMessageListScrolledToBottom = _w.setIsMessageListScrolledToBottom, setNewMessagesNotification = _w.setNewMessagesNotification;
|
|
55491
55633
|
var scrollToBottom = React$2.useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -55535,19 +55677,14 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
55535
55677
|
var atBottomStateChange = function (isAtBottom) {
|
|
55536
55678
|
atBottom.current = isAtBottom;
|
|
55537
55679
|
setIsMessageListScrolledToBottom(isAtBottom);
|
|
55538
|
-
if (isAtBottom
|
|
55539
|
-
|
|
55680
|
+
if (isAtBottom) {
|
|
55681
|
+
loadMoreNewer === null || loadMoreNewer === void 0 ? void 0 : loadMoreNewer(messageLimit);
|
|
55682
|
+
setNewMessagesNotification === null || setNewMessagesNotification === void 0 ? void 0 : setNewMessagesNotification(false);
|
|
55540
55683
|
}
|
|
55541
55684
|
};
|
|
55542
|
-
var
|
|
55543
|
-
if (
|
|
55544
|
-
loadMore(messageLimit);
|
|
55545
|
-
}
|
|
55546
|
-
};
|
|
55547
|
-
var endReached = function () {
|
|
55548
|
-
if (hasMoreNewer && loadMoreNewer) {
|
|
55549
|
-
loadMoreNewer(messageLimit);
|
|
55550
|
-
}
|
|
55685
|
+
var atTopStateChange = function (isAtTop) {
|
|
55686
|
+
if (isAtTop)
|
|
55687
|
+
loadMore === null || loadMore === void 0 ? void 0 : loadMore(messageLimit);
|
|
55551
55688
|
};
|
|
55552
55689
|
React$2.useEffect(function () {
|
|
55553
55690
|
var _a;
|
|
@@ -55557,13 +55694,14 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
55557
55694
|
(_a = virtuoso.current) === null || _a === void 0 ? void 0 : _a.scrollToIndex({ align: 'center', index: index });
|
|
55558
55695
|
}
|
|
55559
55696
|
}
|
|
55697
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
55560
55698
|
}, [highlightedMessageId]);
|
|
55561
55699
|
if (!processedMessages)
|
|
55562
55700
|
return null;
|
|
55563
55701
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
55564
55702
|
React__default["default"].createElement(MessageListMainPanel, null,
|
|
55565
55703
|
React__default["default"].createElement("div", { className: (customClasses === null || customClasses === void 0 ? void 0 : customClasses.virtualizedMessageList) || 'str-chat__virtual-list' },
|
|
55566
|
-
React__default["default"].createElement(on$1, __assign({ atBottomStateChange: atBottomStateChange, atBottomThreshold:
|
|
55704
|
+
React__default["default"].createElement(on$1, __assign({ atBottomStateChange: atBottomStateChange, atBottomThreshold: 100, atTopStateChange: atTopStateChange, atTopThreshold: 100, className: 'str-chat__message-list-scroll', components: __assign({ EmptyPlaceholder: EmptyPlaceholder, Footer: Footer, Header: Header, Item: Item$1 }, virtuosoComponentsFromProps), computeItemKey: computeItemKey, context: {
|
|
55567
55705
|
additionalMessageInputProps: additionalMessageInputProps,
|
|
55568
55706
|
closeReactionSelectorOnClick: closeReactionSelectorOnClick,
|
|
55569
55707
|
customClasses: customClasses,
|
|
@@ -55583,7 +55721,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
55583
55721
|
shouldGroupByUser: shouldGroupByUser,
|
|
55584
55722
|
threadList: threadList,
|
|
55585
55723
|
virtuosoRef: virtuoso,
|
|
55586
|
-
},
|
|
55724
|
+
}, firstItemIndex: calculateFirstItemIndex(numItemsPrepended), followOutput: followOutput, increaseViewportBy: { bottom: 200, top: 0 }, initialTopMostItemIndex: calculateInitialTopMostItemIndex(processedMessages, highlightedMessageId), itemContent: messageRenderer, itemSize: fractionalItemSize, key: messageSetKey, overscan: overscan, ref: virtuoso, style: { overflowX: 'hidden' }, totalCount: processedMessages.length }, overridingVirtuosoProps, (scrollSeekPlaceHolder ? { scrollSeek: scrollSeekPlaceHolder } : {}), (defaultItemHeight ? { defaultItemHeight: defaultItemHeight } : {}))))),
|
|
55587
55725
|
React__default["default"].createElement(MessageListNotifications$1, { hasNewMessages: newMessagesNotification, isMessageListScrolledToBottom: isMessageListScrolledToBottom, isNotAtLatestMessageSet: hasMoreNewer, MessageNotification: MessageNotification$1, notifications: notifications, scrollToBottom: scrollToBottom, threadList: threadList }),
|
|
55588
55726
|
giphyPreviewMessage && React__default["default"].createElement(GiphyPreviewMessage$1, { message: giphyPreviewMessage })));
|
|
55589
55727
|
};
|
|
@@ -55667,6 +55805,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
55667
55805
|
// FIXME: integrators can customize channel query options but cannot customize channel.getReplies() options
|
|
55668
55806
|
loadMoreThread();
|
|
55669
55807
|
}
|
|
55808
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
55670
55809
|
}, []);
|
|
55671
55810
|
if (!thread)
|
|
55672
55811
|
return null;
|
|
@@ -79973,6 +80112,7 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, streamChat, React
|
|
|
79973
80112
|
exports.defaultDateTimeParser = defaultDateTimeParser;
|
|
79974
80113
|
exports.defaultPinPermissions = defaultPinPermissions;
|
|
79975
80114
|
exports.defaultReactionOptions = defaultReactionOptions;
|
|
80115
|
+
exports.defaultRenderMessages = defaultRenderMessages;
|
|
79976
80116
|
exports.defaultScrollToItem = defaultScrollToItem;
|
|
79977
80117
|
exports.defaultTimestampFormat = defaultTimestampFormat;
|
|
79978
80118
|
exports.defaultTranslatorFunction = defaultTranslatorFunction;
|