stream-chat-react 9.2.0 → 9.3.0

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.
@@ -39174,7 +39174,7 @@ var StreamChatReact = (function (exports, React, streamChat, reactDom) {
39174
39174
  }
39175
39175
  case 'loadMoreFinished': {
39176
39176
  var hasMore = action.hasMore, messages = action.messages;
39177
- return __assign$2(__assign$2({}, state), { hasMore: hasMore, loadingMore: false, messages: messages });
39177
+ return __assign$2(__assign$2({}, state), { hasMore: hasMore, loadingMore: false, messages: messages, suppressAutoscroll: false });
39178
39178
  }
39179
39179
  case 'loadMoreNewerFinished': {
39180
39180
  var hasMoreNewer = action.hasMoreNewer, messages = action.messages;
@@ -39195,7 +39195,7 @@ var StreamChatReact = (function (exports, React, streamChat, reactDom) {
39195
39195
  case 'setLoadingMore': {
39196
39196
  var loadingMore = action.loadingMore;
39197
39197
  // suppress the autoscroll behavior
39198
- return __assign$2(__assign$2({}, state), { loadingMore: loadingMore, suppressAutoscroll: true });
39198
+ return __assign$2(__assign$2({}, state), { loadingMore: loadingMore, suppressAutoscroll: loadingMore });
39199
39199
  }
39200
39200
  case 'setLoadingMoreNewer': {
39201
39201
  var loadingMoreNewer = action.loadingMoreNewer;
@@ -39809,15 +39809,24 @@ var StreamChatReact = (function (exports, React, streamChat, reactDom) {
39809
39809
  }
39810
39810
  return message.attachments.filter(function (item) { return item.type !== 'image'; });
39811
39811
  };
39812
- var getReadByTooltipText = function (users, t, client) {
39812
+ /**
39813
+ * Default Tooltip Username mapper implementation.
39814
+ *
39815
+ * @param user the user.
39816
+ */
39817
+ var mapToUserNameOrId = function (user) { return user.name || user.id; };
39818
+ var getReadByTooltipText = function (users, t, client, tooltipUserNameMapper) {
39813
39819
  var outStr = '';
39814
39820
  if (!t) {
39815
- throw new Error('`getReadByTooltipText was called, but translation function is not available`');
39821
+ throw new Error('getReadByTooltipText was called, but translation function is not available');
39822
+ }
39823
+ if (!tooltipUserNameMapper) {
39824
+ throw new Error('getReadByTooltipText was called, but tooltipUserNameMapper function is not available');
39816
39825
  }
39817
39826
  // first filter out client user, so restLength won't count it
39818
39827
  var otherUsers = users
39819
39828
  .filter(function (item) { return item && (client === null || client === void 0 ? void 0 : client.user) && item.id !== client.user.id; })
39820
- .map(function (item) { return item.name || item.id; });
39829
+ .map(tooltipUserNameMapper);
39821
39830
  var slicedArr = otherUsers.slice(0, 5);
39822
39831
  var restLength = otherUsers.length - slicedArr.length;
39823
39832
  if (slicedArr.length === 1) {
@@ -39836,7 +39845,7 @@ var StreamChatReact = (function (exports, React, streamChat, reactDom) {
39836
39845
  // example: "bob, joe, sam and 4 more"
39837
39846
  if (restLength === 0) {
39838
39847
  // mutate slicedArr to remove last user to display it separately
39839
- var lastUser = slicedArr.splice(slicedArr.length - 2, 1);
39848
+ var lastUser = slicedArr.splice(slicedArr.length - 1, 1);
39840
39849
  outStr = t('{{ commaSeparatedUsers }}, and {{ lastUser }}', {
39841
39850
  commaSeparatedUsers: slicedArr.join(', '),
39842
39851
  lastUser: lastUser,
@@ -40093,10 +40102,10 @@ var StreamChatReact = (function (exports, React, streamChat, reactDom) {
40093
40102
 
40094
40103
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var UnMemoizedMessageStatus = function (props) {
40095
40104
  var _a;
40096
- var propAvatar = props.Avatar, _b = props.messageType, messageType = _b === void 0 ? 'simple' : _b;
40105
+ var propAvatar = props.Avatar, _b = props.messageType, messageType = _b === void 0 ? 'simple' : _b, _c = props.tooltipUserNameMapper, tooltipUserNameMapper = _c === void 0 ? mapToUserNameOrId : _c;
40097
40106
  var client = useChatContext('MessageStatus').client;
40098
40107
  var contextAvatar = useComponentContext('MessageStatus').Avatar;
40099
- var _c = useMessageContext('MessageStatus'), isMyMessage = _c.isMyMessage, lastReceivedId = _c.lastReceivedId, message = _c.message, readBy = _c.readBy, threadList = _c.threadList;
40108
+ var _d = useMessageContext('MessageStatus'), isMyMessage = _d.isMyMessage, lastReceivedId = _d.lastReceivedId, message = _d.message, readBy = _d.readBy, threadList = _d.threadList;
40100
40109
  var t = useTranslationContext('MessageStatus').t;
40101
40110
  var Avatar$1 = propAvatar || contextAvatar || Avatar;
40102
40111
  if (!isMyMessage() || message.type === 'error') {
@@ -40111,7 +40120,7 @@ var StreamChatReact = (function (exports, React, streamChat, reactDom) {
40111
40120
  if ((readBy === null || readBy === void 0 ? void 0 : readBy.length) && !threadList && !justReadByMe) {
40112
40121
  var lastReadUser = readBy.filter(function (item) { var _a; return item.id !== ((_a = client.user) === null || _a === void 0 ? void 0 : _a.id); })[0];
40113
40122
  return (React__default['default'].createElement("span", { className: "str-chat__message-" + messageType + "-status", "data-testid": 'message-status-read-by' },
40114
- React__default['default'].createElement(Tooltip, null, getReadByTooltipText(readBy, t, client)),
40123
+ React__default['default'].createElement(Tooltip, null, getReadByTooltipText(readBy, t, client, tooltipUserNameMapper)),
40115
40124
  React__default['default'].createElement(Avatar$1, { image: lastReadUser.image, name: lastReadUser.name || lastReadUser.id, size: 15, user: lastReadUser }),
40116
40125
  readBy.length > 2 && (React__default['default'].createElement("span", { className: "str-chat__message-" + messageType + "-status-number", "data-testid": 'message-status-read-by-many' }, readBy.length - 1))));
40117
40126
  }
@@ -45141,7 +45150,7 @@ var StreamChatReact = (function (exports, React, streamChat, reactDom) {
45141
45150
 
45142
45151
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
45143
45152
 
45144
- window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version = '9.2.0';
45153
+ window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version = '9.3.0';
45145
45154
 
45146
45155
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useChat = function (_a) {
45147
45156
  var _b, _c;
@@ -65335,6 +65344,7 @@ var StreamChatReact = (function (exports, React, streamChat, reactDom) {
65335
65344
  exports.jaTranslations = jaTranslations;
65336
65345
  exports.koTranslations = koTranslations;
65337
65346
  exports.makeDateMessageId = makeDateMessageId;
65347
+ exports.mapToUserNameOrId = mapToUserNameOrId;
65338
65348
  exports.markDownRenderers = markDownRenderers$1;
65339
65349
  exports.matchMarkdownLinks = matchMarkdownLinks$1;
65340
65350
  exports.mentionsMarkdownPlugin = mentionsMarkdownPlugin;