stream-chat-react 11.16.0 → 11.17.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.
@@ -33471,6 +33471,8 @@ class ReactTextareaAutocomplete extends React__default["default"].Component {
33471
33471
  if (!this.textareaRef) return;
33472
33472
  const trigger = this.state.currentTrigger;
33473
33473
  if (!trigger || !this.state.data) {
33474
+ // https://legacy.reactjs.org/docs/legacy-event-pooling.html
33475
+ event.persist();
33474
33476
  // trigger a submit
33475
33477
  await this._replaceWord();
33476
33478
  if (this.textareaRef) {
@@ -55729,7 +55731,6 @@ var Message = function (props) {
55729
55731
  return (React__default["default"].createElement(MemoizedMessage, { additionalMessageInputProps: props.additionalMessageInputProps, autoscrollToBottom: props.autoscrollToBottom, canPin: canPin, customMessageActions: props.customMessageActions, disableQuotedMessages: props.disableQuotedMessages, endOfGroup: props.endOfGroup, firstOfGroup: props.firstOfGroup, formatDate: props.formatDate, groupedByUser: props.groupedByUser, groupStyles: props.groupStyles, handleAction: handleAction, handleDelete: handleDelete, handleFetchReactions: handleFetchReactions, handleFlag: handleFlag, handleMarkUnread: handleMarkUnread, handleMute: handleMute, handleOpenThread: handleOpenThread, handlePin: handlePin, handleReaction: handleReaction, handleRetry: handleRetry, highlighted: highlighted, initialMessage: props.initialMessage, isReactionEnabled: isReactionEnabled, lastReceivedId: props.lastReceivedId, message: message, Message: props.Message, messageActions: props.messageActions, messageListRect: props.messageListRect, mutes: mutes, onMentionsClickMessage: onMentionsClick, onMentionsHoverMessage: onMentionsHover, onReactionListClick: onReactionListClick, onUserClick: props.onUserClick, onUserHover: props.onUserHover, pinPermissions: props.pinPermissions, reactionSelectorRef: reactionSelectorRef, readBy: props.readBy, renderText: props.renderText, showDetailedReactions: showDetailedReactions, sortReactionDetails: sortReactionDetails, sortReactions: sortReactions, threadList: props.threadList, unsafeHTML: props.unsafeHTML, userRoles: userRoles }));
55730
55732
  };
55731
55733
 
55732
- /* eslint-disable no-continue */
55733
55734
  /**
55734
55735
  * processMessages - Transform the input message list according to config parameters
55735
55736
  *
@@ -55748,7 +55749,8 @@ var Message = function (props) {
55748
55749
  */
55749
55750
  var processMessages = function (params) {
55750
55751
  var _a, _b;
55751
- var enableDateSeparator = params.enableDateSeparator, hideDeletedMessages = params.hideDeletedMessages, hideNewMessageSeparator = params.hideNewMessageSeparator, lastRead = params.lastRead, messages = params.messages, setGiphyPreviewMessage = params.setGiphyPreviewMessage, userId = params.userId;
55752
+ var messages = params.messages, reviewProcessedMessage = params.reviewProcessedMessage, setGiphyPreviewMessage = params.setGiphyPreviewMessage, context = __rest(params, ["messages", "reviewProcessedMessage", "setGiphyPreviewMessage"]);
55753
+ var enableDateSeparator = context.enableDateSeparator, hideDeletedMessages = context.hideDeletedMessages, hideNewMessageSeparator = context.hideNewMessageSeparator, lastRead = context.lastRead, userId = context.userId;
55752
55754
  var unread = false;
55753
55755
  var ephemeralMessagePresent = false;
55754
55756
  var lastDateSeparator;
@@ -55763,6 +55765,7 @@ var processMessages = function (params) {
55763
55765
  setGiphyPreviewMessage(message);
55764
55766
  continue;
55765
55767
  }
55768
+ var changes = [];
55766
55769
  var messageDate = (message.created_at && isDate(message.created_at) && message.created_at.toDateString()) || '';
55767
55770
  var previousMessage = messages[i - 1];
55768
55771
  var prevMessageDate = messageDate;
@@ -55773,7 +55776,7 @@ var processMessages = function (params) {
55773
55776
  unread = (lastRead && message.created_at && new Date(lastRead) < message.created_at) || false;
55774
55777
  // do not show date separator for current user's messages
55775
55778
  if (enableDateSeparator && unread && ((_a = message.user) === null || _a === void 0 ? void 0 : _a.id) !== userId) {
55776
- newMessages.push({
55779
+ changes.push({
55777
55780
  customType: CUSTOM_MESSAGE_TYPE.date,
55778
55781
  date: message.created_at,
55779
55782
  id: makeDateMessageId(message.created_at),
@@ -55788,18 +55791,25 @@ var processMessages = function (params) {
55788
55791
  (hideDeletedMessages &&
55789
55792
  (previousMessage === null || previousMessage === void 0 ? void 0 : previousMessage.type) === 'deleted' &&
55790
55793
  lastDateSeparator !== messageDate)) &&
55791
- ((_b = newMessages === null || newMessages === void 0 ? void 0 : newMessages[newMessages.length - 1]) === null || _b === void 0 ? void 0 : _b.customType) !== CUSTOM_MESSAGE_TYPE.date // do not show two date separators in a row)
55794
+ ((_b = changes[changes.length - 1]) === null || _b === void 0 ? void 0 : _b.customType) !== CUSTOM_MESSAGE_TYPE.date // do not show two date separators in a row)
55792
55795
  ) {
55793
55796
  lastDateSeparator = messageDate;
55794
- newMessages.push({
55797
+ changes.push({
55795
55798
  customType: CUSTOM_MESSAGE_TYPE.date,
55796
55799
  date: message.created_at,
55797
55800
  id: makeDateMessageId(message.created_at),
55798
55801
  }, message);
55799
55802
  }
55800
55803
  else {
55801
- newMessages.push(message);
55802
- }
55804
+ changes.push(message);
55805
+ }
55806
+ newMessages.push.apply(newMessages, ((reviewProcessedMessage === null || reviewProcessedMessage === void 0 ? void 0 : reviewProcessedMessage({
55807
+ changes: changes,
55808
+ context: context,
55809
+ index: i,
55810
+ messages: messages,
55811
+ processedMessages: newMessages,
55812
+ })) || changes));
55803
55813
  }
55804
55814
  // clean up the giphy preview component state after a Cancel action
55805
55815
  if (setGiphyPreviewMessage && !ephemeralMessagePresent) {
@@ -45104,6 +45104,8 @@ var StreamChatReact = (function (exports, React$2, jsxRuntime, ReactDOM, streamC
45104
45104
  if (!this.textareaRef) return;
45105
45105
  const trigger = this.state.currentTrigger;
45106
45106
  if (!trigger || !this.state.data) {
45107
+ // https://legacy.reactjs.org/docs/legacy-event-pooling.html
45108
+ event.persist();
45107
45109
  // trigger a submit
45108
45110
  await this._replaceWord();
45109
45111
  if (this.textareaRef) {
@@ -67860,8 +67862,7 @@ bitsperframe: %d
67860
67862
  React__default["default"].createElement(Message, { message: message })));
67861
67863
  };
67862
67864
 
67863
- window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};/* eslint-disable no-continue */
67864
- /**
67865
+ window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};/**
67865
67866
  * processMessages - Transform the input message list according to config parameters
67866
67867
  *
67867
67868
  * Inserts date separators btw. messages created on different dates or before unread incoming messages. By default:
@@ -67879,7 +67880,8 @@ bitsperframe: %d
67879
67880
  */
67880
67881
  var processMessages = function (params) {
67881
67882
  var _a, _b;
67882
- var enableDateSeparator = params.enableDateSeparator, hideDeletedMessages = params.hideDeletedMessages, hideNewMessageSeparator = params.hideNewMessageSeparator, lastRead = params.lastRead, messages = params.messages, setGiphyPreviewMessage = params.setGiphyPreviewMessage, userId = params.userId;
67883
+ var messages = params.messages, reviewProcessedMessage = params.reviewProcessedMessage, setGiphyPreviewMessage = params.setGiphyPreviewMessage, context = __rest(params, ["messages", "reviewProcessedMessage", "setGiphyPreviewMessage"]);
67884
+ var enableDateSeparator = context.enableDateSeparator, hideDeletedMessages = context.hideDeletedMessages, hideNewMessageSeparator = context.hideNewMessageSeparator, lastRead = context.lastRead, userId = context.userId;
67883
67885
  var unread = false;
67884
67886
  var ephemeralMessagePresent = false;
67885
67887
  var lastDateSeparator;
@@ -67894,6 +67896,7 @@ bitsperframe: %d
67894
67896
  setGiphyPreviewMessage(message);
67895
67897
  continue;
67896
67898
  }
67899
+ var changes = [];
67897
67900
  var messageDate = (message.created_at && isDate(message.created_at) && message.created_at.toDateString()) || '';
67898
67901
  var previousMessage = messages[i - 1];
67899
67902
  var prevMessageDate = messageDate;
@@ -67904,7 +67907,7 @@ bitsperframe: %d
67904
67907
  unread = (lastRead && message.created_at && new Date(lastRead) < message.created_at) || false;
67905
67908
  // do not show date separator for current user's messages
67906
67909
  if (enableDateSeparator && unread && ((_a = message.user) === null || _a === void 0 ? void 0 : _a.id) !== userId) {
67907
- newMessages.push({
67910
+ changes.push({
67908
67911
  customType: CUSTOM_MESSAGE_TYPE.date,
67909
67912
  date: message.created_at,
67910
67913
  id: makeDateMessageId(message.created_at),
@@ -67919,18 +67922,25 @@ bitsperframe: %d
67919
67922
  (hideDeletedMessages &&
67920
67923
  (previousMessage === null || previousMessage === void 0 ? void 0 : previousMessage.type) === 'deleted' &&
67921
67924
  lastDateSeparator !== messageDate)) &&
67922
- ((_b = newMessages === null || newMessages === void 0 ? void 0 : newMessages[newMessages.length - 1]) === null || _b === void 0 ? void 0 : _b.customType) !== CUSTOM_MESSAGE_TYPE.date // do not show two date separators in a row)
67925
+ ((_b = changes[changes.length - 1]) === null || _b === void 0 ? void 0 : _b.customType) !== CUSTOM_MESSAGE_TYPE.date // do not show two date separators in a row)
67923
67926
  ) {
67924
67927
  lastDateSeparator = messageDate;
67925
- newMessages.push({
67928
+ changes.push({
67926
67929
  customType: CUSTOM_MESSAGE_TYPE.date,
67927
67930
  date: message.created_at,
67928
67931
  id: makeDateMessageId(message.created_at),
67929
67932
  }, message);
67930
67933
  }
67931
67934
  else {
67932
- newMessages.push(message);
67935
+ changes.push(message);
67933
67936
  }
67937
+ newMessages.push.apply(newMessages, ((reviewProcessedMessage === null || reviewProcessedMessage === void 0 ? void 0 : reviewProcessedMessage({
67938
+ changes: changes,
67939
+ context: context,
67940
+ index: i,
67941
+ messages: messages,
67942
+ processedMessages: newMessages,
67943
+ })) || changes));
67934
67944
  }
67935
67945
  // clean up the giphy preview component state after a Cancel action
67936
67946
  if (setGiphyPreviewMessage && !ephemeralMessagePresent) {
@@ -68089,7 +68099,7 @@ bitsperframe: %d
68089
68099
  }
68090
68100
 
68091
68101
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useEnrichedMessages = function (args) {
68092
- var channel = args.channel, disableDateSeparator = args.disableDateSeparator, groupStyles = args.groupStyles, headerPosition = args.headerPosition, hideDeletedMessages = args.hideDeletedMessages, hideNewMessageSeparator = args.hideNewMessageSeparator, messages = args.messages, noGroupByUser = args.noGroupByUser;
68102
+ var channel = args.channel, disableDateSeparator = args.disableDateSeparator, groupStyles = args.groupStyles, headerPosition = args.headerPosition, hideDeletedMessages = args.hideDeletedMessages, hideNewMessageSeparator = args.hideNewMessageSeparator, messages = args.messages, noGroupByUser = args.noGroupByUser, reviewProcessedMessage = args.reviewProcessedMessage;
68093
68103
  var client = useChatContext('useEnrichedMessages').client;
68094
68104
  var HeaderComponent = useComponentContext('useEnrichedMessages').HeaderComponent;
68095
68105
  var lastRead = React$2.useMemo(function () { var _a; return (_a = channel.lastRead) === null || _a === void 0 ? void 0 : _a.call(channel); }, [channel]);
@@ -68102,6 +68112,7 @@ bitsperframe: %d
68102
68112
  hideNewMessageSeparator: hideNewMessageSeparator,
68103
68113
  lastRead: lastRead,
68104
68114
  messages: messages,
68115
+ reviewProcessedMessage: reviewProcessedMessage,
68105
68116
  userId: client.userID || '',
68106
68117
  });
68107
68118
  if (HeaderComponent) {
@@ -68842,7 +68853,7 @@ bitsperframe: %d
68842
68853
  var _a;
68843
68854
  var channel = props.channel, channelUnreadUiState = props.channelUnreadUiState, _b = props.disableDateSeparator, disableDateSeparator = _b === void 0 ? false : _b, groupStyles = props.groupStyles, _c = props.hideDeletedMessages, hideDeletedMessages = _c === void 0 ? false : _c, _d = props.hideNewMessageSeparator, hideNewMessageSeparator = _d === void 0 ? false : _d, _e = props.internalInfiniteScrollProps, _f = _e === void 0 ? {} : _e, _g = _f.threshold, loadMoreScrollThreshold = _g === void 0 ? DEFAULT_LOAD_PAGE_SCROLL_THRESHOLD : _g, restInternalInfiniteScrollProps = __rest(_f, ["threshold"]), _h = props.messageActions, messageActions = _h === void 0 ? Object.keys(MESSAGE_ACTIONS) : _h, _j = props.messages, messages = _j === void 0 ? [] : _j, notifications = props.notifications, _k = props.noGroupByUser, noGroupByUser = _k === void 0 ? false : _k, _l = props.pinPermissions, pinPermissions = _l === void 0 ? defaultPinPermissions : _l, // @deprecated in favor of `channelCapabilities` - TODO: remove in next major release
68844
68855
  _m = props.returnAllReadData, // @deprecated in favor of `channelCapabilities` - TODO: remove in next major release
68845
- returnAllReadData = _m === void 0 ? false : _m, _o = props.threadList, threadList = _o === void 0 ? false : _o, _p = props.unsafeHTML, unsafeHTML = _p === void 0 ? false : _p, headerPosition = props.headerPosition, read = props.read, _q = props.renderMessages, renderMessages = _q === void 0 ? defaultRenderMessages : _q, _r = props.messageLimit, messageLimit = _r === void 0 ? DEFAULT_NEXT_CHANNEL_PAGE_SIZE : _r, loadMoreCallback = props.loadMore, loadMoreNewerCallback = props.loadMoreNewer, _s = props.hasMoreNewer, hasMoreNewer = _s === void 0 ? false : _s, showUnreadNotificationAlways = props.showUnreadNotificationAlways, suppressAutoscroll = props.suppressAutoscroll, highlightedMessageId = props.highlightedMessageId, _t = props.jumpToLatestMessage, jumpToLatestMessage = _t === void 0 ? function () { return Promise.resolve(); } : _t;
68856
+ returnAllReadData = _m === void 0 ? false : _m, _o = props.threadList, threadList = _o === void 0 ? false : _o, _p = props.unsafeHTML, unsafeHTML = _p === void 0 ? false : _p, headerPosition = props.headerPosition, read = props.read, _q = props.renderMessages, renderMessages = _q === void 0 ? defaultRenderMessages : _q, reviewProcessedMessage = props.reviewProcessedMessage, _r = props.messageLimit, messageLimit = _r === void 0 ? DEFAULT_NEXT_CHANNEL_PAGE_SIZE : _r, loadMoreCallback = props.loadMore, loadMoreNewerCallback = props.loadMoreNewer, _s = props.hasMoreNewer, hasMoreNewer = _s === void 0 ? false : _s, showUnreadNotificationAlways = props.showUnreadNotificationAlways, suppressAutoscroll = props.suppressAutoscroll, highlightedMessageId = props.highlightedMessageId, _t = props.jumpToLatestMessage, jumpToLatestMessage = _t === void 0 ? function () { return Promise.resolve(); } : _t;
68846
68857
  var _u = React__default["default"].useState(null), listElement = _u[0], setListElement = _u[1];
68847
68858
  var _v = React__default["default"].useState(null), ulElement = _v[0], setUlElement = _v[1];
68848
68859
  var customClasses = useChatContext('MessageList').customClasses;
@@ -68875,6 +68886,7 @@ bitsperframe: %d
68875
68886
  hideNewMessageSeparator: hideNewMessageSeparator,
68876
68887
  messages: messages,
68877
68888
  noGroupByUser: noGroupByUser,
68889
+ reviewProcessedMessage: reviewProcessedMessage,
68878
68890
  }), messageGroupStyles = _4.messageGroupStyles, enrichedMessages = _4.messages;
68879
68891
  var elements = useMessageListElements({
68880
68892
  channelUnreadUiState: channelUnreadUiState,
@@ -70594,7 +70606,7 @@ bitsperframe: %d
70594
70606
  // TODO: refactor to scrollSeekPlaceHolderConfiguration and components.ScrollSeekPlaceholder, like the Virtuoso Component
70595
70607
  _h = props.overscan,
70596
70608
  // TODO: refactor to scrollSeekPlaceHolderConfiguration and components.ScrollSeekPlaceholder, like the Virtuoso Component
70597
- overscan = _h === void 0 ? 0 : _h, read = props.read, _j = props.returnAllReadData, returnAllReadData = _j === void 0 ? false : _j, scrollSeekPlaceHolder = props.scrollSeekPlaceHolder, _k = props.scrollToLatestMessageOnFocus, scrollToLatestMessageOnFocus = _k === void 0 ? false : _k, _l = props.separateGiphyPreview, separateGiphyPreview = _l === void 0 ? false : _l, _m = props.shouldGroupByUser, shouldGroupByUser = _m === void 0 ? false : _m, showUnreadNotificationAlways = props.showUnreadNotificationAlways, sortReactionDetails = props.sortReactionDetails, sortReactions = props.sortReactions, _o = props.stickToBottomScrollBehavior, stickToBottomScrollBehavior = _o === void 0 ? 'smooth' : _o, suppressAutoscroll = props.suppressAutoscroll, threadList = props.threadList;
70609
+ overscan = _h === void 0 ? 0 : _h, read = props.read, _j = props.returnAllReadData, returnAllReadData = _j === void 0 ? false : _j, reviewProcessedMessage = props.reviewProcessedMessage, scrollSeekPlaceHolder = props.scrollSeekPlaceHolder, _k = props.scrollToLatestMessageOnFocus, scrollToLatestMessageOnFocus = _k === void 0 ? false : _k, _l = props.separateGiphyPreview, separateGiphyPreview = _l === void 0 ? false : _l, _m = props.shouldGroupByUser, shouldGroupByUser = _m === void 0 ? false : _m, showUnreadNotificationAlways = props.showUnreadNotificationAlways, sortReactionDetails = props.sortReactionDetails, sortReactions = props.sortReactions, _o = props.stickToBottomScrollBehavior, stickToBottomScrollBehavior = _o === void 0 ? 'smooth' : _o, suppressAutoscroll = props.suppressAutoscroll, threadList = props.threadList;
70598
70610
  var virtuosoComponentsFromProps = additionalVirtuosoProps.components, overridingVirtuosoProps = __rest(additionalVirtuosoProps, ["components"]);
70599
70611
  // Stops errors generated from react-virtuoso to bubble up
70600
70612
  // to Sentry or other tracking tools.
@@ -70626,6 +70638,7 @@ bitsperframe: %d
70626
70638
  hideNewMessageSeparator: hideNewMessageSeparator,
70627
70639
  lastRead: lastRead,
70628
70640
  messages: messages,
70641
+ reviewProcessedMessage: reviewProcessedMessage,
70629
70642
  setGiphyPreviewMessage: setGiphyPreviewMessage,
70630
70643
  userId: client.userID || '',
70631
70644
  });
@@ -73304,7 +73317,7 @@ bitsperframe: %d
73304
73317
 
73305
73318
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
73306
73319
 
73307
- window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version$1 = '11.16.0';
73320
+ window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version$1 = '11.17.0';
73308
73321
 
73309
73322
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useChat = function (_a) {
73310
73323
  var _b, _c;