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
package/dist/index.cjs.js CHANGED
@@ -4281,7 +4281,7 @@ var MessageErrorIcon = function () { return (React__default["default"].createEle
4281
4281
 
4282
4282
  var useUserRole = function (message, onlySenderCanEdit, disableQuotedMessages) {
4283
4283
  var _a, _b, _c;
4284
- var _d = useChannelStateContext('useUserRole'), channel = _d.channel, _e = _d.channelCapabilities, channelCapabilities = _e === void 0 ? {} : _e, channelConfig = _d.channelConfig;
4284
+ var _d = useChannelStateContext('useUserRole'), channel = _d.channel, _e = _d.channelCapabilities, channelCapabilities = _e === void 0 ? {} : _e;
4285
4285
  var client = useChatContext('useUserRole').client;
4286
4286
  /**
4287
4287
  * @deprecated as it relies on `membership.role` check which is already deprecated and shouldn't be used anymore.
@@ -4307,11 +4307,11 @@ var useUserRole = function (message, onlySenderCanEdit, disableQuotedMessages) {
4307
4307
  (isMyMessage && channelCapabilities['update-own-message']);
4308
4308
  var canDelete = channelCapabilities['delete-any-message'] ||
4309
4309
  (isMyMessage && channelCapabilities['delete-own-message']);
4310
- var canFlag = !isMyMessage;
4311
- var canMute = !isMyMessage && (channelConfig === null || channelConfig === void 0 ? void 0 : channelConfig.mutes);
4310
+ var canFlag = !isMyMessage && channelCapabilities['flag-message'];
4311
+ var canMute = !isMyMessage && channelCapabilities['mute-channel'];
4312
4312
  var canQuote = !disableQuotedMessages && channelCapabilities['quote-message'];
4313
- var canReact = (channelConfig === null || channelConfig === void 0 ? void 0 : channelConfig.reactions) !== false && channelCapabilities['send-reaction'];
4314
- var canReply = (channelConfig === null || channelConfig === void 0 ? void 0 : channelConfig.replies) !== false && channelCapabilities['send-reply'];
4313
+ var canReact = channelCapabilities['send-reaction'];
4314
+ var canReply = channelCapabilities['send-reply'];
4315
4315
  return {
4316
4316
  canDelete: canDelete,
4317
4317
  canEdit: canEdit,
@@ -10596,12 +10596,27 @@ var UnMemoizedReactionsList = function (props) {
10596
10596
  */
10597
10597
  var ReactionsList = React__default["default"].memo(UnMemoizedReactionsList);
10598
10598
 
10599
+ // todo: merge with ReactionsList/ButtonWithTooltip
10600
+ // avoiding breaking change of replacing <span> with <button>
10601
+ var WithTooltip = function (_a) {
10602
+ var children = _a.children, onMouseEnter = _a.onMouseEnter, onMouseLeave = _a.onMouseLeave, title = _a.title;
10603
+ var _b = React.useState(null), referenceElement = _b[0], setReferenceElement = _b[1];
10604
+ var _c = useEnterLeaveHandlers({
10605
+ onMouseEnter: onMouseEnter,
10606
+ onMouseLeave: onMouseLeave,
10607
+ }), handleEnter = _c.handleEnter, handleLeave = _c.handleLeave, tooltipVisible = _c.tooltipVisible;
10608
+ var themeVersion = useChatContext('WithTooltip').themeVersion;
10609
+ return (React__default["default"].createElement(React__default["default"].Fragment, null,
10610
+ themeVersion === '2' && (React__default["default"].createElement(PopperTooltip, { referenceElement: referenceElement, visible: tooltipVisible }, title)),
10611
+ React__default["default"].createElement("span", { onMouseEnter: handleEnter, onMouseLeave: handleLeave, ref: setReferenceElement }, children)));
10612
+ };
10599
10613
  var UnMemoizedSimpleReactionsList = function (props) {
10600
10614
  var propHandleReaction = props.handleReaction, rest = __rest(props, ["handleReaction"]);
10601
10615
  var _a = useEmojiContext('SimpleReactionsList'), Emoji = _a.Emoji, emojiConfig = _a.emojiConfig;
10602
10616
  var contextHandleReaction = useMessageContext('SimpleReactionsList').handleReaction;
10603
10617
  var _b = useProcessReactions(__assign({ 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;
10604
10618
  var _c = React.useState(undefined), tooltipReactionType = _c[0], setTooltipReactionType = _c[1];
10619
+ var themeVersion = useChatContext('SimpleReactionsList').themeVersion;
10605
10620
  var handleReaction = propHandleReaction || contextHandleReaction;
10606
10621
  if (!latestReactions.length)
10607
10622
  return null;
@@ -10611,7 +10626,7 @@ var UnMemoizedSimpleReactionsList = function (props) {
10611
10626
  return latestReactions
10612
10627
  .map(function (reaction) {
10613
10628
  var _a, _b;
10614
- if (reaction.type === type) {
10629
+ if (type && reaction.type === type) {
10615
10630
  return ((_a = reaction.user) === null || _a === void 0 ? void 0 : _a.name) || ((_b = reaction.user) === null || _b === void 0 ? void 0 : _b.id);
10616
10631
  }
10617
10632
  return null;
@@ -10624,16 +10639,18 @@ var UnMemoizedSimpleReactionsList = function (props) {
10624
10639
  var _a;
10625
10640
  var emojiObject = getEmojiByReactionType(reactionType);
10626
10641
  var isOwnReaction = iHaveReactedWithReaction(reactionType);
10642
+ var tooltipVisible = emojiObject && tooltipReactionType === (emojiObject === null || emojiObject === void 0 ? void 0 : emojiObject.id);
10643
+ var tooltipContent = (_a = getUsersPerReactionType(tooltipReactionType)) === null || _a === void 0 ? void 0 : _a.join(', ');
10627
10644
  return emojiObject ? (React__default["default"].createElement("li", { className: clsx('str-chat__simple-reactions-list-item', {
10628
10645
  'str-chat__message-reaction-own': isOwnReaction,
10629
10646
  }), key: "".concat(emojiObject.id, "-").concat(i), onClick: function (event) { return handleReaction(reactionType, event); }, onKeyUp: function (event) { return handleReaction(reactionType, event); } },
10630
- React__default["default"].createElement("span", { onMouseEnter: function () { return setTooltipReactionType(reactionType); } },
10647
+ React__default["default"].createElement(WithTooltip, { onMouseEnter: function () { return setTooltipReactionType(reactionType); }, onMouseLeave: function () { return setTooltipReactionType(undefined); }, title: tooltipContent },
10631
10648
  React__default["default"].createElement(React.Suspense, { fallback: null },
10632
10649
  React__default["default"].createElement(Emoji, __assign({ data: emojiData, emoji: emojiObject, size: 13 }, additionalEmojiProps))),
10633
- "\u00A0"),
10634
- tooltipReactionType === emojiObject.id && (React__default["default"].createElement("div", { className: 'str-chat__simple-reactions-list-tooltip str-chat__tooltip' },
10635
- React__default["default"].createElement("div", { className: 'arrow' }), (_a = getUsersPerReactionType(tooltipReactionType)) === null || _a === void 0 ? void 0 :
10636
- _a.join(', '))))) : null;
10650
+ "\u00A0",
10651
+ tooltipVisible && themeVersion === '1' && (React__default["default"].createElement("div", { className: 'str-chat__simple-reactions-list-tooltip' },
10652
+ React__default["default"].createElement("div", { className: 'arrow' }),
10653
+ tooltipContent))))) : null;
10637
10654
  }),
10638
10655
  React__default["default"].createElement("li", { className: 'str-chat__simple-reactions-list-item--last-number' }, totalReactionCount))));
10639
10656
  };
@@ -11788,8 +11805,8 @@ var ChannelListMessenger = function (props) {
11788
11805
  if (loading) {
11789
11806
  return React__default["default"].createElement(LoadingIndicator, null);
11790
11807
  }
11791
- return (React__default["default"].createElement("div", { className: 'str-chat__channel-list-messenger' },
11792
- React__default["default"].createElement("div", { "aria-label": 'Channel list', className: 'str-chat__channel-list-messenger__main', role: 'listbox' }, children)));
11808
+ return (React__default["default"].createElement("div", { className: 'str-chat__channel-list-messenger str-chat__channel-list-messenger-react' },
11809
+ 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)));
11793
11810
  };
11794
11811
 
11795
11812
  var useChannelDeletedListener = function (setChannels, customHandler) {
@@ -12636,18 +12653,39 @@ var UnMemoizedEmptyStateIndicator = function (props) {
12636
12653
  };
12637
12654
  var EmptyStateIndicator = React__default["default"].memo(UnMemoizedEmptyStateIndicator);
12638
12655
 
12639
- var UnMemoizedLoadMoreButton = function (props) {
12640
- var _a = props.children, children = _a === void 0 ? 'Load more' : _a, onClick = props.onClick, refreshing = props.refreshing;
12656
+ var deprecationAndReplacementWarning = function (pairs, component) {
12657
+ pairs.forEach(function (data) {
12658
+ var _a = [
12659
+ Object.entries(data[0])[0],
12660
+ Object.entries(data[1])[0],
12661
+ ], _b = _a[0], oldName = _b[0], oldValue = _b[1], _c = _a[1], newName = _c[0], newValue = _c[1];
12662
+ if ((typeof oldValue !== 'undefined' && typeof newValue === 'undefined') ||
12663
+ (typeof oldValue !== 'undefined' && typeof newValue !== 'undefined')) {
12664
+ console.warn("[Deprecation notice (".concat(component, ")]: prefer using prop ").concat(newName, " instead of ").concat(oldName));
12665
+ }
12666
+ });
12667
+ };
12668
+
12669
+ var UnMemoizedLoadMoreButton = function (_a) {
12670
+ var _b = _a.children, children = _b === void 0 ? 'Load more' : _b, isLoading = _a.isLoading, onClick = _a.onClick, refreshing = _a.refreshing;
12671
+ var loading = typeof isLoading !== 'undefined' ? isLoading : refreshing;
12672
+ React.useEffect(function () {
12673
+ deprecationAndReplacementWarning([[{ refreshing: refreshing }, { isLoading: isLoading }]], 'LoadMoreButton');
12674
+ }, []);
12641
12675
  return (React__default["default"].createElement("div", { className: 'str-chat__load-more-button' },
12642
- 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)));
12676
+ 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)));
12643
12677
  };
12644
12678
  var LoadMoreButton = React__default["default"].memo(UnMemoizedLoadMoreButton);
12645
12679
 
12646
12680
  var UnMemoizedLoadMorePaginator = function (props) {
12647
- 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;
12681
+ 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;
12682
+ var loadingState = typeof isLoading !== 'undefined' ? isLoading : refreshing;
12683
+ React.useEffect(function () {
12684
+ deprecationAndReplacementWarning([[{ refreshing: refreshing }, { isLoading: isLoading }]], 'LoadMorePaginator');
12685
+ }, []);
12648
12686
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
12649
12687
  !reverse && children,
12650
- hasNextPage && React__default["default"].createElement(LoadMoreButton$1, { onClick: loadNextPage, refreshing: refreshing }),
12688
+ hasNextPage && React__default["default"].createElement(LoadMoreButton$1, { isLoading: loadingState, onClick: loadNextPage }),
12651
12689
  reverse && children));
