stream-chat-react 6.8.0 → 6.9.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.
- package/dist/browser.full-bundle.js +1372 -1201
- package/dist/browser.full-bundle.js.map +1 -1
- package/dist/browser.full-bundle.min.js +2 -2
- package/dist/browser.full-bundle.min.js.map +1 -1
- package/dist/components/Avatar/Avatar.d.ts.map +1 -1
- package/dist/components/Avatar/Avatar.js +3 -1
- package/dist/components/Channel/Channel.d.ts +2 -0
- package/dist/components/Channel/Channel.d.ts.map +1 -1
- package/dist/components/Channel/Channel.js +62 -92
- package/dist/components/Channel/hooks/useCreateChannelStateContext.d.ts +15 -0
- package/dist/components/Channel/hooks/useCreateChannelStateContext.d.ts.map +1 -0
- package/dist/components/Channel/hooks/useCreateChannelStateContext.js +87 -0
- package/dist/components/Channel/hooks/useCreateTypingContext.d.ts +4 -0
- package/dist/components/Channel/hooks/useCreateTypingContext.d.ts.map +1 -0
- package/dist/components/Channel/hooks/useCreateTypingContext.js +9 -0
- package/dist/components/ChannelList/ChannelList.d.ts.map +1 -1
- package/dist/components/ChannelList/ChannelList.js +2 -2
- package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.d.ts +1 -1
- package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.js +2 -4
- package/dist/components/ChannelList/hooks/usePaginatedChannels.d.ts +0 -1
- package/dist/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/usePaginatedChannels.js +7 -15
- package/dist/components/Chat/Chat.d.ts.map +1 -1
- package/dist/components/Chat/Chat.js +14 -12
- package/dist/components/Chat/hooks/useChat.js +1 -1
- package/dist/components/Chat/hooks/useCreateChatContext.d.ts +4 -0
- package/dist/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -0
- package/dist/components/Chat/hooks/useCreateChatContext.js +21 -0
- package/dist/components/MessageInput/MessageInput.d.ts +1 -1
- package/dist/components/MessageInput/MessageInput.d.ts.map +1 -1
- package/dist/components/MessageInput/MessageInput.js +2 -1
- package/dist/components/MessageInput/hooks/useCreateMessageInputContext.d.ts +4 -0
- package/dist/components/MessageInput/hooks/useCreateMessageInputContext.d.ts.map +1 -0
- package/dist/components/MessageInput/hooks/useCreateMessageInputContext.js +88 -0
- package/dist/components/MessageList/VirtualizedMessageList.d.ts +4 -2
- package/dist/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
- package/dist/components/MessageList/VirtualizedMessageList.js +2 -2
- package/dist/index.cjs.js +317 -146
- package/dist/index.cjs.js.map +1 -1
- package/dist/utils.d.ts +2 -2
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +22 -15
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { Channel, Event } from 'stream-chat';
|
|
3
3
|
import type { DefaultAttachmentType, DefaultChannelType, DefaultMessageType, DefaultUserType } from '../../../types/types';
|
|
4
|
-
export declare const useNotificationMessageNewListener: <At extends DefaultAttachmentType = DefaultAttachmentType, Ch extends DefaultChannelType = DefaultChannelType, Co extends import("stream-chat").LiteralStringForUnion = import("stream-chat").LiteralStringForUnion, Ev extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Me extends DefaultMessageType = DefaultMessageType, Re extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Us extends DefaultUserType<Us> = DefaultUserType<import("../../../types/types").DefaultUserTypeInternal>>(setChannels: import("react").Dispatch<import("react").SetStateAction<Channel<At, Ch, Co, Ev, Me, Re, Us>[]>>, customHandler?: ((setChannels: import("react").Dispatch<import("react").SetStateAction<Channel<At, Ch, Co, Ev, Me, Re, Us>[]>>, event: Event<At, Ch, Co, Ev, Me, Re, Us>) => void) | undefined,
|
|
4
|
+
export declare const useNotificationMessageNewListener: <At extends DefaultAttachmentType = DefaultAttachmentType, Ch extends DefaultChannelType = DefaultChannelType, Co extends import("stream-chat").LiteralStringForUnion = import("stream-chat").LiteralStringForUnion, Ev extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Me extends DefaultMessageType = DefaultMessageType, Re extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Us extends DefaultUserType<Us> = DefaultUserType<import("../../../types/types").DefaultUserTypeInternal>>(setChannels: import("react").Dispatch<import("react").SetStateAction<Channel<At, Ch, Co, Ev, Me, Re, Us>[]>>, customHandler?: ((setChannels: import("react").Dispatch<import("react").SetStateAction<Channel<At, Ch, Co, Ev, Me, Re, Us>[]>>, event: Event<At, Ch, Co, Ev, Me, Re, Us>) => void) | undefined, allowNewMessagesFromUnfilteredChannels?: boolean) => void;
|
|
5
5
|
//# sourceMappingURL=useNotificationMessageNewListener.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNotificationMessageNewListener.d.ts","sourceRoot":"","sources":["../../../../src/components/ChannelList/hooks/useNotificationMessageNewListener.ts"],"names":[],"mappings":";AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,iCAAiC,w1BAavC,IAAI,
|
|
1
|
+
{"version":3,"file":"useNotificationMessageNewListener.d.ts","sourceRoot":"","sources":["../../../../src/components/ChannelList/hooks/useNotificationMessageNewListener.ts"],"names":[],"mappings":";AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,iCAAiC,w1BAavC,IAAI,wEAqBV,CAAC"}
|
|
@@ -43,7 +43,7 @@ import { useEffect } from 'react';
|
|
|
43
43
|
import uniqBy from 'lodash.uniqby';
|
|
44
44
|
import { getChannel } from '../utils';
|
|
45
45
|
import { useChatContext } from '../../../context/ChatContext';
|
|
46
|
-
export var useNotificationMessageNewListener = function (setChannels, customHandler,
|
|
46
|
+
export var useNotificationMessageNewListener = function (setChannels, customHandler, allowNewMessagesFromUnfilteredChannels) {
|
|
47
47
|
if (allowNewMessagesFromUnfilteredChannels === void 0) { allowNewMessagesFromUnfilteredChannels = true; }
|
|
48
48
|
var client = useChatContext().client;
|
|
49
49
|
useEffect(function () {
|
|
@@ -63,9 +63,7 @@ export var useNotificationMessageNewListener = function (setChannels, customHand
|
|
|
63
63
|
channel_1 = _b.sent();
|
|
64
64
|
setChannels(function (channels) { return uniqBy(__spreadArray([channel_1], channels), 'cid'); });
|
|
65
65
|
_b.label = 3;
|
|
66
|
-
case 3:
|
|
67
|
-
setOffset === null || setOffset === void 0 ? void 0 : setOffset(function (prevOffset) { return prevOffset + 1; });
|
|
68
|
-
return [2 /*return*/];
|
|
66
|
+
case 3: return [2 /*return*/];
|
|
69
67
|
}
|
|
70
68
|
});
|
|
71
69
|
}); };
|
|
@@ -6,7 +6,6 @@ export declare const usePaginatedChannels: <At extends DefaultAttachmentType = D
|
|
|
6
6
|
hasNextPage: boolean;
|
|
7
7
|
loadNextPage: () => void;
|
|
8
8
|
setChannels: import("react").Dispatch<import("react").SetStateAction<Channel<At, Ch, Co, Ev, Me, Re, Us>[]>>;
|
|
9
|
-
setOffset: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
10
9
|
status: {
|
|
11
10
|
error: boolean;
|
|
12
11
|
loadingChannels: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePaginatedChannels.d.ts","sourceRoot":"","sources":["../../../../src/components/ChannelList/hooks/usePaginatedChannels.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEpG,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,oBAAoB,krBAYtB,cAAc,2LAIlB,IAAI
|
|
1
|
+
{"version":3,"file":"usePaginatedChannels.d.ts","sourceRoot":"","sources":["../../../../src/components/ChannelList/hooks/usePaginatedChannels.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEpG,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,oBAAoB,krBAYtB,cAAc,2LAIlB,IAAI;;;;;;;;;;CAoEV,CAAC"}
|
|
@@ -57,12 +57,11 @@ export var usePaginatedChannels = function (client, filters, sort, options, acti
|
|
|
57
57
|
var _b = useState(false), error = _b[0], setError = _b[1];
|
|
58
58
|
var _c = useState(true), hasNextPage = _c[0], setHasNextPage = _c[1];
|
|
59
59
|
var _d = useState(true), loadingChannels = _d[0], setLoadingChannels = _d[1];
|
|
60
|
-
var _e = useState(
|
|
61
|
-
var _f = useState(true), refreshing = _f[0], setRefreshing = _f[1];
|
|
60
|
+
var _e = useState(true), refreshing = _e[0], setRefreshing = _e[1];
|
|
62
61
|
var filterString = useMemo(function () { return JSON.stringify(filters); }, [filters]);
|
|
63
62
|
var sortString = useMemo(function () { return JSON.stringify(sort); }, [sort]);
|
|
64
63
|
var queryChannels = function (queryType) { return __awaiter(void 0, void 0, void 0, function () {
|
|
65
|
-
var newOptions, channelQueryResponse, newChannels, err_1;
|
|
64
|
+
var offset, newOptions, channelQueryResponse, newChannels, err_1;
|
|
66
65
|
var _a;
|
|
67
66
|
return __generator(this, function (_b) {
|
|
68
67
|
switch (_b.label) {
|
|
@@ -72,27 +71,21 @@ export var usePaginatedChannels = function (client, filters, sort, options, acti
|
|
|
72
71
|
setLoadingChannels(true);
|
|
73
72
|
}
|
|
74
73
|
setRefreshing(true);
|
|
75
|
-
|
|
74
|
+
offset = queryType === 'reload' ? 0 : channels.length;
|
|
75
|
+
newOptions = __assign({ limit: (_a = options === null || options === void 0 ? void 0 : options.limit) !== null && _a !== void 0 ? _a : MAX_QUERY_CHANNELS_LIMIT, offset: offset }, options);
|
|
76
76
|
_b.label = 1;
|
|
77
77
|
case 1:
|
|
78
78
|
_b.trys.push([1, 3, , 4]);
|
|
79
79
|
return [4 /*yield*/, client.queryChannels(filters, sort || {}, newOptions)];
|
|
80
80
|
case 2:
|
|
81
81
|
channelQueryResponse = _b.sent();
|
|
82
|
-
newChannels =
|
|
83
|
-
if (queryType === 'reload') {
|
|
84
|
-
newChannels = channelQueryResponse;
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
newChannels = __spreadArray(__spreadArray([], channels), channelQueryResponse);
|
|
88
|
-
}
|
|
82
|
+
newChannels = queryType === 'reload' ? channelQueryResponse : __spreadArray(__spreadArray([], channels), channelQueryResponse);
|
|
89
83
|
setChannels(newChannels);
|
|
90
84
|
setHasNextPage(channelQueryResponse.length >= newOptions.limit);
|
|
91
|
-
// Set active channel only
|
|
92
|
-
if (offset
|
|
85
|
+
// Set active channel only on load of first page
|
|
86
|
+
if (!offset && activeChannelHandler) {
|
|
93
87
|
activeChannelHandler(newChannels, setChannels);
|
|
94
88
|
}
|
|
95
|
-
setOffset(newChannels.length);
|
|
96
89
|
return [3 /*break*/, 4];
|
|
97
90
|
case 3:
|
|
98
91
|
err_1 = _b.sent();
|
|
@@ -117,7 +110,6 @@ export var usePaginatedChannels = function (client, filters, sort, options, acti
|
|
|
117
110
|
hasNextPage: hasNextPage,
|
|
118
111
|
loadNextPage: loadNextPage,
|
|
119
112
|
setChannels: setChannels,
|
|
120
|
-
setOffset: setOffset,
|
|
121
113
|
status: {
|
|
122
114
|
error: error,
|
|
123
115
|
loadingChannels: loadingChannels,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../src/components/Chat/Chat.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../src/components/Chat/Chat.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAIjD,OAAO,EAAE,YAAY,EAAkC,MAAM,yBAAyB,CAAC;AAEvF,OAAO,EAAgB,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAuB,MAAM,kCAAkC,CAAC;AAE9F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAE3B,oBAAY,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IACvC,eAAe,GACf,gBAAgB,GAChB,iBAAiB,GACjB,kBAAkB,GAClB,gBAAgB,GAChB,iBAAiB,GACjB,WAAW,GACX,YAAY,GACZ,CAAC,CAAC;AAEN,oBAAY,SAAS,CACnB,EAAE,SAAS,qBAAqB,GAAG,qBAAqB,EACxD,EAAE,SAAS,kBAAkB,GAAG,kBAAkB,EAClD,EAAE,SAAS,kBAAkB,GAAG,kBAAkB,EAClD,EAAE,SAAS,gBAAgB,GAAG,gBAAgB,EAC9C,EAAE,SAAS,kBAAkB,GAAG,kBAAkB,EAClD,EAAE,SAAS,mBAAmB,GAAG,mBAAmB,EACpD,EAAE,SAAS,eAAe,CAAC,EAAE,CAAC,GAAG,eAAe,IAC9C;IACF,mCAAmC;IACnC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,8FAA8F;IAC9F,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,4EAA4E;IAC5E,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oGAAoG;IACpG,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,8BAA8B;IAC9B,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,0CAA0C;IAC1C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oIAAoI;IACpI,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;;OAGG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,IAAI,0oBAwDhB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { useChat } from './hooks/useChat';
|
|
3
|
+
import { useCreateChatContext } from './hooks/useCreateChatContext';
|
|
3
4
|
import { darkModeTheme, useCustomStyles } from './hooks/useCustomStyles';
|
|
4
5
|
import { ChatProvider } from '../../context/ChatContext';
|
|
5
6
|
import { TranslationProvider } from '../../context/TranslationContext';
|
|
@@ -11,19 +12,20 @@ export var Chat = function (props) {
|
|
|
11
12
|
var children = props.children, client = props.client, customClasses = props.customClasses, customStyles = props.customStyles, _a = props.darkMode, darkMode = _a === void 0 ? false : _a, defaultLanguage = props.defaultLanguage, i18nInstance = props.i18nInstance, _b = props.initialNavOpen, initialNavOpen = _b === void 0 ? true : _b, _c = props.theme, theme = _c === void 0 ? 'messaging light' : _c, _d = props.useImageFlagEmojisOnWindows, useImageFlagEmojisOnWindows = _d === void 0 ? false : _d;
|
|
12
13
|
var _e = useChat({ client: client, defaultLanguage: defaultLanguage, i18nInstance: i18nInstance, initialNavOpen: initialNavOpen }), channel = _e.channel, closeMobileNav = _e.closeMobileNav, mutes = _e.mutes, navOpen = _e.navOpen, openMobileNav = _e.openMobileNav, setActiveChannel = _e.setActiveChannel, translators = _e.translators;
|
|
13
14
|
useCustomStyles(darkMode ? darkModeTheme : customStyles);
|
|
15
|
+
var chatContextValue = useCreateChatContext({
|
|
16
|
+
channel: channel,
|
|
17
|
+
client: client,
|
|
18
|
+
closeMobileNav: closeMobileNav,
|
|
19
|
+
customClasses: customClasses,
|
|
20
|
+
mutes: mutes,
|
|
21
|
+
navOpen: navOpen,
|
|
22
|
+
openMobileNav: openMobileNav,
|
|
23
|
+
setActiveChannel: setActiveChannel,
|
|
24
|
+
theme: theme,
|
|
25
|
+
useImageFlagEmojisOnWindows: useImageFlagEmojisOnWindows,
|
|
26
|
+
});
|
|
14
27
|
if (!translators.t)
|
|
15
28
|
return null;
|
|
16
|
-
return (React.createElement(ChatProvider, { value:
|
|
17
|
-
channel: channel,
|
|
18
|
-
client: client,
|
|
19
|
-
closeMobileNav: closeMobileNav,
|
|
20
|
-
customClasses: customClasses,
|
|
21
|
-
mutes: mutes,
|
|
22
|
-
navOpen: navOpen,
|
|
23
|
-
openMobileNav: openMobileNav,
|
|
24
|
-
setActiveChannel: setActiveChannel,
|
|
25
|
-
theme: theme,
|
|
26
|
-
useImageFlagEmojisOnWindows: useImageFlagEmojisOnWindows,
|
|
27
|
-
} },
|
|
29
|
+
return (React.createElement(ChatProvider, { value: chatContextValue },
|
|
28
30
|
React.createElement(TranslationProvider, { value: translators }, children)));
|
|
29
31
|
};
|
|
@@ -61,7 +61,7 @@ export var useChat = function (_a) {
|
|
|
61
61
|
var _e = useState(), channel = _e[0], setChannel = _e[1];
|
|
62
62
|
var _f = useState([]), mutes = _f[0], setMutes = _f[1];
|
|
63
63
|
var _g = useState(initialNavOpen), navOpen = _g[0], setNavOpen = _g[1];
|
|
64
|
-
var clientMutes = (_b = client
|
|
64
|
+
var clientMutes = (_b = client.user) === null || _b === void 0 ? void 0 : _b.mutes;
|
|
65
65
|
var closeMobileNav = function () { return setNavOpen(false); };
|
|
66
66
|
var openMobileNav = function () { return setTimeout(function () { return setNavOpen(true); }, 100); };
|
|
67
67
|
useEffect(function () {
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ChatContextValue } from '../../../context/ChatContext';
|
|
2
|
+
import type { DefaultAttachmentType, DefaultChannelType, DefaultMessageType, DefaultUserType } from '../../../types/types';
|
|
3
|
+
export declare const useCreateChatContext: <At extends DefaultAttachmentType = DefaultAttachmentType, Ch extends DefaultChannelType = DefaultChannelType, Co extends import("stream-chat").LiteralStringForUnion = import("stream-chat").LiteralStringForUnion, Ev extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Me extends DefaultMessageType = DefaultMessageType, Re extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Us extends DefaultUserType<Us> = DefaultUserType<import("../../../types/types").DefaultUserTypeInternal>>(value: ChatContextValue<At, Ch, Co, Ev, Me, Re, Us>) => ChatContextValue<At, Ch, Co, Ev, Me, Re, Us>;
|
|
4
|
+
//# sourceMappingURL=useCreateChatContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCreateChatContext.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/hooks/useCreateChatContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,oBAAoB,iqBAgDhC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
export var useCreateChatContext = function (value) {
|
|
3
|
+
var _a;
|
|
4
|
+
var channel = value.channel, client = value.client, closeMobileNav = value.closeMobileNav, customClasses = value.customClasses, mutes = value.mutes, navOpen = value.navOpen, openMobileNav = value.openMobileNav, setActiveChannel = value.setActiveChannel, theme = value.theme, useImageFlagEmojisOnWindows = value.useImageFlagEmojisOnWindows;
|
|
5
|
+
var channelCid = channel === null || channel === void 0 ? void 0 : channel.cid;
|
|
6
|
+
var clientValues = "" + client.clientID + Object.keys(client.activeChannels).length + Object.keys(client.listeners).length + client.mutedChannels.length + "\n " + ((_a = client.user) === null || _a === void 0 ? void 0 : _a.id);
|
|
7
|
+
var mutedUsersLength = mutes.length;
|
|
8
|
+
var chatContext = useMemo(function () { return ({
|
|
9
|
+
channel: channel,
|
|
10
|
+
client: client,
|
|
11
|
+
closeMobileNav: closeMobileNav,
|
|
12
|
+
customClasses: customClasses,
|
|
13
|
+
mutes: mutes,
|
|
14
|
+
navOpen: navOpen,
|
|
15
|
+
openMobileNav: openMobileNav,
|
|
16
|
+
setActiveChannel: setActiveChannel,
|
|
17
|
+
theme: theme,
|
|
18
|
+
useImageFlagEmojisOnWindows: useImageFlagEmojisOnWindows,
|
|
19
|
+
}); }, [channelCid, clientValues, mutedUsersLength, navOpen]);
|
|
20
|
+
return chatContext;
|
|
21
|
+
};
|
|
@@ -43,7 +43,7 @@ export declare type MessageInputProps<At extends DefaultAttachmentType = Default
|
|
|
43
43
|
mentionQueryParams?: SearchQueryParams<Us>['userFilters'];
|
|
44
44
|
/** If provided, the existing message will be edited on submit */
|
|
45
45
|
message?: StreamMessage<At, Ch, Co, Ev, Me, Re, Us>;
|
|
46
|
-
/** If true, disables file uploads. Default: false */
|
|
46
|
+
/** If true, disables file uploads for all attachments except for those with type 'image'. Default: false */
|
|
47
47
|
noFiles?: boolean;
|
|
48
48
|
/** Function to override the default submit handler */
|
|
49
49
|
overrideSubmitHandler?: (message: MessageToSend<At, Ch, Co, Ev, Me, Re, Us>, channelCid: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageInput.d.ts","sourceRoot":"","sources":["../../../src/components/MessageInput/MessageInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageInput.d.ts","sourceRoot":"","sources":["../../../src/components/MessageInput/MessageInput.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ import React from 'react';
|
|
|
13
13
|
import { DefaultTriggerProvider } from './DefaultTriggerProvider';
|
|
14
14
|
import { MessageInputFlat } from './MessageInputFlat';
|
|
15
15
|
import { useCooldownTimer } from './hooks/useCooldownTimer';
|
|
16
|
+
import { useCreateMessageInputContext } from './hooks/useCreateMessageInputContext';
|
|
16
17
|
import { useMessageInputState } from './hooks/useMessageInputState';
|
|
17
18
|
import { MessageInputContextProvider } from '../../context/MessageInputContext';
|
|
18
19
|
import { useComponentContext } from '../../context/ComponentContext';
|
|
@@ -22,7 +23,7 @@ var UnMemoizedMessageInput = function (props) {
|
|
|
22
23
|
var Input = PropInput || ContextInput || MessageInputFlat;
|
|
23
24
|
var messageInputState = useMessageInputState(props);
|
|
24
25
|
var cooldownTimerState = useCooldownTimer();
|
|
25
|
-
var messageInputContextValue = __assign(__assign(__assign({}, cooldownTimerState), messageInputState), props);
|
|
26
|
+
var messageInputContextValue = useCreateMessageInputContext(__assign(__assign(__assign({}, cooldownTimerState), messageInputState), props));
|
|
26
27
|
return (React.createElement(MessageInputContextProvider, { value: messageInputContextValue },
|
|
27
28
|
React.createElement(TriggerProvider, null,
|
|
28
29
|
React.createElement(Input, null))));
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { MessageInputContextValue } from '../../../context/MessageInputContext';
|
|
2
|
+
import type { CustomTrigger, DefaultAttachmentType, DefaultChannelType, DefaultMessageType, DefaultUserType } from '../../../types/types';
|
|
3
|
+
export declare const useCreateMessageInputContext: <At extends DefaultAttachmentType = DefaultAttachmentType, Ch extends DefaultChannelType = DefaultChannelType, Co extends import("stream-chat").LiteralStringForUnion = import("stream-chat").LiteralStringForUnion, Ev extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Me extends DefaultMessageType = DefaultMessageType, Re extends import("../../../types/types").UnknownType = import("../../../types/types").UnknownType, Us extends DefaultUserType<Us> = DefaultUserType<import("../../../types/types").DefaultUserTypeInternal>, V extends CustomTrigger = CustomTrigger>(value: MessageInputContextValue<At, Ch, Co, Ev, Me, Re, Us, V>) => MessageInputContextValue<At, Ch, Co, Ev, Me, Re, Us, V>;
|
|
4
|
+
//# sourceMappingURL=useCreateMessageInputContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCreateMessageInputContext.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput/hooks/useCreateMessageInputContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,4BAA4B,guBAwJxC,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
export var useCreateMessageInputContext = function (value) {
|
|
3
|
+
var additionalTextareaProps = value.additionalTextareaProps, attachments = value.attachments, autocompleteTriggers = value.autocompleteTriggers, clearEditingState = value.clearEditingState, closeCommandsList = value.closeCommandsList, closeEmojiPicker = value.closeEmojiPicker, cooldownInterval = value.cooldownInterval, disabled = value.disabled, disableMentions = value.disableMentions, doFileUploadRequest = value.doFileUploadRequest, doImageUploadRequest = value.doImageUploadRequest, emojiIndex = value.emojiIndex, emojiPickerIsOpen = value.emojiPickerIsOpen, emojiPickerRef = value.emojiPickerRef, errorHandler = value.errorHandler, fileOrder = value.fileOrder, fileUploads = value.fileUploads, focus = value.focus, grow = value.grow, handleChange = value.handleChange, handleEmojiKeyDown = value.handleEmojiKeyDown, handleSubmit = value.handleSubmit, imageOrder = value.imageOrder, imageUploads = value.imageUploads, insertText = value.insertText, isUploadEnabled = value.isUploadEnabled, keycodeSubmitKeys = value.keycodeSubmitKeys, maxFilesLeft = value.maxFilesLeft, maxRows = value.maxRows, mentionAllAppUsers = value.mentionAllAppUsers, mentioned_users = value.mentioned_users, mentionQueryParams = value.mentionQueryParams, message = value.message, noFiles = value.noFiles, numberOfUploads = value.numberOfUploads, onPaste = value.onPaste, onSelectEmoji = value.onSelectEmoji, onSelectUser = value.onSelectUser, openCommandsList = value.openCommandsList, openEmojiPicker = value.openEmojiPicker, overrideSubmitHandler = value.overrideSubmitHandler, parent = value.parent, publishTypingEvent = value.publishTypingEvent, removeFile = value.removeFile, removeImage = value.removeImage, setCooldownRemaining = value.setCooldownRemaining, setText = value.setText, showCommandsList = value.showCommandsList, text = value.text, textareaRef = value.textareaRef, uploadFile = value.uploadFile, uploadImage = value.uploadImage, uploadNewFiles = value.uploadNewFiles, useMentionsTransliteration = value.useMentionsTransliteration;
|
|
4
|
+
var editing = message === null || message === void 0 ? void 0 : message.editing;
|
|
5
|
+
var fileUploadsValue = Object.entries(fileUploads)
|
|
6
|
+
// eslint-disable-next-line
|
|
7
|
+
.map(function (_a) {
|
|
8
|
+
var _ = _a[0], value = _a[1];
|
|
9
|
+
return value.state;
|
|
10
|
+
})
|
|
11
|
+
.join();
|
|
12
|
+
var imageUploadsValue = Object.entries(imageUploads)
|
|
13
|
+
// eslint-disable-next-line
|
|
14
|
+
.map(function (_a) {
|
|
15
|
+
var _ = _a[0], value = _a[1];
|
|
16
|
+
return value.state;
|
|
17
|
+
})
|
|
18
|
+
.join();
|
|
19
|
+
var mentionedUsersLength = mentioned_users.length;
|
|
20
|
+
var parentId = parent === null || parent === void 0 ? void 0 : parent.id;
|
|
21
|
+
var messageInputContext = useMemo(function () { return ({
|
|
22
|
+
additionalTextareaProps: additionalTextareaProps,
|
|
23
|
+
attachments: attachments,
|
|
24
|
+
autocompleteTriggers: autocompleteTriggers,
|
|
25
|
+
clearEditingState: clearEditingState,
|
|
26
|
+
closeCommandsList: closeCommandsList,
|
|
27
|
+
closeEmojiPicker: closeEmojiPicker,
|
|
28
|
+
cooldownInterval: cooldownInterval,
|
|
29
|
+
disabled: disabled,
|
|
30
|
+
disableMentions: disableMentions,
|
|
31
|
+
doFileUploadRequest: doFileUploadRequest,
|
|
32
|
+
doImageUploadRequest: doImageUploadRequest,
|
|
33
|
+
emojiIndex: emojiIndex,
|
|
34
|
+
emojiPickerIsOpen: emojiPickerIsOpen,
|
|
35
|
+
emojiPickerRef: emojiPickerRef,
|
|
36
|
+
errorHandler: errorHandler,
|
|
37
|
+
fileOrder: fileOrder,
|
|
38
|
+
fileUploads: fileUploads,
|
|
39
|
+
focus: focus,
|
|
40
|
+
grow: grow,
|
|
41
|
+
handleChange: handleChange,
|
|
42
|
+
handleEmojiKeyDown: handleEmojiKeyDown,
|
|
43
|
+
handleSubmit: handleSubmit,
|
|
44
|
+
imageOrder: imageOrder,
|
|
45
|
+
imageUploads: imageUploads,
|
|
46
|
+
insertText: insertText,
|
|
47
|
+
isUploadEnabled: isUploadEnabled,
|
|
48
|
+
keycodeSubmitKeys: keycodeSubmitKeys,
|
|
49
|
+
maxFilesLeft: maxFilesLeft,
|
|
50
|
+
maxRows: maxRows,
|
|
51
|
+
mentionAllAppUsers: mentionAllAppUsers,
|
|
52
|
+
mentioned_users: mentioned_users,
|
|
53
|
+
mentionQueryParams: mentionQueryParams,
|
|
54
|
+
message: message,
|
|
55
|
+
noFiles: noFiles,
|
|
56
|
+
numberOfUploads: numberOfUploads,
|
|
57
|
+
onPaste: onPaste,
|
|
58
|
+
onSelectEmoji: onSelectEmoji,
|
|
59
|
+
onSelectUser: onSelectUser,
|
|
60
|
+
openCommandsList: openCommandsList,
|
|
61
|
+
openEmojiPicker: openEmojiPicker,
|
|
62
|
+
overrideSubmitHandler: overrideSubmitHandler,
|
|
63
|
+
parent: parent,
|
|
64
|
+
publishTypingEvent: publishTypingEvent,
|
|
65
|
+
removeFile: removeFile,
|
|
66
|
+
removeImage: removeImage,
|
|
67
|
+
setCooldownRemaining: setCooldownRemaining,
|
|
68
|
+
setText: setText,
|
|
69
|
+
showCommandsList: showCommandsList,
|
|
70
|
+
text: text,
|
|
71
|
+
textareaRef: textareaRef,
|
|
72
|
+
uploadFile: uploadFile,
|
|
73
|
+
uploadImage: uploadImage,
|
|
74
|
+
uploadNewFiles: uploadNewFiles,
|
|
75
|
+
useMentionsTransliteration: useMentionsTransliteration,
|
|
76
|
+
}); }, [
|
|
77
|
+
editing,
|
|
78
|
+
emojiPickerIsOpen,
|
|
79
|
+
fileUploadsValue,
|
|
80
|
+
imageUploadsValue,
|
|
81
|
+
isUploadEnabled,
|
|
82
|
+
mentionedUsersLength,
|
|
83
|
+
parentId,
|
|
84
|
+
publishTypingEvent,
|
|
85
|
+
text,
|
|
86
|
+
]);
|
|
87
|
+
return messageInputContext;
|
|
88
|
+
};
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { ScrollSeekConfiguration, ScrollSeekPlaceholderProps } from 'react-virtuoso';
|
|
2
|
+
import { ScrollSeekConfiguration, ScrollSeekPlaceholderProps, VirtuosoProps } from 'react-virtuoso';
|
|
3
3
|
import { MessageProps, MessageUIComponentProps } from '../Message';
|
|
4
4
|
import { ChannelActionContextValue } from '../../context/ChannelActionContext';
|
|
5
5
|
import { StreamMessage } from '../../context/ChannelStateContext';
|
|
6
|
-
import type { DefaultAttachmentType, DefaultChannelType, DefaultCommandType, DefaultEventType, DefaultMessageType, DefaultReactionType, DefaultUserType } from '../../types/types';
|
|
6
|
+
import type { DefaultAttachmentType, DefaultChannelType, DefaultCommandType, DefaultEventType, DefaultMessageType, DefaultReactionType, DefaultUserType, UnknownType } from '../../types/types';
|
|
7
7
|
export declare type VirtualizedMessageListProps<At extends DefaultAttachmentType = DefaultAttachmentType, Ch extends DefaultChannelType = DefaultChannelType, Co extends DefaultCommandType = DefaultCommandType, Ev extends DefaultEventType = DefaultEventType, Me extends DefaultMessageType = DefaultMessageType, Re extends DefaultReactionType = DefaultReactionType, Us extends DefaultUserType<Us> = DefaultUserType> = Partial<Pick<MessageProps<At, Ch, Co, Ev, Me, Re, Us>, 'customMessageActions' | 'messageActions'>> & {
|
|
8
|
+
/** Additional props to be passed the underlying [`react-virtuoso` virtualized list dependency](https://virtuoso.dev/virtuoso-api-reference/) */
|
|
9
|
+
additionalVirtuosoProps?: VirtuosoProps<UnknownType>;
|
|
8
10
|
/** If true, picking a reaction from the `ReactionSelector` component will close the selector */
|
|
9
11
|
closeReactionSelectorOnClick?: boolean;
|
|
10
12
|
/** Custom render function, if passed, certain UI props are ignored */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VirtualizedMessageList.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/VirtualizedMessageList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AACvE,OAAO,EAEL,uBAAuB,EACvB,0BAA0B,
|
|
1
|
+
{"version":3,"file":"VirtualizedMessageList.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/VirtualizedMessageList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ import { useComponentContext } from '../../context/ComponentContext';
|
|
|
30
30
|
import { isDate, useTranslationContext } from '../../context/TranslationContext';
|
|
31
31
|
var PREPEND_OFFSET = Math.pow(10, 7);
|
|
32
32
|
var VirtualizedMessageListWithContext = function (props) {
|
|
33
|
-
var channel = props.channel, closeReactionSelectorOnClick = props.closeReactionSelectorOnClick, customMessageRenderer = props.customMessageRenderer, defaultItemHeight = props.defaultItemHeight, _a = props.disableDateSeparator, disableDateSeparator = _a === void 0 ? true : _a, hasMore = props.hasMore, _b = props.hideDeletedMessages, hideDeletedMessages = _b === void 0 ? false : _b, _c = props.hideNewMessageSeparator, hideNewMessageSeparator = _c === void 0 ? false : _c, loadingMore = props.loadingMore, loadMore = props.loadMore, propMessage = props.Message, _d = props.messageLimit, messageLimit = _d === void 0 ? 100 : _d, messages = props.messages, _e = props.overscan, overscan = _e === void 0 ? 0 : _e,
|
|
33
|
+
var additionalVirtuosoProps = props.additionalVirtuosoProps, channel = props.channel, closeReactionSelectorOnClick = props.closeReactionSelectorOnClick, customMessageRenderer = props.customMessageRenderer, defaultItemHeight = props.defaultItemHeight, _a = props.disableDateSeparator, disableDateSeparator = _a === void 0 ? true : _a, hasMore = props.hasMore, _b = props.hideDeletedMessages, hideDeletedMessages = _b === void 0 ? false : _b, _c = props.hideNewMessageSeparator, hideNewMessageSeparator = _c === void 0 ? false : _c, loadingMore = props.loadingMore, loadMore = props.loadMore, propMessage = props.Message, _d = props.messageLimit, messageLimit = _d === void 0 ? 100 : _d, messages = props.messages, _e = props.overscan, overscan = _e === void 0 ? 0 : _e,
|
|
34
34
|
// TODO: refactor to scrollSeekPlaceHolderConfiguration and components.ScrollSeekPlaceholder, like the Virtuoso Component
|
|
35
35
|
scrollSeekPlaceHolder = props.scrollSeekPlaceHolder, _f = props.scrollToLatestMessageOnFocus, scrollToLatestMessageOnFocus = _f === void 0 ? false : _f, _g = props.separateGiphyPreview, separateGiphyPreview = _g === void 0 ? false : _g, _h = props.shouldGroupByUser, shouldGroupByUser = _h === void 0 ? false : _h, _j = props.stickToBottomScrollBehavior, stickToBottomScrollBehavior = _j === void 0 ? 'smooth' : _j;
|
|
36
36
|
var _k = useComponentContext(), _l = _k.DateSeparator, DateSeparator = _l === void 0 ? DefaultDateSeparator : _l, _m = _k.EmptyStateIndicator, EmptyStateIndicator = _m === void 0 ? DefaultEmptyStateIndicator : _m, _o = _k.GiphyPreviewMessage, GiphyPreviewMessage = _o === void 0 ? DefaultGiphyPreviewMessage : _o, _p = _k.LoadingIndicator, LoadingIndicator = _p === void 0 ? DefaultLoadingIndicator : _p, _q = _k.MessageNotification, MessageNotification = _q === void 0 ? DefaultMessageNotification : _q, _r = _k.MessageSystem, MessageSystem = _r === void 0 ? EventComponent : _r, _s = _k.TypingIndicator, TypingIndicator = _s === void 0 ? null : _s, _t = _k.VirtualMessage, contextMessage = _t === void 0 ? MessageSimple : _t;
|
|
@@ -158,7 +158,7 @@ var VirtualizedMessageListWithContext = function (props) {
|
|
|
158
158
|
var virtualizedMessageListClass = (customClasses === null || customClasses === void 0 ? void 0 : customClasses.virtualizedMessageList) || 'str-chat__virtual-list';
|
|
159
159
|
return (React.createElement(React.Fragment, null,
|
|
160
160
|
React.createElement("div", { className: virtualizedMessageListClass },
|
|
161
|
-
React.createElement(Virtuoso, __assign({ atBottomStateChange: atBottomStateChange, components: virtuosoComponents, firstItemIndex: PREPEND_OFFSET - numItemsPrepended, followOutput: followOutput, initialTopMostItemIndex: processedMessages.length ? processedMessages.length - 1 : 0, itemContent: function (i) { return messageRenderer(processedMessages, i); }, overscan: overscan, ref: virtuoso, startReached: startReached, style: { overflowX: 'hidden' }, totalCount: processedMessages.length }, (scrollSeekPlaceHolder ? { scrollSeek: scrollSeekPlaceHolder } : {}), (defaultItemHeight ? { defaultItemHeight: defaultItemHeight } : {}))),
|
|
161
|
+
React.createElement(Virtuoso, __assign({ atBottomStateChange: atBottomStateChange, components: virtuosoComponents, firstItemIndex: PREPEND_OFFSET - numItemsPrepended, followOutput: followOutput, initialTopMostItemIndex: processedMessages.length ? processedMessages.length - 1 : 0, itemContent: function (i) { return messageRenderer(processedMessages, i); }, overscan: overscan, ref: virtuoso, startReached: startReached, style: { overflowX: 'hidden' }, totalCount: processedMessages.length }, additionalVirtuosoProps, (scrollSeekPlaceHolder ? { scrollSeek: scrollSeekPlaceHolder } : {}), (defaultItemHeight ? { defaultItemHeight: defaultItemHeight } : {}))),
|
|
162
162
|
React.createElement("div", { className: 'str-chat__list-notifications' },
|
|
163
163
|
React.createElement(MessageNotification, { onClick: scrollToBottom, showNotification: newMessagesNotification }, t('New Messages!')))),
|
|
164
164
|
giphyPreviewMessage && React.createElement(GiphyPreviewMessage, { message: giphyPreviewMessage })));
|