stream-chat-react 10.2.0 → 10.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/browser.full-bundle.js +88 -29
  2. package/dist/browser.full-bundle.js.map +1 -1
  3. package/dist/browser.full-bundle.min.js +2 -2
  4. package/dist/browser.full-bundle.min.js.map +1 -1
  5. package/dist/components/ChannelList/ChannelList.d.ts.map +1 -1
  6. package/dist/components/ChannelList/ChannelList.js +2 -2
  7. package/dist/components/ChannelList/ChannelListMessenger.js +2 -2
  8. package/dist/components/InfiniteScrollPaginator/InfiniteScroll.d.ts +19 -4
  9. package/dist/components/InfiniteScrollPaginator/InfiniteScroll.d.ts.map +1 -1
  10. package/dist/components/InfiniteScrollPaginator/InfiniteScroll.js +28 -6
  11. package/dist/components/LoadMore/LoadMoreButton.d.ts +7 -2
  12. package/dist/components/LoadMore/LoadMoreButton.d.ts.map +1 -1
  13. package/dist/components/LoadMore/LoadMoreButton.js +9 -4
  14. package/dist/components/LoadMore/LoadMorePaginator.d.ts +2 -7
  15. package/dist/components/LoadMore/LoadMorePaginator.d.ts.map +1 -1
  16. package/dist/components/LoadMore/LoadMorePaginator.js +8 -3
  17. package/dist/components/Message/hooks/useUserRole.d.ts +1 -1
  18. package/dist/components/Message/hooks/useUserRole.d.ts.map +1 -1
  19. package/dist/components/Message/hooks/useUserRole.js +5 -5
  20. package/dist/components/MessageList/MessageList.js +1 -1
  21. package/dist/components/Reactions/SimpleReactionsList.d.ts.map +1 -1
  22. package/dist/components/Reactions/SimpleReactionsList.js +26 -6
  23. package/dist/css/index.css +1 -1
  24. package/dist/css/index.css.map +1 -1
  25. package/dist/css/v2/index.css +1 -1
  26. package/dist/css/v2/index.css.map +1 -1
  27. package/dist/css/v2/index.layout.css +1 -1
  28. package/dist/css/v2/index.layout.css.map +1 -1
  29. package/dist/index.cjs.js +87 -28
  30. package/dist/index.cjs.js.map +1 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +1 -0
  33. package/dist/scss/ChannelList.scss +14 -0
  34. package/dist/scss/ChannelSearch.scss +8 -8
  35. package/dist/scss/v2/ChannelList/ChannelList-layout.scss +14 -0
  36. package/dist/scss/v2/ChannelSearch/ChannelSearch-layout.scss +68 -51
  37. package/dist/scss/v2/ChannelSearch/ChannelSearch-theme.scss +48 -0
  38. package/dist/scss/v2/Tooltip/Tooltip-layout.scss +1 -1
  39. package/dist/types/types.d.ts +10 -1
  40. package/dist/types/types.d.ts.map +1 -1
  41. package/dist/utils/deprecationWarning.d.ts +2 -0
  42. package/dist/utils/deprecationWarning.d.ts.map +1 -0
  43. package/dist/utils/deprecationWarning.js +12 -0
  44. package/dist/version.d.ts +1 -1
  45. package/dist/version.js +1 -1
  46. package/package.json +3 -3
@@ -40607,7 +40607,7 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
40607
40607
 