12652
12690
  };
12653
12691
  var LoadMorePaginator = React__default["default"].memo(UnMemoizedLoadMorePaginator);
@@ -12762,7 +12800,7 @@ var UnMemoizedChannelList = function (props) {
12762
12800
  };
12763
12801
  return React__default["default"].createElement(ChannelPreview, __assign({}, previewProps));
12764
12802
  };
12765
- 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', {
12803
+ 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', {
12766
12804
  'str-chat--windows-flags': useImageFlagEmojisOnWindows && navigator.userAgent.match(/Win/),
12767
12805
  'str-chat-channel-list--open': navOpen,
12768
12806
  });
@@ -12770,7 +12808,7 @@ var UnMemoizedChannelList = function (props) {
12770
12808
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
12771
12809
  React__default["default"].createElement("div", { className: className, ref: channelListRef },
12772
12810
  showChannelSearch && (React__default["default"].createElement(ChannelSearch$1, __assign({ onSearch: onSearch, onSearchExit: onSearchExit, setChannels: setChannels }, additionalChannelSearchProps))),
12773
- 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
12811
+ 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
12774
12812
  ? renderChannels(loadedChannels, renderChannel)
12775
12813
  : loadedChannels.map(function (channel) { return renderChannel(channel); }))))))));
12776
12814
  };
