stream-chat-react 10.4.2 → 10.4.3
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 +27 -18
- package/dist/browser.full-bundle.js.map +1 -1
- package/dist/browser.full-bundle.min.js +2 -2
- package/dist/browser.full-bundle.min.js.map +1 -1
- package/dist/components/Chat/Chat.d.ts.map +1 -1
- package/dist/components/Chat/Chat.js +6 -3
- package/dist/components/InfiniteScrollPaginator/InfiniteScroll.d.ts +0 -1
- package/dist/components/InfiniteScrollPaginator/InfiniteScroll.d.ts.map +1 -1
- package/dist/components/InfiniteScrollPaginator/InfiniteScroll.js +9 -7
- package/dist/components/MessageList/MessageList.d.ts +5 -1
- package/dist/components/MessageList/MessageList.d.ts.map +1 -1
- package/dist/components/MessageList/MessageList.js +4 -2
- package/dist/components/MessageList/hooks/useMessageListScrollManager.d.ts +1 -0
- package/dist/components/MessageList/hooks/useMessageListScrollManager.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/useMessageListScrollManager.js +6 -5
- package/dist/components/MessageList/hooks/useScrollLocationLogic.d.ts +1 -1
- package/dist/components/MessageList/hooks/useScrollLocationLogic.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/useScrollLocationLogic.js +2 -1
- package/dist/css/index.css +1 -1
- package/dist/index.cjs.js +26 -17
- package/dist/index.cjs.js.map +1 -1
- package/dist/scss/Card.scss +1 -1
- package/dist/scss/ChannelHeader.scss +1 -1
- package/dist/scss/MessageInput.scss +1 -1
- package/dist/scss/TypingIndicator.scss +1 -1
- package/dist/scss/_variables.scss +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +5 -5
|
@@ -48132,7 +48132,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
48132
48132
|
|
|
48133
48133
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
|
|
48134
48134
|
|
|
48135
|
-
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version$1 = '10.4.
|
|
48135
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version$1 = '10.4.3';
|
|
48136
48136
|
|
|
48137
48137
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useChat = function (_a) {
|
|
48138
48138
|
var _b, _c;
|
|
@@ -48318,9 +48318,12 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
48318
48318
|
var children = props.children, client = props.client, customClasses = props.customClasses, customStyles = props.customStyles, _a = props.darkMode, darkMode = _a === void 0 ? false : _a, defaultLanguage = props.defaultLanguage, i18nInstance = props.i18nInstance, _b = props.initialNavOpen, initialNavOpen = _b === void 0 ? true : _b, _c = props.theme, theme = _c === void 0 ? 'messaging light' : _c, _d = props.useImageFlagEmojisOnWindows, useImageFlagEmojisOnWindows = _d === void 0 ? false : _d;
|
|
48319
48319
|
var _e = useChat({ client: client, defaultLanguage: defaultLanguage, i18nInstance: i18nInstance, initialNavOpen: initialNavOpen }), channel = _e.channel, closeMobileNav = _e.closeMobileNav, getAppSettings = _e.getAppSettings, latestMessageDatesByChannels = _e.latestMessageDatesByChannels, mutes = _e.mutes, navOpen = _e.navOpen, openMobileNav = _e.openMobileNav, setActiveChannel = _e.setActiveChannel, translators = _e.translators;
|
|
48320
48320
|
var channelsQueryState = useChannelsQueryState();
|
|
48321
|
-
var themeVersion =
|
|
48322
|
-
|
|
48323
|
-
|
|
48321
|
+
var themeVersion = typeof window !== 'undefined'
|
|
48322
|
+
? (window
|
|
48323
|
+
.getComputedStyle(document.documentElement)
|
|
48324
|
+
.getPropertyValue('--str-chat__theme-version')
|
|
48325
|
+
.replace(' ', '') || '1')
|
|
48326
|
+
: '1';
|
|
48324
48327
|
useCustomStyles(darkMode ? darkModeTheme : customStyles);
|
|
48325
48328
|
var chatContextValue = useCreateChatContext({
|
|
48326
48329
|
channel: channel,
|
|
@@ -48439,6 +48442,8 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
48439
48442
|
if (listenToScroll) {
|
|
48440
48443
|
listenToScroll(offset, reverseOffset, threshold);
|
|
48441
48444
|
}
|
|
48445
|
+
if (isLoading)
|
|
48446
|
+
return;
|
|
48442
48447
|
if (reverseOffset < Number(threshold) &&
|
|
48443
48448
|
typeof loadPreviousPageFn === 'function' &&
|
|
48444
48449
|
hasPreviousPageFlag) {
|
|
@@ -48450,10 +48455,11 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
48450
48455
|
}, [
|
|
48451
48456
|
hasPreviousPageFlag,
|
|
48452
48457
|
hasNextPageFlag,
|
|
48453
|
-
|
|
48458
|
+
isLoading,
|
|
48454
48459
|
listenToScroll,
|
|
48455
48460
|
loadPreviousPageFn,
|
|
48456
48461
|
loadNextPageFn,
|
|
48462
|
+
threshold,
|
|
48457
48463
|
]);
|
|
48458
48464
|
React$2.useEffect(function () {
|
|
48459
48465
|
deprecationAndReplacementWarning([
|
|
@@ -48463,19 +48469,18 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
48463
48469
|
[{ loadMore: loadMore }, { loadPreviousPage: loadPreviousPage }],
|
|
48464
48470
|
], 'InfiniteScroll');
|
|
48465
48471
|
}, []);
|
|
48466
|
-
React$2.
|
|
48472
|
+
React$2.useLayoutEffect(function () {
|
|
48467
48473
|
var _a;
|
|
48468
48474
|
var scrollElement = (_a = scrollComponent.current) === null || _a === void 0 ? void 0 : _a.parentNode;
|
|
48469
|
-
if (
|
|
48470
|
-
return
|
|
48471
|
-
}
|
|
48475
|
+
if (!scrollElement)
|
|
48476
|
+
return;
|
|
48472
48477
|
scrollElement.addEventListener('scroll', scrollListener, useCapture);
|
|
48473
48478
|
scrollElement.addEventListener('resize', scrollListener, useCapture);
|
|
48474
48479
|
return function () {
|
|
48475
48480
|
scrollElement.removeEventListener('scroll', scrollListener, useCapture);
|
|
48476
48481
|
scrollElement.removeEventListener('resize', scrollListener, useCapture);
|
|
48477
48482
|
};
|
|
48478
|
-
}, [initialLoad,
|
|
48483
|
+
}, [initialLoad, scrollListener, useCapture]);
|
|
48479
48484
|
React$2.useEffect(function () {
|
|
48480
48485
|
var _a;
|
|
48481
48486
|
var scrollElement = (_a = scrollComponent.current) === null || _a === void 0 ? void 0 : _a.parentNode;
|
|
@@ -49276,8 +49281,9 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
49276
49281
|
return elements;
|
|
49277
49282
|
};
|
|
49278
49283
|
|
|
49279
|
-
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{}
|
|
49280
|
-
|
|
49284
|
+
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};// FIXME: change this generic name to something like useAdjustScrollPositionToListSize
|
|
49285
|
+
function useMessageListScrollManager(params) {
|
|
49286
|
+
var loadMoreScrollThreshold = params.loadMoreScrollThreshold, onScrollBy = params.onScrollBy, scrollContainerMeasures = params.scrollContainerMeasures, scrolledUpThreshold = params.scrolledUpThreshold, scrollToBottom = params.scrollToBottom, showNewMessages = params.showNewMessages;
|
|
49281
49287
|
var client = useChatContext('useMessageListScrollManager').client;
|
|
49282
49288
|
var measures = React$2.useRef({
|
|
49283
49289
|
offsetHeight: 0,
|
|
@@ -49285,7 +49291,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
49285
49291
|
});
|
|
49286
49292
|
var messages = React$2.useRef();
|
|
49287
49293
|
var scrollTop = React$2.useRef(0);
|
|
49288
|
-
React$2.
|
|
49294
|
+
React$2.useLayoutEffect(function () {
|
|
49289
49295
|
var _a, _b, _c;
|
|
49290
49296
|
var prevMeasures = measures.current;
|
|
49291
49297
|
var prevMessages = messages.current;
|
|
@@ -49299,8 +49305,8 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
49299
49305
|
if (prevMessages.length < newMessages.length) {
|
|
49300
49306
|
// messages added to the top
|
|
49301
49307
|
if ((lastPrevMessage === null || lastPrevMessage === void 0 ? void 0 : lastPrevMessage.id) === lastNewMessage.id) {
|
|
49302
|
-
|
|
49303
|
-
|
|
49308
|
+
if (scrollTop.current < loadMoreScrollThreshold) {
|
|
49309
|
+
var listHeightDelta = newMeasures.scrollHeight - prevMeasures.scrollHeight;
|
|
49304
49310
|
onScrollBy(listHeightDelta);
|
|
49305
49311
|
}
|
|
49306
49312
|
}
|
|
@@ -49333,7 +49339,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
49333
49339
|
}
|
|
49334
49340
|
|
|
49335
49341
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useScrollLocationLogic = function (params) {
|
|
49336
|
-
var _a = params.messages, messages = _a === void 0 ? [] : _a, _b = params.scrolledUpThreshold, scrolledUpThreshold = _b === void 0 ? 200 : _b, hasMoreNewer = params.hasMoreNewer, suppressAutoscroll = params.suppressAutoscroll, listElement = params.listElement;
|
|
49342
|
+
var loadMoreScrollThreshold = params.loadMoreScrollThreshold, _a = params.messages, messages = _a === void 0 ? [] : _a, _b = params.scrolledUpThreshold, scrolledUpThreshold = _b === void 0 ? 200 : _b, hasMoreNewer = params.hasMoreNewer, suppressAutoscroll = params.suppressAutoscroll, listElement = params.listElement;
|
|
49337
49343
|
var _c = React$2.useState(false), hasNewMessages = _c[0], setHasNewMessages = _c[1];
|
|
49338
49344
|
var _d = React$2.useState(), wrapperRect = _d[0], setWrapperRect = _d[1];
|
|
49339
49345
|
var _e = React$2.useState(true), isMessageListScrolledToBottom = _e[0], setIsMessageListScrolledToBottom = _e[1];
|
|
@@ -49357,6 +49363,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
49357
49363
|
}
|
|
49358
49364
|
}, [listElement, hasMoreNewer]);
|
|
49359
49365
|
var updateScrollTop = useMessageListScrollManager({
|
|
49366
|
+
loadMoreScrollThreshold: loadMoreScrollThreshold,
|
|
49360
49367
|
messages: messages,
|
|
49361
49368
|
onScrollBy: function (scrollBy) {
|
|
49362
49369
|
listElement === null || listElement === void 0 ? void 0 : listElement.scrollBy({ top: scrollBy });
|
|
@@ -49507,16 +49514,18 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
49507
49514
|
};
|
|
49508
49515
|
|
|
49509
49516
|
window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var MessageListWithContext = function (props) {
|
|
49510
|
-
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, _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
|
|
49517
|
+
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
|
|
49511
49518
|
_h = props.returnAllReadData, // @deprecated in favor of `channelCapabilities` - TODO: remove in next major release
|
|
49512
49519
|
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 = _l === void 0 ? 100 : _l, loadMoreCallback = props.loadMore, loadMoreNewerCallback = props.loadMoreNewer, _m = props.hasMoreNewer, hasMoreNewer = _m === void 0 ? false : _m, suppressAutoscroll = props.suppressAutoscroll, highlightedMessageId = props.highlightedMessageId, _o = props.jumpToLatestMessage, jumpToLatestMessage = _o === void 0 ? function () { return Promise.resolve(); } : _o;
|
|
49513
49520
|
var _p = React__default["default"].useState(null), listElement = _p[0], setListElement = _p[1];
|
|
49514
49521
|
var _q = React__default["default"].useState(null), ulElement = _q[0], setUlElement = _q[1];
|
|
49515
49522
|
var customClasses = useChatContext('MessageList').customClasses;
|
|
49516
49523
|
var _r = useComponentContext('MessageList'), _s = _r.EmptyStateIndicator, EmptyStateIndicator$1 = _s === void 0 ? EmptyStateIndicator : _s, _t = _r.LoadingIndicator, LoadingIndicator$1 = _t === void 0 ? LoadingIndicator : _t, _u = _r.MessageListNotifications, MessageListNotifications$1 = _u === void 0 ? MessageListNotifications : _u, _v = _r.MessageNotification, MessageNotification$1 = _v === void 0 ? MessageNotification : _v, _w = _r.TypingIndicator, TypingIndicator$1 = _w === void 0 ? TypingIndicator : _w;
|
|
49524
|
+
var loadMoreScrollThreshold = (internalInfiniteScrollProps === null || internalInfiniteScrollProps === void 0 ? void 0 : internalInfiniteScrollProps.threshold) || 250;
|
|
49517
49525
|
var _x = useScrollLocationLogic({
|
|
49518
49526
|
hasMoreNewer: hasMoreNewer,
|
|
49519
49527
|
listElement: listElement,
|
|
49528
|
+
loadMoreScrollThreshold: loadMoreScrollThreshold,
|
|
49520
49529
|
messages: messages,
|
|
49521
49530
|
scrolledUpThreshold: props.scrolledUpThreshold,
|
|
49522
49531
|
suppressAutoscroll: suppressAutoscroll,
|
|
@@ -49603,7 +49612,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
|
|
|
49603
49612
|
var showEmptyStateIndicator = elements.length === 0 && !threadList;
|
|
49604
49613
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
49605
49614
|
React__default["default"].createElement(MessageListMainPanel, null,
|
|
49606
|
-
React__default["default"].createElement("div", { className: "".concat(messageListClass, " ").concat(threadListClass), onScroll: onScroll, ref: setListElement, tabIndex: 0 }, showEmptyStateIndicator ? (React__default["default"].createElement(EmptyStateIndicator$1, { key: 'empty-state-indicator', listType: threadList ? 'thread' : 'message' })) : (React__default["default"].createElement(InfiniteScroll, __assign$8({ className: 'str-chat__reverse-infinite-scroll str-chat__message-list-scroll', "data-testid": 'reverse-infinite-scroll', hasNextPage: props.hasMoreNewer, hasPreviousPage: props.hasMore, head: props.head, isLoading: props.loadingMore, loader: React__default["default"].createElement("div", { className: 'str-chat__list__loading', key: 'loading-indicator' }, props.loadingMore && React__default["default"].createElement(LoadingIndicator$1, { size: 20 })), loadNextPage: loadMoreNewer, loadPreviousPage: loadMore }, props.internalInfiniteScrollProps),
|
|
49615
|
+
React__default["default"].createElement("div", { className: "".concat(messageListClass, " ").concat(threadListClass), onScroll: onScroll, ref: setListElement, tabIndex: 0 }, showEmptyStateIndicator ? (React__default["default"].createElement(EmptyStateIndicator$1, { key: 'empty-state-indicator', listType: threadList ? 'thread' : 'message' })) : (React__default["default"].createElement(InfiniteScroll, __assign$8({ className: 'str-chat__reverse-infinite-scroll str-chat__message-list-scroll', "data-testid": 'reverse-infinite-scroll', hasNextPage: props.hasMoreNewer, hasPreviousPage: props.hasMore, head: props.head, isLoading: props.loadingMore, loader: React__default["default"].createElement("div", { className: 'str-chat__list__loading', key: 'loading-indicator' }, props.loadingMore && React__default["default"].createElement(LoadingIndicator$1, { size: 20 })), loadNextPage: loadMoreNewer, loadPreviousPage: loadMore }, props.internalInfiniteScrollProps, { threshold: loadMoreScrollThreshold }),
|
|
49607
49616
|
React__default["default"].createElement("ul", { className: 'str-chat__ul', ref: setUlElement }, elements),
|
|
49608
49617
|
React__default["default"].createElement(TypingIndicator$1, { threadList: threadList }),
|
|
49609
49618
|
React__default["default"].createElement("div", { key: 'bottom' }))))),
|