stream-chat-react 10.1.2 → 10.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/dist/browser.full-bundle.js +253 -72
  2. package/dist/browser.full-bundle.js.map +1 -1
  3. package/dist/browser.full-bundle.min.js +5 -5
  4. package/dist/browser.full-bundle.min.js.map +1 -1
  5. package/dist/components/Attachment/AttachmentContainer.d.ts.map +1 -1
  6. package/dist/components/Attachment/AttachmentContainer.js +67 -15
  7. package/dist/components/Attachment/attachment-sizing.d.ts +9 -0
  8. package/dist/components/Attachment/attachment-sizing.d.ts.map +1 -0
  9. package/dist/components/Attachment/attachment-sizing.js +72 -0
  10. package/dist/components/Channel/Channel.d.ts +7 -1
  11. package/dist/components/Channel/Channel.d.ts.map +1 -1
  12. package/dist/components/Channel/Channel.js +2 -1
  13. package/dist/components/Channel/hooks/useCreateChannelStateContext.d.ts.map +1 -1
  14. package/dist/components/Channel/hooks/useCreateChannelStateContext.js +5 -1
  15. package/dist/components/ChannelList/ChannelList.d.ts.map +1 -1
  16. package/dist/components/ChannelList/ChannelList.js +2 -2
  17. package/dist/components/ChannelList/ChannelListMessenger.js +2 -2
  18. package/dist/components/Gallery/Gallery.d.ts +7 -2
  19. package/dist/components/Gallery/Gallery.d.ts.map +1 -1
  20. package/dist/components/Gallery/Gallery.js +16 -5
  21. package/dist/components/Gallery/Image.d.ts +4 -0
  22. package/dist/components/Gallery/Image.d.ts.map +1 -1
  23. package/dist/components/Gallery/Image.js +3 -3
  24. package/dist/components/InfiniteScrollPaginator/InfiniteScroll.d.ts +19 -4
  25. package/dist/components/InfiniteScrollPaginator/InfiniteScroll.d.ts.map +1 -1
  26. package/dist/components/InfiniteScrollPaginator/InfiniteScroll.js +28 -6
  27. package/dist/components/LoadMore/LoadMoreButton.d.ts +7 -2
  28. package/dist/components/LoadMore/LoadMoreButton.d.ts.map +1 -1
  29. package/dist/components/LoadMore/LoadMoreButton.js +9 -4
  30. package/dist/components/LoadMore/LoadMorePaginator.d.ts +2 -7
  31. package/dist/components/LoadMore/LoadMorePaginator.d.ts.map +1 -1
  32. package/dist/components/LoadMore/LoadMorePaginator.js +8 -3
  33. package/dist/components/Message/hooks/useUserRole.d.ts +1 -1
  34. package/dist/components/Message/hooks/useUserRole.d.ts.map +1 -1
  35. package/dist/components/Message/hooks/useUserRole.js +5 -5
  36. package/dist/components/MessageInput/hooks/useFileUploads.d.ts.map +1 -1
  37. package/dist/components/MessageInput/hooks/useFileUploads.js +1 -0
  38. package/dist/components/MessageInput/hooks/useMessageInputState.d.ts +2 -0
  39. package/dist/components/MessageInput/hooks/useMessageInputState.d.ts.map +1 -1
  40. package/dist/components/MessageInput/hooks/useMessageInputState.js +2 -1
  41. package/dist/components/MessageInput/hooks/useSubmitHandler.d.ts.map +1 -1
  42. package/dist/components/MessageInput/hooks/useSubmitHandler.js +1 -0
  43. package/dist/components/MessageList/MessageList.d.ts.map +1 -1
  44. package/dist/components/MessageList/MessageList.js +2 -3
  45. package/dist/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
  46. package/dist/components/MessageList/VirtualizedMessageList.js +0 -1
  47. package/dist/components/MessageList/hooks/useMessageListElements.d.ts +0 -1
  48. package/dist/components/MessageList/hooks/useMessageListElements.d.ts.map +1 -1
  49. package/dist/components/MessageList/hooks/useMessageListElements.js +2 -3
  50. package/dist/components/MessageList/hooks/useScrollLocationLogic.d.ts +0 -1
  51. package/dist/components/MessageList/hooks/useScrollLocationLogic.d.ts.map +1 -1
  52. package/dist/components/MessageList/hooks/useScrollLocationLogic.js +0 -10
  53. package/dist/components/Reactions/SimpleReactionsList.d.ts.map +1 -1
  54. package/dist/components/Reactions/SimpleReactionsList.js +26 -6
  55. package/dist/components/Thread/Thread.d.ts.map +1 -1
  56. package/dist/components/Thread/Thread.js +7 -2
  57. package/dist/context/ChannelStateContext.d.ts +5 -2
  58. package/dist/context/ChannelStateContext.d.ts.map +1 -1
  59. package/dist/css/index.css +1 -1
  60. package/dist/css/index.css.map +1 -1
  61. package/dist/css/v2/index.css +1 -1
  62. package/dist/css/v2/index.css.map +1 -1
  63. package/dist/css/v2/index.layout.css +1 -1
  64. package/dist/css/v2/index.layout.css.map +1 -1
  65. package/dist/index.cjs.js +252 -71
  66. package/dist/index.cjs.js.map +1 -1
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +1 -0
  69. package/dist/scss/Attachment.scss +44 -17
  70. package/dist/scss/Audio.scss +1 -0
  71. package/dist/scss/ChannelList.scss +14 -0
  72. package/dist/scss/ChannelSearch.scss +8 -8
  73. package/dist/scss/Message.scss +28 -11
  74. package/dist/scss/v2/AttachmentList/AttachmentList-layout.scss +33 -19
  75. package/dist/scss/v2/ChannelList/ChannelList-layout.scss +14 -0
  76. package/dist/scss/v2/ChannelSearch/ChannelSearch-layout.scss +68 -51
  77. package/dist/scss/v2/ChannelSearch/ChannelSearch-theme.scss +48 -0
  78. package/dist/scss/v2/Message/Message-layout.scss +12 -0
  79. package/dist/scss/v2/Message/Message-theme.scss +20 -0
  80. package/dist/scss/v2/MessageList/MessageList-layout.scss +1 -4
  81. package/dist/scss/v2/MessageList/VirtualizedMessageList-layout.scss +21 -0
  82. package/dist/scss/v2/MessageList/VirtualizedMessageList-theme.scss +9 -0
  83. package/dist/scss/v2/Notification/NotificationList-theme.scss +2 -2
  84. package/dist/scss/v2/Tooltip/Tooltip-layout.scss +1 -1
  85. package/dist/scss/v2/_utils.scss +8 -0
  86. package/dist/stories/attachment-sizing.stories.d.ts +2 -0
  87. package/dist/stories/attachment-sizing.stories.d.ts.map +1 -0
  88. package/dist/stories/attachment-sizing.stories.js +179 -0
  89. package/dist/types/types.d.ts +19 -2
  90. package/dist/types/types.d.ts.map +1 -1
  91. package/dist/utils/deprecationWarning.d.ts +2 -0
  92. package/dist/utils/deprecationWarning.d.ts.map +1 -0
  93. package/dist/utils/deprecationWarning.js +12 -0
  94. package/dist/version.d.ts +1 -1
  95. package/dist/version.js +1 -1
  96. package/package.json +3 -3
