stream-chat-react 8.2.0 → 9.1.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 (60) hide show
  1. package/dist/browser.full-bundle.js +700 -147
  2. package/dist/browser.full-bundle.js.map +1 -1
  3. package/dist/browser.full-bundle.min.js +3 -3
  4. package/dist/browser.full-bundle.min.js.map +1 -1
  5. package/dist/components/Channel/Channel.d.ts.map +1 -1
  6. package/dist/components/Channel/Channel.js +10 -4
  7. package/dist/components/Channel/channelState.js +1 -1
  8. package/dist/components/ChannelList/ChannelList.d.ts +2 -0
  9. package/dist/components/ChannelList/ChannelList.d.ts.map +1 -1
  10. package/dist/components/ChannelList/ChannelList.js +6 -4
  11. package/dist/components/ChannelList/ChannelListMessenger.d.ts +2 -2
  12. package/dist/components/ChannelList/ChannelListMessenger.d.ts.map +1 -1
  13. package/dist/components/ChannelList/ChannelListMessenger.js +1 -1
  14. package/dist/components/ChannelList/hooks/usePaginatedChannels.d.ts +0 -5
  15. package/dist/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +1 -1
  16. package/dist/components/ChannelList/hooks/usePaginatedChannels.js +10 -15
  17. package/dist/components/Chat/Chat.d.ts.map +1 -1
  18. package/dist/components/Chat/Chat.js +3 -0
  19. package/dist/components/Chat/hooks/useChannelsQueryState.d.ts +12 -0
  20. package/dist/components/Chat/hooks/useChannelsQueryState.d.ts.map +1 -0
  21. package/dist/components/Chat/hooks/useChannelsQueryState.js +11 -0
  22. package/dist/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -1
  23. package/dist/components/Chat/hooks/useCreateChatContext.js +13 -2
  24. package/dist/components/ChatDown/ChatDown.d.ts.map +1 -1
  25. package/dist/components/ChatDown/ChatDown.js +0 -2
  26. package/dist/components/InfiniteScrollPaginator/InfiniteScroll.d.ts.map +1 -1
  27. package/dist/components/InfiniteScrollPaginator/InfiniteScroll.js +0 -3
  28. package/dist/components/MessageInput/EditMessageForm.js +2 -2
  29. package/dist/components/MessageInput/UploadsPreview.d.ts.map +1 -1
  30. package/dist/components/MessageInput/UploadsPreview.js +3 -1
  31. package/dist/components/MessageInput/hooks/useAttachments.d.ts.map +1 -1
  32. package/dist/components/MessageInput/hooks/useAttachments.js +4 -4
  33. package/dist/components/MessageInput/hooks/useMessageInputState.d.ts +2 -2
  34. package/dist/components/MessageInput/hooks/useMessageInputState.d.ts.map +1 -1
  35. package/dist/components/MessageInput/hooks/useMessageInputState.js +24 -19
  36. package/dist/components/MessageInput/hooks/useSubmitHandler.d.ts.map +1 -1
  37. package/dist/components/MessageInput/hooks/useSubmitHandler.js +47 -19
  38. package/dist/components/MessageList/MessageList.d.ts.map +1 -1
  39. package/dist/components/MessageList/MessageList.js +13 -11
  40. package/dist/components/MessageList/hooks/useMessageListScrollManager.d.ts.map +1 -1
  41. package/dist/components/MessageList/hooks/useMessageListScrollManager.js +0 -3
  42. package/dist/components/MessageList/hooks/useScrollLocationLogic.d.ts +3 -1
  43. package/dist/components/MessageList/hooks/useScrollLocationLogic.d.ts.map +1 -1
  44. package/dist/components/MessageList/hooks/useScrollLocationLogic.js +42 -28
  45. package/dist/components/Modal/Modal.d.ts.map +1 -1
  46. package/dist/components/Modal/Modal.js +10 -15
  47. package/dist/context/ChannelActionContext.d.ts +2 -1
  48. package/dist/context/ChannelActionContext.d.ts.map +1 -1
  49. package/dist/context/ChatContext.d.ts +2 -0
  50. package/dist/context/ChatContext.d.ts.map +1 -1
  51. package/dist/index.cjs.js +186 -133
  52. package/dist/index.cjs.js.map +1 -1
  53. package/dist/stories/edit-message.stories.d.ts +3 -0
  54. package/dist/stories/edit-message.stories.d.ts.map +1 -0
  55. package/dist/stories/edit-message.stories.js +54 -0
  56. package/dist/types/types.d.ts +2 -1
  57. package/dist/types/types.d.ts.map +1 -1
  58. package/dist/version.d.ts +1 -1
  59. package/dist/version.js +1 -1
  60. package/package.json +4 -3