40608
40608
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useUserRole = function (message, onlySenderCanEdit, disableQuotedMessages) {
40609
40609
  var _a, _b, _c;
40610
- var _d = useChannelStateContext('useUserRole'), channel = _d.channel, _e = _d.channelCapabilities, channelCapabilities = _e === void 0 ? {} : _e, channelConfig = _d.channelConfig;
40610
+ var _d = useChannelStateContext('useUserRole'), channel = _d.channel, _e = _d.channelCapabilities, channelCapabilities = _e === void 0 ? {} : _e;
40611
40611
  var client = useChatContext('useUserRole').client;
40612
40612
  /**
40613
40613
  * @deprecated as it relies on `membership.role` check which is already deprecated and shouldn't be used anymore.
@@ -40633,11 +40633,11 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
40633
40633
  (isMyMessage && channelCapabilities['update-own-message']);
40634
40634
  var canDelete = channelCapabilities['delete-any-message'] ||
40635
40635
  (isMyMessage && channelCapabilities['delete-own-message']);
40636
- var canFlag = !isMyMessage;
40637
- var canMute = !isMyMessage && (channelConfig === null || channelConfig === void 0 ? void 0 : channelConfig.mutes);
40636
+ var canFlag = !isMyMessage && channelCapabilities['flag-message'];
40637
+ var canMute = !isMyMessage && channelCapabilities['mute-channel'];
40638
40638
  var canQuote = !disableQuotedMessages && channelCapabilities['quote-message'];
40639
- var canReact = (channelConfig === null || channelConfig === void 0 ? void 0 : channelConfig.reactions) !== false && channelCapabilities['send-reaction'];
40640
- var canReply = (channelConfig === null || channelConfig === void 0 ? void 0 : channelConfig.replies) !== false && channelCapabilities['send-reply'];
40639
+ var canReact = channelCapabilities['send-reaction'];
40640
+ var canReply = channelCapabilities['send-reply'];
40641
40641
  return {
40642
40642
  canDelete: canDelete,
40643
40643
  canEdit: canEdit,
@@ -46915,12 +46915,27 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
46915
46915
  */
46916
46916
  var ReactionsList = React__default["default"].memo(UnMemoizedReactionsList);
46917
46917
 
46918
- window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var UnMemoizedSimpleReactionsList = function (props) {
46918
+ window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};// todo: merge with ReactionsList/ButtonWithTooltip
46919
+ // avoiding breaking change of replacing <span> with <button>
46920
+ var WithTooltip = function (_a) {
46921
+ var children = _a.children, onMouseEnter = _a.onMouseEnter, onMouseLeave = _a.onMouseLeave, title = _a.title;
46922
+ var _b = React.useState(null), referenceElement = _b[0], setReferenceElement = _b[1];
46923
+ var _c = useEnterLeaveHandlers({
46924
+ onMouseEnter: onMouseEnter,
46925
+ onMouseLeave: onMouseLeave,
46926
+ }), handleEnter = _c.handleEnter, handleLeave = _c.handleLeave, tooltipVisible = _c.tooltipVisible;
46927
+ var themeVersion = useChatContext('WithTooltip').themeVersion;
46928
+ return (React__default["default"].createElement(React__default["default"].Fragment, null,
46929
+ themeVersion === '2' && (React__default["default"].createElement(PopperTooltip, { referenceElement: referenceElement, visible: tooltipVisible }, title)),
46930
+ React__default["default"].createElement("span", { onMouseEnter: handleEnter, onMouseLeave: handleLeave, ref: setReferenceElement }, children)));
46931
+ };
46932
+ var UnMemoizedSimpleReactionsList = function (props) {
46919
46933
  var propHandleReaction = props.handleReaction, rest = __rest$4(props, ["handleReaction"]);
46920
46934
  var _a = useEmojiContext('SimpleReactionsList'), Emoji = _a.Emoji, emojiConfig = _a.emojiConfig;
46921
46935
  var contextHandleReaction = useMessageContext('SimpleReactionsList').handleReaction;
46922
46936
  var _b = useProcessReactions(__assign$8({ emojiConfig: emojiConfig }, rest)), additionalEmojiProps = _b.additionalEmojiProps, emojiData = _b.emojiData, getEmojiByReactionType = _b.getEmojiByReactionType, iHaveReactedWithReaction = _b.iHaveReactedWithReaction, latestReactions = _b.latestReactions, latestReactionTypes = _b.latestReactionTypes, supportedReactionsArePresent = _b.supportedReactionsArePresent, totalReactionCount = _b.totalReactionCount;
46923
46937
  var _c = React.useState(undefined), tooltipReactionType = _c[0], setTooltipReactionType = _c[1];
46938
+ var themeVersion = useChatContext('SimpleReactionsList').themeVersion;
46924
46939
  var handleReaction = propHandleReaction || contextHandleReaction;
46925
46940
  if (!latestReactions.length)
46926
46941
  return null;
@@ -46930,7 +46945,7 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
46930
46945
  return latestReactions
46931
46946
  .map(function (reaction) {
46932
46947
  var _a, _b;
46933
- if (reaction.type === type) {
46948
+ if (type && reaction.type === type) {
46934
46949
  return ((_a = reaction.user) === null || _a === void 0 ? void 0 : _a.name) || ((_b = reaction.user) === null || _b === void 0 ? void 0 : _b.id);
46935
46950
  }
46936
46951
  return null;
@@ -46943,16 +46958,18 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
46943
46958
  var _a;
46944
46959
  var emojiObject = getEmojiByReactionType(reactionType);
46945
46960
  var isOwnReaction = iHaveReactedWithReaction(reactionType);
46961
+ var tooltipVisible = emojiObject && tooltipReactionType === (emojiObject === null || emojiObject === void 0 ? void 0 : emojiObject.id);
46962
+ var tooltipContent = (_a = getUsersPerReactionType(tooltipReactionType)) === null || _a === void 0 ? void 0 : _a.join(', ');
46946
46963
  return emojiObject ? (React__default["default"].createElement("li", { className: clsx('str-chat__simple-reactions-list-item', {
46947
46964
  'str-chat__message-reaction-own': isOwnReaction,
46948
46965
  }), key: "".concat(emojiObject.id, "-").concat(i), onClick: function (event) { return handleReaction(reactionType, event); }, onKeyUp: function (event) { return handleReaction(reactionType, event); } },
46949
- React__default["default"].createElement("span", { onMouseEnter: function () { return setTooltipReactionType(reactionType); } },
46966
+ React__default["default"].createElement(WithTooltip, { onMouseEnter: function () { return setTooltipReactionType(reactionType); }, onMouseLeave: function () { return setTooltipReactionType(undefined); }, title: tooltipContent },
46950
46967
  React__default["default"].createElement(React.Suspense, { fallback: null },
46951
46968
  React__default["default"].createElement(Emoji, __assign$8({ data: emojiData, emoji: emojiObject, size: 13 }, additionalEmojiProps))),
46952
- "\u00A0"),
46953
- tooltipReactionType === emojiObject.id && (React__default["default"].createElement("div", { className: 'str-chat__simple-reactions-list-tooltip str-chat__tooltip' },
46954
- React__default["default"].createElement("div", { className: 'arrow' }), (_a = getUsersPerReactionType(tooltipReactionType)) === null || _a === void 0 ? void 0 :
46955
- _a.join(', '))))) : null;
46969
+ "\u00A0",
46970
+ tooltipVisible && themeVersion === '1' && (React__default["default"].createElement("div", { className: 'str-chat__simple-reactions-list-tooltip' },
46971
+ React__default["default"].createElement("div", { className: 'arrow' }),
46972
+ tooltipContent))))) : null;
46956
46973
  }),
46957
46974
  React__default["default"].createElement("li", { className: 'str-chat__simple-reactions-list-item--last-number' }, totalReactionCount))));