@@ -165,6 +165,12 @@
165
165
 
166
166
  /* Box shadow applied to a date separator */
167
167
  --str-chat__date-separator-box-shadow: none;
168
+
169
+ /* The text color of the translation notice that is displayed if a message is translated with auto-translation */
170
+ --str-chat__translation-notice-color: var(--str-chat__text-low-emphasis-color);
171
+
172
+ /* The hover color of the translation notice that is displayed if a message is translated with auto-translation */
173
+ --str-chat__translation-notice-active-background-color: var(--str-chat__tertiary-surface-color);
168
174
  }
169
175
 
170
176
  .str-chat__message--system {
@@ -237,6 +243,20 @@
237
243
  }
238
244
  }
239
245
 
246
+ .str-chat__translation-notice {
247
+ button {
248
+ font: var(--str-chat__body2-text);
249
+ color: var(--str-chat__translation-notice-color);
250
+ border: none;
251
+ background: none;
252
+
253
+ &:active,
254
+ &:hover {
255
+ background: var(--str-chat__translation-notice-active-background-color);
256
+ }
257
+ }
258
+ }
259
+
240
260
  .str-chat__message-metadata {
241
261
  color: var(--str-chat__message-secondary-color);
242
262
  font: var(--str-chat__caption-text);
@@ -32,12 +32,9 @@
32
32
 
33
33
  .str-chat__thread-start {
34
34
  text-align: start;
35
+ padding-top: var(--str-chat__spacing-3);
35
36
  }
36
37
  }