@@ -45,11 +45,23 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
45
45
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
46
  }
47
47
  };
48
+ var __rest = (this && this.__rest) || function (s, e) {
49
+ var t = {};
50
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
51
+ t[p] = s[p];
52
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
53
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
54
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
55
+ t[p[i]] = s[p[i]];
56
+ }
57
+ return t;
58
+ };
48
59
  var __spreadArray = (this && this.__spreadArray) || function (to, from) {
49
60
  for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
50
61
  to[j] = from[i];
51
62
  return to;
52
63
  };
64
+ import { useEffect, useRef } from 'react';
53
65
  import { useChannelActionContext } from '../../../context/ChannelActionContext';
54
66
  import { useChannelStateContext } from '../../../context/ChannelStateContext';
55
67
  import { useTranslationContext } from '../../../context/TranslationContext';
@@ -66,6 +78,14 @@ export var useSubmitHandler = function (props, state, dispatch, numberOfUploads)
66
78
  var channel = useChannelStateContext('useSubmitHandler').channel;
67
79
  var _a = useChannelActionContext('useSubmitHandler'), addNotification = _a.addNotification, editMessage = _a.editMessage, sendMessage = _a.sendMessage;
68
80
  var t = useTranslationContext('useSubmitHandler').t;
81
+ var textReference = useRef({ hasChanged: false, initialText: text });
82
+ useEffect(function () {
83
+ if (!textReference.current.initialText.length) {
84
+ textReference.current.initialText = text;
85
+ return;
86
+ }
87
+ textReference.current.hasChanged = text !== textReference.current.initialText;
88
+ }, [text]);
69
89
  var getAttachmentsFromUploads = function () {
70
90
  var imageAttachments = imageOrder
71
91
  .map(function (id) { return imageUploads[id]; })
@@ -74,25 +94,36 @@ export var useSubmitHandler = function (props, state, dispatch, numberOfUploads)
74
94
  var id = _a.id, url = _a.url;
75
95
  return self.every(function (upload) { return upload.id === id || upload.url !== url; });
76
96
  })