46958
46975
  };
@@ -48113,8 +48130,8 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
48113
48130
  if (loading) {
48114
48131
  return React__default["default"].createElement(LoadingIndicator, null);
48115
48132
  }
48116
- return (React__default["default"].createElement("div", { className: 'str-chat__channel-list-messenger' },
48117
- React__default["default"].createElement("div", { "aria-label": 'Channel list', className: 'str-chat__channel-list-messenger__main', role: 'listbox' }, children)));
48133
+ return (React__default["default"].createElement("div", { className: 'str-chat__channel-list-messenger str-chat__channel-list-messenger-react' },
48134
+ React__default["default"].createElement("div", { "aria-label": 'Channel list', className: 'str-chat__channel-list-messenger__main str-chat__channel-list-messenger-react__main', role: 'listbox' }, children)));
48118
48135
  };
48119
48136
 
48120
48137
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useChannelDeletedListener = function (setChannels, customHandler) {
@@ -48967,18 +48984,39 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
48967
48984
 
48968
48985
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
48969
48986
 
48970
- window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var UnMemoizedLoadMoreButton = function (props) {
48971
- var _a = props.children, children = _a === void 0 ? 'Load more' : _a, onClick = props.onClick, refreshing = props.refreshing;
48987
+ window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var deprecationAndReplacementWarning = function (pairs, component) {
48988
+ pairs.forEach(function (data) {
48989
+ var _a = [
48990
+ Object.entries(data[0])[0],
48991
+ Object.entries(data[1])[0],
48992
+ ], _b = _a[0], oldName = _b[0], oldValue = _b[1], _c = _a[1], newName = _c[0], newValue = _c[1];
48993
+ if ((typeof oldValue !== 'undefined' && typeof newValue === 'undefined') ||
48994
+ (typeof oldValue !== 'undefined' && typeof newValue !== 'undefined')) {
48995
+ console.warn("[Deprecation notice (".concat(component, ")]: prefer using prop ").concat(newName, " instead of ").concat(oldName));
48996
+ }
48997
+ });
48998
+ };
48999
+
49000
+ window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var UnMemoizedLoadMoreButton = function (_a) {
49001
+ var _b = _a.children, children = _b === void 0 ? 'Load more' : _b, isLoading = _a.isLoading, onClick = _a.onClick, refreshing = _a.refreshing;
49002
+ var loading = typeof isLoading !== 'undefined' ? isLoading : refreshing;
49003
+ React.useEffect(function () {
49004
+ deprecationAndReplacementWarning([[{ refreshing: refreshing }, { isLoading: isLoading }]], 'LoadMoreButton');
49005
+ }, []);
48972
49006
  return (React__default["default"].createElement("div", { className: 'str-chat__load-more-button' },
48973
- 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: refreshing, onClick: onClick }, refreshing ? React__default["default"].createElement(LoadingIndicator, null) : children)));
49007
+ 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) : children)));
48974
49008
  };