37
-
38
- .str-chat__parent-message-li .str-chat__thread-start {
39
- padding-top: var(--str-chat__spacing-3);
40
- }
41
38
  }
42
39
 
43
40
  .str-chat__jump-to-latest-message {
@@ -14,6 +14,15 @@
14
14
  @include utils.message-list-spacing;
15
15
  }
16
16
 
17
+ .str-chat__parent-message-li {
18
+ padding-block-end: var(--str-chat__spacing-4);
19
+
20
+ .str-chat__thread-start {
21
+ text-align: start;
22
+ padding-top: var(--str-chat__spacing-3);
23
+ }
24
+ }
25
+
17
26
  // conditionally showing the header displaces items when prepending.
18
27
  // a simple workaround is to make the loading indicator an overlay.
19
28
  &__loading {
@@ -42,3 +51,15 @@
42
51
  padding-block-end: var(--str-chat__spacing-0_5);
43
52
  }
44
53
  }
54
+
55
+
56
+ .str-chat__thread--virtualized {
57
+ .str-chat__main-panel-inner {
58
+ height: 100%;
59
+
60
+ // the first message in virtualized thread has to be separated from the top by padding, not margin
61
+ .str-chat__virtual-list-message-wrapper:first-of-type {
62
+ padding-block-start: var(--str-chat__spacing-4);
63
+ }
64
+ }
65
+ }
@@ -29,4 +29,13 @@
29
29
 
30
30
  .str-chat__virtual-list {
31
31
  @include utils.component-layer-overrides('virtual-list');
32
+
33
+ .str-chat__parent-message-li {
34
+ border-block-end: 1px solid var(--str-chat__thread-head-start-border-block-end-color);
35
+
36
+ .str-chat__thread-start {
37
+ color: var(--str-chat__thread-head-start-color);
38
+ font: var(--str-chat__subtitle-text);
39
+ }
40
+ }
32
41
  }
@@ -26,6 +26,6 @@
26
26
  --str-chat__notification-list-box-shadow: none;
27
27
  }
28
28
 
29
- .str-chat__list-notification-lists {
30
- @include utils.component-layer-overrides('notification-list-list');
29
+ .str-chat__list-notifications {
30
+ @include utils.component-layer-overrides('notification-list');
31
31
  }
@@ -4,6 +4,6 @@
4
4
  display: flex;
5
5
  padding: var(--str-chat__spacing-2);
6
6
  z-index: 1;
7
- word-break: normal;
8
7
  max-width: calc(var(--str-chat__spacing-px) * 150);
8
+ width: max-content;
9
9
  }
@@ -186,3 +186,11 @@
186
186
  @mixin channel-preview-display-name-theme {
187
187
  font: var(--str-chat__subtitle-medium-text);
188
188
  }