77
- .map(function (upload) {
97
+ .filter(function (upload) {
98
+ // keep the OG attachments in case the text has not changed as the BE
99
+ // won't re-enrich the message when only attachments have changed
100
+ if (!textReference.current.hasChanged)
101
+ return true;
102
+ return !upload.og_scrape_url;
103
+ })
104
+ .map(function (_a) {
105
+ var name = _a.file.name, url = _a.url, rest = __rest(_a, ["file", "url"]);
78
106
  return ({
79
- fallback: upload.file.name,
80
- image_url: upload.url,
107
+ author_name: rest.author_name,
108
+ fallback: name,
109
+ image_url: url,
110
+ og_scrape_url: rest.og_scrape_url,
111
+ text: rest.text,
112
+ title: rest.title,
113
+ title_link: rest.title_link,
81
114
  type: 'image',
82
115
  });
83
116
  });
84
117
  var fileAttachments = fileOrder
85
118
  .map(function (id) { return fileUploads[id]; })
86
119
  .filter(function (upload) { return upload.state !== 'failed'; })
87
- .map(function (upload) {
88
- return ({
89
- asset_url: upload.url,
90
- file_size: upload.file.size,
91
- mime_type: upload.file.type,
92
- title: upload.file.name,
93
- type: getAttachmentTypeFromMime(upload.file.type || ''),
94
- });
95
- });
120
+ .map(function (upload) { return ({
121
+ asset_url: upload.url,
122
+ file_size: upload.file.size,
123
+ mime_type: upload.file.type,
124
+ title: upload.file.name,
125
+ type: getAttachmentTypeFromMime(upload.file.type || ''),
126
+ }); });
96
127
  return __spreadArray(__spreadArray(__spreadArray([], attachments), imageAttachments), fileAttachments);
97
128
  };
98
129
  var handleSubmit = function (event, customMessageData) { return __awaiter(void 0, void 0, void 0, function () {
@@ -135,8 +166,7 @@ export var useSubmitHandler = function (props, state, dispatch, numberOfUploads)
135
166
  return [4 /*yield*/, editMessage(__assign(__assign({}, message), updatedMessage))];
136
167
  case 2:
137
168
  _a.sent();
138
- if (clearEditingState)
139
- clearEditingState();
169
+ clearEditingState === null || clearEditingState === void 0 ? void 0 : clearEditingState();
140
170
  dispatch({ type: 'clear' });
141
171
  return [3 /*break*/, 4];
142
172
  case 3:
@@ -169,11 +199,9 @@ export var useSubmitHandler = function (props, state, dispatch, numberOfUploads)
169
199
  getNewText: function () { return text; },
170
200
  type: 'setText',
171
201
  });
172
- if (actualMentionedUsers.length) {
173
- actualMentionedUsers.forEach(function (user) {
174
- dispatch({ type: 'addMentionedUser', user: user });
175
- });
176
- }
202
+ actualMentionedUsers === null || actualMentionedUsers === void 0 ? void 0 : actualMentionedUsers.forEach(function (user) {
203
+ dispatch({ type: 'addMentionedUser', user: user });
204
+ });
177
205
  addNotification(t('Send message request failed'), 'error');
178
206
  return [3 /*break*/, 13];
179
207
  case 13: return [2 /*return*/];
@@ -1 +1 @@
1
- {"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/MessageList.tsx"],"names":[],"mappings":"AAUA,OAAO,EACL,yBAAyB,EAE1B,MAAM,oCAAoC,CAAC;AAQ5C,OAAO,EAAkB,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAKhG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAsLnE,aAAK,qBAAqB,GACtB,6BAA6B,GAC7B,8BAA8B,GAC9B,sBAAsB,GACtB,uBAAuB,GACvB,YAAY,GACZ,mCAAmC,GACnC,iCAAiC,GACjC,mCAAmC,GACnC,8BAA8B,GAC9B,gCAAgC,GAChC,gCAAgC,GAChC,SAAS,GACT,gBAAgB,GAChB,mBAAmB,GACnB,iBAAiB,GACjB,iBAAiB,GACjB,aAAa,GACb,aAAa,GACb,YAAY,GACZ,gBAAgB,GAChB,YAAY,GACZ,kBAAkB,GAClB,YAAY,CAAC;AAEjB,oBAAY,gBAAgB,CAC1B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,qBAAqB,CAAC,CAAC,GAAG;IAC3E,8FAA8F;IAC9F,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,6DAA6D;IAC7D,WAAW,CAAC,EAAE,CACZ,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAC1C,eAAe,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAClD,WAAW,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAC9C,aAAa,EAAE,OAAO,KACnB,UAAU,CAAC;IAChB,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qIAAqI;IACrI,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,mLAAmL;IACnL,2BAA2B,CAAC,EAAE,mBAAmB,CAAC;IAClD,iHAAiH;IACjH,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,8DAA8D;IAC9D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,4LAA4L;IAC5L,QAAQ,CAAC,EAAE,yBAAyB,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,6LAA6L;IAC7L,aAAa,CAAC,EAAE,yBAAyB,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACnF,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yKAAyK;IACzK,QAAQ,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAC/C,qDAAqD;IACrD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qHAAqH;IACrH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,6GAA6G;IAC7G,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uDAAuD;IACvD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,gJA2BvB,CAAC"}
1
+ {"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/MessageList.tsx"],"names":[],"mappings":"AAUA,OAAO,EACL,yBAAyB,EAE1B,MAAM,oCAAoC,CAAC;AAQ5C,OAAO,EAAkB,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAKhG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AA6LnE,aAAK,qBAAqB,GACtB,6BAA6B,GAC7B,8BAA8B,GAC9B,sBAAsB,GACtB,uBAAuB,GACvB,YAAY,GACZ,mCAAmC,GACnC,iCAAiC,GACjC,mCAAmC,GACnC,8BAA8B,GAC9B,gCAAgC,GAChC,gCAAgC,GAChC,SAAS,GACT,gBAAgB,GAChB,mBAAmB,GACnB,iBAAiB,GACjB,iBAAiB,GACjB,aAAa,GACb,aAAa,GACb,YAAY,GACZ,gBAAgB,GAChB,YAAY,GACZ,kBAAkB,GAClB,YAAY,CAAC;AAEjB,oBAAY,gBAAgB,CAC1B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,qBAAqB,CAAC,CAAC,GAAG;IAC3E,8FAA8F;IAC9F,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,6DAA6D;IAC7D,WAAW,CAAC,EAAE,CACZ,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAC1C,eAAe,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAClD,WAAW,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAC9C,aAAa,EAAE,OAAO,KACnB,UAAU,CAAC;IAChB,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qIAAqI;IACrI,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,mLAAmL;IACnL,2BAA2B,CAAC,EAAE,mBAAmB,CAAC;IAClD,iHAAiH;IACjH,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,8DAA8D;IAC9D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,4LAA4L;IAC5L,QAAQ,CAAC,EAAE,yBAAyB,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,6LAA6L;IAC7L,aAAa,CAAC,EAAE,yBAAyB,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACnF,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yKAAyK;IACzK,QAAQ,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAC/C,qDAAqD;IACrD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qHAAqH;IACrH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,6GAA6G;IAC7G,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uDAAuD;IACvD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,gJA2BvB,CAAC"}
@@ -76,15 +76,19 @@ var MessageListWithContext = function (props) {
76
76
  var channel = props.channel, _a = props.disableDateSeparator, disableDateSeparator = _a === void 0 ? false : _a, groupStyles = props.groupStyles, _b = props.hideDeletedMessages, hideDeletedMessages = _b === void 0 ? false : _b, _c = props.hideNewMessageSeparator, hideNewMessageSeparator = _c === void 0 ? false : _c, _d = props.messageActions, messageActions = _d === void 0 ? Object.keys(MESSAGE_ACTIONS) : _d, _e = props.messages, messages = _e === void 0 ? [] : _e, notifications = props.notifications, _f = props.noGroupByUser, noGroupByUser = _f === void 0 ? false : _f, _g = props.pinPermissions, pinPermissions = _g === void 0 ? defaultPinPermissions : _g, // @deprecated in favor of `channelCapabilities` - TODO: remove in next major release
77
77
  _h = props.returnAllReadData, // @deprecated in favor of `channelCapabilities` - TODO: remove in next major release
78
78
  returnAllReadData = _h === void 0 ? false : _h, _j = props.threadList, threadList = _j === void 0 ? false : _j, _k = props.unsafeHTML, unsafeHTML = _k === void 0 ? false : _k, headerPosition = props.headerPosition, read = props.read, _l = props.messageLimit, messageLimit = _l === void 0 ? 100 : _l, loadMoreCallback = props.loadMore, loadMoreNewerCallback = props.loadMoreNewer, _m = props.hasMoreNewer, hasMoreNewer = _m === void 0 ? false : _m, suppressAutoscroll = props.suppressAutoscroll, highlightedMessageId = props.highlightedMessageId, _o = props.jumpToLatestMessage, jumpToLatestMessage = _o === void 0 ? function () { return Promise.resolve(); } : _o;
79
+ var _p = React.useState(null), listElement = _p[0], setListElement = _p[1];
80
+ var _q = React.useState(null), ulElement = _q[0], setUlElement = _q[1];
79
81
  var customClasses = useChatContext('MessageList').customClasses;
80
- var _p = useComponentContext('MessageList'), _q = _p.EmptyStateIndicator, EmptyStateIndicator = _q === void 0 ? DefaultEmptyStateIndicator : _q, _r = _p.MessageListNotifications, MessageListNotifications = _r === void 0 ? DefaultMessageListNotifications : _r, _s = _p.MessageNotification, MessageNotification = _s === void 0 ? DefaultMessageNotification : _s, _t = _p.TypingIndicator, TypingIndicator = _t === void 0 ? DefaultTypingIndicator : _t;
81
- var _u = useScrollLocationLogic({
82
+ var _r = useComponentContext('MessageList'), _s = _r.EmptyStateIndicator, EmptyStateIndicator = _s === void 0 ? DefaultEmptyStateIndicator : _s, _t = _r.MessageListNotifications, MessageListNotifications = _t === void 0 ? DefaultMessageListNotifications : _t, _u = _r.MessageNotification, MessageNotification = _u === void 0 ? DefaultMessageNotification : _u, _v = _r.TypingIndicator, TypingIndicator = _v === void 0 ? DefaultTypingIndicator : _v;
83
+ var _w = useScrollLocationLogic({
82
84
  hasMoreNewer: hasMoreNewer,
85
+ listElement: listElement,
83
86
  messages: messages,
84
87
  scrolledUpThreshold: props.scrolledUpThreshold,
85
88
  suppressAutoscroll: suppressAutoscroll,
86
- }), hasNewMessages = _u.hasNewMessages, listRef = _u.listRef, onMessageLoadCaptured = _u.onMessageLoadCaptured, onScroll = _u.onScroll, scrollToBottom = _u.scrollToBottom, wrapperRect = _u.wrapperRect;
87
- var _v = useEnrichedMessages({
89
+ ulElement: ulElement,
90
+ }), hasNewMessages = _w.hasNewMessages, onMessageLoadCaptured = _w.onMessageLoadCaptured, onScroll = _w.onScroll, scrollToBottom = _w.scrollToBottom, wrapperRect = _w.wrapperRect;
91
+ var _x = useEnrichedMessages({
88
92
  channel: channel,
89
93
  disableDateSeparator: disableDateSeparator,
90
94
  groupStyles: groupStyles,
@@ -93,7 +97,7 @@ var MessageListWithContext = function (props) {
93
97
  hideNewMessageSeparator: hideNewMessageSeparator,
94
98
  messages: messages,
95
99
  noGroupByUser: noGroupByUser,
96
- }), messageGroupStyles = _v.messageGroupStyles, enrichedMessages = _v.messages;
100
+ }), messageGroupStyles = _x.messageGroupStyles, enrichedMessages = _x.messages;
97
101
  var elements = useMessageListElements({
98
102
  enrichedMessages: enrichedMessages,
99
103
  internalMessageProps: {
@@ -128,7 +132,7 @@ var MessageListWithContext = function (props) {
128
132
  returnAllReadData: returnAllReadData,
129
133
  threadList: threadList,
130
134
  });
131
- var _w = useComponentContext('useInternalInfiniteScrollProps').LoadingIndicator, LoadingIndicator = _w === void 0 ? DefaultLoadingIndicator : _w;
135
+ var _y = useComponentContext('useInternalInfiniteScrollProps').LoadingIndicator, LoadingIndicator = _y === void 0 ? DefaultLoadingIndicator : _y;
132
136
  var messageListClass = (customClasses === null || customClasses === void 0 ? void 0 : customClasses.messageList) || 'str-chat__list';
133
137
  var threadListClass = threadList ? (customClasses === null || customClasses === void 0 ? void 0 : customClasses.threadList) || 'str-chat__list--thread' : '';
134
138
  var loadMore = React.useCallback(function () {
@@ -157,18 +161,16 @@ var MessageListWithContext = function (props) {
157
161
  }
158
162
  });
159
163
  }); }, [scrollToBottom, hasMoreNewer]);
