stream-chat-react 6.6.0 → 6.8.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.
Files changed (113) hide show
  1. package/README.md +1 -1
  2. package/dist/browser.full-bundle.js +2810 -336
  3. package/dist/browser.full-bundle.js.map +1 -1
  4. package/dist/browser.full-bundle.min.js +10 -3
  5. package/dist/browser.full-bundle.min.js.map +1 -1
  6. package/dist/components/AutoCompleteTextarea/Textarea.js +1 -1
  7. package/dist/components/Channel/Channel.d.ts +2 -0
  8. package/dist/components/Channel/Channel.d.ts.map +1 -1
  9. package/dist/components/Channel/Channel.js +17 -9
  10. package/dist/components/ChannelList/ChannelList.d.ts +3 -3
  11. package/dist/components/ChannelList/ChannelList.d.ts.map +1 -1
  12. package/dist/components/ChannelList/ChannelList.js +10 -6
  13. package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.d.ts +1 -1
  14. package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.d.ts.map +1 -1
  15. package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.js +3 -2
  16. package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.d.ts +1 -1
  17. package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.d.ts.map +1 -1
  18. package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.js +3 -3
  19. package/dist/components/ChannelPreview/ChannelPreview.d.ts.map +1 -1
  20. package/dist/components/ChannelPreview/ChannelPreview.js +10 -0
  21. package/dist/components/Chat/Chat.d.ts +3 -0
  22. package/dist/components/Chat/Chat.d.ts.map +1 -1
  23. package/dist/components/Chat/Chat.js +2 -1
  24. package/dist/components/Message/Message.d.ts.map +1 -1
  25. package/dist/components/Message/Message.js +1 -1
  26. package/dist/components/Message/MessageOptions.d.ts +3 -0
  27. package/dist/components/Message/MessageOptions.d.ts.map +1 -1
  28. package/dist/components/Message/MessageOptions.js +6 -6
  29. package/dist/components/Message/MessageSimple.d.ts.map +1 -1
  30. package/dist/components/Message/MessageSimple.js +4 -4
  31. package/dist/components/Message/MessageStatus.d.ts.map +1 -1
  32. package/dist/components/Message/MessageStatus.js +1 -1
  33. package/dist/components/Message/hooks/useReactionHandler.d.ts +1 -1
  34. package/dist/components/Message/hooks/useReactionHandler.d.ts.map +1 -1
  35. package/dist/components/Message/hooks/useReactionHandler.js +1 -5
  36. package/dist/components/Message/icons.d.ts +1 -0
  37. package/dist/components/Message/icons.d.ts.map +1 -1
  38. package/dist/components/Message/icons.js +2 -0
  39. package/dist/components/Message/types.d.ts +4 -0
  40. package/dist/components/Message/types.d.ts.map +1 -1
  41. package/dist/components/Message/utils.d.ts.map +1 -1
  42. package/dist/components/Message/utils.js +4 -0
  43. package/dist/components/MessageActions/MessageActions.d.ts +1 -0
  44. package/dist/components/MessageActions/MessageActions.d.ts.map +1 -1
  45. package/dist/components/MessageActions/MessageActions.js +6 -6
  46. package/dist/components/MessageInput/DefaultTriggerProvider.d.ts.map +1 -1
  47. package/dist/components/MessageInput/DefaultTriggerProvider.js +1 -0
  48. package/dist/components/MessageInput/MessageInput.d.ts +2 -0
  49. package/dist/components/MessageInput/MessageInput.d.ts.map +1 -1
  50. package/dist/components/MessageInput/hooks/useMessageInputState.d.ts +1 -0
  51. package/dist/components/MessageInput/hooks/useMessageInputState.d.ts.map +1 -1
  52. package/dist/components/MessageInput/hooks/useMessageInputState.js +6 -1
  53. package/dist/components/MessageInput/hooks/useMessageInputText.js +1 -1
  54. package/dist/components/MessageInput/hooks/useSubmitHandler.d.ts.map +1 -1
  55. package/dist/components/MessageInput/hooks/useSubmitHandler.js +2 -1
  56. package/dist/components/MessageInput/hooks/useUserTrigger.d.ts +1 -0
  57. package/dist/components/MessageInput/hooks/useUserTrigger.d.ts.map +1 -1
  58. package/dist/components/MessageInput/hooks/useUserTrigger.js +19 -13
  59. package/dist/components/MessageInput/hooks/utils.d.ts +15 -0
  60. package/dist/components/MessageInput/hooks/utils.d.ts.map +1 -0
  61. package/dist/components/MessageInput/hooks/utils.js +114 -0
  62. package/dist/components/MessageList/MessageList.d.ts.map +1 -1
  63. package/dist/components/MessageList/MessageList.js +5 -1
  64. package/dist/components/MessageList/VirtualizedMessageList.d.ts +2 -2
  65. package/dist/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
  66. package/dist/components/MessageList/VirtualizedMessageList.js +20 -12
  67. package/dist/components/MessageList/hooks/useMessageListElements.d.ts.map +1 -1
  68. package/dist/components/MessageList/hooks/useMessageListElements.js +4 -3
  69. package/dist/components/Thread/Thread.d.ts.map +1 -1
  70. package/dist/components/Thread/Thread.js +4 -1
  71. package/dist/components/UserItem/UserItem.js +1 -1
  72. package/dist/context/ChatContext.d.ts +4 -0
  73. package/dist/context/ChatContext.d.ts.map +1 -1
  74. package/dist/context/MessageContext.d.ts +4 -0
  75. package/dist/context/MessageContext.d.ts.map +1 -1
  76. package/dist/css/index.css +1 -7261
  77. package/dist/index.cjs.js +214 -83
  78. package/dist/index.cjs.js.map +1 -1
  79. package/dist/scss/ActionsBox.scss +2 -0
  80. package/dist/scss/Attachment.scss +4 -0
  81. package/dist/scss/AttachmentActions.scss +1 -0
  82. package/dist/scss/Audio.scss +2 -0
  83. package/dist/scss/Avatar.scss +2 -0
  84. package/dist/scss/Card.scss +6 -2
  85. package/dist/scss/ChannelHeader.scss +22 -3
  86. package/dist/scss/ChannelList.scss +5 -6
  87. package/dist/scss/ChannelSearch.scss +2 -4
  88. package/dist/scss/ChatDown.scss +1 -0
  89. package/dist/scss/DateSeparator.scss +3 -0
  90. package/dist/scss/EditMessageForm.scss +4 -0
  91. package/dist/scss/EventComponent.scss +4 -0
  92. package/dist/scss/Gallery.scss +7 -1
  93. package/dist/scss/LoadMoreButton.scss +1 -0
  94. package/dist/scss/Message.scss +82 -6
  95. package/dist/scss/MessageInput.scss +3 -0
  96. package/dist/scss/MessageInputFlat.scss +8 -1
  97. package/dist/scss/MessageList.scss +10 -0
  98. package/dist/scss/MessageRepliesCountButton.scss +1 -0
  99. package/dist/scss/MessageTeam.scss +3 -7
  100. package/dist/scss/Modal.scss +3 -0
  101. package/dist/scss/ReactionList.scss +18 -18
  102. package/dist/scss/ReactionSelector.scss +4 -0
  103. package/dist/scss/SimpleReactionsList.scss +2 -1
  104. package/dist/scss/Thread.scss +19 -0
  105. package/dist/scss/TypingIndicator.scss +7 -0
  106. package/dist/scss/VirtualMessage.scss +121 -6
  107. package/dist/scss/_base.scss +17 -2
  108. package/dist/version.d.ts +1 -1
  109. package/dist/version.js +1 -1
  110. package/package.json +9 -28
  111. package/CHANGELOG.md +0 -1520
  112. package/dist/css/index.js +0 -1
  113. package/dist/css/index.min.css +0 -1