189
+
190
+ @mixin clamped-height-from-original-image-dimensions($max-height-css-var, $max-width-css-var) {
191
+ height: min(
192
+ var(#{$max-height-css-var}),
193
+ min(var(#{$max-width-css-var}, 1000000) / var(--original-width, 1000000), 1px) *
194
+ var(--original-height, 1000000)
195
+ );
196
+ }
@@ -0,0 +1,2 @@
1
+ export declare const User1: () => JSX.Element;
2
+ //# sourceMappingURL=attachment-sizing.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachment-sizing.stories.d.ts","sourceRoot":"","sources":["../../src/stories/attachment-sizing.stories.tsx"],"names":[],"mappings":"AA2LA,eAAO,MAAM,KAAK,mBAQjB,CAAC"}
@@ -0,0 +1,179 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (_) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ /* eslint-disable @typescript-eslint/no-explicit-any */
49
+ import React, { useEffect } from 'react';
50
+ import { Channel, ChannelHeader, ChannelList, MessageList, Thread, useChannelActionContext, useChannelStateContext, useChatContext, Window, } from '../index';
51
+ import { ConnectedUser } from './utils';
52
+ var user1Id = import.meta.env.E2E_TEST_USER_1;
53
+ var user1Token = import.meta.env.E2E_TEST_USER_1_TOKEN;
54
+ var user2Id = import.meta.env.E2E_TEST_USER_2;
55
+ var user2Token = import.meta.env.E2E_TEST_USER_2_TOKEN;
56
+ var channelId = import.meta.env.E2E_ATTACHMENT_SIZING_CHANNEL;
57
+ if (!channelId || typeof channelId !== 'string') {
58
+ throw new Error('expected ADD_MESSAGE_CHANNEL');
59
+ }
60
+ var OtherUserControlButtons = function () {
61
+ var client = useChatContext().client;
62
+ var _a = useChannelStateContext(), channel = _a.channel, messages = _a.messages, threadMessages = _a.threadMessages;
63
+ var lastMessage = channel.state.messages.slice(-1)[0];
64
+ return (React.createElement(React.Fragment, null,
65
+ React.createElement("button", { "data-testid": 'receive-reply', onClick: function () {
66
+ return channel.sendMessage({
67
+ parent_id: lastMessage.id,
68
+ text: 'Reply back',
69
+ });
70
+ } }, "Receive reply"),
71
+ React.createElement("button", { "data-testid": 'delete-other-last-reply', onClick: function () { return __awaiter(void 0, void 0, void 0, function () {
72
+ var lastReply;
73
+ return __generator(this, function (_a) {
74
+ switch (_a.label) {
75
+ case 0:
76
+ lastReply = threadMessages === null || threadMessages === void 0 ? void 0 : threadMessages.slice(-1)[0];
77
+ if (!lastReply) return [3 /*break*/, 2];
78
+ return [4 /*yield*/, client.deleteMessage(lastReply.id, true)];
79
+ case 1:
80
+ _a.sent();
81
+ _a.label = 2;
82
+ case 2: return [2 /*return*/];
83
+ }
84
+ });
85
+ }); } }, "Delete other user's last reply"),
86
+ React.createElement("button", { "data-testid": 'add-other-user-message', onClick: function () {
87
+ return channel.sendMessage({
88
+ text: "Other user's message",
89
+ });
90
+ } }, "Receive a message"),
91
+ React.createElement("button", { "data-testid": 'delete-other-last-message', onClick: function () { return __awaiter(void 0, void 0, void 0, function () {
92
+ var lastMessage;
93
+ return __generator(this, function (_a) {
94
+ switch (_a.label) {
95
+ case 0:
96
+ lastMessage = messages === null || messages === void 0 ? void 0 : messages.slice(-1)[0];
97
+ if (!lastMessage) return [3 /*break*/, 2];
98
+ return [4 /*yield*/, client.deleteMessage(lastMessage.id, true)];
99
+ case 1:
100
+ _a.sent();
101
+ _a.label = 2;
102
+ case 2: return [2 /*return*/];
103
+ }
104
+ });
105
+ }); } }, "Delete other user's last message")));
106
+ };
107
+ // Sort in reverse order to avoid auto-selecting unread channel
108
+ var sort = { last_updated: 1 };
109
+ var Controls = function () {
110
+ var client = useChatContext().client;
111
+ var threadMessages = useChannelStateContext().threadMessages;
112
+ return (React.createElement("div", null,
113
+ React.createElement("button", { "data-testid": 'delete-last-reply', onClick: function () { return __awaiter(void 0, void 0, void 0, function () {
114
+ var lastReply;
115
+ return __generator(this, function (_a) {
116
+ switch (_a.label) {
117
+ case 0:
118
+ lastReply = threadMessages === null || threadMessages === void 0 ? void 0 : threadMessages.slice(-1)[0];
119
+ if (!lastReply) return [3 /*break*/, 2];
120
+ return [4 /*yield*/, client.deleteMessage(lastReply.id, true)];
121
+ case 1:
122
+ _a.sent();
123
+ _a.label = 2;
124
+ case 2: return [2 /*return*/];
125
+ }
126
+ });
127
+ }); } }, "Delete last reply")));
128
+ };
129
+ var SetThreadOpen = function () {
130
+ var openThread = useChannelActionContext().openThread;
131
+ var messages = useChannelStateContext().messages;
132
+ useEffect(function () {
133
+ if (!messages)
134
+ return;
135
+ var lastMsg = messages.slice(-1)[0];
136
+ if (lastMsg)
137
+ openThread(lastMsg, { preventDefault: function () { return null; } });
138
+ }, [messages]);
139
+ return null;
140
+ };
141
+ var OtherUserControls = function () {
142
+ var theOtherUserCredentials = document.location.search.match('user1')
143
+ ? { token: user2Token, userId: user2Id }
144
+ : { token: user1Token, userId: user1Id };
145
+ return (React.createElement("div", { className: theOtherUserCredentials.userId },
146
+ React.createElement("style", null, "\n .".concat(theOtherUserCredentials.userId, " .str-chat-channel {\n max-height: 30px;\n display: inline-block;\n }\n .").concat(theOtherUserCredentials.userId, " .str-chat__container {\n height: 30px;\n }\n\n .").concat(theOtherUserCredentials.userId, " .messaging.str-chat .str-chat__thread {\n display: none;\n }\n ")),
147
+ React.createElement(ConnectedUser, __assign({}, theOtherUserCredentials),
148
+ React.createElement("div", { style: { display: 'none' } },
149
+ React.createElement(ChannelList, { customActiveChannel: channelId, filters: { id: { $eq: channelId }, members: { $in: [theOtherUserCredentials.userId] } }, setActiveChannelOnMount: true, sort: sort })),
150
+ React.createElement("div", { style: { height: '30px' } },
151
+ React.createElement(Channel, null,
152
+ React.createElement(SetThreadOpen, null),
153
+ React.createElement(OtherUserControlButtons, null),
154
+ React.createElement(Thread, null))))));
155
+ };
156
+ var WrappedConnectedUser = function (_a) {
157
+ var token = _a.token, userId = _a.userId;
158
+ return (React.createElement("div", { style: { display: 'flex', flexDirection: 'column' } },
159
+ React.createElement("style", null, "\n\t \t.str-chat__thread .str-chat__message-data.str-chat__message-simple-data {\n\t\t\t visibility: hidden;\n\t\t}\n\t "),
160
+ React.createElement("div", { className: userId },
161
+ React.createElement(ConnectedUser, { token: token, userId: userId },
162
+ React.createElement(ChannelList, { filters: { id: { $eq: channelId }, members: { $in: [userId] } }, setActiveChannelOnMount: false, sort: sort }),
163
+ React.createElement(Channel, null,
164
+ React.createElement(Window, null,
165
+ React.createElement(ChannelHeader, null),
166
+ React.createElement(MessageList, null),
167
+ React.createElement(Controls, null)),
168
+ React.createElement(Thread, null)))),
169
+ React.createElement(OtherUserControls, null)));
170
+ };
171
+ export var User1 = function () {
172
+ if (!user1Id || typeof user1Id !== 'string') {
173
+ throw new Error('expected TEST_USER_1');
174
+ }
175
+ if (!user1Token || typeof user1Token !== 'string') {
176
+ throw new Error('expected TEST_USER_1_TOKEN');
177
+ }
178
+ return React.createElement(WrappedConnectedUser, { token: user1Token, userId: user1Id });
179
+ };
@@ -1,6 +1,6 @@
1
1
  import type { PropsWithChildren } from 'react';
2
2
  import type { LoadingIndicatorProps } from '../components/Loading/LoadingIndicator';
3
- import type { APIErrorResponse, ErrorFromResponse, Event, ExtendableGenerics, LiteralStringForUnion, Mute } from 'stream-chat';
3
+ import type { APIErrorResponse, Attachment, ErrorFromResponse, Event, ExtendableGenerics, LiteralStringForUnion, Mute } from 'stream-chat';
4
4
  export declare type UnknownType = Record<string, unknown>;
5
5
  export declare type PropsWithChildrenOnly = PropsWithChildren<Record<never, never>>;
6
6
  export declare type CustomTrigger = {
@@ -55,9 +55,18 @@ export declare type PaginatorProps = {
55
55
  loadNextPage: () => void;
56
56
  /** indicates if there is a next page to load */
57
57
  hasNextPage?: boolean;
58
+ /** indicates if there is a previous page to load */
59
+ hasPreviousPage?: boolean;
60
+ /** indicates whether a loading request is in progress */
61
+ isLoading?: boolean;
58
62
  /** The loading indicator to use */
59
63
  LoadingIndicator?: React.ComponentType<LoadingIndicatorProps>;
60
- /** indicates if there there's currently any refreshing taking place */
64
+ /** callback to load the previous page */
65
+ loadPreviousPage?: () => void;
66
+ /**
67
+ * @desc indicates if there's currently any refreshing taking place
68
+ * @deprecated Use loading prop instead of refreshing. Planned for removal: https://github.com/GetStream/stream-chat-react/issues/1804
69
+ */
61
70
  refreshing?: boolean;
62
71
  /** display the items in opposite order */
63
72
  reverse?: boolean;
@@ -71,4 +80,12 @@ export declare type Dimensions = {
71
80
  height?: string;
72
81
  width?: string;
73
82
  };
83
+ export declare type ImageAttachmentConfiguration = {
84
+ url: string;
85
+ };
86
+ export declare type VideoAttachmentConfiguration = ImageAttachmentConfiguration & {
87
+ thumbUrl?: string;
88
+ };
89
+ export declare type ImageAttachmentSizeHandler = (attachment: Attachment, element: HTMLElement) => ImageAttachmentConfiguration;
90
+ export declare type VideoAttachmentSizeHandler = (attachment: Attachment, element: HTMLElement, shouldGenerateVideoThumbnail: boolean) => VideoAttachmentConfiguration;
74
91
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const deprecationAndReplacementWarning: <P extends Record<string, unknown>[][]>(pairs: P, component: string) => void;
2
+ //# sourceMappingURL=deprecationWarning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deprecationWarning.d.ts","sourceRoot":"","sources":["../../src/utils/deprecationWarning.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gCAAgC,+DAEhC,MAAM,SAiBlB,CAAC"}
@@ -0,0 +1,12 @@
1
+ export var deprecationAndReplacementWarning = function (pairs, component) {
2
+ pairs.forEach(function (data) {
3
+ var _a = [
4
+ Object.entries(data[0])[0],
5
+ Object.entries(data[1])[0],
6
+ ], _b = _a[0], oldName = _b[0], oldValue = _b[1], _c = _a[1], newName = _c[0], newValue = _c[1];
7
+ if ((typeof oldValue !== 'undefined' && typeof newValue === 'undefined') ||
8
+ (typeof oldValue !== 'undefined' && typeof newValue !== 'undefined')) {
9
+ console.warn("[Deprecation notice (".concat(component, ")]: prefer using prop ").concat(newName, " instead of ").concat(oldName));
10
+ }
11
+ });
12
+ };
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const version = "10.1.2";
1
+ export declare const version = "10.3.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1 +1 @@
1
- export var version = '10.1.2';
1
+ export var version = '10.3.0';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stream-chat-react",
3
- "version": "10.1.2",
3
+ "version": "10.3.0",
4
4
  "description": "React components to create chat conversations or livestream style chat",
5
5
  "author": "GetStream",
6
6
  "homepage": "https://getstream.io/chat/",
@@ -30,7 +30,7 @@
30
30
  "dependencies": {
31
31
  "@braintree/sanitize-url": "6.0.0",
32
32
  "@popperjs/core": "^2.11.5",
33
- "@stream-io/stream-chat-css": "3.1.2",
33
+ "@stream-io/stream-chat-css": "^3.6.0",
34
34
  "clsx": "^1.1.1",
35
35
  "dayjs": "^1.10.4",
36
36
  "emoji-mart": "3.0.1",
@@ -207,7 +207,7 @@
207
207
  "semantic-release": "semantic-release",
208
208
  "browse-examples": "ladle serve",
209
209
  "e2e": "playwright test",
210
- "e2e-fixtures": "node e2e/fixtures.mjs",
210
+ "e2e-fixtures": "node e2e/fixtures/fixtures.mjs",
211
211
  "e2e-container": "./e2e/scripts/run_in_container.sh",
212
212
  "docs-copy-css-docs": "scripts/merge-stream-chat-css-docs.sh node_modules/@stream-io/stream-chat-css/docs",
213
213
  "docs-run": "yarn docs-copy-css-docs && npx stream-chat-docusaurus -s"