160
- var ulRef = React.useRef(null);
161
164
  React.useLayoutEffect(function () {
162
- var _a;
163
165
  if (highlightedMessageId) {
164
- var element = (_a = ulRef.current) === null || _a === void 0 ? void 0 : _a.querySelector("[data-message-id='" + highlightedMessageId + "']");
166
+ var element = ulElement === null || ulElement === void 0 ? void 0 : ulElement.querySelector("[data-message-id='" + highlightedMessageId + "']");
165
167
  element === null || element === void 0 ? void 0 : element.scrollIntoView({ block: 'center' });
166
168
  }
167
169
  }, [highlightedMessageId]);
168
170
  return (React.createElement(React.Fragment, null,
169
- React.createElement("div", { className: messageListClass + " " + threadListClass, onScroll: onScroll, ref: listRef }, !elements.length ? (React.createElement(EmptyStateIndicator, { listType: 'message' })) : (React.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.createElement(Center, { key: 'loadingindicator' },
171
+ React.createElement("div", { className: messageListClass + " " + threadListClass, onScroll: onScroll, ref: setListElement, tabIndex: 0 }, !elements.length ? (React.createElement(EmptyStateIndicator, { listType: 'message' })) : (React.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.createElement(Center, { key: 'loadingindicator' },
170
172
  React.createElement(LoadingIndicator, { size: 20 })), loadMore: loadMore, loadMoreNewer: loadMoreNewer }, props.internalInfiniteScrollProps),
171
- React.createElement("ul", { className: 'str-chat__ul', ref: ulRef }, elements),
173
+ React.createElement("ul", { className: 'str-chat__ul', ref: setUlElement }, elements),
172
174
  React.createElement(TypingIndicator, { threadList: threadList }),
173
175
  React.createElement("div", { key: 'bottom' })))),
174
176
  React.createElement(MessageListNotifications, { hasNewMessages: hasNewMessages, isNotAtLatestMessageSet: hasMoreNewer, MessageNotification: MessageNotification, notifications: notifications, scrollToBottom: scrollToBottomFromNotification })));