@@ -32,12 +32,13 @@ var PREPEND_OFFSET = Math.pow(10, 7);
32
32
  var VirtualizedMessageListWithContext = function (props) {
33
33
  var channel = props.channel, closeReactionSelectorOnClick = props.closeReactionSelectorOnClick, customMessageRenderer = props.customMessageRenderer, defaultItemHeight = props.defaultItemHeight, _a = props.disableDateSeparator, disableDateSeparator = _a === void 0 ? true : _a, hasMore = props.hasMore, _b = props.hideDeletedMessages, hideDeletedMessages = _b === void 0 ? false : _b, _c = props.hideNewMessageSeparator, hideNewMessageSeparator = _c === void 0 ? false : _c, loadingMore = props.loadingMore, loadMore = props.loadMore, propMessage = props.Message, _d = props.messageLimit, messageLimit = _d === void 0 ? 100 : _d, messages = props.messages, _e = props.overscan, overscan = _e === void 0 ? 0 : _e,
34
34
  // TODO: refactor to scrollSeekPlaceHolderConfiguration and components.ScrollSeekPlaceholder, like the Virtuoso Component
35
- scrollSeekPlaceHolder = props.scrollSeekPlaceHolder, _f = props.scrollToLatestMessageOnFocus, scrollToLatestMessageOnFocus = _f === void 0 ? false : _f, _g = props.separateGiphyPreview, separateGiphyPreview = _g === void 0 ? false : _g, _h = props.shouldGroupByUser, shouldGroupByUser = _h === void 0 ? false : _h, _j = props.stickToBottomScrollBehavior, stickToBottomScrollBehavior = _j === void 0 ? 'smooth' : _j, userId = props.userId;
35
+ scrollSeekPlaceHolder = props.scrollSeekPlaceHolder, _f = props.scrollToLatestMessageOnFocus, scrollToLatestMessageOnFocus = _f === void 0 ? false : _f, _g = props.separateGiphyPreview, separateGiphyPreview = _g === void 0 ? false : _g, _h = props.shouldGroupByUser, shouldGroupByUser = _h === void 0 ? false : _h, _j = props.stickToBottomScrollBehavior, stickToBottomScrollBehavior = _j === void 0 ? 'smooth' : _j;
36
36
  var _k = useComponentContext(), _l = _k.DateSeparator, DateSeparator = _l === void 0 ? DefaultDateSeparator : _l, _m = _k.EmptyStateIndicator, EmptyStateIndicator = _m === void 0 ? DefaultEmptyStateIndicator : _m, _o = _k.GiphyPreviewMessage, GiphyPreviewMessage = _o === void 0 ? DefaultGiphyPreviewMessage : _o, _p = _k.LoadingIndicator, LoadingIndicator = _p === void 0 ? DefaultLoadingIndicator : _p, _q = _k.MessageNotification, MessageNotification = _q === void 0 ? DefaultMessageNotification : _q, _r = _k.MessageSystem, MessageSystem = _r === void 0 ? EventComponent : _r, _s = _k.TypingIndicator, TypingIndicator = _s === void 0 ? null : _s, _t = _k.VirtualMessage, contextMessage = _t === void 0 ? MessageSimple : _t;
37
+ var _u = useChatContext(), client = _u.client, customClasses = _u.customClasses;
37
38
  var t = useTranslationContext().t;
38
39
  var lastRead = useMemo(function () { var _a; return (_a = channel.lastRead) === null || _a === void 0 ? void 0 : _a.call(channel); }, [channel]);
39
40
  var MessageUIComponent = propMessage || contextMessage;
40
- var _u = useGiphyPreview(separateGiphyPreview), giphyPreviewMessage = _u.giphyPreviewMessage, setGiphyPreviewMessage = _u.setGiphyPreviewMessage;
41
+ var _v = useGiphyPreview(separateGiphyPreview), giphyPreviewMessage = _v.giphyPreviewMessage, setGiphyPreviewMessage = _v.setGiphyPreviewMessage;
41
42
  var processedMessages = useMemo(function () {
42
43
  if (typeof messages === 'undefined') {
43
44
  return [];
@@ -56,7 +57,7 @@ var VirtualizedMessageListWithContext = function (props) {
56
57
  messages: messages,
57
58
  separateGiphyPreview: separateGiphyPreview,
58
59
  setGiphyPreviewMessage: setGiphyPreviewMessage,
59
- userId: userId,
60
+ userId: client.userID || '',
60
61
  });
61
62
  }, [
62
63
  disableDateSeparator,
@@ -65,10 +66,10 @@ var VirtualizedMessageListWithContext = function (props) {
65
66
  lastRead,
66
67
  messages,
67
68
  messages === null || messages === void 0 ? void 0 : messages.length,
68
- userId,
69
+ client.userID,
69
70
  ]);
70
71
  var virtuoso = useRef(null);
71
- var _v = useNewMessageNotification(processedMessages, userId), atBottom = _v.atBottom, newMessagesNotification = _v.newMessagesNotification, setNewMessagesNotification = _v.setNewMessagesNotification;
72
+ var _w = useNewMessageNotification(processedMessages, client.userID), atBottom = _w.atBottom, newMessagesNotification = _w.newMessagesNotification, setNewMessagesNotification = _w.setNewMessagesNotification;
72
73
  var scrollToBottom = useCallback(function () {
73
74
  if (virtuoso.current) {
74
75
  virtuoso.current.scrollToIndex(processedMessages.length - 1);
@@ -87,7 +88,7 @@ var VirtualizedMessageListWithContext = function (props) {
87
88
  return function () { return window.removeEventListener('focus', scrollToBottomIfConfigured); };
88
89
  }, [scrollToBottomIfConfigured]);
89
90
  var numItemsPrepended = usePrependedMessagesCount(processedMessages);
90
- var shouldForceScrollToBottom = useShouldForceScrollToBottom(processedMessages, userId);
91
+ var shouldForceScrollToBottom = useShouldForceScrollToBottom(processedMessages, client.userID);
91
92
  var followOutput = function (isAtBottom) {
92
93
  if (shouldForceScrollToBottom()) {
93
94
  return isAtBottom ? stickToBottomScrollBehavior : 'auto';
@@ -96,7 +97,7 @@ var VirtualizedMessageListWithContext = function (props) {
96
97
  return isAtBottom ? stickToBottomScrollBehavior : false;
97
98
  };
98
99
  var messageRenderer = useCallback(function (messageList, virtuosoIndex) {
99
- var _a, _b;
100
+ var _a, _b, _c, _d, _e, _f, _g, _h;
100
101
  var streamMessageIndex = virtuosoIndex + numItemsPrepended - PREPEND_OFFSET;
101
102
  // use custom renderer supplied by client if present and skip the rest
102
103
  if (customMessageRenderer) {
@@ -114,7 +115,13 @@ var VirtualizedMessageListWithContext = function (props) {
114
115
  var groupedByUser = shouldGroupByUser &&
115
116
  streamMessageIndex > 0 &&
116
117
  ((_a = message.user) === null || _a === void 0 ? void 0 : _a.id) === ((_b = messageList[streamMessageIndex - 1].user) === null || _b === void 0 ? void 0 : _b.id);
117
- return (React.createElement(Message, { closeReactionSelectorOnClick: closeReactionSelectorOnClick, groupedByUser: groupedByUser, message: message, Message: MessageUIComponent }));
118
+ var firstOfGroup = shouldGroupByUser &&
119
+ streamMessageIndex > 0 &&
120
+ ((_c = message.user) === null || _c === void 0 ? void 0 : _c.id) !== ((_e = (_d = messageList[streamMessageIndex - 1]) === null || _d === void 0 ? void 0 : _d.user) === null || _e === void 0 ? void 0 : _e.id);
121
+ var endOfGroup = shouldGroupByUser &&
122
+ streamMessageIndex > 0 &&
123
+ ((_f = message.user) === null || _f === void 0 ? void 0 : _f.id) !== ((_h = (_g = messageList[streamMessageIndex + 1]) === null || _g === void 0 ? void 0 : _g.user) === null || _h === void 0 ? void 0 : _h.id);
124
+ return (React.createElement(Message, { closeReactionSelectorOnClick: closeReactionSelectorOnClick, customMessageActions: props.customMessageActions, endOfGroup: endOfGroup, firstOfGroup: firstOfGroup, groupedByUser: groupedByUser, message: message, Message: MessageUIComponent, messageActions: props.messageActions }));
118
125
  }, [customMessageRenderer, shouldGroupByUser, numItemsPrepended]);
119
126
  var virtuosoComponents = useMemo(function () {
120
127
  var EmptyPlaceholder = function () { return (React.createElement(React.Fragment, null, EmptyStateIndicator && React.createElement(EmptyStateIndicator, { listType: 'message' }))); };
@@ -122,8 +129,9 @@ var VirtualizedMessageListWithContext = function (props) {
122
129
  return loadingMore ? (React.createElement("div", { className: 'str-chat__virtual-list__loading' },
123
130
  React.createElement(LoadingIndicator, { size: 20 }))) : (React.createElement(React.Fragment, null));
124
131
  };
132
+ var virtualMessageClass = (customClasses === null || customClasses === void 0 ? void 0 : customClasses.virtualMessage) || 'str-chat__virtual-list-message-wrapper';
125
133
  // using 'display: inline-block' traps CSS margins of the item elements, preventing incorrect item measurements
126
- var Item = function (props) { return (React.createElement("div", __assign({}, props, { className: 'str-chat__virtual-list-message-wrapper' }))); };
134
+ var Item = function (props) { return React.createElement("div", __assign({}, props, { className: virtualMessageClass })); };
127
135
  var Footer = function () {
128
136
  return TypingIndicator ? React.createElement(TypingIndicator, { avatarSize: 24 }) : React.createElement(React.Fragment, null);
129
137
  };
@@ -147,8 +155,9 @@ var VirtualizedMessageListWithContext = function (props) {
147
155
  };
148
156
  if (!processedMessages)
149
157
  return null;
158
+ var virtualizedMessageListClass = (customClasses === null || customClasses === void 0 ? void 0 : customClasses.virtualizedMessageList) || 'str-chat__virtual-list';
150
159
  return (React.createElement(React.Fragment, null,
151
- React.createElement("div", { className: 'str-chat__virtual-list' },
160
+ React.createElement("div", { className: virtualizedMessageListClass },
152
161
  React.createElement(Virtuoso, __assign({ atBottomStateChange: atBottomStateChange, components: virtuosoComponents, firstItemIndex: PREPEND_OFFSET - numItemsPrepended, followOutput: followOutput, initialTopMostItemIndex: processedMessages.length ? processedMessages.length - 1 : 0, itemContent: function (i) { return messageRenderer(processedMessages, i); }, overscan: overscan, ref: virtuoso, startReached: startReached, style: { overflowX: 'hidden' }, totalCount: processedMessages.length }, (scrollSeekPlaceHolder ? { scrollSeek: scrollSeekPlaceHolder } : {}), (defaultItemHeight ? { defaultItemHeight: defaultItemHeight } : {}))),
153
162
  React.createElement("div", { className: 'str-chat__list-notifications' },
154
163
  React.createElement(MessageNotification, { onClick: scrollToBottom, showNotification: newMessagesNotification }, t('New Messages!')))),
@@ -163,7 +172,6 @@ var VirtualizedMessageListWithContext = function (props) {
163
172
  export function VirtualizedMessageList(props) {
164
173
  var loadMore = useChannelActionContext().loadMore;
165
174
  var _a = useChannelStateContext(), channel = _a.channel, hasMore = _a.hasMore, loadingMore = _a.loadingMore, contextMessages = _a.messages;
166
- var client = useChatContext().client;
167
175
  var messages = props.messages || contextMessages;
168
- return (React.createElement(VirtualizedMessageListWithContext, __assign({ channel: channel, hasMore: !!hasMore, loadingMore: !!loadingMore, loadMore: loadMore, messages: messages, userId: client.userID || '' }, props)));
176
+ return (React.createElement(VirtualizedMessageListWithContext, __assign({ channel: channel, hasMore: !!hasMore, loadingMore: !!loadingMore, loadMore: loadMore, messages: messages }, props)));
169
177
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useMessageListElements.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/useMessageListElements.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAmB,UAAU,EAAE,MAAM,UAAU,CAAC;AAUvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,aAAK,kBAAkB,GACnB,SAAS,GACT,aAAa,GACb,gBAAgB,GAChB,gBAAgB,GAChB,SAAS,GACT,QAAQ,GACR,YAAY,CAAC;AAEjB,aAAK,2BAA2B,CAC9B,EAAE,SAAS,qBAAqB,GAAG,qBAAqB,EACxD,EAAE,SAAS,kBAAkB,GAAG,kBAAkB,EAClD,EAAE,SAAS,kBAAkB,GAAG,kBAAkB,EAClD,EAAE,SAAS,gBAAgB,GAAG,gBAAgB,EAC9C,EAAE,SAAS,kBAAkB,GAAG,kBAAkB,EAClD,EAAE,SAAS,mBAAmB,GAAG,mBAAmB,EACpD,EAAE,SAAS,eAAe,CAAC,EAAE,CAAC,GAAG,eAAe,IAC9C;IACF,gBAAgB,EAAE,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IAC9D,oBAAoB,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACzF,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC/C,qBAAqB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;IACnF,iBAAiB,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC;CACpE,CAAC;AAEF,eAAO,MAAM,sBAAsB,6oBAwGlC,CAAC"}
1
+ {"version":3,"file":"useMessageListElements.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/useMessageListElements.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAmB,UAAU,EAAE,MAAM,UAAU,CAAC;AAUvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,aAAK,kBAAkB,GACnB,SAAS,GACT,aAAa,GACb,gBAAgB,GAChB,gBAAgB,GAChB,SAAS,GACT,QAAQ,GACR,YAAY,CAAC;AAEjB,aAAK,2BAA2B,CAC9B,EAAE,SAAS,qBAAqB,GAAG,qBAAqB,EACxD,EAAE,SAAS,kBAAkB,GAAG,kBAAkB,EAClD,EAAE,SAAS,kBAAkB,GAAG,kBAAkB,EAClD,EAAE,SAAS,gBAAgB,GAAG,gBAAgB,EAC9C,EAAE,SAAS,kBAAkB,GAAG,kBAAkB,EAClD,EAAE,SAAS,mBAAmB,GAAG,mBAAmB,EACpD,EAAE,SAAS,eAAe,CAAC,EAAE,CAAC,GAAG,eAAe,IAC9C;IACF,gBAAgB,EAAE,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IAC9D,oBAAoB,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACzF,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC/C,qBAAqB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;IACnF,iBAAiB,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC;CACpE,CAAC;AAEF,eAAO,MAAM,sBAAsB,6oBAyGlC,CAAC"}
@@ -21,8 +21,8 @@ import { useComponentContext } from '../../../context/ComponentContext';
21
21
  import { isDate } from '../../../context/TranslationContext';
22
22
  export var useMessageListElements = function (props) {
23
23
  var enrichedMessages = props.enrichedMessages, internalMessageProps = props.internalMessageProps, messageGroupStyles = props.messageGroupStyles, onMessageLoadCaptured = props.onMessageLoadCaptured, read = props.read, returnAllReadData = props.returnAllReadData, threadList = props.threadList;
24
- var client = useChatContext().client;
25
- var _a = useComponentContext(), _b = _a.DateSeparator, DateSeparator = _b === void 0 ? DefaultDateSeparator : _b, HeaderComponent = _a.HeaderComponent, _c = _a.MessageSystem, MessageSystem = _c === void 0 ? EventComponent : _c;
24
+ var _a = useChatContext(), client = _a.client, customClasses = _a.customClasses;
25
+ var _b = useComponentContext(), _c = _b.DateSeparator, DateSeparator = _c === void 0 ? DefaultDateSeparator : _c, HeaderComponent = _b.HeaderComponent, _d = _b.MessageSystem, MessageSystem = _d === void 0 ? EventComponent : _d;
26
26
  // get the readData, but only for messages submitted by the user themselves
27
27
  var readData = useLastReadData({
28
28
  messages: enrichedMessages,
@@ -49,7 +49,8 @@ export var useMessageListElements = function (props) {
49
49
  React.createElement(MessageSystem, { message: message })));
50
50
  }
51
51
  var groupStyles = messageGroupStyles[message.id] || '';
52
- return (React.createElement("li", { className: "str-chat__li str-chat__li--" + groupStyles, key: message.id || message.created_at, onLoadCapture: onMessageLoadCaptured },
52
+ var messageClass = (customClasses === null || customClasses === void 0 ? void 0 : customClasses.message) || "str-chat__li str-chat__li--" + groupStyles;
53
+ return (React.createElement("li", { className: messageClass, key: message.id || message.created_at, onLoadCapture: onMessageLoadCaptured },
53
54
  React.createElement(Message, __assign({ groupStyles: [groupStyles], lastReceivedId: lastReceivedId, message: message, readBy: readData[message.id] || [], threadList: threadList }, internalMessageProps))));
54
55
  });
55
56
  }, [
@@ -1 +1 @@
1
- {"version":3,"file":"Thread.d.ts","sourceRoot":"","sources":["../../../src/components/Thread/Thread.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Thread.d.ts","sourceRoot":"","sources":["../../../src/components/Thread/Thread.tsx"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ import { MessageList } from '../MessageList/MessageList';
18
18
  import { VirtualizedMessageList, } from '../MessageList/VirtualizedMessageList';
19
19
  import { useChannelActionContext } from '../../context/ChannelActionContext';
20
20
  import { useChannelStateContext } from '../../context/ChannelStateContext';
21
+ import { useChatContext } from '../../context/ChatContext';
21
22
  import { useComponentContext } from '../../context/ComponentContext';
22
23
  import { useTranslationContext } from '../../context/TranslationContext';
23
24
  /**
@@ -59,6 +60,7 @@ var ThreadInner = function (props) {
59
60
  var additionalMessageInputProps = props.additionalMessageInputProps, additionalMessageListProps = props.additionalMessageListProps, additionalParentMessageProps = props.additionalParentMessageProps, additionalVirtualizedMessageListProps = props.additionalVirtualizedMessageListProps, _a = props.autoFocus, autoFocus = _a === void 0 ? true : _a, _b = props.fullWidth, fullWidth = _b === void 0 ? false : _b, PropInput = props.Input, PropMessage = props.Message, virtualized = props.virtualized;
60
61
  var _c = useChannelStateContext(), thread = _c.thread, threadHasMore = _c.threadHasMore, threadLoadingMore = _c.threadLoadingMore, threadMessages = _c.threadMessages;
61
62
  var _d = useChannelActionContext(), closeThread = _d.closeThread, loadMoreThread = _d.loadMoreThread;
63
+ var customClasses = useChatContext().customClasses;
62
64
  var _e = useComponentContext(), ContextInput = _e.ThreadInput, ContextMessage = _e.Message, _f = _e.ThreadHeader, ThreadHeader = _f === void 0 ? DefaultThreadHeader : _f, _g = _e.ThreadStart, ThreadStart = _g === void 0 ? DefaultThreadStart : _g, _h = _e.VirtualMessage, VirtualMessage = _h === void 0 ? FixedHeightMessage : _h;
63
65
  var messageList = useRef(null);
64
66
  var ThreadInput = PropInput || (additionalMessageInputProps === null || additionalMessageInputProps === void 0 ? void 0 : additionalMessageInputProps.Input) || ContextInput || MessageInputSmall;
@@ -81,7 +83,8 @@ var ThreadInner = function (props) {
81
83
  }, [threadMessages === null || threadMessages === void 0 ? void 0 : threadMessages.length]);
82
84
  if (!thread)
83
85
  return null;
84
- return (React.createElement("div", { className: "str-chat__thread " + (fullWidth ? 'str-chat__thread--full' : '') },
86
+ var threadClass = (customClasses === null || customClasses === void 0 ? void 0 : customClasses.thread) || 'str-chat__thread';
87
+ return (React.createElement("div", { className: threadClass + " " + (fullWidth ? 'str-chat__thread--full' : '') },
85
88
  React.createElement(ThreadHeader, { closeThread: closeThread, thread: thread }),
86
89
  React.createElement("div", { className: 'str-chat__thread-list', ref: messageList },
87
90
  React.createElement(Message, __assign({ initialMessage: true, message: thread, Message: ThreadMessage || FallbackMessage, threadList: true }, additionalParentMessageProps)),
@@ -16,7 +16,7 @@ var UnMemoizedUserItem = function (props) {
16
16
  }));
17
17
  };
18
18
  return (React.createElement("div", { className: 'str-chat__user-item' },
19
- React.createElement(Avatar, { image: entity.image, size: 20 }),
19
+ React.createElement(Avatar, { image: entity.image, name: entity.name || entity.id, size: 20 }),
20
20
  React.createElement("span", { className: 'str-chat__user-item--name', "data-testid": 'user-item-name' }, renderName())));
21
21
  };
22
22
  export var UserItem = React.memo(UnMemoizedUserItem);
@@ -2,6 +2,8 @@ import React, { PropsWithChildren } from 'react';
2
2
  import type { Channel, Mute, StreamChat } from 'stream-chat';
3
3
  import type { Theme } from '../components/Chat/Chat';
4
4
  import type { DefaultAttachmentType, DefaultChannelType, DefaultCommandType, DefaultEventType, DefaultMessageType, DefaultReactionType, DefaultUserType, UnknownType } from '../types/types';
5
+ declare type CSSClasses = 'chat' | 'channel' | 'channelList' | 'message' | 'messageList' | 'thread' | 'threadList' | 'virtualMessage' | 'virtualizedMessageList';
6
+ export declare type CustomClasses = Partial<Record<CSSClasses, string>>;
5
7
  export declare type ChatContextValue<At extends DefaultAttachmentType = DefaultAttachmentType, Ch extends DefaultChannelType = DefaultChannelType, Co extends DefaultCommandType = DefaultCommandType, Ev extends DefaultEventType = DefaultEventType, Me extends DefaultMessageType = DefaultMessageType, Re extends DefaultReactionType = DefaultReactionType, Us extends DefaultUserType<Us> = DefaultUserType> = {
6
8
  client: StreamChat<At, Ch, Co, Ev, Me, Re, Us>;
7
9
  closeMobileNav: () => void;
@@ -14,6 +16,7 @@ export declare type ChatContextValue<At extends DefaultAttachmentType = DefaultA
14
16
  theme: Theme;
15
17
  useImageFlagEmojisOnWindows: boolean;
16
18
  channel?: Channel<At, Ch, Co, Ev, Me, Re, Us>;
19
+ customClasses?: CustomClasses;
17
20
  navOpen?: boolean;
18
21
  };
19
22
  export declare const ChatContext: React.Context<ChatContextValue<DefaultAttachmentType, DefaultChannelType, import("stream-chat").LiteralStringForUnion, UnknownType, DefaultMessageType, UnknownType, DefaultUserType<import("../types/types").DefaultUserTypeInternal>>>;
@@ -27,4 +30,5 @@ export declare const useChatContext: <At extends DefaultAttachmentType = Default
27
30
  * wrapped component must be provided as the first generic.
28
31
  */
29
32
  export declare const withChatContext: <P extends UnknownType, At extends DefaultAttachmentType = DefaultAttachmentType, Ch extends DefaultChannelType = DefaultChannelType, Co extends import("stream-chat").LiteralStringForUnion = import("stream-chat").LiteralStringForUnion, Ev extends UnknownType = UnknownType, Me extends DefaultMessageType = DefaultMessageType, Re extends UnknownType = UnknownType, Us extends DefaultUserType<Us> = DefaultUserType<import("../types/types").DefaultUserTypeInternal>>(Component: React.ComponentType<P>) => React.FC<Omit<P, keyof ChatContextValue<At, Ch, Co, Ev, Me, Re, Us>>>;
33
+ export {};
30
34
  //# sourceMappingURL=ChatContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatContext.d.ts","sourceRoot":"","sources":["../../src/context/ChatContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAc,MAAM,OAAO,CAAC;AAE7D,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,WAAW,EACZ,MAAM,gBAAgB,CAAC;AAExB,oBAAY,gBAAgB,CAC1B,EAAE,SAAS,qBAAqB,GAAG,qBAAqB,EACxD,EAAE,SAAS,kBAAkB,GAAG,kBAAkB,EAClD,EAAE,SAAS,kBAAkB,GAAG,kBAAkB,EAClD,EAAE,SAAS,gBAAgB,GAAG,gBAAgB,EAC9C,EAAE,SAAS,kBAAkB,GAAG,kBAAkB,EAClD,EAAE,SAAS,mBAAmB,GAAG,mBAAmB,EACpD,EAAE,SAAS,eAAe,CAAC,EAAE,CAAC,GAAG,eAAe,IAC9C;IACF,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,gBAAgB,EAAE,CAChB,UAAU,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAChD,QAAQ,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAC9C,KAAK,CAAC,EAAE,KAAK,CAAC,kBAAkB,KAC7B,IAAI,CAAC;IACV,KAAK,EAAE,KAAK,CAAC;IACb,2BAA2B,EAAE,OAAO,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,WAAW,0OAA8C,CAAC;AAEvE,eAAO,MAAM,YAAY;;kBAiBxB,CAAC;AAEF,eAAO,MAAM,cAAc,4eAQgE,CAAC;AAE5F;;;;GAIG;AACH,eAAO,MAAM,eAAe,6jBAqB3B,CAAC"}
1
+ {"version":3,"file":"ChatContext.d.ts","sourceRoot":"","sources":["../../src/context/ChatContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAc,MAAM,OAAO,CAAC;AAE7D,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,WAAW,EACZ,MAAM,gBAAgB,CAAC;AAExB,aAAK,UAAU,GACX,MAAM,GACN,SAAS,GACT,aAAa,GACb,SAAS,GACT,aAAa,GACb,QAAQ,GACR,YAAY,GACZ,gBAAgB,GAChB,wBAAwB,CAAC;AAE7B,oBAAY,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;AAEhE,oBAAY,gBAAgB,CAC1B,EAAE,SAAS,qBAAqB,GAAG,qBAAqB,EACxD,EAAE,SAAS,kBAAkB,GAAG,kBAAkB,EAClD,EAAE,SAAS,kBAAkB,GAAG,kBAAkB,EAClD,EAAE,SAAS,gBAAgB,GAAG,gBAAgB,EAC9C,EAAE,SAAS,kBAAkB,GAAG,kBAAkB,EAClD,EAAE,SAAS,mBAAmB,GAAG,mBAAmB,EACpD,EAAE,SAAS,eAAe,CAAC,EAAE,CAAC,GAAG,eAAe,IAC9C;IACF,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,gBAAgB,EAAE,CAChB,UAAU,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAChD,QAAQ,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAC9C,KAAK,CAAC,EAAE,KAAK,CAAC,kBAAkB,KAC7B,IAAI,CAAC;IACV,KAAK,EAAE,KAAK,CAAC;IACb,2BAA2B,EAAE,OAAO,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9C,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,WAAW,0OAA8C,CAAC;AAEvE,eAAO,MAAM,YAAY;;kBAiBxB,CAAC;AAEF,eAAO,MAAM,cAAc,4eAQgE,CAAC;AAE5F;;;;GAIG;AACH,eAAO,MAAM,eAAe,6jBAqB3B,CAAC"}
@@ -69,6 +69,10 @@ export declare type MessageContextValue<At extends DefaultAttachmentType = Defau
69
69
  additionalMessageInputProps?: MessageInputProps<At, Ch, Co, Ev, Me, Re, Us>;
70
70
  /** Object containing custom message actions and function handlers */
71
71
  customMessageActions?: CustomMessageActions<At, Ch, Co, Ev, Me, Re, Us>;
72
+ /** If true, the message is the last one in a group sent by a specific user (only used in the `VirtualizedMessageList`) */
73
+ endOfGroup?: boolean;
74
+ /** If true, the message is the first one in a group sent by a specific user (only used in the `VirtualizedMessageList`) */
75
+ firstOfGroup?: boolean;
72
76
  /** Override the default formatting of the date. This is a function that has access to the original date object, returns a string */
73
77
  formatDate?: (date: Date) => string;
74
78
  /** If true, group messages sent by each user (only used in the `VirtualizedMessageList`) */
@@ -1 +1 @@
1
- {"version":3,"file":"MessageContext.d.ts","sourceRoot":"","sources":["../../src/context/MessageContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessageContext.d.ts","sourceRoot":"","sources":["../../src/context/MessageContext.tsx"],"names":[],"mappings":"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"}