48975
49009
  var LoadMoreButton = React__default["default"].memo(UnMemoizedLoadMoreButton);
48976
49010
 
48977
49011
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var UnMemoizedLoadMorePaginator = function (props) {
48978
- var children = props.children, hasNextPage = props.hasNextPage, _a = props.LoadMoreButton, LoadMoreButton$1 = _a === void 0 ? LoadMoreButton : _a, loadNextPage = props.loadNextPage, refreshing = props.refreshing, reverse = props.reverse;
49012
+ var children = props.children, hasNextPage = props.hasNextPage, isLoading = props.isLoading, _a = props.LoadMoreButton, LoadMoreButton$1 = _a === void 0 ? LoadMoreButton : _a, loadNextPage = props.loadNextPage, refreshing = props.refreshing, reverse = props.reverse;
49013
+ var loadingState = typeof isLoading !== 'undefined' ? isLoading : refreshing;
49014
+ React.useEffect(function () {
49015
+ deprecationAndReplacementWarning([[{ refreshing: refreshing }, { isLoading: isLoading }]], 'LoadMorePaginator');
49016
+ }, []);
48979
49017
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
48980
49018
  !reverse && children,
48981
- hasNextPage && React__default["default"].createElement(LoadMoreButton$1, { onClick: loadNextPage, refreshing: refreshing }),
49019
+ hasNextPage && React__default["default"].createElement(LoadMoreButton$1, { isLoading: loadingState, onClick: loadNextPage }),
48982
49020
  reverse && children));
48983
49021
  };
48984
49022
  var LoadMorePaginator = React__default["default"].memo(UnMemoizedLoadMorePaginator);
@@ -49093,7 +49131,7 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
49093
49131
  };
49094
49132
  return React__default["default"].createElement(ChannelPreview, __assign$8({}, previewProps));
49095
49133
  };