@@ -1 +1 @@
1
- {"version":3,"file":"useMessageListScrollManager.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/useMessageListScrollManager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,oBAAY,iBAAiB,GAAG;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,oBAAY,iCAAiC,CAC3C,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,QAAQ,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAC9C,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;IACjD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,EAChF,MAAM,EAAE,iCAAiC,CAAC,kBAAkB,CAAC,oBAqErC,MAAM,UAG/B"}
1
+ {"version":3,"file":"useMessageListScrollManager.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/useMessageListScrollManager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,oBAAY,iBAAiB,GAAG;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,oBAAY,iCAAiC,CAC3C,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,QAAQ,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAC9C,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;IACjD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,EAChF,MAAM,EAAE,iCAAiC,CAAC,kBAAkB,CAAC,oBAiErC,MAAM,UAG/B"}
@@ -9,9 +9,6 @@ export function useMessageListScrollManager(params) {
9
9
  });
10
10
  var messages = useRef();
11
11
  var scrollTop = useRef(0);
12
- useEffect(function () {
13
- scrollToBottom();
14
- }, []);
15
12
  useEffect(function () {
16
13
  var _a, _b, _c;
17
14
  var prevMeasures = measures.current;
@@ -3,14 +3,16 @@ import type { StreamMessage } from '../../../context/ChannelStateContext';
3
3
  import type { DefaultStreamChatGenerics } from '../../../types/types';
4
4
  export declare type UseScrollLocationLogicParams<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
5
5
  hasMoreNewer: boolean;
6
+ listElement: HTMLDivElement | null;
6
7
  suppressAutoscroll: boolean;
8
+ ulElement: HTMLUListElement | null;
7
9
  currentUserId?: string;
8
10
  messages?: StreamMessage<StreamChatGenerics>[];
9
11
  scrolledUpThreshold?: number;
10
12
  };
11
13
  export declare const useScrollLocationLogic: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(params: UseScrollLocationLogicParams<StreamChatGenerics>) => {
12
14
  hasNewMessages: boolean;
13
- listRef: React.RefObject<HTMLDivElement>;
15
+ listElement: HTMLDivElement | null;
14
16
  onMessageLoadCaptured: () => void;
15
17
  onScroll: (event: React.UIEvent<HTMLDivElement>) => void;
16
18
  scrollToBottom: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useScrollLocationLogic.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/useScrollLocationLogic.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAI9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,oBAAY,4BAA4B,CACtC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,YAAY,EAAE,OAAO,CAAC;IACtB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAC/C,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;sBAuDvB,aAAa,CAAC,cAAc,CAAC;;;CAqCxC,CAAC"}
1
+ {"version":3,"file":"useScrollLocationLogic.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/hooks/useScrollLocationLogic.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoE,MAAM,OAAO,CAAC;AAKzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAItE,oBAAY,4BAA4B,CACtC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,cAAc,GAAG,IAAI,CAAC;IACnC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAC/C,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;sBAoFvB,aAAa,CAAC,cAAc,CAAC;;;CAqCxC,CAAC"}
@@ -1,48 +1,62 @@
1
- import { useCallback, useLayoutEffect, useRef, useState } from 'react';
1
+ import { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';
2
+ import { ResizeObserver as Polyfill } from '@juggle/resize-observer';
2
3
  import { useMessageListScrollManager } from './useMessageListScrollManager';
4
+ var ResizeObserver = window.ResizeObserver || Polyfill;
3
5
  export var useScrollLocationLogic = function (params) {
4
- var _a = params.messages, messages = _a === void 0 ? [] : _a, _b = params.scrolledUpThreshold, scrolledUpThreshold = _b === void 0 ? 200 : _b, hasMoreNewer = params.hasMoreNewer, suppressAutoscroll = params.suppressAutoscroll;
6
+ 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;
5
7
  var _c = useState(false), hasNewMessages = _c[0], setHasNewMessages = _c[1];
6
8
  var _d = useState(), wrapperRect = _d[0], setWrapperRect = _d[1];
7
9
  var closeToBottom = useRef(false);
8
10
  var closeToTop = useRef(false);
9
- var listRef = useRef(null);
11
+ var scrollCounter = useRef({ autoScroll: 0, scroll: 0 });
10
12
  var scrollToBottom = useCallback(function () {
11
- var _a, _b;
12
- if (!((_a = listRef.current) === null || _a === void 0 ? void 0 : _a.scrollTo) || hasMoreNewer || suppressAutoscroll) {
13
+ if (!(listElement === null || listElement === void 0 ? void 0 : listElement.scrollTo) || hasMoreNewer || suppressAutoscroll) {
13
14
  return;
14
15
  }
15
- (_b = listRef.current) === null || _b === void 0 ? void 0 : _b.scrollTo({
16
- top: listRef.current.scrollHeight,
16
+ scrollCounter.current.autoScroll += 1;
17
+ listElement.scrollTo({
18
+ top: listElement.scrollHeight,
17
19
  });
18
20
  setHasNewMessages(false);
19
- // this is hacky and unreliable, but that was the current implementation so not breaking it
20
- setTimeout(function () {
21
- var _a;
22
- (_a = listRef.current) === null || _a === void 0 ? void 0 : _a.scrollTo({
23
- top: listRef.current.scrollHeight,
24
- });
25
- }, 200);
26
- }, [listRef, hasMoreNewer, suppressAutoscroll]);
21
+ }, [listElement, hasMoreNewer, suppressAutoscroll]);
22
+ useEffect(function () {
23
+ if (!listElement)
24
+ return;
25
+ var observer = new ResizeObserver(scrollToBottom);
26
+ var cancelObserverOnUserScroll = function () {
27
+ scrollCounter.current.scroll += 1;
28
+ var userScrolled = scrollCounter.current.autoScroll < scrollCounter.current.scroll;
29
+ if (ulElement && userScrolled) {
30
+ observer.unobserve(ulElement);
31
+ listElement === null || listElement === void 0 ? void 0 : listElement.removeEventListener('scroll', cancelObserverOnUserScroll);
32
+ }
33
+ };
34
+ if (ulElement) {
35
+ observer.observe(ulElement);
36
+ }
37
+ listElement.addEventListener('scroll', cancelObserverOnUserScroll);
38
+ return function () {
39
+ observer.disconnect();
40
+ if (listElement) {
41
+ listElement.removeEventListener('scroll', cancelObserverOnUserScroll);
42
+ }
43
+ };
44
+ }, [ulElement, scrollToBottom]);
27
45
  useLayoutEffect(function () {
28
- if (listRef === null || listRef === void 0 ? void 0 : listRef.current) {
29
- setWrapperRect(listRef.current.getBoundingClientRect());
46
+ if (listElement) {
47
+ setWrapperRect(listElement.getBoundingClientRect());
30
48
  scrollToBottom();
31
49
  }
32
- }, [listRef, hasMoreNewer]);
50
+ }, [listElement, hasMoreNewer]);
33
51
  var updateScrollTop = useMessageListScrollManager({
34
52
  messages: messages,
35
53
  onScrollBy: function (scrollBy) {
36
- var _a;
37
- (_a = listRef.current) === null || _a === void 0 ? void 0 : _a.scrollBy({ top: scrollBy });
38
- },
39
- scrollContainerMeasures: function () {
40
- var _a, _b;
41
- return ({
42
- offsetHeight: ((_a = listRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight) || 0,
43
- scrollHeight: ((_b = listRef.current) === null || _b === void 0 ? void 0 : _b.scrollHeight) || 0,
44
- });
54
+ listElement === null || listElement === void 0 ? void 0 : listElement.scrollBy({ top: scrollBy });
45
55
  },
56
+ scrollContainerMeasures: function () { return ({
57
+ offsetHeight: (listElement === null || listElement === void 0 ? void 0 : listElement.offsetHeight) || 0,
58
+ scrollHeight: (listElement === null || listElement === void 0 ? void 0 : listElement.scrollHeight) || 0,
59
+ }); },
46
60
  scrolledUpThreshold: scrolledUpThreshold,
47
61
  scrollToBottom: scrollToBottom,
48
62
  showNewMessages: function () { return setHasNewMessages(true); },
@@ -70,7 +84,7 @@ export var useScrollLocationLogic = function (params) {
70
84
  }, [closeToTop, closeToBottom, scrollToBottom]);
71
85
  return {
72
86
  hasNewMessages: hasNewMessages,
73
- listRef: listRef,
87
+ listElement: listElement,
74
88
  onMessageLoadCaptured: onMessageLoadCaptured,
75
89
  onScroll: onScroll,
76
90
  scrollToBottom: scrollToBottom,
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAqB,MAAM,OAAO,CAAC;AAIpE,oBAAY,UAAU,GAAG;IACvB,2CAA2C;IAC3C,IAAI,EAAE,OAAO,CAAC;IACd,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,kBAAkB,KAAK,IAAI,CAAC,CAAC;CACrE,CAAC;AAEF,eAAO,MAAM,KAAK,UAAW,kBAAkB,UAAU,CAAC,gBAoDzD,CAAC"}
1
+ {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAqB,MAAM,OAAO,CAAC;AAIpE,oBAAY,UAAU,GAAG;IACvB,2CAA2C;IAC3C,IAAI,EAAE,OAAO,CAAC;IACd,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,kBAAkB,KAAK,IAAI,CAAC,CAAC;CACrE,CAAC;AAEF,eAAO,MAAM,KAAK,UAAW,kBAAkB,UAAU,CAAC,gBA4CzD,CAAC"}
@@ -6,26 +6,21 @@ export var Modal = function (props) {
6
6
  var innerRef = useRef(null);
7
7
  var closeRef = useRef(null);
8
8
  var handleClick = function (event) {
9
- var _a, _b;
10
- if ((event.target instanceof HTMLDivElement &&
11
- !((_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.target)) &&
12
- onClose) ||
13
- (event.target instanceof HTMLButtonElement &&
14
- ((_b = closeRef.current) === null || _b === void 0 ? void 0 : _b.contains(event.target)) &&
15
- onClose)) {
16
- onClose();
17
- }
9
+ var target = event.target;
10
+ if (!innerRef.current || !closeRef.current)
11
+ return;
12
+ if (!innerRef.current.contains(target) || closeRef.current.contains(target))
13
+ onClose === null || onClose === void 0 ? void 0 : onClose();
18
14
  };
19
15
  useEffect(function () {
20
16
  if (!open)
21
- return function () { return null; };
17
+ return;
22
18
  var handleEscKey = function (event) {
23
- if (event instanceof KeyboardEvent && event.key === 'Escape' && onClose) {
24
- onClose();
25
- }
19
+ if (event.key === 'Escape')
20
+ onClose === null || onClose === void 0 ? void 0 : onClose();
26
21
  };
27
- document.addEventListener('keypress', handleEscKey);
28
- return function () { return document.removeEventListener('keypress', handleEscKey); };
22
+ document.addEventListener('keydown', handleEscKey);
23
+ return function () { return document.removeEventListener('keydown', handleEscKey); };
29
24
  }, [onClose, open]);
30
25
  var openClasses = open ? 'str-chat__modal--open' : 'str-chat__modal--closed';
31
26
  return (React.createElement("div", { className: "str-chat__modal " + openClasses, onClick: handleClick },
@@ -1,5 +1,5 @@
1
1
  import React, { PropsWithChildren } from 'react';
2
- import type { Attachment, Message, UpdatedMessage, UpdateMessageAPIResponse, UserResponse } from 'stream-chat';
2
+ import type { APIErrorResponse, Attachment, ErrorFromResponse, Message, UpdatedMessage, UpdateMessageAPIResponse, UserResponse } from 'stream-chat';
3
3
  import type { StreamMessage } from './ChannelStateContext';
4
4
  import type { ChannelStateReducerAction } from '../components/Channel/channelState';
5
5
  import type { CustomMentionHandler } from '../components/Message/hooks/useMentionsHandler';
@@ -7,6 +7,7 @@ import type { DefaultStreamChatGenerics, UnknownType } from '../types/types';
7
7
  export declare type MessageAttachments<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = Array<Attachment<StreamChatGenerics>>;
8
8
  export declare type MessageToSend<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
9
9
  attachments?: MessageAttachments<StreamChatGenerics>;
10
+ error?: ErrorFromResponse<APIErrorResponse>;
10
11
  errorStatusCode?: number;
11
12
  id?: string;
12
13
  mentioned_users?: UserResponse<StreamChatGenerics>[];
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelActionContext.d.ts","sourceRoot":"","sources":["../../src/context/ChannelActionContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChannelActionContext.d.ts","sourceRoot":"","sources":["../../src/context/ChannelActionContext.tsx"],"names":[],"mappings":"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"}
@@ -2,9 +2,11 @@ import React, { PropsWithChildren } from 'react';
2
2
  import type { AppSettingsAPIResponse, Channel, Mute, StreamChat } from 'stream-chat';
3
3
  import type { Theme } from '../components/Chat/Chat';
4
4
  import type { DefaultStreamChatGenerics, UnknownType } from '../types/types';
5
+ import type { ChannelsQueryState } from '../components/Chat/hooks/useChannelsQueryState';
5
6
  declare type CSSClasses = 'chat' | 'chatContainer' | 'channel' | 'channelList' | 'message' | 'messageList' | 'thread' | 'threadList' | 'virtualMessage' | 'virtualizedMessageList';
6
7
  export declare type CustomClasses = Partial<Record<CSSClasses, string>>;
7
8
  export declare type ChatContextValue<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
9
+ channelsQueryState: ChannelsQueryState;
8
10
  client: StreamChat<StreamChatGenerics>;
9
11
  closeMobileNav: () => void;
10
12
  getAppSettings: () => Promise<AppSettingsAPIResponse<StreamChatGenerics>> | null;
@@ -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,sBAAsB,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGrF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7E,aAAK,UAAU,GACX,MAAM,GACN,eAAe,GACf,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,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,MAAM,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACvC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,OAAO,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC,GAAG,IAAI,CAAC;IACjF,4BAA4B,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACtD,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACvC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,gBAAgB,EAAE,CAChB,UAAU,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACxC,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,kBAAkB;IAClB,KAAK,EAAE,KAAK,CAAC;IACb,2BAA2B,EAAE,OAAO,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACtC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,WAAW,wEAA+D,CAAC;AAExF,eAAO,MAAM,YAAY;;kBAWxB,CAAC;AAEF,eAAO,MAAM,cAAc,gKAgB1B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;CAa3B,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,sBAAsB,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGrF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAEzF,aAAK,UAAU,GACX,MAAM,GACN,eAAe,GACf,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,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,MAAM,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACvC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,OAAO,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC,GAAG,IAAI,CAAC;IACjF,4BAA4B,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACtD,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACvC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,gBAAgB,EAAE,CAChB,UAAU,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACxC,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,kBAAkB;IAClB,KAAK,EAAE,KAAK,CAAC;IACb,2BAA2B,EAAE,OAAO,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACtC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,WAAW,wEAA+D,CAAC;AAExF,eAAO,MAAM,YAAY;;kBAWxB,CAAC;AAEF,eAAO,MAAM,cAAc,gKAgB1B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;CAa3B,CAAC"}