stream-chat-react 10.0.2 → 10.1.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.
@@ -48277,6 +48277,7 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
48277
48277
  var _a = useChatContext('usePaginatedChannels').channelsQueryState, setError = _a.setError, setQueryInProgress = _a.setQueryInProgress;
48278
48278
  var _b = React.useState([]), channels = _b[0], setChannels = _b[1];
48279
48279
  var _c = React.useState(true), hasNextPage = _c[0], setHasNextPage = _c[1];
48280
+ // memoize props
48280
48281
  var filterString = React.useMemo(function () { return JSON.stringify(filters); }, [filters]);
48281
48282
  var sortString = React.useMemo(function () { return JSON.stringify(sort); }, [sort]);
48282
48283
  var queryChannels = function (queryType) { return __awaiter$3(void 0, void 0, void 0, function () {
@@ -48690,6 +48691,7 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
48690
48691
  exitSearch();
48691
48692
  (_a = inputProps.inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
48692
48693
  }, []);
48694
+ var closeAppMenu = React.useCallback(function () { return setMenuIsOpen(false); }, []);
48693
48695
  return (React__default["default"].createElement("div", { className: 'str-chat__channel-search-bar', "data-testid": 'search-bar', ref: searchBarRef },
48694
48696
  inputIsFocused ? (React__default["default"].createElement(SearchBarButton, { className: 'str-chat__channel-search-bar-button--exit-search', onClick: exitSearch },
48695
48697
  React__default["default"].createElement(ExitSearchIcon, null))) : AppMenu ? (React__default["default"].createElement(SearchBarButton, { className: 'str-chat__channel-search-bar-button--menu', onClick: function () { return setMenuIsOpen(function (prev) { return !prev; }); } },
@@ -48701,7 +48703,7 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
48701
48703
  React__default["default"].createElement("button", { className: 'str-chat__channel-search-input--clear-button', "data-testid": 'clear-input-button', disabled: !inputProps.query, onClick: handleClearClick },
48702
48704
  React__default["default"].createElement(ClearInputIcon, null))),
48703
48705
  menuIsOpen && AppMenu && (React__default["default"].createElement("div", { ref: appMenuRef },
48704
- React__default["default"].createElement(AppMenu, null)))));
48706
+ React__default["default"].createElement(AppMenu, { close: closeAppMenu })))));
48705
48707
  };
48706
48708
 
48707
48709
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
@@ -48981,7 +48983,7 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
48981
48983
 
48982
48984
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
48983
48985
 
48984
- window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version = '10.0.2';
48986
+ window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version = '10.1.1';
48985
48987
 
48986
48988
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useChat = function (_a) {
48987
48989
  var _b, _c;
@@ -51792,16 +51794,17 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
51792
51794
  }
51793
51795
 
51794
51796
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};function usePrependedMessagesCount(messages, hasDateSeparator) {
51795
- var _a;
51796
51797
  var firstRealMessageIndex = hasDateSeparator ? 1 : 0;
51797
- var currentFirstMessageId = (_a = messages === null || messages === void 0 ? void 0 : messages[firstRealMessageIndex]) === null || _a === void 0 ? void 0 : _a.id;
51798
- var firstMessageId = React.useRef(currentFirstMessageId);
51799
- var earliestMessageId = React.useRef(currentFirstMessageId);
51798
+ var firstMessageId = React.useRef();
51799
+ var earliestMessageId = React.useRef();
51800
51800
  var previousNumItemsPrepended = React.useRef(0);
51801
51801
  var numItemsPrepended = React.useMemo(function () {
51802
+ var _a;
51802
51803
  if (!messages || !messages.length) {
51804
+ previousNumItemsPrepended.current = 0;
51803
51805
  return 0;
51804
51806
  }
51807
+ var currentFirstMessageId = (_a = messages === null || messages === void 0 ? void 0 : messages[firstRealMessageIndex]) === null || _a === void 0 ? void 0 : _a.id;
51805
51808
  // if no new messages were prepended, return early (same amount as before)
51806
51809
  if (currentFirstMessageId === earliestMessageId.current) {
51807
51810
  return previousNumItemsPrepended.current;
@@ -51818,8 +51821,9 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
51818
51821
  return i;
51819
51822
  }
51820
51823
  }
51821
- // if no match has found, we have jumped
51824
+ // if no match has found, we have jumped - reset the prepend item count.
51822
51825
  firstMessageId.current = currentFirstMessageId;
51826
+ previousNumItemsPrepended.current = 0;
51823
51827
  return 0;
51824
51828
  // TODO: there's a bug here, the messages prop is the same array instance (something mutates it)
51825
51829
  // that's why the second dependency is necessary
@@ -51931,7 +51935,9 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
51931
51935
  acc[message.id] = style;
51932
51936
  return acc;
51933
51937
  }, {});
51934
- }, [processedMessages.length, shouldGroupByUser]);
51938
+ },
51939
+ // processedMessages were incorrectly rebuilt with a new object identity at some point, hence the .length usage
51940
+ [processedMessages.length, shouldGroupByUser]);
51935
51941
  var virtuoso = React.useRef(null);
51936
51942
  var _x = useNewMessageNotification(processedMessages, client.userID, hasMoreNewer), atBottom = _x.atBottom, isMessageListScrolledToBottom = _x.isMessageListScrolledToBottom, newMessagesNotification = _x.newMessagesNotification, setIsMessageListScrolledToBottom = _x.setIsMessageListScrolledToBottom, setNewMessagesNotification = _x.setNewMessagesNotification;
51937
51943
  var scrollToBottom = React.useCallback(function () { return __awaiter$3(void 0, void 0, void 0, function () {
@@ -51955,6 +51961,7 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
51955
51961
  virtuoso,
51956
51962
  processedMessages,
51957
51963
  setNewMessagesNotification,
51964
+ // processedMessages were incorrectly rebuilt with a new object identity at some point, hence the .length usage
51958
51965
  processedMessages.length,
51959
51966
  hasMoreNewer,
51960
51967
  jumpToLatestMessage,
@@ -52047,8 +52054,9 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
52047
52054
  return Item;
52048
52055
  }, [
52049
52056
  customClasses === null || customClasses === void 0 ? void 0 : customClasses.virtualMessage,
52050
- Object.keys(messageGroupStyles),
52057
+ messageGroupStyles,
52051
52058
  numItemsPrepended,
52059
+ // processedMessages were incorrectly rebuilt with a new object identity at some point, hence the .length usage
52052
52060
  processedMessages.length,
52053
52061
  ]);
52054
52062
  var virtuosoComponents = React.useMemo(function () {
@@ -68826,6 +68834,7 @@ var StreamChatReact = (function (exports, React, streamChat, ReactDOM) {
68826
68834
  exports.SUPPORTED_VIDEO_FORMATS = SUPPORTED_VIDEO_FORMATS;
68827
68835
  exports.SafeAnchor = SafeAnchor;
68828
68836
  exports.ScrollToBottomButton = ScrollToBottomButton;
68837
+ exports.SearchBar = SearchBar;
68829
68838
  exports.SearchInput = SearchInput;
68830
68839
  exports.SearchResults = SearchResults;
68831
68840
  exports.SendButton = SendButton;