@@ -12779,7 +12817,7 @@ var UnMemoizedChannelList = function (props) {
12779
12817
  */
12780
12818
  var ChannelList = React__default["default"].memo(UnMemoizedChannelList);
12781
12819
 
12782
- var version = '10.2.0';
12820
+ var version = '10.3.1';
12783
12821
 
12784
12822
  var useChat = function (_a) {
12785
12823
  var _b, _c;
@@ -13054,7 +13092,11 @@ var mousewheelListener = function (event) {
13054
13092
  }
13055
13093
  };
13056
13094
  var InfiniteScroll = function (props) {
13057
- 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(props, ["children", "element", "hasMore", "hasMoreNewer", "head", "initialLoad", "isLoading", "listenToScroll", "loader", "loadMore", "loadMoreNewer", "threshold", "useCapture"]);
13095
+ 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(props, ["children", "element", "hasMore", "hasMoreNewer", "hasNextPage", "hasPreviousPage", "head", "initialLoad", "isLoading", "listenToScroll", "loader", "loadMore", "loadMoreNewer", "loadNextPage", "loadPreviousPage", "threshold", "useCapture"]);
13096
+ var loadNextPageFn = loadNextPage || loadMoreNewer;
13097
+ var loadPreviousPageFn = loadPreviousPage || loadMore;
13098
+ var hasNextPageFlag = hasNextPage || hasMoreNewer;
13099
+ var hasPreviousPageFlag = hasPreviousPage || hasMore;
13058
13100
  var scrollComponent = React.useRef();
13059
13101
  var scrollListener = React.useCallback(function () {
13060
13102
  var element = scrollComponent.current;
@@ -13068,13 +13110,30 @@ var InfiniteScroll = function (props) {
13068
13110
  if (listenToScroll) {
13069
13111
  listenToScroll(offset, reverseOffset, threshold);
13070
13112
  }
13071
- if (reverseOffset < Number(threshold) && typeof loadMore === 'function' && hasMore) {
13072
- loadMore();
13113
+ if (reverseOffset < Number(threshold) &&
13114
+ typeof loadPreviousPageFn === 'function' &&
13115
+ hasPreviousPageFlag) {
13116
+ loadPreviousPageFn();
13073
13117
  }
13074
- if (offset < Number(threshold) && typeof loadMoreNewer === 'function' && hasMoreNewer) {
13075
- loadMoreNewer();
13118
+ if (offset < Number(threshold) && typeof loadNextPageFn === 'function' && hasNextPageFlag) {
13119
+ loadNextPageFn();
13076
13120
  }
13077
- }, [hasMore, hasMoreNewer, threshold, listenToScroll, loadMore, loadMoreNewer]);
13121
+ }, [
13122
+ hasPreviousPageFlag,
13123
+ hasNextPageFlag,
13124
+ threshold,
13125
+ listenToScroll,
13126
+ loadPreviousPageFn,
13127
+ loadNextPageFn,
13128
+ ]);
13129
+ React.useEffect(function () {
13130
+ deprecationAndReplacementWarning([
13131
+ [{ hasMoreNewer: hasMoreNewer }, { hasNextPage: hasNextPage }],
13132
+ [{ loadMoreNewer: loadMoreNewer }, { loadNextPage: loadNextPage }],
13133
+ [{ hasMore: hasMore }, { hasPreviousPage: hasPreviousPage }],
13134
+ [{ loadMore: loadMore }, { loadPreviousPage: loadPreviousPage }],
13135
+ ], 'InfiniteScroll');
13136
+ }, []);
13078
13137
  React.useEffect(function () {
13079
13138
  var _a;
13080
13139
  var scrollElement = (_a = scrollComponent.current) === null || _a === void 0 ? void 0 : _a.parentNode;
@@ -14203,7 +14262,7 @@ var MessageListWithContext = function (props) {
14203
14262
  var showEmptyStateIndicator = elements.length === 0 && !threadList;
14204
14263
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
14205
14264
  React__default["default"].createElement(MessageListMainPanel, null,
14206
- 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({ 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),
14265
+ 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({ 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),
14207
14266
  React__default["default"].createElement("ul", { className: 'str-chat__ul', ref: setUlElement }, elements),
14208
14267
  React__default["default"].createElement(TypingIndicator$1, { threadList: threadList }),
14209
14268
  React__default["default"].createElement("div", { key: 'bottom' }))))),