stream-chat-react 10.10.0 → 10.10.1
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.
- package/dist/browser.full-bundle.js +273 -330
- package/dist/browser.full-bundle.js.map +1 -1
- package/dist/browser.full-bundle.min.js +5 -20
- package/dist/browser.full-bundle.min.js.map +1 -1
- package/dist/components/Attachment/Attachment.js +1 -31
- package/dist/components/Attachment/AttachmentContainer.js +1 -11
- package/dist/components/Attachment/Audio.js +1 -11
- package/dist/components/Attachment/Card.js +1 -11
- package/dist/components/Attachment/utils.js +1 -11
- package/dist/components/AutoCompleteTextarea/List.js +1 -11
- package/dist/components/AutoCompleteTextarea/Textarea.js +1 -37
- package/dist/components/Channel/Channel.js +1 -58
- package/dist/components/Channel/channelState.js +1 -20
- package/dist/components/Channel/emojiData.js +1 -11
- package/dist/components/Channel/utils.d.ts +0 -4
- package/dist/components/Channel/utils.d.ts.map +1 -1
- package/dist/components/Channel/utils.js +1 -9
- package/dist/components/ChannelList/ChannelList.js +1 -47
- package/dist/components/ChannelList/hooks/useChannelDeletedListener.js +1 -9
- package/dist/components/ChannelList/hooks/useChannelHiddenListener.js +1 -9
- package/dist/components/ChannelList/hooks/useChannelTruncatedListener.js +1 -9
- package/dist/components/ChannelList/hooks/useChannelUpdatedListener.js +1 -20
- package/dist/components/ChannelList/hooks/useChannelVisibleListener.js +1 -45
- package/dist/components/ChannelList/hooks/useMessageNewListener.js +1 -9
- package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.js +1 -45
- package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.js +1 -45
- package/dist/components/ChannelList/hooks/usePaginatedChannels.js +1 -56
- package/dist/components/ChannelList/hooks/useUserPresenceChangedListener.js +1 -9
- package/dist/components/ChannelList/utils.js +1 -45
- package/dist/components/ChannelPreview/ChannelPreview.js +1 -11
- package/dist/components/ChannelSearch/ChannelSearch.js +1 -11
- package/dist/components/ChannelSearch/SearchBar.js +1 -22
- package/dist/components/ChannelSearch/hooks/useChannelSearch.js +1 -56
- package/dist/components/Chat/hooks/useChat.d.ts +0 -1
- package/dist/components/Chat/hooks/useChat.d.ts.map +1 -1
- package/dist/components/Chat/hooks/useChat.js +1 -47
- package/dist/components/EventComponent/EventComponent.js +1 -11
- package/dist/components/Gallery/Gallery.js +1 -11
- package/dist/components/Gallery/Image.js +1 -11
- package/dist/components/InfiniteScrollPaginator/InfiniteScroll.js +1 -22
- package/dist/components/MML/MML.js +1 -36
- package/dist/components/Message/Message.js +1 -22
- package/dist/components/Message/MessageSimple.js +1 -11
- package/dist/components/Message/hooks/useActionHandler.js +1 -47
- package/dist/components/Message/hooks/useDeleteHandler.js +1 -36
- package/dist/components/Message/hooks/useEditHandler.d.ts +1 -0
- package/dist/components/Message/hooks/useEditHandler.d.ts.map +1 -1
- package/dist/components/Message/hooks/useFlagHandler.js +1 -36
- package/dist/components/Message/hooks/useMuteHandler.js +1 -36
- package/dist/components/Message/hooks/usePinHandler.js +1 -47
- package/dist/components/Message/hooks/useReactionHandler.js +1 -56
- package/dist/components/Message/hooks/useRetryHandler.js +1 -36
- package/dist/components/Message/hooks/useUserHandler.d.ts +1 -0
- package/dist/components/Message/hooks/useUserHandler.d.ts.map +1 -1
- package/dist/components/Message/types.d.ts +1 -0
- package/dist/components/Message/types.d.ts.map +1 -1
- package/dist/components/Message/utils.js +1 -9
- package/dist/components/MessageActions/MessageActions.js +1 -11
- package/dist/components/MessageInput/DefaultTriggerProvider.js +1 -11
- package/dist/components/MessageInput/DropzoneProvider.js +1 -11
- package/dist/components/MessageInput/MessageInput.js +1 -11
- package/dist/components/MessageInput/MessageInputFlat.js +1 -11
- package/dist/components/MessageInput/hooks/useCooldownTimer.js +1 -9
- package/dist/components/MessageInput/hooks/useFileUploads.js +1 -36
- package/dist/components/MessageInput/hooks/useImageUploads.js +1 -47
- package/dist/components/MessageInput/hooks/useLinkPreviews.js +1 -22
- package/dist/components/MessageInput/hooks/useMessageInputState.js +1 -11
- package/dist/components/MessageInput/hooks/usePasteHandler.js +1 -36
- package/dist/components/MessageInput/hooks/useSubmitHandler.js +1 -67
- package/dist/components/MessageInput/hooks/useUserTrigger.js +1 -56
- package/dist/components/MessageInput/hooks/utils.js +1 -36
- package/dist/components/MessageInput/icons.js +1 -22
- package/dist/components/MessageList/MessageList.js +1 -58
- package/dist/components/MessageList/VirtualizedMessageList.js +1 -47
- package/dist/components/MessageList/hooks/useMessageListElements.js +1 -11
- package/dist/components/MessageList/utils.d.ts +1 -0
- package/dist/components/MessageList/utils.d.ts.map +1 -1
- package/dist/components/ReactFileUtilities/FileIcon/FileIcon.js +1 -22
- package/dist/components/ReactFileUtilities/FileIcon/FileIconSet/v1.js +1 -22
- package/dist/components/ReactFileUtilities/FileIcon/FileIconSet/v2.js +1 -22
- package/dist/components/ReactFileUtilities/FileIcon/iconMap.js +1 -11
- package/dist/components/ReactFileUtilities/FilePreviewer.js +1 -11
- package/dist/components/ReactFileUtilities/ImageDropzone.js +1 -11
- package/dist/components/ReactFileUtilities/UploadButton.js +1 -22
- package/dist/components/ReactFileUtilities/icons/FilePlaceholderIcon.js +1 -11
- package/dist/components/ReactFileUtilities/utils.d.ts +2 -1
- package/dist/components/ReactFileUtilities/utils.d.ts.map +1 -1
- package/dist/components/ReactFileUtilities/utils.js +4 -38
- package/dist/components/Reactions/ReactionSelector.js +1 -11
- package/dist/components/Reactions/ReactionsList.js +1 -22
- package/dist/components/Reactions/SimpleReactionsList.js +1 -22
- package/dist/components/Thread/Thread.js +1 -11
- package/dist/components/Thread/ThreadHead.js +1 -11
- package/dist/components/Tooltip/Tooltip.js +1 -22
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +1 -0
- package/dist/context/ChannelActionContext.js +1 -11
- package/dist/context/ChannelStateContext.js +1 -11
- package/dist/context/ChatContext.js +1 -11
- package/dist/context/ComponentContext.js +1 -11
- package/dist/context/EmojiContext.js +1 -11
- package/dist/context/MessageContext.js +1 -11
- package/dist/context/TranslationContext.js +1 -11
- package/dist/context/TypingContext.js +1 -11
- package/dist/i18n/Streami18n.js +1 -47
- package/dist/index.cjs.js +13 -7
- package/dist/index.cjs.js.map +1 -1
- package/dist/utils.js +1 -31
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
- package/dist/css/index.css.map +0 -1
- package/dist/css/v2/index.css.map +0 -1
- package/dist/css/v2/index.layout.css.map +0 -1
- package/dist/stories/add-message.stories.d.ts +0 -3
- package/dist/stories/add-message.stories.d.ts.map +0 -1
- package/dist/stories/add-message.stories.js +0 -53
- package/dist/stories/attachment-sizing.stories.d.ts +0 -2
- package/dist/stories/attachment-sizing.stories.d.ts.map +0 -1
- package/dist/stories/attachment-sizing.stories.js +0 -179
- package/dist/stories/edit-message.stories.d.ts +0 -2
- package/dist/stories/edit-message.stories.d.ts.map +0 -1
- package/dist/stories/edit-message.stories.js +0 -49
- package/dist/stories/hello.stories.d.ts +0 -3
- package/dist/stories/hello.stories.d.ts.map +0 -1
- package/dist/stories/hello.stories.js +0 -31
- package/dist/stories/jump-to-message.stories.d.ts +0 -3
- package/dist/stories/jump-to-message.stories.d.ts.map +0 -1
- package/dist/stories/jump-to-message.stories.js +0 -77
- package/dist/stories/mark-read.stories.d.ts +0 -3
- package/dist/stories/mark-read.stories.d.ts.map +0 -1
- package/dist/stories/mark-read.stories.js +0 -53
- package/dist/stories/message-status-readby-tooltip.stories.d.ts +0 -3
- package/dist/stories/message-status-readby-tooltip.stories.d.ts.map +0 -1
- package/dist/stories/message-status-readby-tooltip.stories.js +0 -57
- package/dist/stories/navigate-long-message-lists.stories.d.ts +0 -2
- package/dist/stories/navigate-long-message-lists.stories.d.ts.map +0 -1
- package/dist/stories/navigate-long-message-lists.stories.js +0 -179
- package/dist/stories/pin-message.stories.d.ts +0 -2
- package/dist/stories/pin-message.stories.d.ts.map +0 -1
- package/dist/stories/pin-message.stories.js +0 -98
- package/dist/stories/toggle-message-actions.stories.d.ts +0 -2
- package/dist/stories/toggle-message-actions.stories.d.ts.map +0 -1
- package/dist/stories/toggle-message-actions.stories.js +0 -35
- package/dist/stories/utils.d.ts +0 -26
- package/dist/stories/utils.d.ts.map +0 -1
- package/dist/stories/utils.js +0 -50
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jump-to-message.stories.d.ts","sourceRoot":"","sources":["../../src/stories/jump-to-message.stories.tsx"],"names":[],"mappings":"AA4CA,eAAO,MAAM,wBAAwB,mBAYpC,CAAC;AAEF,eAAO,MAAM,4BAA4B,mBAYxC,CAAC"}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
-
function step(op) {
|
|
15
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
-
while (_) try {
|
|
17
|
-
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;
|
|
18
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
-
switch (op[0]) {
|
|
20
|
-
case 0: case 1: t = op; break;
|
|
21
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
-
default:
|
|
25
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
-
if (t[2]) _.ops.pop();
|
|
30
|
-
_.trys.pop(); continue;
|
|
31
|
-
}
|
|
32
|
-
op = body.call(thisArg, _);
|
|
33
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
38
|
-
import React from 'react';
|
|
39
|
-
import { Channel, ChannelList, MessageList, useChannelActionContext, useChatContext, VirtualizedMessageList, Window, } from '../index';
|
|
40
|
-
import { ConnectedUser } from './utils';
|
|
41
|
-
void MessageList;
|
|
42
|
-
void VirtualizedMessageList;
|
|
43
|
-
var userId = import.meta.env.E2E_TEST_USER_1;
|
|
44
|
-
var userToken = import.meta.env.E2E_TEST_USER_1_TOKEN;
|
|
45
|
-
var channelId = import.meta.env.E2E_JUMP_TO_MESSAGE_CHANNEL;
|
|
46
|
-
var JumpToMessage = function () {
|
|
47
|
-
var jumpToMessage = useChannelActionContext().jumpToMessage;
|
|
48
|
-
var chatClient = useChatContext().client;
|
|
49
|
-
return (React.createElement("button", { "data-testid": 'jump-to-message', onClick: function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
50
|
-
var results;
|
|
51
|
-
return __generator(this, function (_a) {
|
|
52
|
-
switch (_a.label) {
|
|
53
|
-
case 0: return [4 /*yield*/, chatClient.search({
|
|
54
|
-
id: { $eq: channelId },
|
|
55
|
-
}, 'Message 29', { limit: 1, offset: 0 })];
|
|
56
|
-
case 1:
|
|
57
|
-
results = _a.sent();
|
|
58
|
-
jumpToMessage(results.results[0].message.id);
|
|
59
|
-
return [2 /*return*/];
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
}); } }, "Jump to message '29'"));
|
|
63
|
-
};
|
|
64
|
-
export var JumpInRegularMessageList = function () { return (React.createElement("div", null,
|
|
65
|
-
React.createElement(ConnectedUser, { token: userToken, userId: userId },
|
|
66
|
-
React.createElement(ChannelList, { filters: { id: { $eq: channelId } } }),
|
|
67
|
-
React.createElement(Channel, null,
|
|
68
|
-
React.createElement(JumpToMessage, null),
|
|
69
|
-
React.createElement(Window, null,
|
|
70
|
-
React.createElement(MessageList, null)))))); };
|
|
71
|
-
export var JumpInVirtualizedMessageList = function () { return (React.createElement("div", null,
|
|
72
|
-
React.createElement(ConnectedUser, { token: userToken, userId: userId },
|
|
73
|
-
React.createElement(ChannelList, { filters: { id: { $eq: channelId } } }),
|
|
74
|
-
React.createElement(Channel, null,
|
|
75
|
-
React.createElement(JumpToMessage, null),
|
|
76
|
-
React.createElement(Window, null,
|
|
77
|
-
React.createElement(VirtualizedMessageList, null)))))); };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mark-read.stories.d.ts","sourceRoot":"","sources":["../../src/stories/mark-read.stories.tsx"],"names":[],"mappings":"AA6DA,eAAO,MAAM,KAAK,mBAUjB,CAAC;AAEF,eAAO,MAAM,KAAK,mBAUjB,CAAC"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import { nanoid } from 'nanoid';
|
|
4
|
-
import { Channel, ChannelHeader, ChannelList, MessageList, useChannelStateContext, Window, } from '../index';
|
|
5
|
-
import { ConnectedUser } from './utils';
|
|
6
|
-
var channelId = import.meta.env.E2E_ADD_MESSAGE_CHANNEL;
|
|
7
|
-
if (!channelId || typeof channelId !== 'string') {
|
|
8
|
-
throw new Error('expected ADD_MESSAGE_CHANNEL');
|
|
9
|
-
}
|
|
10
|
-
var Controls = function () {
|
|
11
|
-
var channel = useChannelStateContext().channel;
|
|
12
|
-
return (React.createElement("div", null,
|
|
13
|
-
React.createElement("button", { "data-testid": 'truncate', onClick: function () { return channel.truncate(); } }, "Truncate"),
|
|
14
|
-
React.createElement("button", { "data-testid": 'add-message', onClick: function () {
|
|
15
|
-
return channel.sendMessage({
|
|
16
|
-
text: nanoid(),
|
|
17
|
-
});
|
|
18
|
-
} }, "Add message")));
|
|
19
|
-
};
|
|
20
|
-
// Sort in reverse order to avoid auto-selecting unread channel
|
|
21
|
-
var sort = { last_updated: 1 };
|
|
22
|
-
var WrappedConnectedUser = function (_a) {
|
|
23
|
-
var token = _a.token, userId = _a.userId;
|
|
24
|
-
return (React.createElement(ConnectedUser, { token: token, userId: userId },
|
|
25
|
-
React.createElement(ChannelList, { filters: { members: { $in: [userId] }, name: { $autocomplete: 'mr-channel' } }, setActiveChannelOnMount: false, sort: sort }),
|
|
26
|
-
React.createElement(Channel, null,
|
|
27
|
-
React.createElement(Window, null,
|
|
28
|
-
React.createElement(ChannelHeader, null),
|
|
29
|
-
React.createElement(MessageList, null),
|
|
30
|
-
React.createElement(Controls, null)))));
|
|
31
|
-
};
|
|
32
|
-
export var User1 = function () {
|
|
33
|
-
var userId = import.meta.env.E2E_TEST_USER_1;
|
|
34
|
-
var token = import.meta.env.E2E_TEST_USER_1_TOKEN;
|
|
35
|
-
if (!userId || typeof userId !== 'string') {
|
|
36
|
-
throw new Error('expected TEST_USER_1');
|
|
37
|
-
}
|
|
38
|
-
if (!token || typeof token !== 'string') {
|
|
39
|
-
throw new Error('expected TEST_USER_1_TOKEN');
|
|
40
|
-
}
|
|
41
|
-
return React.createElement(WrappedConnectedUser, { token: token, userId: userId });
|
|
42
|
-
};
|
|
43
|
-
export var User2 = function () {
|
|
44
|
-
var userId = import.meta.env.E2E_TEST_USER_2;
|
|
45
|
-
var token = import.meta.env.E2E_TEST_USER_2_TOKEN;
|
|
46
|
-
if (!userId || typeof userId !== 'string') {
|
|
47
|
-
throw new Error('expected TEST_USER_2');
|
|
48
|
-
}
|
|
49
|
-
if (!token || typeof token !== 'string') {
|
|
50
|
-
throw new Error('expected TEST_USER_2_TOKEN');
|
|
51
|
-
}
|
|
52
|
-
return React.createElement(WrappedConnectedUser, { token: token, userId: userId });
|
|
53
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"message-status-readby-tooltip.stories.d.ts","sourceRoot":"","sources":["../../src/stories/message-status-readby-tooltip.stories.tsx"],"names":[],"mappings":"AA4CA,eAAO,MAAM,KAAK,mBAUjB,CAAC;AAEF,eAAO,MAAM,KAAK,mBAUjB,CAAC"}
|
|
@@ -1,57 +0,0 @@
|
|
|
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
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
13
|
-
import React, { useCallback } from 'react';
|
|
14
|
-
import { Channel, ChannelHeader, ChannelList, MessageList, MessageStatus, Thread, Window, } from '../index';
|
|
15
|
-
import { ConnectedUser } from './utils';
|
|
16
|
-
var channelId = import.meta.env.E2E_ADD_MESSAGE_CHANNEL;
|
|
17
|
-
if (!channelId || typeof channelId !== 'string') {
|
|
18
|
-
throw new Error('expected ADD_MESSAGE_CHANNEL');
|
|
19
|
-
}
|
|
20
|
-
var CustomMessageStatus = function (props) {
|
|
21
|
-
var allCapsUserName = useCallback(function (user) { return (user.name || user.id).toUpperCase(); }, []);
|
|
22
|
-
return React.createElement(MessageStatus, __assign({}, props, { tooltipUserNameMapper: allCapsUserName }));
|
|
23
|
-
};
|
|
24
|
-
// Sort in reverse order to avoid auto-selecting unread channel
|
|
25
|
-
var sort = { last_updated: 1 };
|
|
26
|
-
var WrappedConnectedUser = function (_a) {
|
|
27
|
-
var token = _a.token, userId = _a.userId;
|
|
28
|
-
return (React.createElement(ConnectedUser, { token: token, userId: userId },
|
|
29
|
-
React.createElement(ChannelList, { filters: { id: { $eq: 'add-message' }, members: { $in: [userId] } }, sort: sort }),
|
|
30
|
-
React.createElement(Channel, { MessageStatus: CustomMessageStatus },
|
|
31
|
-
React.createElement(Window, null,
|
|
32
|
-
React.createElement(ChannelHeader, null),
|
|
33
|
-
React.createElement(MessageList, null)),
|
|
34
|
-
React.createElement(Thread, null))));
|
|
35
|
-
};
|
|
36
|
-
export var User1 = function () {
|
|
37
|
-
var userId = import.meta.env.E2E_TEST_USER_1;
|
|
38
|
-
var token = import.meta.env.E2E_TEST_USER_1_TOKEN;
|
|
39
|
-
if (!userId || typeof userId !== 'string') {
|
|
40
|
-
throw new Error('expected TEST_USER_1');
|
|
41
|
-
}
|
|
42
|
-
if (!token || typeof token !== 'string') {
|
|
43
|
-
throw new Error('expected TEST_USER_1_TOKEN');
|
|
44
|
-
}
|
|
45
|
-
return React.createElement(WrappedConnectedUser, { token: token, userId: userId });
|
|
46
|
-
};
|
|
47
|
-
export var User2 = function () {
|
|
48
|
-
var userId = import.meta.env.E2E_TEST_USER_2;
|
|
49
|
-
var token = import.meta.env.E2E_TEST_USER_2_TOKEN;
|
|
50
|
-
if (!userId || typeof userId !== 'string') {
|
|
51
|
-
throw new Error('expected TEST_USER_2');
|
|
52
|
-
}
|
|
53
|
-
if (!token || typeof token !== 'string') {
|
|
54
|
-
throw new Error('expected TEST_USER_2_TOKEN');
|
|
55
|
-
}
|
|
56
|
-
return React.createElement(WrappedConnectedUser, { token: token, userId: userId });
|
|
57
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigate-long-message-lists.stories.d.ts","sourceRoot":"","sources":["../../src/stories/navigate-long-message-lists.stories.tsx"],"names":[],"mappings":"AA2LA,eAAO,MAAM,KAAK,mBAQjB,CAAC"}
|
|
@@ -1,179 +0,0 @@
|
|
|
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_LONG_MESSAGE_LISTS_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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pin-message.stories.d.ts","sourceRoot":"","sources":["../../src/stories/pin-message.stories.tsx"],"names":[],"mappings":"AA6EA,eAAO,MAAM,KAAK,mBAUjB,CAAC"}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
-
function step(op) {
|
|
15
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
-
while (_) try {
|
|
17
|
-
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;
|
|
18
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
-
switch (op[0]) {
|
|
20
|
-
case 0: case 1: t = op; break;
|
|
21
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
-
default:
|
|
25
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
-
if (t[2]) _.ops.pop();
|
|
30
|
-
_.trys.pop(); continue;
|
|
31
|
-
}
|
|
32
|
-
op = body.call(thisArg, _);
|
|
33
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
import React from 'react';
|
|
38
|
-
import { Channel, ChannelHeader, ChannelList, MessageList, Thread, useChannelStateContext, Window, } from '../index';
|
|
39
|
-
import { ConnectedUser } from './utils';
|
|
40
|
-
var PinnedMessagesList = function () {
|
|
41
|
-
var pinnedMessages = useChannelStateContext().pinnedMessages;
|
|
42
|
-
if (!(pinnedMessages === null || pinnedMessages === void 0 ? void 0 : pinnedMessages.length))
|
|
43
|
-
return null;
|
|
44
|
-
return (React.createElement("ul", { "data-testid": 'pinned-messages-list' }, pinnedMessages === null || pinnedMessages === void 0 ? void 0 : pinnedMessages.map(function (pm) { return (React.createElement("li", { key: pm.id }, pm.text)); })));
|
|
45
|
-
};
|
|
46
|
-
var Controls = function () {
|
|
47
|
-
var channel = useChannelStateContext().channel;
|
|
48
|
-
return (React.createElement("div", null,
|
|
49
|
-
React.createElement("button", { "data-testid": 'truncate', onClick: function () { return channel.truncate(); } }, "Truncate"),
|
|
50
|
-
React.createElement("button", { "data-testid": 'add-message', onClick: function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
51
|
-
return __generator(this, function (_a) {
|
|
52
|
-
switch (_a.label) {
|
|
53
|
-
case 0: return [4 /*yield*/, channel.sendMessage({
|
|
54
|
-
text: 'pin-message-0',
|
|
55
|
-
})];
|
|
56
|
-
case 1:
|
|
57
|
-
_a.sent();
|
|
58
|
-
return [4 /*yield*/, channel.sendMessage({
|
|
59
|
-
pinned: true,
|
|
60
|
-
pinned_at: new Date().toISOString(),
|
|
61
|
-
text: 'pin-message-1',
|
|
62
|
-
})];
|
|
63
|
-
case 2:
|
|
64
|
-
_a.sent();
|
|
65
|
-
return [4 /*yield*/, channel.sendMessage({
|
|
66
|
-
text: 'pin-message-2',
|
|
67
|
-
})];
|
|
68
|
-
case 3:
|
|
69
|
-
_a.sent();
|
|
70
|
-
return [2 /*return*/];
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
}); } }, "Add message")));
|
|
74
|
-
};
|
|
75
|
-
var App = function (_a) {
|
|
76
|
-
var token = _a.token, userId = _a.userId;
|
|
77
|
-
return (React.createElement(React.Fragment, null,
|
|
78
|
-
React.createElement(ConnectedUser, { token: token, userId: userId },
|
|
79
|
-
React.createElement(ChannelList, { filters: { id: { $eq: 'pin-message-channel' }, members: { $in: [userId] } }, setActiveChannelOnMount: true }),
|
|
80
|
-
React.createElement(Channel, null,
|
|
81
|
-
React.createElement(PinnedMessagesList, null),
|
|
82
|
-
React.createElement(Window, null,
|
|
83
|
-
React.createElement(ChannelHeader, null),
|
|
84
|
-
React.createElement(MessageList, null)),
|
|
85
|
-
React.createElement(Thread, null),
|
|
86
|
-
React.createElement(Controls, null)))));
|
|
87
|
-
};
|
|
88
|
-
export var User1 = function () {
|
|
89
|
-
var userId = import.meta.env.E2E_TEST_USER_1;
|
|
90
|
-
var token = import.meta.env.E2E_TEST_USER_1_TOKEN;
|
|
91
|
-
if (!userId || typeof userId !== 'string') {
|
|
92
|
-
throw new Error('expected TEST_USER_1');
|
|
93
|
-
}
|
|
94
|
-
if (!token || typeof token !== 'string') {
|
|
95
|
-
throw new Error('expected TEST_USER_1_TOKEN');
|
|
96
|
-
}
|
|
97
|
-
return React.createElement(App, { token: token, userId: userId });
|
|
98
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toggle-message-actions.stories.d.ts","sourceRoot":"","sources":["../../src/stories/toggle-message-actions.stories.tsx"],"names":[],"mappings":"AAgDA,eAAO,MAAM,aAAa,mBAUzB,CAAC"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import React, { useState } from 'react';
|
|
2
|
-
import { ConnectedUser } from './utils';
|
|
3
|
-
import { Channel, ChannelHeader, ChannelList, MESSAGE_ACTIONS, MessageList, Thread, Window, } from '../components';
|
|
4
|
-
var allActions = Object.keys(MESSAGE_ACTIONS);
|
|
5
|
-
var WrappedConnectedUser = function (_a) {
|
|
6
|
-
var token = _a.token, userId = _a.userId;
|
|
7
|
-
var _b = useState(allActions), messageActions = _b[0], setMessageActions = _b[1];
|
|
8
|
-
return (React.createElement(ConnectedUser, { token: token, userId: userId },
|
|
9
|
-
React.createElement(ChannelList, { filters: { id: { $eq: 'jump-to-message' } } }),
|
|
10
|
-
React.createElement(Channel, null,
|
|
11
|
-
React.createElement(Window, null,
|
|
12
|
-
React.createElement(ChannelHeader, null),
|
|
13
|
-
React.createElement(MessageList, { messageActions: messageActions }),
|
|
14
|
-
React.createElement("div", null,
|
|
15
|
-
"Current messageActions: ",
|
|
16
|
-
React.createElement("i", null, messageActions.join(', ') || 'None')),
|
|
17
|
-
React.createElement("div", null,
|
|
18
|
-
React.createElement("span", null, "Switch to: "),
|
|
19
|
-
React.createElement("button", { onClick: function () { return setMessageActions(allActions); }, type: 'button' }, "All"),
|
|
20
|
-
React.createElement("button", { onClick: function () { return setMessageActions(['edit', 'react']); }, type: 'button' }, "edit, react"),
|
|
21
|
-
React.createElement("button", { onClick: function () { return setMessageActions(['edit', 'react', 'reply']); }, type: 'button' }, "edit, react, reply"),
|
|
22
|
-
React.createElement("button", { onClick: function () { return setMessageActions([]); }, type: 'button' }, "None"))),
|
|
23
|
-
React.createElement(Thread, { messageActions: messageActions }))));
|
|
24
|
-
};
|
|
25
|
-
export var ToggleActions = function () {
|
|
26
|
-
var userId = import.meta.env.E2E_TEST_USER_1;
|
|
27
|
-
var token = import.meta.env.E2E_TEST_USER_1_TOKEN;
|
|
28
|
-
if (!userId || typeof userId !== 'string') {
|
|
29
|
-
throw new Error('expected TEST_USER_1');
|
|
30
|
-
}
|
|
31
|
-
if (!token || typeof token !== 'string') {
|
|
32
|
-
throw new Error('expected TEST_USER_1_TOKEN');
|
|
33
|
-
}
|
|
34
|
-
return React.createElement(WrappedConnectedUser, { token: token, userId: userId });
|
|
35
|
-
};
|
package/dist/stories/utils.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { PropsWithChildren } from 'react';
|
|
2
|
-
import { DefaultGenerics } from 'stream-chat';
|
|
3
|
-
export declare const streamAPIKey: string;
|
|
4
|
-
declare type LocalAttachmentType = Record<string, unknown>;
|
|
5
|
-
declare type LocalChannelType = Record<string, unknown>;
|
|
6
|
-
declare type LocalCommandType = string;
|
|
7
|
-
declare type LocalEventType = Record<string, unknown>;
|
|
8
|
-
declare type LocalMessageType = Record<string, unknown>;
|
|
9
|
-
declare type LocalReactionType = Record<string, unknown>;
|
|
10
|
-
declare type LocalUserType = Record<string, unknown>;
|
|
11
|
-
export declare type StreamChatGenerics = {
|
|
12
|
-
attachmentType: LocalAttachmentType;
|
|
13
|
-
channelType: LocalChannelType;
|
|
14
|
-
commandType: LocalCommandType;
|
|
15
|
-
eventType: LocalEventType;
|
|
16
|
-
messageType: LocalMessageType;
|
|
17
|
-
reactionType: LocalReactionType;
|
|
18
|
-
userType: LocalUserType;
|
|
19
|
-
};
|
|
20
|
-
export declare type ConnectedUserProps = PropsWithChildren<{
|
|
21
|
-
token: string;
|
|
22
|
-
userId: string;
|
|
23
|
-
}>;
|
|
24
|
-
export declare const ConnectedUser: <SCG extends DefaultGenerics = StreamChatGenerics>({ children, token, userId, }: ConnectedUserProps) => JSX.Element;
|
|
25
|
-
export {};
|
|
26
|
-
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/stories/utils.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAEtE,OAAO,EACL,eAAe,EAMhB,MAAM,aAAa,CAAC;AAMrB,eAAO,MAAM,YAAY,QAAS,CAAC;AAEnC,aAAK,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACnD,aAAK,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAChD,aAAK,gBAAgB,GAAG,MAAM,CAAC;AAC/B,aAAK,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC9C,aAAK,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAChD,aAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACjD,aAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE7C,oBAAY,kBAAkB,GAAG;IAC/B,cAAc,EAAE,mBAAmB,CAAC;IACpC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,cAAc,CAAC;IAC1B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,YAAY,EAAE,iBAAiB,CAAC;IAChC,QAAQ,EAAE,aAAa,CAAC;CACzB,CAAC;AAEF,oBAAY,kBAAkB,GAAG,iBAAiB,CAAC;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAoCH,eAAO,MAAM,aAAa,mFAIvB,kBAAkB,gBAiBpB,CAAC"}
|
package/dist/stories/utils.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import React, { useEffect, useState } from 'react';
|
|
2
|
-
import { Chat } from '../';
|
|
3
|
-
import { StreamChat, } from 'stream-chat';
|
|
4
|
-
var appKey = import.meta.env.E2E_APP_KEY;
|
|
5
|
-
if (!appKey || typeof appKey !== 'string') {
|
|
6
|
-
throw new Error('expected APP_KEY');
|
|
7
|
-
}
|
|
8
|
-
export var streamAPIKey = appKey;
|
|
9
|
-
var useClient = function (_a) {
|
|
10
|
-
var apiKey = _a.apiKey, tokenOrProvider = _a.tokenOrProvider, userData = _a.userData;
|
|
11
|
-
var _b = useState(null), chatClient = _b[0], setChatClient = _b[1];
|
|
12
|
-
useEffect(function () {
|
|
13
|
-
var client = new StreamChat(apiKey);
|
|
14
|
-
var didUserConnectInterrupt = false;
|
|
15
|
-
var connectionPromise = client.connectUser(userData, tokenOrProvider).then(function () {
|
|
16
|
-
if (!didUserConnectInterrupt)
|
|
17
|
-
setChatClient(client);
|
|
18
|
-
});
|
|
19
|
-
return function () {
|
|
20
|
-
didUserConnectInterrupt = true;
|
|
21
|
-
setChatClient(null);
|
|
22
|
-
connectionPromise
|
|
23
|
-
.then(function () { return client.disconnectUser(); })
|
|
24
|
-
.then(function () {
|
|
25
|
-
console.log('connection closed');
|
|
26
|
-
});
|
|
27
|
-
};
|
|
28
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
29
|
-
}, [apiKey, userData.id, tokenOrProvider]);
|
|
30
|
-
return chatClient;
|
|
31
|
-
};
|
|
32
|
-
export var ConnectedUser = function (_a) {
|
|
33
|
-
var children = _a.children, token = _a.token, userId = _a.userId;
|
|
34
|
-
var client = useClient({
|
|
35
|
-
apiKey: streamAPIKey,
|
|
36
|
-
tokenOrProvider: token,
|
|
37
|
-
userData: { id: userId },
|
|
38
|
-
});
|
|
39
|
-
if (!client)
|
|
40
|
-
return React.createElement("p", null,
|
|
41
|
-
"Waiting for connection to be established with user: ",
|
|
42
|
-
userId,
|
|
43
|
-
"...");
|
|
44
|
-
return (React.createElement(React.Fragment, null,
|
|
45
|
-
React.createElement("h3", null,
|
|
46
|
-
"User: ",
|
|
47
|
-
userId),
|
|
48
|
-
React.createElement("div", { className: 'chat-wrapper' },
|
|
49
|
-
React.createElement(Chat, { client: client }, children))));
|
|
50
|
-
};
|