stream-chat-react 9.1.0 → 9.1.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.
Files changed (37) hide show
  1. package/dist/browser.full-bundle.js +167 -121
  2. package/dist/browser.full-bundle.js.map +1 -1
  3. package/dist/browser.full-bundle.min.js +4 -4
  4. package/dist/browser.full-bundle.min.js.map +1 -1
  5. package/dist/components/InfiniteScrollPaginator/InfiniteScroll.d.ts.map +1 -1
  6. package/dist/components/InfiniteScrollPaginator/InfiniteScroll.js +1 -4
  7. package/dist/components/MessageInput/EditMessageForm.d.ts.map +1 -1
  8. package/dist/components/MessageInput/EditMessageForm.js +1 -5
  9. package/dist/components/MessageList/MessageList.d.ts.map +1 -1
  10. package/dist/components/MessageList/MessageList.js +1 -3
  11. package/dist/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
  12. package/dist/components/MessageList/VirtualizedMessageList.js +2 -2
  13. package/dist/components/MessageList/hooks/usePrependMessagesCount.d.ts +1 -1
  14. package/dist/components/MessageList/hooks/usePrependMessagesCount.d.ts.map +1 -1
  15. package/dist/components/MessageList/hooks/usePrependMessagesCount.js +3 -2
  16. package/dist/components/MessageList/hooks/useScrollLocationLogic.d.ts.map +1 -1
  17. package/dist/components/MessageList/hooks/useScrollLocationLogic.js +2 -1
  18. package/dist/components/Modal/Modal.d.ts +1 -1
  19. package/dist/components/Modal/Modal.d.ts.map +1 -1
  20. package/dist/components/Modal/Modal.js +2 -0
  21. package/dist/css/index.css +1 -1
  22. package/dist/index.cjs.js +13 -23
  23. package/dist/index.cjs.js.map +1 -1
  24. package/dist/scss/Message.scss +1 -1
  25. package/dist/scss/MessageActions.scss +19 -0
  26. package/dist/scss/MessageList.scss +16 -7
  27. package/dist/scss/Modal.scss +1 -2
  28. package/dist/scss/Thread.scss +0 -1
  29. package/dist/scss/_variables.scss +2 -0
  30. package/dist/stories/hello.stories.d.ts +1 -0
  31. package/dist/stories/hello.stories.d.ts.map +1 -1
  32. package/dist/stories/hello.stories.js +10 -1
  33. package/dist/stories/navigate-long-message-lists.stories.d.ts.map +1 -1
  34. package/dist/stories/navigate-long-message-lists.stories.js +5 -3
  35. package/dist/version.d.ts +1 -1
  36. package/dist/version.js +1 -1
  37. package/package.json +5 -5
package/dist/index.cjs.js CHANGED
@@ -1046,6 +1046,8 @@ var Modal = function (props) {
1046
1046
  return function () { return document.removeEventListener('keydown', handleEscKey); };
1047
1047
  }, [onClose, open]);
1048
1048
  var openClasses = open ? 'str-chat__modal--open' : 'str-chat__modal--closed';
1049
+ if (!open)
1050
+ return null;
1049
1051
  return (React__default['default'].createElement("div", { className: "str-chat__modal " + openClasses, onClick: handleClick },
1050
1052
  React__default['default'].createElement("button", { className: 'str-chat__modal__close-button', ref: closeRef, title: 'Close' },
1051
1053
  t('Close'),
@@ -4769,11 +4771,7 @@ var EditMessageForm = function () {
4769
4771
  React__default['default'].createElement("span", { className: 'str-chat__input-fileupload' },
4770
4772
  React__default['default'].createElement(FileUploadIcon$1, null)))))),
4771
4773
  React__default['default'].createElement("div", null,
4772
- React__default['default'].createElement("button", { onClick: function () {
4773
- if (clearEditingState) {
4774
- clearEditingState();
4775
- }
4776
- } }, t('Cancel')),
4774
+ React__default['default'].createElement("button", { onClick: clearEditingState }, t('Cancel')),
4777
4775
  React__default['default'].createElement("button", { type: 'submit' }, t('Send'))))))));
4778
4776
  };
4779
4777
 
@@ -7678,7 +7676,7 @@ var UnMemoizedChannelList = function (props) {
7678
7676
  */
7679
7677
  var ChannelList = React__default['default'].memo(UnMemoizedChannelList);
7680
7678
 
7681
- var version = '9.1.0';
7679
+ var version = '9.1.3';
7682
7680
 
7683
7681
  var useChat = function (_a) {
7684
7682
  var _b, _c;
@@ -7990,10 +7988,7 @@ var InfiniteScroll = function (props) {
7990
7988
  var attributes = __assign(__assign({}, elementProps), { ref: function (element) {
7991
7989
  scrollComponent.current = element;
7992
7990
  } });
7993
- var childrenArray = [children];
7994
- if (isLoading && loader) {
7995
- childrenArray.unshift(loader);
7996
- }
7991
+ var childrenArray = [loader, children];
7997
7992
  return React__default['default'].createElement(element, attributes, childrenArray);
7998
7993
  };
7999
7994
 
@@ -8778,7 +8773,8 @@ function useMessageListScrollManager(params) {
8778
8773
  };
8779
8774
  }
8780
8775
 
8781
- var ResizeObserver = window.ResizeObserver || resizeObserver.ResizeObserver;
8776
+ var isBrowser = typeof window !== 'undefined';
8777
+ var ResizeObserver = (isBrowser && window.ResizeObserver) || resizeObserver.ResizeObserver;
8782
8778
  var useScrollLocationLogic = function (params) {
8783
8779
  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, ulElement = params.ulElement;
8784
8780
  var _c = React.useState(false), hasNewMessages = _c[0], setHasNewMessages = _c[1];
@@ -8869,12 +8865,6 @@ var useScrollLocationLogic = function (params) {
8869
8865
  };
8870
8866
  };
8871
8867
 
8872
- var UnMemoizedCenter = function (_a) {
8873
- var children = _a.children;
8874
- return (React__default['default'].createElement("div", { className: 'str-chat__list__center' }, children));
8875
- };
8876
- var Center = React__default['default'].memo(UnMemoizedCenter);
8877
-
8878
8868
  var UnMemoizedMessageNotification = function (props) {
8879
8869
  var children = props.children, onClick = props.onClick, _a = props.showNotification, showNotification = _a === void 0 ? true : _a;
8880
8870
  if (!showNotification)
@@ -9029,8 +9019,7 @@ var MessageListWithContext = function (props) {
9029
9019
  }
9030
9020
  }, [highlightedMessageId]);