49096
- var className = clsx((_a = customClasses === null || customClasses === void 0 ? void 0 : customClasses.chat) !== null && _a !== void 0 ? _a : 'str-chat', theme, (_b = customClasses === null || customClasses === void 0 ? void 0 : customClasses.channelList) !== null && _b !== void 0 ? _b : 'str-chat-channel-list str-chat__channel-list', {
49134
+ var className = clsx((_a = customClasses === null || customClasses === void 0 ? void 0 : customClasses.chat) !== null && _a !== void 0 ? _a : 'str-chat', theme, (_b = customClasses === null || customClasses === void 0 ? void 0 : customClasses.channelList) !== null && _b !== void 0 ? _b : 'str-chat-channel-list str-chat__channel-list str-chat__channel-list-react', {
49097
49135
  'str-chat--windows-flags': useImageFlagEmojisOnWindows && navigator.userAgent.match(/Win/),
49098
49136
  'str-chat-channel-list--open': navOpen,
49099
49137
  });
@@ -49101,7 +49139,7 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
49101
49139
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
49102
49140
  React__default["default"].createElement("div", { className: className, ref: channelListRef },
49103
49141
  showChannelSearch && (React__default["default"].createElement(ChannelSearch$1, __assign$8({ onSearch: onSearch, onSearchExit: onSearchExit, setChannels: setChannels }, additionalChannelSearchProps))),
49104
- showChannelList && (React__default["default"].createElement(List, { error: channelsQueryState.error, loadedChannels: sendChannelsToList ? loadedChannels : undefined, loading: channelsQueryState.queryInProgress === 'reload', LoadingErrorIndicator: LoadingErrorIndicator, LoadingIndicator: LoadingIndicator, setChannels: setChannels }, !(loadedChannels === null || loadedChannels === void 0 ? void 0 : loadedChannels.length) ? (React__default["default"].createElement(EmptyStateIndicator$1, { listType: 'channel' })) : (React__default["default"].createElement(Paginator, { hasNextPage: hasNextPage, loadNextPage: loadNextPage, refreshing: channelsQueryState.queryInProgress === 'load-more' }, renderChannels
49142
+ showChannelList && (React__default["default"].createElement(List, { error: channelsQueryState.error, loadedChannels: sendChannelsToList ? loadedChannels : undefined, loading: channelsQueryState.queryInProgress === 'reload', LoadingErrorIndicator: LoadingErrorIndicator, LoadingIndicator: LoadingIndicator, setChannels: setChannels }, !(loadedChannels === null || loadedChannels === void 0 ? void 0 : loadedChannels.length) ? (React__default["default"].createElement(EmptyStateIndicator$1, { listType: 'channel' })) : (React__default["default"].createElement(Paginator, { hasNextPage: hasNextPage, isLoading: channelsQueryState.queryInProgress === 'load-more', loadNextPage: loadNextPage }, renderChannels
49105
49143
  ? renderChannels(loadedChannels, renderChannel)
49106
49144
  : loadedChannels.map(function (channel) { return renderChannel(channel); }))))))));
49107
49145
  };
@@ -49116,7 +49154,7 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
49116
49154
 
49117
49155
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
49118
49156
 
49119
- window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version = '10.2.0';
49157
+ window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version = '10.3.1';
49120
49158
 
49121
49159
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useChat = function (_a) {
49122
49160
  var _b, _c;
@@ -49405,7 +49443,11 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
49405
49443
  }
49406
49444
  };
49407
49445
  var InfiniteScroll = function (props) {
49408
- var children = props.children, _a = props.element, element = _a === void 0 ? 'div' : _a, _b = props.hasMore, hasMore = _b === void 0 ? false : _b, _c = props.hasMoreNewer, hasMoreNewer = _c === void 0 ? false : _c, head = props.head, _d = props.initialLoad, initialLoad = _d === void 0 ? true : _d, _e = props.isLoading, isLoading = _e === void 0 ? false : _e, listenToScroll = props.listenToScroll, loader = props.loader, loadMore = props.loadMore, loadMoreNewer = props.loadMoreNewer, _f = props.threshold, threshold = _f === void 0 ? 250 : _f, _g = props.useCapture, useCapture = _g === void 0 ? false : _g, elementProps = __rest$4(props, ["children", "element", "hasMore", "hasMoreNewer", "head", "initialLoad", "isLoading", "listenToScroll", "loader", "loadMore", "loadMoreNewer", "threshold", "useCapture"]);
49446
+ var children = props.children, _a = props.element, element = _a === void 0 ? 'div' : _a, hasMore = props.hasMore, hasMoreNewer = props.hasMoreNewer, hasNextPage = props.hasNextPage, hasPreviousPage = props.hasPreviousPage, head = props.head, _b = props.initialLoad, initialLoad = _b === void 0 ? true : _b, isLoading = props.isLoading, listenToScroll = props.listenToScroll, loader = props.loader, loadMore = props.loadMore, loadMoreNewer = props.loadMoreNewer, loadNextPage = props.loadNextPage, loadPreviousPage = props.loadPreviousPage, _c = props.threshold, threshold = _c === void 0 ? 250 : _c, _d = props.useCapture, useCapture = _d === void 0 ? false : _d, elementProps = __rest$4(props, ["children", "element", "hasMore", "hasMoreNewer", "hasNextPage", "hasPreviousPage", "head", "initialLoad", "isLoading", "listenToScroll", "loader", "loadMore", "loadMoreNewer", "loadNextPage", "loadPreviousPage", "threshold", "useCapture"]);
49447
+ var loadNextPageFn = loadNextPage || loadMoreNewer;
49448
+ var loadPreviousPageFn = loadPreviousPage || loadMore;
49449
+ var hasNextPageFlag = hasNextPage || hasMoreNewer;
49450
+ var hasPreviousPageFlag = hasPreviousPage || hasMore;
49409
49451
  var scrollComponent = React.useRef();
49410
49452
  var scrollListener = React.useCallback(function () {
49411
49453
  var element = scrollComponent.current;
@@ -49419,13 +49461,30 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
49419
49461
  if (listenToScroll) {
49420
49462
  listenToScroll(offset, reverseOffset, threshold);
49421
49463
  }
49422
- if (reverseOffset < Number(threshold) && typeof loadMore === 'function' && hasMore) {
49423
- loadMore();
49464
+ if (reverseOffset < Number(threshold) &&
49465
+ typeof loadPreviousPageFn === 'function' &&
49466
+ hasPreviousPageFlag) {
49467
+ loadPreviousPageFn();
49424
49468
  }
49425
- if (offset < Number(threshold) && typeof loadMoreNewer === 'function' && hasMoreNewer) {
49426
- loadMoreNewer();
49469
+ if (offset < Number(threshold) && typeof loadNextPageFn === 'function' && hasNextPageFlag) {
49470
+ loadNextPageFn();
49427
49471
  }
49428
- }, [hasMore, hasMoreNewer, threshold, listenToScroll, loadMore, loadMoreNewer]);
49472
+ }, [
49473
+ hasPreviousPageFlag,
49474
+ hasNextPageFlag,
49475
+ threshold,
49476
+ listenToScroll,
49477
+ loadPreviousPageFn,
49478
+ loadNextPageFn,
49479
+ ]);
49480
+ React.useEffect(function () {
49481
+ deprecationAndReplacementWarning([
49482
+ [{ hasMoreNewer: hasMoreNewer }, { hasNextPage: hasNextPage }],
49483
+ [{ loadMoreNewer: loadMoreNewer }, { loadNextPage: loadNextPage }],
49484
+ [{ hasMore: hasMore }, { hasPreviousPage: hasPreviousPage }],
49485
+ [{ loadMore: loadMore }, { loadPreviousPage: loadPreviousPage }],
49486
+ ], 'InfiniteScroll');
49487
+ }, []);
49429
49488
  React.useEffect(function () {
49430
49489
  var _a;
49431
49490
  var scrollElement = (_a = scrollComponent.current) === null || _a === void 0 ? void 0 : _a.parentNode;
@@ -50566,7 +50625,7 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
50566
50625
  var showEmptyStateIndicator = elements.length === 0 && !threadList;
50567
50626
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
50568
50627
  React__default["default"].createElement(MessageListMainPanel, null,
50569
- 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', hasMore: props.hasMore, hasMoreNewer: props.hasMoreNewer, 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 })), loadMore: loadMore, loadMoreNewer: loadMoreNewer }, props.internalInfiniteScrollProps),
50628
+ 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),
50570
50629
  React__default["default"].createElement("ul", { className: 'str-chat__ul', ref: setUlElement }, elements),
50571
50630
  React__default["default"].createElement(TypingIndicator$1, { threadList: threadList }),
50572
50631
  React__default["default"].createElement("div", { key: 'bottom' }))))),