stream-chat-react 10.8.8 → 10.9.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 +32 -17
- package/dist/browser.full-bundle.js.map +1 -1
- package/dist/browser.full-bundle.min.js +1 -1
- package/dist/browser.full-bundle.min.js.map +1 -1
- package/dist/components/Loading/LoadingIndicator.js +1 -1
- package/dist/components/MessageList/VirtualizedMessageList.d.ts +2 -0
- package/dist/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
- package/dist/components/MessageList/VirtualizedMessageList.js +29 -16
- package/dist/components/MessageList/utils.js +1 -1
- package/dist/index.cjs.js +30 -15
- package/dist/index.cjs.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -39866,7 +39866,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
39866
39866
|
|
|
39867
39867
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var UnMemoizedLoadingIndicator = function (props) {
|
|
39868
39868
|
var _a = props.color, color = _a === void 0 ? '#006CFF' : _a, _b = props.size, size = _b === void 0 ? 15 : _b;
|
|
39869
|
-
return (React__default["default"].createElement("div", { className: "str-chat__loading-indicator
|
|
39869
|
+
return (React__default["default"].createElement("div", { className: "str-chat__loading-indicator", "data-testid": 'loading-indicator-wrapper', style: { height: size, width: size } },
|
|
39870
39870
|
React__default["default"].createElement("svg", { height: size, viewBox: "0 0 30 30", width: size, xmlns: 'http://www.w3.org/2000/svg' },
|
|
39871
39871
|
React__default["default"].createElement("defs", null,
|
|
39872
39872
|
React__default["default"].createElement("linearGradient", { id: 'a', x1: '50%', x2: '50%', y1: '0%', y2: '100%' },
|
|
@@ -46460,7 +46460,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
46460
46460
|
var userLastReadMsgId;
|
|
46461
46461
|
// loop messages sent by current user and add read data for other users in channel
|
|
46462
46462
|
messages.forEach(function (msg) {
|
|
46463
|
-
if (msg.
|
|
46463
|
+
if (msg.created_at && msg.created_at < readState.last_read) {
|
|
46464
46464
|
userLastReadMsgId = msg.id;
|
|
46465
46465
|
// if true, save other user's read data for all messages they've read
|
|
46466
46466
|
if (returnAllReadData) {
|
|
@@ -48515,7 +48515,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
48515
48515
|
|
|
48516
48516
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
|
|
48517
48517
|
|
|
48518
|
-
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version$1 = '10.
|
|
48518
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version$1 = '10.9.0';
|
|
48519
48519
|
|
|
48520
48520
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useChat = function (_a) {
|
|
48521
48521
|
var _b, _c;
|
|
@@ -51418,6 +51418,8 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
51418
51418
|
return recheckForNewOwnMessage;
|
|
51419
51419
|
}
|
|
51420
51420
|
|
|
51421
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
|
|
51422
|
+
|
|
51421
51423
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var PREPEND_OFFSET = Math.pow(10, 7);
|
|
51422
51424
|
function captureResizeObserverExceededError(e) {
|
|
51423
51425
|
if (e.message === 'ResizeObserver loop completed with undelivered notifications.' ||
|
|
@@ -51453,15 +51455,15 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
51453
51455
|
// TODO: refactor to scrollSeekPlaceHolderConfiguration and components.ScrollSeekPlaceholder, like the Virtuoso Component
|
|
51454
51456
|
_e = props.overscan,
|
|
51455
51457
|
// TODO: refactor to scrollSeekPlaceHolderConfiguration and components.ScrollSeekPlaceholder, like the Virtuoso Component
|
|
51456
|
-
overscan = _e === void 0 ? 0 : _e,
|
|
51458
|
+
overscan = _e === void 0 ? 0 : _e, read = props.read, _f = props.returnAllReadData, returnAllReadData = _f === void 0 ? false : _f, scrollSeekPlaceHolder = props.scrollSeekPlaceHolder, _g = props.scrollToLatestMessageOnFocus, scrollToLatestMessageOnFocus = _g === void 0 ? false : _g, _h = props.separateGiphyPreview, separateGiphyPreview = _h === void 0 ? false : _h, _j = props.shouldGroupByUser, shouldGroupByUser = _j === void 0 ? false : _j, _k = props.stickToBottomScrollBehavior, stickToBottomScrollBehavior = _k === void 0 ? 'smooth' : _k, suppressAutoscroll = props.suppressAutoscroll, threadList = props.threadList;
|
|
51457
51459
|
// Stops errors generated from react-virtuoso to bubble up
|
|
51458
51460
|
// to Sentry or other tracking tools.
|
|
51459
51461
|
useCaptureResizeObserverExceededError();
|
|
51460
|
-
var
|
|
51461
|
-
var
|
|
51462
|
+
var _l = useComponentContext('VirtualizedMessageList'), _m = _l.DateSeparator, DateSeparator$1 = _m === void 0 ? DateSeparator : _m, _o = _l.EmptyStateIndicator, EmptyStateIndicator$1 = _o === void 0 ? EmptyStateIndicator : _o, _p = _l.GiphyPreviewMessage, GiphyPreviewMessage$1 = _p === void 0 ? GiphyPreviewMessage : _p, _q = _l.LoadingIndicator, LoadingIndicator$1 = _q === void 0 ? LoadingIndicator : _q, _r = _l.MessageListNotifications, MessageListNotifications$1 = _r === void 0 ? MessageListNotifications : _r, _s = _l.MessageNotification, MessageNotification$1 = _s === void 0 ? MessageNotification : _s, _t = _l.MessageSystem, MessageSystem = _t === void 0 ? EventComponent : _t, _u = _l.TypingIndicator, TypingIndicator = _u === void 0 ? null : _u, _v = _l.VirtualMessage, contextMessage = _v === void 0 ? MessageSimple : _v;
|
|
51463
|
+
var _w = useChatContext('VirtualizedMessageList'), client = _w.client, customClasses = _w.customClasses;
|
|
51462
51464
|
var lastRead = React$2.useMemo(function () { var _a; return (_a = channel.lastRead) === null || _a === void 0 ? void 0 : _a.call(channel); }, [channel]);
|
|
51463
51465
|
var MessageUIComponent = propMessage || contextMessage;
|
|
51464
|
-
var
|
|
51466
|
+
var _x = useGiphyPreview(separateGiphyPreview), giphyPreviewMessage = _x.giphyPreviewMessage, setGiphyPreviewMessage = _x.setGiphyPreviewMessage;
|
|
51465
51467
|
var processedMessages = React$2.useMemo(function () {
|
|
51466
51468
|
if (typeof messages === 'undefined') {
|
|
51467
51469
|
return [];
|
|
@@ -51490,6 +51492,16 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
51490
51492
|
messages === null || messages === void 0 ? void 0 : messages.length,
|
|
51491
51493
|
client.userID,
|
|
51492
51494
|
]);
|
|
51495
|
+
// get the mapping of own messages to array of users who read them
|
|
51496
|
+
var ownMessagesReadByOthers = useLastReadData({
|
|
51497
|
+
messages: processedMessages,
|
|
51498
|
+
read: read,
|
|
51499
|
+
returnAllReadData: returnAllReadData,
|
|
51500
|
+
userID: client.userID,
|
|
51501
|
+
});
|
|
51502
|
+
var lastReceivedMessageId = React$2.useMemo(function () { return getLastReceived(processedMessages); }, [
|
|
51503
|
+
processedMessages,
|
|
51504
|
+
]);
|
|
51493
51505
|
var groupStylesFn = groupStyles || getGroupStyles;
|
|
51494
51506
|
var messageGroupStyles = React$2.useMemo(function () {
|
|
51495
51507
|
return processedMessages.reduce(function (acc, message, i) {
|
|
@@ -51502,7 +51514,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
51502
51514
|
// processedMessages were incorrectly rebuilt with a new object identity at some point, hence the .length usage
|
|
51503
51515
|
[processedMessages.length, shouldGroupByUser]);
|
|
51504
51516
|
var virtuoso = React$2.useRef(null);
|
|
51505
|
-
var
|
|
51517
|
+
var _y = useNewMessageNotification(processedMessages, client.userID, hasMoreNewer), atBottom = _y.atBottom, isMessageListScrolledToBottom = _y.isMessageListScrolledToBottom, newMessagesNotification = _y.newMessagesNotification, setIsMessageListScrolledToBottom = _y.setIsMessageListScrolledToBottom, setNewMessagesNotification = _y.setNewMessagesNotification;
|
|
51506
51518
|
var scrollToBottom = React$2.useCallback(function () { return __awaiter$1(void 0, void 0, void 0, function () {
|
|
51507
51519
|
return __generator$1(this, function (_a) {
|
|
51508
51520
|
switch (_a.label) {
|
|
@@ -51529,7 +51541,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
51529
51541
|
hasMoreNewer,
|
|
51530
51542
|
jumpToLatestMessage,
|
|
51531
51543
|
]);
|
|
51532
|
-
var
|
|
51544
|
+
var _z = React__default["default"].useState(false), newMessagesReceivedInBackground = _z[0], setNewMessagesReceivedInBackground = _z[1];
|
|
51533
51545
|
var resetNewMessagesReceivedInBackground = React$2.useCallback(function () {
|
|
51534
51546
|
setNewMessagesReceivedInBackground(false);
|
|
51535
51547
|
}, []);
|
|
@@ -51557,7 +51569,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
51557
51569
|
/**
|
|
51558
51570
|
* Logic to update the key of the virtuoso component when the list jumps to a new location.
|
|
51559
51571
|
*/
|
|
51560
|
-
var
|
|
51572
|
+
var _0 = React$2.useState(+new Date()), messageSetKey = _0[0], setMessageSetKey = _0[1];
|
|
51561
51573
|
var firstMessageId = React$2.useRef();
|
|
51562
51574
|
React$2.useEffect(function () {
|
|
51563
51575
|
var _a;
|
|
@@ -51578,8 +51590,9 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
51578
51590
|
// a message from another user has been received - don't scroll to bottom unless already there
|
|
51579
51591
|
return isAtBottom ? stickToBottomScrollBehavior : false;
|
|
51580
51592
|
};
|
|
51581
|
-
var messageRenderer = React$2.useCallback(function (messageList, virtuosoIndex) {
|
|
51593
|
+
var messageRenderer = React$2.useCallback(function (messageList, virtuosoIndex, virtuosoContext) {
|
|
51582
51594
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
51595
|
+
var lastReceivedMessageId = virtuosoContext.lastReceivedMessageId, ownMessagesReadByOthers = virtuosoContext.ownMessagesReadByOthers;
|
|
51583
51596
|
var streamMessageIndex = virtuosoIndex + numItemsPrepended - PREPEND_OFFSET;
|
|
51584
51597
|
// use custom renderer supplied by client if present and skip the rest
|
|
51585
51598
|
if (customMessageRenderer) {
|
|
@@ -51599,7 +51612,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
51599
51612
|
((_a = message.user) === null || _a === void 0 ? void 0 : _a.id) === ((_b = messageList[streamMessageIndex - 1].user) === null || _b === void 0 ? void 0 : _b.id);
|
|
51600
51613
|
var firstOfGroup = shouldGroupByUser && ((_c = message.user) === null || _c === void 0 ? void 0 : _c.id) !== ((_e = (_d = messageList[streamMessageIndex - 1]) === null || _d === void 0 ? void 0 : _d.user) === null || _e === void 0 ? void 0 : _e.id);
|
|
51601
51614
|
var endOfGroup = shouldGroupByUser && ((_f = message.user) === null || _f === void 0 ? void 0 : _f.id) !== ((_h = (_g = messageList[streamMessageIndex + 1]) === null || _g === void 0 ? void 0 : _g.user) === null || _h === void 0 ? void 0 : _h.id);
|
|
51602
|
-
return (React__default["default"].createElement(Message, { autoscrollToBottom: (_j = virtuoso.current) === null || _j === void 0 ? void 0 : _j.autoscrollToBottom, closeReactionSelectorOnClick: closeReactionSelectorOnClick, customMessageActions: props.customMessageActions, endOfGroup: endOfGroup, firstOfGroup: firstOfGroup, groupedByUser: groupedByUser, message: message, Message: MessageUIComponent, messageActions: props.messageActions }));
|
|
51615
|
+
return (React__default["default"].createElement(Message, { autoscrollToBottom: (_j = virtuoso.current) === null || _j === void 0 ? void 0 : _j.autoscrollToBottom, closeReactionSelectorOnClick: closeReactionSelectorOnClick, customMessageActions: props.customMessageActions, endOfGroup: endOfGroup, firstOfGroup: firstOfGroup, groupedByUser: groupedByUser, lastReceivedId: lastReceivedMessageId, message: message, Message: MessageUIComponent, messageActions: props.messageActions, readBy: ownMessagesReadByOthers[message.id] || [] }));
|
|
51603
51616
|
}, [customMessageRenderer, shouldGroupByUser, numItemsPrepended]);
|
|
51604
51617
|
var Item = React$2.useMemo(function () {
|
|
51605
51618
|
// using 'display: inline-block'
|
|
@@ -51669,10 +51682,14 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
51669
51682
|
return processedMessages[numItemsPrepended + index - PREPEND_OFFSET].id;
|
|
51670
51683
|
}, context: {
|
|
51671
51684
|
customClasses: customClasses,
|
|
51685
|
+
lastReceivedMessageId: lastReceivedMessageId,
|
|
51672
51686
|
messageGroupStyles: messageGroupStyles,
|
|
51673
51687
|
numItemsPrepended: numItemsPrepended,
|
|
51688
|
+
ownMessagesReadByOthers: ownMessagesReadByOthers,
|
|
51674
51689
|
processedMessages: processedMessages,
|
|
51675
|
-
}, endReached: endReached, firstItemIndex: PREPEND_OFFSET - numItemsPrepended, followOutput: followOutput, increaseViewportBy: { bottom: 200, top: 0 }, initialTopMostItemIndex: calculateInitialTopMostItemIndex(processedMessages, highlightedMessageId), itemContent: function (i
|
|
51690
|
+
}, endReached: endReached, firstItemIndex: PREPEND_OFFSET - numItemsPrepended, followOutput: followOutput, increaseViewportBy: { bottom: 200, top: 0 }, initialTopMostItemIndex: calculateInitialTopMostItemIndex(processedMessages, highlightedMessageId), itemContent: function (i, _, context) {
|
|
51691
|
+
return messageRenderer(processedMessages, i, context);
|
|
51692
|
+
}, itemSize: fractionalItemSize, key: messageSetKey, overscan: overscan, ref: virtuoso, startReached: startReached, style: { overflowX: 'hidden' }, totalCount: processedMessages.length }, additionalVirtuosoProps, (scrollSeekPlaceHolder ? { scrollSeek: scrollSeekPlaceHolder } : {}), (defaultItemHeight ? { defaultItemHeight: defaultItemHeight } : {}))))),
|
|
51676
51693
|
React__default["default"].createElement(MessageListNotifications$1, { hasNewMessages: newMessagesNotification, isMessageListScrolledToBottom: isMessageListScrolledToBottom, isNotAtLatestMessageSet: hasMoreNewer, MessageNotification: MessageNotification$1, notifications: notifications, scrollToBottom: scrollToBottom, threadList: threadList }),
|
|
51677
51694
|
giphyPreviewMessage && React__default["default"].createElement(GiphyPreviewMessage$1, { message: giphyPreviewMessage })));
|
|
51678
51695
|
};
|
|
@@ -51682,15 +51699,13 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
51682
51699
|
*/
|
|
51683
51700
|
function VirtualizedMessageList(props) {
|
|
51684
51701
|
var _a = useChannelActionContext('VirtualizedMessageList'), jumpToLatestMessage = _a.jumpToLatestMessage, loadMore = _a.loadMore, loadMoreNewer = _a.loadMoreNewer;
|
|
51685
|
-
var _b = useChannelStateContext('VirtualizedMessageList'), channel = _b.channel, hasMore = _b.hasMore, hasMoreNewer = _b.hasMoreNewer, highlightedMessageId = _b.highlightedMessageId, loadingMore = _b.loadingMore, loadingMoreNewer = _b.loadingMoreNewer, contextMessages = _b.messages, notifications = _b.notifications, suppressAutoscroll = _b.suppressAutoscroll;
|
|
51702
|
+
var _b = useChannelStateContext('VirtualizedMessageList'), channel = _b.channel, hasMore = _b.hasMore, hasMoreNewer = _b.hasMoreNewer, highlightedMessageId = _b.highlightedMessageId, loadingMore = _b.loadingMore, loadingMoreNewer = _b.loadingMoreNewer, contextMessages = _b.messages, notifications = _b.notifications, read = _b.read, suppressAutoscroll = _b.suppressAutoscroll;
|
|
51686
51703
|
var messages = props.messages || contextMessages;
|
|
51687
|
-
return (React__default["default"].createElement(VirtualizedMessageListWithContext, __assign$8({ channel: channel, hasMore: !!hasMore, hasMoreNewer: !!hasMoreNewer, highlightedMessageId: highlightedMessageId, jumpToLatestMessage: jumpToLatestMessage, loadingMore: !!loadingMore, loadingMoreNewer: !!loadingMoreNewer, loadMore: loadMore, loadMoreNewer: loadMoreNewer, messages: messages, notifications: notifications, suppressAutoscroll: suppressAutoscroll }, props)));
|
|
51704
|
+
return (React__default["default"].createElement(VirtualizedMessageListWithContext, __assign$8({ channel: channel, hasMore: !!hasMore, hasMoreNewer: !!hasMoreNewer, highlightedMessageId: highlightedMessageId, jumpToLatestMessage: jumpToLatestMessage, loadingMore: !!loadingMore, loadingMoreNewer: !!loadingMoreNewer, loadMore: loadMore, loadMoreNewer: loadMoreNewer, messages: messages, notifications: notifications, read: read, suppressAutoscroll: suppressAutoscroll }, props)));
|
|
51688
51705
|
}
|
|
51689
51706
|
|
|
51690
51707
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
|
|
51691
51708
|
|
|
51692
|
-
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
|
|
51693
|
-
|
|
51694
51709
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var CloseIcon = function (_a) {
|
|
51695
51710
|
var title = _a.title;
|
|
51696
51711
|
var t = useTranslationContext('CloseIcon').t;
|