9031
9021
  return (React__default['default'].createElement(React__default['default'].Fragment, null,
9032
- React__default['default'].createElement("div", { className: messageListClass + " " + threadListClass, onScroll: onScroll, ref: setListElement, tabIndex: 0 }, !elements.length ? (React__default['default'].createElement(EmptyStateIndicator$1, { listType: 'message' })) : (React__default['default'].createElement(InfiniteScroll, __assign({ className: 'str-chat__reverse-infinite-scroll', "data-testid": 'reverse-infinite-scroll', hasMore: props.hasMore, hasMoreNewer: props.hasMoreNewer, isLoading: props.loadingMore, loader: React__default['default'].createElement(Center, { key: 'loadingindicator' },
9033
- React__default['default'].createElement(LoadingIndicator$1, { size: 20 })), loadMore: loadMore, loadMoreNewer: loadMoreNewer }, props.internalInfiniteScrollProps),
9022
+ React__default['default'].createElement("div", { className: messageListClass + " " + threadListClass, onScroll: onScroll, ref: setListElement, tabIndex: 0 }, !elements.length ? (React__default['default'].createElement(EmptyStateIndicator$1, { listType: 'message' })) : (React__default['default'].createElement(InfiniteScroll, __assign({ className: 'str-chat__reverse-infinite-scroll', "data-testid": 'reverse-infinite-scroll', hasMore: props.hasMore, hasMoreNewer: props.hasMoreNewer, isLoading: props.loadingMore, loader: React__default['default'].createElement("div", { className: 'str-chat__list__loading', key: 'loadingindicator' }, props.loadingMore && React__default['default'].createElement(LoadingIndicator$1, { size: 20 })), loadMore: loadMore, loadMoreNewer: loadMoreNewer }, props.internalInfiniteScrollProps),
9034
9023
  React__default['default'].createElement("ul", { className: 'str-chat__ul', ref: setUlElement }, elements),
9035
9024
  React__default['default'].createElement(TypingIndicator$1, { threadList: threadList }),
9036
9025
  React__default['default'].createElement("div", { key: 'bottom' })))),
@@ -9106,9 +9095,10 @@ function useNewMessageNotification(messages, currentUserId, hasMoreNewer) {
9106
9095
  return { atBottom: atBottom, newMessagesNotification: newMessagesNotification, setNewMessagesNotification: setNewMessagesNotification };
9107
9096
  }
9108
9097
 
9109
- function usePrependedMessagesCount(messages) {
9098
+ function usePrependedMessagesCount(messages, hasDateSeparator) {
9110
9099
  var _a;
9111
- var currentFirstMessageId = (_a = messages === null || messages === void 0 ? void 0 : messages[0]) === null || _a === void 0 ? void 0 : _a.id;
9100
+ var firstRealMessageIndex = hasDateSeparator ? 1 : 0;
9101
+ var currentFirstMessageId = (_a = messages === null || messages === void 0 ? void 0 : messages[firstRealMessageIndex]) === null || _a === void 0 ? void 0 : _a.id;
9112
9102
  var firstMessageId = React.useRef(currentFirstMessageId);
9113
9103
  var earliestMessageId = React.useRef(currentFirstMessageId);
9114
9104
  var previousNumItemsPrepended = React.useRef(0);
@@ -9288,7 +9278,7 @@ var VirtualizedMessageListWithContext = function (props) {
9288
9278
  window.removeEventListener('blur', resetNewMessagesReceivedInBackground);
9289
9279
  };
9290
9280
  }, [scrollToBottomIfConfigured]);
9291
- var numItemsPrepended = usePrependedMessagesCount(processedMessages);
9281
+ var numItemsPrepended = usePrependedMessagesCount(processedMessages, !disableDateSeparator);
9292
9282
  /**
9293
9283
  * Logic to update the key of the virtuoso component when the list jumps to a new location.
9294
9284
  */
@@ -9296,7 +9286,7 @@ var VirtualizedMessageListWithContext = function (props) {
9296
9286
  var firstMessageId = React.useRef();
9297
9287
  React.useEffect(function () {
9298
9288
  var _a;
9299
- var continuousSet = messages && messages.find(function (message) { return message.id === firstMessageId.current; });
9289
+ var continuousSet = messages === null || messages === void 0 ? void 0 : messages.find(function (message) { return message.id === firstMessageId.current; });
9300
9290
  if (!continuousSet) {
9301
9291
  setMessageSetKey(+new Date());
9302
9292
  }