stream-chat-react 10.10.2 → 10.12.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 +181 -70
- package/dist/browser.full-bundle.js.map +1 -1
- package/dist/browser.full-bundle.min.js +5 -5
- package/dist/browser.full-bundle.min.js.map +1 -1
- package/dist/components/ChannelPreview/ChannelPreview.d.ts +3 -0
- package/dist/components/ChannelPreview/ChannelPreview.d.ts.map +1 -1
- package/dist/components/ChannelPreview/ChannelPreview.js +6 -1
- package/dist/components/ChannelPreview/hooks/index.d.ts +1 -0
- package/dist/components/ChannelPreview/hooks/index.d.ts.map +1 -1
- package/dist/components/ChannelPreview/hooks/index.js +1 -0
- package/dist/components/ChannelPreview/hooks/useMessageDeliveryStatus.d.ts +17 -0
- package/dist/components/ChannelPreview/hooks/useMessageDeliveryStatus.d.ts.map +1 -0
- package/dist/components/ChannelPreview/hooks/useMessageDeliveryStatus.js +58 -0
- package/dist/components/ChannelSearch/hooks/useChannelSearch.d.ts +4 -3
- package/dist/components/ChannelSearch/hooks/useChannelSearch.d.ts.map +1 -1
- package/dist/components/ChannelSearch/hooks/useChannelSearch.js +52 -31
- package/dist/components/Message/MessageSimple.d.ts.map +1 -1
- package/dist/components/Message/MessageSimple.js +10 -3
- package/dist/components/Message/hooks/useReactionHandler.d.ts.map +1 -1
- package/dist/components/Message/hooks/useReactionHandler.js +17 -21
- package/dist/components/MessageInput/CooldownTimer.js +1 -1
- package/dist/components/MessageInput/hooks/useCooldownTimer.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useCooldownTimer.js +5 -2
- package/dist/context/MessageContext.d.ts +3 -1
- package/dist/context/MessageContext.d.ts.map +1 -1
- package/dist/context/TranslationContext.d.ts +1 -1
- package/dist/context/TranslationContext.d.ts.map +1 -1
- package/dist/i18n/Streami18n.d.ts +9 -3
- package/dist/i18n/Streami18n.d.ts.map +1 -1
- package/dist/i18n/Streami18n.js +18 -11
- package/dist/index.cjs.js +167 -70
- package/dist/index.cjs.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ChatContextValue } from '../../context/ChatContext';
|
|
3
|
+
import { MessageDeliveryStatus } from './hooks/useMessageDeliveryStatus';
|
|
3
4
|
import type { Channel } from 'stream-chat';
|
|
4
5
|
import type { AvatarProps } from '../Avatar/Avatar';
|
|
5
6
|
import type { StreamMessage } from '../../context/ChannelStateContext';
|
|
@@ -15,6 +16,8 @@ export declare type ChannelPreviewUIComponentProps<StreamChatGenerics extends De
|
|
|
15
16
|
lastMessage?: StreamMessage<StreamChatGenerics>;
|
|
16
17
|
/** Latest message preview to display, will be a string or JSX element supporting markdown. */
|
|
17
18
|
latestMessage?: string | JSX.Element;
|
|
19
|
+
/** Status describing whether own message has been delivered or read by another. If the last message is not an own message, then the status is undefined. */
|
|
20
|
+
messageDeliveryStatus?: MessageDeliveryStatus;
|
|
18
21
|
/** Number of unread Messages */
|
|
19
22
|
unread?: number;
|
|
20
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChannelPreview.d.ts","sourceRoot":"","sources":["../../../src/components/ChannelPreview/ChannelPreview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAOhE,OAAO,EAAE,gBAAgB,EAAkB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"ChannelPreview.d.ts","sourceRoot":"","sources":["../../../src/components/ChannelPreview/ChannelPreview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAOhE,OAAO,EAAE,gBAAgB,EAAkB,MAAM,2BAA2B,CAAC;AAE7E,OAAO,EAAE,qBAAqB,EAA4B,MAAM,kCAAkC,CAAC;AAEnG,OAAO,KAAK,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,oBAAY,8BAA8B,CACxC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,mBAAmB,CAAC,kBAAkB,CAAC,GAAG;IAC5C,kEAAkE;IAClE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kCAAkC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kCAAkC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAChD,8FAA8F;IAC9F,aAAa,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IACrC,4JAA4J;IAC5J,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oBAAY,mBAAmB,CAC7B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,6MAA6M;IAC7M,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,sCAAsC;IACtC,aAAa,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC5C,+LAA+L;IAC/L,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAC1C,+DAA+D;IAC/D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAC7C,6PAA6P;IAC7P,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,8BAA8B,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAClF,kCAAkC;IAClC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAC5E,2CAA2C;IAC3C,QAAQ,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAChD,CAAC;AAEF,eAAO,MAAM,cAAc,0JA8E1B,CAAC"}
|
|
@@ -6,6 +6,7 @@ import { useChannelPreviewInfo } from './hooks/useChannelPreviewInfo';
|
|
|
6
6
|
import { getLatestMessagePreview } from './utils';
|
|
7
7
|
import { useChatContext } from '../../context/ChatContext';
|
|
8
8
|
import { useTranslationContext } from '../../context/TranslationContext';
|
|
9
|
+
import { useMessageDeliveryStatus } from './hooks/useMessageDeliveryStatus';
|
|
9
10
|
export var ChannelPreview = function (props) {
|
|
10
11
|
var channel = props.channel, _a = props.Preview, Preview = _a === void 0 ? ChannelPreviewMessenger : _a, channelUpdateCount = props.channelUpdateCount;
|
|
11
12
|
var _b = useChatContext('ChannelPreview'), activeChannel = _b.channel, client = _b.client, setActiveChannel = _b.setActiveChannel;
|
|
@@ -13,6 +14,10 @@ export var ChannelPreview = function (props) {
|
|
|
13
14
|
var _d = useChannelPreviewInfo({ channel: channel }), displayImage = _d.displayImage, displayTitle = _d.displayTitle;
|
|
14
15
|
var _e = useState(channel.state.messages[channel.state.messages.length - 1]), lastMessage = _e[0], setLastMessage = _e[1];
|
|
15
16
|
var _f = useState(0), unread = _f[0], setUnread = _f[1];
|
|
17
|
+
var messageDeliveryStatus = useMessageDeliveryStatus({
|
|
18
|
+
channel: channel,
|
|
19
|
+
lastMessage: lastMessage,
|
|
20
|
+
}).messageDeliveryStatus;
|
|
16
21
|
var isActive = (activeChannel === null || activeChannel === void 0 ? void 0 : activeChannel.cid) === channel.cid;
|
|
17
22
|
var muted = useIsChannelMuted(channel).muted;
|
|
18
23
|
useEffect(function () {
|
|
@@ -52,5 +57,5 @@ export var ChannelPreview = function (props) {
|
|
|
52
57
|
if (!Preview)
|
|
53
58
|
return null;
|
|
54
59
|
var latestMessage = getLatestMessagePreview(channel, t, userLanguage);
|
|
55
|
-
return (React.createElement(Preview, __assign({}, props, { active: isActive, displayImage: displayImage, displayTitle: displayTitle, lastMessage: lastMessage, latestMessage: latestMessage, setActiveChannel: setActiveChannel, unread: unread })));
|
|
60
|
+
return (React.createElement(Preview, __assign({}, props, { active: isActive, displayImage: displayImage, displayTitle: displayTitle, lastMessage: lastMessage, latestMessage: latestMessage, messageDeliveryStatus: messageDeliveryStatus, setActiveChannel: setActiveChannel, unread: unread })));
|
|
56
61
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ChannelPreview/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ChannelPreview/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Channel } from 'stream-chat';
|
|
2
|
+
import type { DefaultStreamChatGenerics } from '../../../types/types';
|
|
3
|
+
import type { StreamMessage } from '../../../context';
|
|
4
|
+
export declare enum MessageDeliveryStatus {
|
|
5
|
+
DELIVERED = "delivered",
|
|
6
|
+
READ = "read"
|
|
7
|
+
}
|
|
8
|
+
declare type UseMessageStatusParamsChannelPreviewProps<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
|
|
9
|
+
channel: Channel<StreamChatGenerics>;
|
|
10
|
+
/** The last message received in a channel */
|
|
11
|
+
lastMessage?: StreamMessage<StreamChatGenerics>;
|
|
12
|
+
};
|
|
13
|
+
export declare const useMessageDeliveryStatus: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ channel, lastMessage, }: UseMessageStatusParamsChannelPreviewProps<StreamChatGenerics>) => {
|
|
14
|
+
messageDeliveryStatus: MessageDeliveryStatus | undefined;
|
|
15
|
+
};
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=useMessageDeliveryStatus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMessageDeliveryStatus.d.ts","sourceRoot":"","sources":["../../../../src/components/ChannelPreview/hooks/useMessageDeliveryStatus.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAIlD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,oBAAY,qBAAqB;IAC/B,SAAS,cAAc;IACvB,IAAI,SAAS;CACd;AAED,aAAK,yCAAyC,CAC5C,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,6CAA6C;IAC7C,WAAW,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;CACjD,CAAC;AAEF,eAAO,MAAM,wBAAwB;;CAwEpC,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
2
|
+
import { useChatContext } from '../../../context';
|
|
3
|
+
export var MessageDeliveryStatus;
|
|
4
|
+
(function (MessageDeliveryStatus) {
|
|
5
|
+
MessageDeliveryStatus["DELIVERED"] = "delivered";
|
|
6
|
+
MessageDeliveryStatus["READ"] = "read";
|
|
7
|
+
})(MessageDeliveryStatus || (MessageDeliveryStatus = {}));
|
|
8
|
+
export var useMessageDeliveryStatus = function (_a) {
|
|
9
|
+
var channel = _a.channel, lastMessage = _a.lastMessage;
|
|
10
|
+
var client = useChatContext().client;
|
|
11
|
+
var _b = useState(), messageDeliveryStatus = _b[0], setMessageDeliveryStatus = _b[1];
|
|
12
|
+
var isOwnMessage = useCallback(function (message) { var _a; return client.user && ((_a = message === null || message === void 0 ? void 0 : message.user) === null || _a === void 0 ? void 0 : _a.id) === client.user.id; }, [client]);
|
|
13
|
+
useEffect(function () {
|
|
14
|
+
var lastMessageIsOwn = isOwnMessage(lastMessage);
|
|
15
|
+
if (!(lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.created_at) || !lastMessageIsOwn)
|
|
16
|
+
return;
|
|
17
|
+
var lastMessageCreatedAtDate = typeof lastMessage.created_at === 'string'
|
|
18
|
+
? new Date(lastMessage.created_at)
|
|
19
|
+
: lastMessage.created_at;
|
|
20
|
+
var channelReadByOthersAfterLastMessageUpdate = Object.values(channel.state.read).some(function (_a) {
|
|
21
|
+
var channelLastMarkedReadDate = _a.last_read, user = _a.user;
|
|
22
|
+
var ignoreOwnReadStatus = client.user && user.id !== client.user.id;
|
|
23
|
+
return ignoreOwnReadStatus && lastMessageCreatedAtDate < channelLastMarkedReadDate;
|
|
24
|
+
});
|
|
25
|
+
setMessageDeliveryStatus(channelReadByOthersAfterLastMessageUpdate
|
|
26
|
+
? MessageDeliveryStatus.READ
|
|
27
|
+
: MessageDeliveryStatus.DELIVERED);
|
|
28
|
+
}, [channel.state.read, client, isOwnMessage, lastMessage]);
|
|
29
|
+
useEffect(function () {
|
|
30
|
+
var handleMessageNew = function (event) {
|
|
31
|
+
// the last message is not mine, so do not show the delivery status
|
|
32
|
+
if (!isOwnMessage(event.message)) {
|
|
33
|
+
return setMessageDeliveryStatus(undefined);
|
|
34
|
+
}
|
|
35
|
+
return setMessageDeliveryStatus(MessageDeliveryStatus.DELIVERED);
|
|
36
|
+
};
|
|
37
|
+
channel.on('message.new', handleMessageNew);
|
|
38
|
+
return function () {
|
|
39
|
+
channel.off('message.new', handleMessageNew);
|
|
40
|
+
};
|
|
41
|
+
}, [channel, client, isOwnMessage]);
|
|
42
|
+
useEffect(function () {
|
|
43
|
+
if (!isOwnMessage(lastMessage))
|
|
44
|
+
return;
|
|
45
|
+
var handleMarkRead = function (event) {
|
|
46
|
+
var _a, _b;
|
|
47
|
+
if (((_a = event.user) === null || _a === void 0 ? void 0 : _a.id) !== ((_b = client.user) === null || _b === void 0 ? void 0 : _b.id))
|
|
48
|
+
setMessageDeliveryStatus(MessageDeliveryStatus.READ);
|
|
49
|
+
};
|
|
50
|
+
channel.on('message.read', handleMarkRead);
|
|
51
|
+
return function () {
|
|
52
|
+
channel.off('message.read', handleMarkRead);
|
|
53
|
+
};
|
|
54
|
+
}, [channel, client, lastMessage, isOwnMessage]);
|
|
55
|
+
return {
|
|
56
|
+
messageDeliveryStatus: messageDeliveryStatus,
|
|
57
|
+
};
|
|
58
|
+
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ChannelOrUserResponse } from '../utils';
|
|
3
|
-
import type { ChannelFilters, ChannelOptions, ChannelSort, UserFilters, UserOptions, UserSort } from 'stream-chat';
|
|
4
|
-
import type { Channel } from 'stream-chat';
|
|
3
|
+
import type { Channel, ChannelFilters, ChannelOptions, ChannelSort, UserFilters, UserOptions, UserSort } from 'stream-chat';
|
|
5
4
|
import type { SearchBarController } from '../SearchBar';
|
|
6
5
|
import type { SearchInputController } from '../SearchInput';
|
|
7
6
|
import type { SearchResultsController } from '../SearchResults';
|
|
@@ -37,6 +36,8 @@ export declare type ChannelSearchParams<StreamChatGenerics extends DefaultStream
|
|
|
37
36
|
onSearchExit?: () => void;
|
|
38
37
|
/** Custom handler function to run on search result item selection */
|
|
39
38
|
onSelectResult?: (params: ChannelSearchFunctionParams<StreamChatGenerics>, result: ChannelOrUserResponse<StreamChatGenerics>) => Promise<void> | void;
|
|
39
|
+
/** The number of milliseconds to debounce the search query. The default interval is 200ms. */
|
|
40
|
+
searchDebounceIntervalMs?: number;
|
|
40
41
|
/** Boolean to search for channels as well as users in the server query, default is false and just searches for users */
|
|
41
42
|
searchForChannels?: boolean;
|
|
42
43
|
/** Custom search function to override the default implementation */
|
|
@@ -48,5 +49,5 @@ export declare type ChannelSearchControllerParams<StreamChatGenerics extends Def
|
|
|
48
49
|
/** Set the array of channels displayed in the ChannelList */
|
|
49
50
|
setChannels: React.Dispatch<React.SetStateAction<Array<Channel<StreamChatGenerics>>>>;
|
|
50
51
|
};
|
|
51
|
-
export declare const useChannelSearch: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ channelType, clearSearchOnClickOutside, disabled, onSearch: onSearchCallback, onSearchExit, onSelectResult, searchForChannels, searchFunction, searchQueryParams, setChannels, }: ChannelSearchControllerParams<StreamChatGenerics>) => SearchController<StreamChatGenerics>;
|
|
52
|
+
export declare const useChannelSearch: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ channelType, clearSearchOnClickOutside, disabled, onSearch: onSearchCallback, onSearchExit, onSelectResult, searchDebounceIntervalMs, searchForChannels, searchFunction, searchQueryParams, setChannels, }: ChannelSearchControllerParams<StreamChatGenerics>) => SearchController<StreamChatGenerics>;
|
|
52
53
|
//# sourceMappingURL=useChannelSearch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChannelSearch.d.ts","sourceRoot":"","sources":["../../../../src/components/ChannelSearch/hooks/useChannelSearch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAIxE,OAAO,EAAE,qBAAqB,EAAa,MAAM,UAAU,CAAC;AAI5D,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,
|
|
1
|
+
{"version":3,"file":"useChannelSearch.d.ts","sourceRoot":"","sources":["../../../../src/components/ChannelSearch/hooks/useChannelSearch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
import { __assign, __awaiter, __generator, __spreadArray } from "tslib";
|
|
2
2
|
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
3
|
-
import
|
|
3
|
+
import debounce from 'lodash.debounce';
|
|
4
4
|
import uniqBy from 'lodash.uniqby';
|
|
5
5
|
import { isChannel } from '../utils';
|
|
6
6
|
import { useChatContext } from '../../../context/ChatContext';
|
|
7
7
|
export var useChannelSearch = function (_a) {
|
|
8
|
-
var _b = _a.channelType, channelType = _b === void 0 ? 'messaging' : _b, _c = _a.clearSearchOnClickOutside, clearSearchOnClickOutside = _c === void 0 ? true : _c, _d = _a.disabled, disabled = _d === void 0 ? false : _d, onSearchCallback = _a.onSearch, onSearchExit = _a.onSearchExit, onSelectResult = _a.onSelectResult, _e = _a.searchForChannels, searchForChannels =
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
8
|
+
var _b = _a.channelType, channelType = _b === void 0 ? 'messaging' : _b, _c = _a.clearSearchOnClickOutside, clearSearchOnClickOutside = _c === void 0 ? true : _c, _d = _a.disabled, disabled = _d === void 0 ? false : _d, onSearchCallback = _a.onSearch, onSearchExit = _a.onSearchExit, onSelectResult = _a.onSelectResult, _e = _a.searchDebounceIntervalMs, searchDebounceIntervalMs = _e === void 0 ? 300 : _e, _f = _a.searchForChannels, searchForChannels = _f === void 0 ? false : _f, searchFunction = _a.searchFunction, searchQueryParams = _a.searchQueryParams, setChannels = _a.setChannels;
|
|
9
|
+
var _g = useChatContext('useChannelSearch'), client = _g.client, setActiveChannel = _g.setActiveChannel, themeVersion = _g.themeVersion;
|
|
10
|
+
var _h = useState(false), inputIsFocused = _h[0], setInputIsFocused = _h[1];
|
|
11
|
+
var _j = useState(''), query = _j[0], setQuery = _j[1];
|
|
12
|
+
var _k = useState([]), results = _k[0], setResults = _k[1];
|
|
13
|
+
var _l = useState(false), searching = _l[0], setSearching = _l[1];
|
|
14
|
+
var searchQueryPromiseInProgress = useRef();
|
|
15
|
+
var shouldIgnoreQueryResults = useRef(false);
|
|
14
16
|
var inputRef = useRef(null);
|
|
15
17
|
var searchBarRef = useRef(null);
|
|
16
18
|
var clearState = useCallback(function () {
|
|
17
19
|
setQuery('');
|
|
18
20
|
setResults([]);
|
|
19
21
|
setSearching(false);
|
|
22
|
+
if (searchQueryPromiseInProgress.current) {
|
|
23
|
+
shouldIgnoreQueryResults.current = true;
|
|
24
|
+
}
|
|
20
25
|
}, []);
|
|
21
26
|
var activateSearch = useCallback(function () {
|
|
22
27
|
setInputIsFocused(true);
|
|
@@ -99,45 +104,56 @@ export var useChannelSearch = function (_a) {
|
|
|
99
104
|
});
|
|
100
105
|
}); }, [clearSearchOnClickOutside, client, exitSearch, onSelectResult, setActiveChannel, setChannels]);
|
|
101
106
|
var getChannels = useCallback(function (text) { return __awaiter(void 0, void 0, void 0, function () {
|
|
102
|
-
var
|
|
107
|
+
var results, userQueryPromise, users, channelQueryPromise, _a, channels, users, error_1;
|
|
103
108
|
var _b, _c, _d, _e, _f, _g;
|
|
104
109
|
return __generator(this, function (_h) {
|
|
105
110
|
switch (_h.label) {
|
|
106
111
|
case 0:
|
|
107
|
-
|
|
108
|
-
return [2 /*return*/];
|
|
109
|
-
setSearching(true);
|
|
112
|
+
results = [];
|
|
110
113
|
_h.label = 1;
|
|
111
114
|
case 1:
|
|
112
115
|
_h.trys.push([1, 6, , 7]);
|
|
113
|
-
|
|
116
|
+
userQueryPromise = client.queryUsers(__assign({ $or: [{ id: { $autocomplete: text } }, { name: { $autocomplete: text } }], id: { $ne: client.userID } }, (_b = searchQueryParams === null || searchQueryParams === void 0 ? void 0 : searchQueryParams.userFilters) === null || _b === void 0 ? void 0 : _b.filters), __assign({ id: 1 }, (_c = searchQueryParams === null || searchQueryParams === void 0 ? void 0 : searchQueryParams.userFilters) === null || _c === void 0 ? void 0 : _c.sort), __assign({ limit: 8 }, (_d = searchQueryParams === null || searchQueryParams === void 0 ? void 0 : searchQueryParams.userFilters) === null || _d === void 0 ? void 0 : _d.options));
|
|
117
|
+
if (!!searchForChannels) return [3 /*break*/, 3];
|
|
118
|
+
searchQueryPromiseInProgress.current = userQueryPromise;
|
|
119
|
+
return [4 /*yield*/, searchQueryPromiseInProgress.current];
|
|
114
120
|
case 2:
|
|
115
|
-
userResponse = _h.sent();
|
|
116
|
-
if (!searchForChannels) return [3 /*break*/, 4];
|
|
117
|
-
channelResponse = client.queryChannels(__assign({ name: { $autocomplete: text } }, (_e = searchQueryParams === null || searchQueryParams === void 0 ? void 0 : searchQueryParams.channelFilters) === null || _e === void 0 ? void 0 : _e.filters), ((_f = searchQueryParams === null || searchQueryParams === void 0 ? void 0 : searchQueryParams.channelFilters) === null || _f === void 0 ? void 0 : _f.sort) || {}, __assign({ limit: 5 }, (_g = searchQueryParams === null || searchQueryParams === void 0 ? void 0 : searchQueryParams.channelFilters) === null || _g === void 0 ? void 0 : _g.options));
|
|
118
|
-
return [4 /*yield*/, Promise.all([channelResponse, userResponse])];
|
|
119
|
-
case 3:
|
|
120
|
-
_a = _h.sent(), channels = _a[0], users_1 = _a[1].users;
|
|
121
|
-
setResults(__spreadArray(__spreadArray([], channels, true), users_1, true));
|
|
122
|
-
setSearching(false);
|
|
123
|
-
return [2 /*return*/];
|
|
124
|
-
case 4: return [4 /*yield*/, Promise.resolve(userResponse)];
|
|
125
|
-
case 5:
|
|
126
121
|
users = (_h.sent()).users;
|
|
127
|
-
|
|
128
|
-
return [3 /*break*/,
|
|
122
|
+
results = users;
|
|
123
|
+
return [3 /*break*/, 5];
|
|
124
|
+
case 3:
|
|
125
|
+
channelQueryPromise = client.queryChannels(__assign({ name: { $autocomplete: text } }, (_e = searchQueryParams === null || searchQueryParams === void 0 ? void 0 : searchQueryParams.channelFilters) === null || _e === void 0 ? void 0 : _e.filters), ((_f = searchQueryParams === null || searchQueryParams === void 0 ? void 0 : searchQueryParams.channelFilters) === null || _f === void 0 ? void 0 : _f.sort) || {}, __assign({ limit: 5 }, (_g = searchQueryParams === null || searchQueryParams === void 0 ? void 0 : searchQueryParams.channelFilters) === null || _g === void 0 ? void 0 : _g.options));
|
|
126
|
+
searchQueryPromiseInProgress.current = Promise.all([
|
|
127
|
+
channelQueryPromise,
|
|
128
|
+
userQueryPromise,
|
|
129
|
+
]);
|
|
130
|
+
return [4 /*yield*/, searchQueryPromiseInProgress.current];
|
|
131
|
+
case 4:
|
|
132
|
+
_a = _h.sent(), channels = _a[0], users = _a[1].users;
|
|
133
|
+
results = __spreadArray(__spreadArray([], channels, true), users, true);
|
|
134
|
+
_h.label = 5;
|
|
135
|
+
case 5: return [3 /*break*/, 7];
|
|
129
136
|
case 6:
|
|
130
137
|
error_1 = _h.sent();
|
|
131
|
-
clearState();
|
|
132
138
|
console.error(error_1);
|
|
133
139
|
return [3 /*break*/, 7];
|
|
134
140
|
case 7:
|
|
135
141
|
setSearching(false);
|
|
142
|
+
if (!shouldIgnoreQueryResults.current) {
|
|
143
|
+
setResults(results);
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
shouldIgnoreQueryResults.current = false;
|
|
147
|
+
}
|
|
148
|
+
searchQueryPromiseInProgress.current = undefined;
|
|
136
149
|
return [2 /*return*/];
|
|
137
150
|
}
|
|
138
151
|
});
|
|
139
|
-
}); }, [client,
|
|
140
|
-
var
|
|
152
|
+
}); }, [client, searchForChannels, searchQueryParams]);
|
|
153
|
+
var scheduleGetChannels = useCallback(debounce(getChannels, searchDebounceIntervalMs), [
|
|
154
|
+
getChannels,
|
|
155
|
+
searchDebounceIntervalMs,
|
|
156
|
+
]);
|
|
141
157
|
var onSearch = useCallback(function (event) {
|
|
142
158
|
event.preventDefault();
|
|
143
159
|
if (disabled)
|
|
@@ -149,12 +165,17 @@ export var useChannelSearch = function (_a) {
|
|
|
149
165
|
setSearching: setSearching,
|
|
150
166
|
}, event);
|
|
151
167
|
}
|
|
152
|
-
else {
|
|
168
|
+
else if (event.target.value) {
|
|
169
|
+
setSearching(true);
|
|
153
170
|
setQuery(event.target.value);
|
|
154
|
-
|
|
171
|
+
scheduleGetChannels(event.target.value);
|
|
172
|
+
}
|
|
173
|
+
else if (!event.target.value) {
|
|
174
|
+
clearState();
|
|
175
|
+
scheduleGetChannels.cancel();
|
|
155
176
|
}
|
|
156
177
|
onSearchCallback === null || onSearchCallback === void 0 ? void 0 : onSearchCallback(event);
|
|
157
|
-
}, [disabled,
|
|
178
|
+
}, [clearState, disabled, scheduleGetChannels, onSearchCallback, searchFunction]);
|
|
158
179
|
return {
|
|
159
180
|
activateSearch: activateSearch,
|
|
160
181
|
clearState: clearState,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageSimple.d.ts","sourceRoot":"","sources":["../../../src/components/Message/MessageSimple.tsx"],"names":[],"mappings":"AAwBA,OAAO,EAAE,mBAAmB,EAAqB,MAAM,8BAA8B,CAAC;AAEtF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAEvD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageSimple.d.ts","sourceRoot":"","sources":["../../../src/components/Message/MessageSimple.tsx"],"names":[],"mappings":"AAwBA,OAAO,EAAE,mBAAmB,EAAqB,MAAM,8BAA8B,CAAC;AAEtF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAEvD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AA4LnE;;GAEG;AACH,eAAO,MAAM,aAAa,4JAQzB,CAAC"}
|
|
@@ -31,6 +31,13 @@ var MessageSimpleWithContext = function (props) {
|
|
|
31
31
|
if (message.deleted_at || message.type === 'deleted') {
|
|
32
32
|
return React.createElement(MessageDeleted, { message: message });
|
|
33
33
|
}
|
|
34
|
+
/** FIXME: isReactionEnabled should be removed with next major version and a proper centralized permissions logic should be put in place
|
|
35
|
+
* With the current permissions implementation it would be sth like:
|
|
36
|
+
* const messageActions = getMessageActions();
|
|
37
|
+
* const canReact = messageActions.includes(MESSAGE_ACTIONS.react);
|
|
38
|
+
*/
|
|
39
|
+
var canReact = isReactionEnabled;
|
|
40
|
+
var canShowReactions = hasReactions;
|
|
34
41
|
var showMetadata = !groupedByUser || endOfGroup;
|
|
35
42
|
var showReplyCountButton = !threadList && !!message.reply_count;
|
|
36
43
|
var allowRetry = message.status === 'failed' && message.errorStatusCode !== 403;
|
|
@@ -40,7 +47,7 @@ var MessageSimpleWithContext = function (props) {
|
|
|
40
47
|
'pinned-message': message.pinned,
|
|
41
48
|
'str-chat__message--has-attachment': hasAttachment,
|
|
42
49
|
'str-chat__message--highlighted': highlighted,
|
|
43
|
-
'str-chat__message--with-reactions str-chat__message-with-thread-link':
|
|
50
|
+
'str-chat__message--with-reactions str-chat__message-with-thread-link': canShowReactions,
|
|
44
51
|
'str-chat__message-send-can-be-retried': (message === null || message === void 0 ? void 0 : message.status) === 'failed' && (message === null || message === void 0 ? void 0 : message.errorStatusCode) !== 403,
|
|
45
52
|
'str-chat__virtual-message__wrapper--end': endOfGroup,
|
|
46
53
|
'str-chat__virtual-message__wrapper--first': firstOfGroup,
|
|
@@ -57,8 +64,8 @@ var MessageSimpleWithContext = function (props) {
|
|
|
57
64
|
}), "data-testid": 'message-inner', onClick: allowRetry ? function () { return handleRetry(message); } : undefined, onKeyUp: allowRetry ? function () { return handleRetry(message); } : undefined },
|
|
58
65
|
React.createElement(MessageOptions, null),
|
|
59
66
|
React.createElement("div", { className: 'str-chat__message-reactions-host' },
|
|
60
|
-
|
|
61
|
-
showDetailedReactions &&
|
|
67
|
+
canShowReactions && React.createElement(ReactionsList, { reverse: true }),
|
|
68
|
+
showDetailedReactions && canReact && React.createElement(ReactionSelector, { ref: reactionSelectorRef })),
|
|
62
69
|
React.createElement("div", { className: 'str-chat__message-bubble' },
|
|
63
70
|
((_a = message.attachments) === null || _a === void 0 ? void 0 : _a.length) && !message.quoted_message ? (React.createElement(Attachment, { actionHandler: handleAction, attachments: message.attachments })) : null,
|
|
64
71
|
React.createElement(MessageText, { message: message, renderText: renderText }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReactionHandler.d.ts","sourceRoot":"","sources":["../../../../src/components/Message/hooks/useReactionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAA4C,MAAM,OAAO,CAAC;AAInF,OAAO,EAAE,aAAa,EAA0B,MAAM,sCAAsC,CAAC;AAG7F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAIlD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAO,MAAM,sBAAsB,4MACsF,CAAC;AAE1H,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"useReactionHandler.d.ts","sourceRoot":"","sources":["../../../../src/components/Message/hooks/useReactionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAA4C,MAAM,OAAO,CAAC;AAInF,OAAO,EAAE,aAAa,EAA0B,MAAM,sCAAsC,CAAC;AAG7F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAIlD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAO,MAAM,sBAAsB,4MACsF,CAAC;AAE1H,eAAO,MAAM,kBAAkB,gKAgFD,MAAM,UAAU,MAAM,kBAAkB,kBAmCrE,CAAC;AAEF,eAAO,MAAM,gBAAgB,oKAIL,UAAU,cAAc,GAAG,IAAI,CAAC,sBAClC,UAAU,cAAc,GAAG,IAAI,CAAC,iCACrB,OAAO;;;;CAwFvC,CAAC"}
|
|
@@ -7,7 +7,7 @@ import { useChatContext } from '../../../context/ChatContext';
|
|
|
7
7
|
export var reactionHandlerWarning = "Reaction handler was called, but it is missing one of its required arguments.\nMake sure the ChannelAction and ChannelState contexts are properly set and the hook is initialized with a valid message.";
|
|
8
8
|
export var useReactionHandler = function (message) {
|
|
9
9
|
var updateMessage = useChannelActionContext('useReactionHandler').updateMessage;
|
|
10
|
-
var
|
|
10
|
+
var _a = useChannelStateContext('useReactionHandler'), channel = _a.channel, channelCapabilities = _a.channelCapabilities;
|
|
11
11
|
var client = useChatContext('useReactionHandler').client;
|
|
12
12
|
var createMessagePreview = useCallback(function (add, reaction, message) {
|
|
13
13
|
var _a, _b;
|
|
@@ -31,7 +31,7 @@ export var useReactionHandler = function (message) {
|
|
|
31
31
|
? __spreadArray([reaction], ((message === null || message === void 0 ? void 0 : message.own_reactions) || []), true) : (_b = message === null || message === void 0 ? void 0 : message.own_reactions) === null || _b === void 0 ? void 0 : _b.filter(function (item) { return item.type !== reaction.type; });
|
|
32
32
|
return __assign(__assign({}, message), { latest_reactions: newReactions || message.latest_reactions, own_reactions: newOwnReactions, reaction_counts: newReactionCounts, reaction_scores: newReactionCounts });
|
|
33
33
|
}, [client.user, client.userID]);
|
|
34
|
-
var
|
|
34
|
+
var createReactionPreview = function (type) {
|
|
35
35
|
var _a;
|
|
36
36
|
return ({
|
|
37
37
|
message_id: message === null || message === void 0 ? void 0 : message.id,
|
|
@@ -43,33 +43,32 @@ export var useReactionHandler = function (message) {
|
|
|
43
43
|
};
|
|
44
44
|
var toggleReaction = throttle(function (id, type, add) { return __awaiter(void 0, void 0, void 0, function () {
|
|
45
45
|
var newReaction, tempMessage, messageResponse, _a, error_1;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
switch (_c.label) {
|
|
46
|
+
return __generator(this, function (_b) {
|
|
47
|
+
switch (_b.label) {
|
|
49
48
|
case 0:
|
|
50
|
-
if (!message ||
|
|
49
|
+
if (!message || !channelCapabilities['send-reaction'])
|
|
51
50
|
return [2 /*return*/];
|
|
52
|
-
newReaction =
|
|
51
|
+
newReaction = createReactionPreview(type);
|
|
53
52
|
tempMessage = createMessagePreview(add, newReaction, message);
|
|
54
|
-
|
|
53
|
+
_b.label = 1;
|
|
55
54
|
case 1:
|
|
56
|
-
|
|
55
|
+
_b.trys.push([1, 6, , 7]);
|
|
57
56
|
updateMessage(tempMessage);
|
|
58
57
|
if (!add) return [3 /*break*/, 3];
|
|
59
58
|
return [4 /*yield*/, channel.sendReaction(id, { type: type })];
|
|
60
59
|
case 2:
|
|
61
|
-
_a =
|
|
60
|
+
_a = _b.sent();
|
|
62
61
|
return [3 /*break*/, 5];
|
|
63
62
|
case 3: return [4 /*yield*/, channel.deleteReaction(id, type)];
|
|
64
63
|
case 4:
|
|
65
|
-
_a =
|
|
66
|
-
|
|
64
|
+
_a = _b.sent();
|
|
65
|
+
_b.label = 5;
|
|
67
66
|
case 5:
|
|
68
67
|
messageResponse = _a;
|
|
69
68
|
updateMessage(messageResponse.message);
|
|
70
69
|
return [3 /*break*/, 7];
|
|
71
70
|
case 6:
|
|
72
|
-
error_1 =
|
|
71
|
+
error_1 = _b.sent();
|
|
73
72
|
// revert to the original message if the API call fails
|
|
74
73
|
updateMessage(message);
|
|
75
74
|
return [3 /*break*/, 7];
|
|
@@ -124,12 +123,10 @@ export var useReactionHandler = function (message) {
|
|
|
124
123
|
}); };
|
|
125
124
|
};
|
|
126
125
|
export var useReactionClick = function (message, reactionSelectorRef, messageWrapperRef, closeReactionSelectorOnClick) {
|
|
127
|
-
var _a;
|
|
128
|
-
var _b =
|
|
129
|
-
var _d = useState(false), showDetailedReactions = _d[0], setShowDetailedReactions = _d[1];
|
|
126
|
+
var _a = useChannelStateContext('useReactionClick').channelCapabilities, channelCapabilities = _a === void 0 ? {} : _a;
|
|
127
|
+
var _b = useState(false), showDetailedReactions = _b[0], setShowDetailedReactions = _b[1];
|
|
130
128
|
var hasListener = useRef(false);
|
|
131
|
-
var
|
|
132
|
-
var isReactionEnabled = ((channelConfig === null || channelConfig === void 0 ? void 0 : channelConfig.reactions) !== false && channelCapabilities['send-reaction']) || isFrozen;
|
|
129
|
+
var isReactionEnabled = channelCapabilities['send-reaction'];
|
|
133
130
|
var messageDeleted = !!(message === null || message === void 0 ? void 0 : message.deleted_at);
|
|
134
131
|
var closeDetailedReactions = useCallback(function (event) {
|
|
135
132
|
var _a;
|
|
@@ -177,9 +174,8 @@ export var useReactionClick = function (message, reactionSelectorRef, messageWra
|
|
|
177
174
|
}
|
|
178
175
|
}, [messageDeleted, closeDetailedReactions, messageWrapperRef]);
|
|
179
176
|
var onReactionListClick = function (event) {
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
}
|
|
177
|
+
var _a;
|
|
178
|
+
(_a = event === null || event === void 0 ? void 0 : event.stopPropagation) === null || _a === void 0 ? void 0 : _a.call(event);
|
|
183
179
|
setShowDetailedReactions(function (prev) { return !prev; });
|
|
184
180
|
};
|
|
185
181
|
return {
|
|
@@ -13,5 +13,5 @@ export var CooldownTimer = function (_a) {
|
|
|
13
13
|
}, 1000);
|
|
14
14
|
return function () { return clearInterval(countdownInterval); };
|
|
15
15
|
});
|
|
16
|
-
return (React.createElement("div", { className: 'str-chat__message-input-cooldown', "data-testid": 'cooldown-timer' }, seconds
|
|
16
|
+
return (React.createElement("div", { className: 'str-chat__message-input-cooldown', "data-testid": 'cooldown-timer' }, seconds));
|
|
17
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCooldownTimer.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput/hooks/useCooldownTimer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAK5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,oBAAY,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,0FAExB,
|
|
1
|
+
{"version":3,"file":"useCooldownTimer.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput/hooks/useCooldownTimer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAK5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,oBAAY,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,0FAExB,kBAyCJ,CAAC"}
|
|
@@ -16,9 +16,12 @@ export var useCooldownTimer = function () {
|
|
|
16
16
|
}, [messages, (_a = client.user) === null || _a === void 0 ? void 0 : _a.id, latestMessageDatesByChannels, channel.cid]);
|
|
17
17
|
useEffect(function () {
|
|
18
18
|
var timeSinceOwnLastMessage = ownLatestMessageDate
|
|
19
|
-
?
|
|
19
|
+
? // prevent negative values
|
|
20
|
+
Math.max(0, (new Date().getTime() - ownLatestMessageDate.getTime()) / 1000)
|
|
20
21
|
: undefined;
|
|
21
|
-
setCooldownRemaining(!skipCooldown &&
|
|
22
|
+
setCooldownRemaining(!skipCooldown &&
|
|
23
|
+
typeof timeSinceOwnLastMessage !== 'undefined' &&
|
|
24
|
+
cooldownInterval > timeSinceOwnLastMessage
|
|
22
25
|
? Math.round(cooldownInterval - timeSinceOwnLastMessage)
|
|
23
26
|
: 0);
|
|
24
27
|
}, [cooldownInterval, ownLatestMessageDate, skipCooldown]);
|
|
@@ -45,7 +45,9 @@ export declare type MessageContextValue<StreamChatGenerics extends DefaultStream
|
|
|
45
45
|
handleRetry: ChannelActionContextValue<StreamChatGenerics>['retrySendMessage'];
|
|
46
46
|
/** Function that returns whether or not the Message belongs to the current user */
|
|
47
47
|
isMyMessage: () => boolean;
|
|
48
|
-
/**
|
|
48
|
+
/** @deprecated will be removed in the next major release.
|
|
49
|
+
* Whether sending reactions is enabled for the active channel.
|
|
50
|
+
*/
|
|
49
51
|
isReactionEnabled: boolean;
|
|
50
52
|
/** The message object */
|
|
51
53
|
message: StreamMessage<StreamChatGenerics>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageContext.d.ts","sourceRoot":"","sources":["../../src/context/MessageContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAc,MAAM,OAAO,CAAC;AAE7D,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,OAAO,KAAK,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7E,oBAAY,oBAAoB,CAC9B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,CACb,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAC1C,KAAK,EAAE,KAAK,CAAC,kBAAkB,KAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,oBAAY,mBAAmB,CAC7B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,yEAAyE;IACzE,cAAc,EAAE,OAAO,CAAC;IACxB,kCAAkC;IAClC,iBAAiB,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,kBAAkB,KAAK,IAAI,CAAC;IAC9D,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,iBAAiB,EAAE,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACrD,8CAA8C;IAC9C,YAAY,EAAE,uBAAuB,CAAC;IACtC,gDAAgD;IAChD,YAAY,EAAE,iBAAiB,CAAC;IAChC,8CAA8C;IAC9C,UAAU,EAAE,iBAAiB,CAAC;IAC9B,8CAA8C;IAC9C,UAAU,EAAE,iBAAiB,CAAC;IAC9B,2CAA2C;IAC3C,UAAU,EAAE,iBAAiB,CAAC;IAC9B,6CAA6C;IAC7C,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,6CAA6C;IAC7C,SAAS,EAAE,iBAAiB,CAAC;IAC7B,+CAA+C;IAC/C,cAAc,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzF,0CAA0C;IAC1C,WAAW,EAAE,yBAAyB,CAAC,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAC/E,mFAAmF;IACnF,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B
|
|
1
|
+
{"version":3,"file":"MessageContext.d.ts","sourceRoot":"","sources":["../../src/context/MessageContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { PropsWithChildren } from 'react';
|
|
2
2
|
import Dayjs from 'dayjs';
|
|
3
3
|
import type { TFunction } from 'i18next';
|
|
4
|
-
import type { Moment } from 'moment';
|
|
4
|
+
import type { Moment } from 'moment-timezone';
|
|
5
5
|
import type { TranslationLanguages } from 'stream-chat';
|
|
6
6
|
import type { UnknownType } from '../types/types';
|
|
7
7
|
export declare type SupportedTranslations = 'de' | 'en' | 'es' | 'fr' | 'hi' | 'it' | 'ja' | 'ko' | 'nl' | 'pt' | 'ru' | 'tr';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TranslationContext.d.ts","sourceRoot":"","sources":["../../src/context/TranslationContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAc,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"TranslationContext.d.ts","sourceRoot":"","sources":["../../src/context/TranslationContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAc,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAMlD,oBAAY,qBAAqB,GAC7B,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAC;AAET,eAAO,MAAM,mBAAmB,aAAc,MAAM,sCAGnD,CAAC;AAEF,eAAO,MAAM,aAAa,WAAY,qBAAqB,mCACf,CAAC;AAE7C,eAAO,MAAM,MAAM,WAAY,qBAAqB,mBACtB,CAAC;AAE/B,eAAO,MAAM,gBAAgB,WAAY,qBAAqB,8BACJ,CAAC;AAE3D,oBAAY,oBAAoB,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAE1D,oBAAY,qBAAqB,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;AAElF,oBAAY,eAAe,GAAG,CAAC,KAAK,CAAC,EAAE,oBAAoB,KAAK,qBAAqB,CAAC;AAEtF,oBAAY,uBAAuB,GAAG;IACpC,CAAC,EAAE,SAAS,CAAC;IACb,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,EAAE,oBAAoB,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,qBAAqB,WAAY,oBAAoB,gBAAiB,CAAC;AAEpF,eAAO,MAAM,kBAAkB,wCAI7B,CAAC;AAEH,eAAO,MAAM,mBAAmB;WAGF,uBAAuB;kBAEpD,CAAC;AAEF,eAAO,MAAM,qBAAqB,mBAAoB,MAAM,4BAY3D,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;CAclC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TFunction } from 'i18next';
|
|
2
2
|
import Dayjs from 'dayjs';
|
|
3
|
-
import type
|
|
3
|
+
import type momentTimezone from 'moment-timezone';
|
|
4
4
|
import type { TranslationLanguages } from 'stream-chat';
|
|
5
5
|
import type { TDateTimeParser } from '../context/TranslationContext';
|
|
6
6
|
import type { UnknownType } from '../types/types';
|
|
@@ -25,8 +25,9 @@ declare type CalendarLocaleConfig = {
|
|
|
25
25
|
sameDay: string;
|
|
26
26
|
sameElse: string;
|
|
27
27
|
};
|
|
28
|
+
declare type DateTimeParserModule = typeof Dayjs | typeof momentTimezone;
|
|
28
29
|
declare type Options = {
|
|
29
|
-
DateTimeParser?:
|
|
30
|
+
DateTimeParser?: DateTimeParserModule;
|
|
30
31
|
dayjsLocaleConfigForLanguage?: Partial<ILocale> & {
|
|
31
32
|
calendar?: CalendarLocaleConfig;
|
|
32
33
|
};
|
|
@@ -34,6 +35,7 @@ declare type Options = {
|
|
|
34
35
|
disableDateTimeTranslations?: boolean;
|
|
35
36
|
language?: TranslationLanguages;
|
|
36
37
|
logger?: (message?: string) => void;
|
|
38
|
+
timezone?: string;
|
|
37
39
|
translationsForLanguage?: Partial<typeof enTranslations>;
|
|
38
40
|
};
|
|
39
41
|
export declare const defaultTranslatorFunction: TFunction;
|
|
@@ -63,7 +65,7 @@ export declare class Streami18n {
|
|
|
63
65
|
*/
|
|
64
66
|
logger: (msg?: string) => void;
|
|
65
67
|
currentLanguage: TranslationLanguages;
|
|
66
|
-
DateTimeParser:
|
|
68
|
+
DateTimeParser: DateTimeParserModule;
|
|
67
69
|
isCustomDateTimeParser: boolean;
|
|
68
70
|
i18nextConfig: {
|
|
69
71
|
debug: boolean;
|
|
@@ -76,6 +78,10 @@ export declare class Streami18n {
|
|
|
76
78
|
nsSeparator: false;
|
|
77
79
|
parseMissingKeyHandler: (key: string) => string;
|
|
78
80
|
};
|
|
81
|
+
/**
|
|
82
|
+
* A valid TZ identifier string (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
|
|
83
|
+
*/
|
|
84
|
+
timezone?: string;
|
|
79
85
|
/**
|
|
80
86
|
* Constructor accepts following options:
|
|
81
87
|
* - language (String) default: 'en'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Streami18n.d.ts","sourceRoot":"","sources":["../../src/i18n/Streami18n.ts"],"names":[],"mappings":"AAAA,OAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Streami18n.d.ts","sourceRoot":"","sources":["../../src/i18n/Streami18n.ts"],"names":[],"mappings":"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"}
|