stream-chat-react 6.9.0 → 6.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 +2624 -2045
- package/dist/browser.full-bundle.js.map +1 -1
- package/dist/browser.full-bundle.min.js +3 -3
- package/dist/browser.full-bundle.min.js.map +1 -1
- package/dist/components/Attachment/Card.js +1 -1
- package/dist/components/AutoCompleteTextarea/Header.d.ts +2 -0
- package/dist/components/AutoCompleteTextarea/Header.d.ts.map +1 -1
- package/dist/components/AutoCompleteTextarea/Header.js +10 -9
- package/dist/components/AutoCompleteTextarea/List.d.ts.map +1 -1
- package/dist/components/AutoCompleteTextarea/List.js +2 -2
- package/dist/components/AutoCompleteTextarea/Textarea.d.ts.map +1 -1
- package/dist/components/AutoCompleteTextarea/Textarea.js +23 -13
- package/dist/components/Channel/Channel.d.ts +8 -3
- package/dist/components/Channel/Channel.d.ts.map +1 -1
- package/dist/components/Channel/Channel.js +29 -12
- package/dist/components/Channel/hooks/useCreateChannelStateContext.d.ts +2 -10
- package/dist/components/Channel/hooks/useCreateChannelStateContext.d.ts.map +1 -1
- package/dist/components/Channel/hooks/useCreateChannelStateContext.js +11 -5
- package/dist/components/Channel/hooks/useEditMessageHandler.js +1 -1
- package/dist/components/ChannelHeader/ChannelHeader.d.ts.map +1 -1
- package/dist/components/ChannelHeader/ChannelHeader.js +3 -3
- package/dist/components/ChannelList/ChannelList.d.ts.map +1 -1
- package/dist/components/ChannelList/ChannelList.js +5 -8
- package/dist/components/ChannelList/ChannelListMessenger.d.ts +2 -0
- package/dist/components/ChannelList/ChannelListMessenger.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useChannelDeletedListener.js +1 -1
- package/dist/components/ChannelList/hooks/useChannelHiddenListener.js +1 -1
- package/dist/components/ChannelList/hooks/useChannelTruncatedListener.js +1 -1
- package/dist/components/ChannelList/hooks/useChannelUpdatedListener.js +1 -1
- package/dist/components/ChannelList/hooks/useChannelVisibleListener.js +1 -1
- package/dist/components/ChannelList/hooks/useConnectionRecoveredListener.js +1 -1
- package/dist/components/ChannelList/hooks/useMessageNewListener.js +1 -1
- package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.js +1 -1
- package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.js +1 -1
- package/dist/components/ChannelList/hooks/useNotificationRemovedFromChannelListener.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/useNotificationRemovedFromChannelListener.js +1 -1
- package/dist/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +1 -1
- package/dist/components/ChannelList/hooks/usePaginatedChannels.js +1 -0
- package/dist/components/ChannelList/hooks/useUserPresenceChangedListener.js +1 -1
- package/dist/components/ChannelPreview/ChannelPreview.js +2 -2
- package/dist/components/ChannelPreview/hooks/useIsChannelMuted.js +1 -1
- package/dist/components/ChannelSearch/ChannelSearch.js +1 -1
- package/dist/components/ChannelSearch/SearchInput.js +1 -1
- package/dist/components/ChannelSearch/SearchResults.js +1 -1
- package/dist/components/Chat/Chat.d.ts +1 -1
- package/dist/components/Chat/Chat.d.ts.map +1 -1
- package/dist/components/Chat/Chat.js +2 -1
- package/dist/components/Chat/hooks/useChat.d.ts +2 -1
- package/dist/components/Chat/hooks/useChat.d.ts.map +1 -1
- package/dist/components/Chat/hooks/useChat.js +13 -6
- package/dist/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -1
- package/dist/components/Chat/hooks/useCreateChatContext.js +3 -2
- package/dist/components/ChatAutoComplete/ChatAutoComplete.d.ts +1 -0
- package/dist/components/ChatAutoComplete/ChatAutoComplete.d.ts.map +1 -1
- package/dist/components/ChatAutoComplete/ChatAutoComplete.js +4 -4
- package/dist/components/ChatDown/ChatDown.js +1 -1
- package/dist/components/DateSeparator/DateSeparator.js +1 -1
- package/dist/components/EmptyStateIndicator/EmptyStateIndicator.js +1 -1
- package/dist/components/EventComponent/EventComponent.js +1 -1
- package/dist/components/Gallery/Gallery.js +1 -1
- package/dist/components/Loading/LoadingErrorIndicator.js +1 -1
- package/dist/components/MML/MML.js +1 -1
- package/dist/components/Message/FixedHeightMessage.js +4 -4
- package/dist/components/Message/Message.d.ts.map +1 -1
- package/dist/components/Message/Message.js +3 -6
- package/dist/components/Message/MessageCommerce.js +2 -2
- package/dist/components/Message/MessageDeleted.js +1 -1
- package/dist/components/Message/MessageLivestream.d.ts.map +1 -1
- package/dist/components/Message/MessageLivestream.js +5 -6
- package/dist/components/Message/MessageOptions.js +1 -1
- package/dist/components/Message/MessageRepliesCountButton.js +1 -1
- package/dist/components/Message/MessageSimple.js +2 -2
- package/dist/components/Message/MessageStatus.d.ts.map +1 -1
- package/dist/components/Message/MessageStatus.js +4 -4
- package/dist/components/Message/MessageTeam.js +3 -3
- package/dist/components/Message/MessageText.d.ts.map +1 -1
- package/dist/components/Message/MessageText.js +3 -3
- package/dist/components/Message/MessageTimestamp.d.ts.map +1 -1
- package/dist/components/Message/MessageTimestamp.js +2 -2
- package/dist/components/Message/QuotedMessage.d.ts.map +1 -1
- package/dist/components/Message/QuotedMessage.js +5 -4
- package/dist/components/Message/hooks/useActionHandler.d.ts.map +1 -1
- package/dist/components/Message/hooks/useActionHandler.js +2 -2
- package/dist/components/Message/hooks/useDeleteHandler.js +3 -3
- package/dist/components/Message/hooks/useFlagHandler.js +2 -2
- package/dist/components/Message/hooks/useMentionsHandler.js +1 -1
- package/dist/components/Message/hooks/useMuteHandler.js +3 -3
- package/dist/components/Message/hooks/useOpenThreadHandler.d.ts.map +1 -1
- package/dist/components/Message/hooks/useOpenThreadHandler.js +1 -1
- package/dist/components/Message/hooks/usePinHandler.d.ts.map +1 -1
- package/dist/components/Message/hooks/usePinHandler.js +10 -17
- package/dist/components/Message/hooks/useReactionHandler.d.ts.map +1 -1
- package/dist/components/Message/hooks/useReactionHandler.js +18 -16
- package/dist/components/Message/hooks/useRetryHandler.js +1 -1
- package/dist/components/Message/hooks/useUserRole.d.ts +2 -2
- package/dist/components/Message/hooks/useUserRole.d.ts.map +1 -1
- package/dist/components/Message/hooks/useUserRole.js +8 -6
- package/dist/components/Message/types.d.ts +1 -1
- package/dist/components/Message/types.d.ts.map +1 -1
- package/dist/components/Message/utils.d.ts.map +1 -1
- package/dist/components/Message/utils.js +9 -4
- package/dist/components/MessageActions/MessageActions.js +2 -2
- package/dist/components/MessageActions/MessageActionsBox.d.ts.map +1 -1
- package/dist/components/MessageActions/MessageActionsBox.js +3 -3
- package/dist/components/MessageInput/DefaultTriggerProvider.d.ts.map +1 -1
- package/dist/components/MessageInput/DefaultTriggerProvider.js +1 -1
- package/dist/components/MessageInput/DropzoneProvider.d.ts +5 -0
- package/dist/components/MessageInput/DropzoneProvider.d.ts.map +1 -0
- package/dist/components/MessageInput/DropzoneProvider.js +31 -0
- package/dist/components/MessageInput/EditMessageForm.d.ts.map +1 -1
- package/dist/components/MessageInput/EditMessageForm.js +4 -4
- package/dist/components/MessageInput/EmojiPicker.js +3 -3
- package/dist/components/MessageInput/MessageInput.d.ts +2 -2
- package/dist/components/MessageInput/MessageInput.d.ts.map +1 -1
- package/dist/components/MessageInput/MessageInput.js +17 -7
- package/dist/components/MessageInput/MessageInputFlat.js +4 -4
- package/dist/components/MessageInput/MessageInputSmall.d.ts.map +1 -1
- package/dist/components/MessageInput/MessageInputSmall.js +4 -4
- package/dist/components/MessageInput/QuotedMessagePreview.d.ts.map +1 -1
- package/dist/components/MessageInput/QuotedMessagePreview.js +4 -4
- package/dist/components/MessageInput/UploadsPreview.d.ts.map +1 -1
- package/dist/components/MessageInput/UploadsPreview.js +2 -2
- package/dist/components/MessageInput/hooks/useAttachments.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useAttachments.js +1 -1
- package/dist/components/MessageInput/hooks/useCommandTrigger.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useCommandTrigger.js +2 -3
- package/dist/components/MessageInput/hooks/useCooldownTimer.js +2 -2
- package/dist/components/MessageInput/hooks/useCreateMessageInputContext.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useCreateMessageInputContext.js +9 -1
- package/dist/components/MessageInput/hooks/useEmojiIndex.js +1 -1
- package/dist/components/MessageInput/hooks/useFileUploads.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useFileUploads.js +32 -16
- package/dist/components/MessageInput/hooks/useImageUploads.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useImageUploads.js +32 -16
- package/dist/components/MessageInput/hooks/useMessageInputState.d.ts +14 -3
- package/dist/components/MessageInput/hooks/useMessageInputState.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/useMessageInputState.js +15 -7
- package/dist/components/MessageInput/hooks/useMessageInputText.js +1 -1
- package/dist/components/MessageInput/hooks/useSubmitHandler.js +3 -3
- package/dist/components/MessageInput/hooks/useUserTrigger.js +3 -2
- package/dist/components/MessageInput/hooks/utils.d.ts +15 -1
- package/dist/components/MessageInput/hooks/utils.d.ts.map +1 -1
- package/dist/components/MessageInput/hooks/utils.js +60 -4
- package/dist/components/MessageInput/icons.js +5 -5
- package/dist/components/MessageList/ConnectionStatus.js +2 -2
- package/dist/components/MessageList/MessageList.d.ts +4 -9
- package/dist/components/MessageList/MessageList.d.ts.map +1 -1
- package/dist/components/MessageList/MessageList.js +11 -18
- package/dist/components/MessageList/MessageListNotifications.d.ts +11 -0
- package/dist/components/MessageList/MessageListNotifications.d.ts.map +1 -0
- package/dist/components/MessageList/MessageListNotifications.js +12 -0
- package/dist/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
- package/dist/components/MessageList/VirtualizedMessageList.js +13 -14
- package/dist/components/MessageList/hooks/useEnrichedMessages.d.ts +1 -0
- package/dist/components/MessageList/hooks/useEnrichedMessages.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/useEnrichedMessages.js +5 -4
- package/dist/components/MessageList/hooks/useGiphyPreview.js +1 -1
- package/dist/components/MessageList/hooks/useMessageListElements.d.ts.map +1 -1
- package/dist/components/MessageList/hooks/useMessageListElements.js +3 -3
- package/dist/components/MessageList/hooks/useMessageListScrollManager.js +1 -1
- package/dist/components/MessageList/index.d.ts +1 -0
- package/dist/components/MessageList/index.d.ts.map +1 -1
- package/dist/components/MessageList/index.js +1 -0
- package/dist/components/Modal/Modal.js +1 -1
- package/dist/components/Reactions/ReactionSelector.d.ts.map +1 -1
- package/dist/components/Reactions/ReactionSelector.js +3 -3
- package/dist/components/Reactions/ReactionsList.d.ts.map +1 -1
- package/dist/components/Reactions/ReactionsList.js +2 -2
- package/dist/components/Reactions/SimpleReactionsList.js +2 -2
- package/dist/components/Thread/Thread.d.ts.map +1 -1
- package/dist/components/Thread/Thread.js +8 -9
- package/dist/components/TypingIndicator/TypingIndicator.d.ts +3 -3
- package/dist/components/TypingIndicator/TypingIndicator.d.ts.map +1 -1
- package/dist/components/TypingIndicator/TypingIndicator.js +7 -4
- package/dist/components/Window/Window.js +1 -1
- package/dist/context/ChannelActionContext.d.ts +2 -2
- package/dist/context/ChannelActionContext.d.ts.map +1 -1
- package/dist/context/ChannelActionContext.js +8 -3
- package/dist/context/ChannelStateContext.d.ts +5 -3
- package/dist/context/ChannelStateContext.d.ts.map +1 -1
- package/dist/context/ChannelStateContext.js +8 -3
- package/dist/context/ChatContext.d.ts +6 -4
- package/dist/context/ChatContext.d.ts.map +1 -1
- package/dist/context/ChatContext.js +9 -2
- package/dist/context/ComponentContext.d.ts +4 -4
- package/dist/context/ComponentContext.d.ts.map +1 -1
- package/dist/context/ComponentContext.js +8 -3
- package/dist/context/EmojiContext.d.ts +2 -2
- package/dist/context/EmojiContext.d.ts.map +1 -1
- package/dist/context/EmojiContext.js +8 -3
- package/dist/context/MessageContext.d.ts +3 -3
- package/dist/context/MessageContext.d.ts.map +1 -1
- package/dist/context/MessageContext.js +9 -2
- package/dist/context/MessageInputContext.d.ts +3 -6
- package/dist/context/MessageInputContext.d.ts.map +1 -1
- package/dist/context/MessageInputContext.js +4 -6
- package/dist/context/TranslationContext.d.ts +1 -1
- package/dist/context/TranslationContext.d.ts.map +1 -1
- package/dist/context/TranslationContext.js +8 -1
- package/dist/context/TypingContext.d.ts +2 -2
- package/dist/context/TypingContext.d.ts.map +1 -1
- package/dist/context/TypingContext.js +9 -2
- package/dist/css/index.css +1 -1
- package/dist/i18n/Streami18n.d.ts +1 -0
- package/dist/i18n/Streami18n.d.ts.map +1 -1
- package/dist/i18n/Streami18n.js +2 -2
- package/dist/i18n/de.json +5 -4
- package/dist/i18n/en.json +1 -0
- package/dist/i18n/es.json +1 -0
- package/dist/i18n/fr.json +1 -0
- package/dist/i18n/hi.json +1 -0
- package/dist/i18n/it.json +1 -0
- package/dist/i18n/ja.json +1 -0
- package/dist/i18n/ko.json +1 -0
- package/dist/i18n/nl.json +1 -0
- package/dist/i18n/pt.json +1 -0
- package/dist/i18n/ru.json +1 -0
- package/dist/i18n/tr.json +1 -0
- package/dist/index.cjs.js +645 -428
- package/dist/index.cjs.js.map +1 -1
- package/dist/scss/Avatar.scss +19 -2
- package/dist/scss/Message.scss +7 -6
- package/dist/scss/MessageInputFlat.scss +4 -0
- package/dist/scss/MessageList.scss +10 -2
- package/dist/scss/MessageNotification.scss +36 -0
- package/dist/scss/_base.scss +8 -3
- package/dist/scss/_variables.scss +1 -1
- package/dist/types/types.d.ts +1 -0
- package/dist/types/types.d.ts.map +1 -1
- package/dist/utils.d.ts +7 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +6 -6
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/package.json +13 -9
|
@@ -46,21 +46,24 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
48
|
import { useCallback, useEffect } from 'react';
|
|
49
|
+
import { checkUploadPermissions } from './utils';
|
|
49
50
|
import { useChannelActionContext } from '../../../context/ChannelActionContext';
|
|
50
51
|
import { useChannelStateContext } from '../../../context/ChannelStateContext';
|
|
52
|
+
import { useChatContext } from '../../../context/ChatContext';
|
|
51
53
|
import { useTranslationContext } from '../../../context/TranslationContext';
|
|
52
54
|
export var useImageUploads = function (props, state, dispatch) {
|
|
53
55
|
var doImageUploadRequest = props.doImageUploadRequest, errorHandler = props.errorHandler;
|
|
54
56
|
var imageUploads = state.imageUploads;
|
|
55
|
-
var channel = useChannelStateContext().channel;
|
|
56
|
-
var
|
|
57
|
-
var
|
|
57
|
+
var channel = useChannelStateContext('useImageUploads').channel;
|
|
58
|
+
var getAppSettings = useChatContext('useImageUploads').getAppSettings;
|
|
59
|
+
var addNotification = useChannelActionContext('useImageUploads').addNotification;
|
|
60
|
+
var t = useTranslationContext('useImageUploads').t;
|
|
58
61
|
var removeImage = useCallback(function (id) {
|
|
59
62
|
dispatch({ id: id, type: 'removeImageUpload' });
|
|
60
63
|
// TODO: cancel upload if still uploading
|
|
61
64
|
}, []);
|
|
62
65
|
var uploadImage = useCallback(function (id) { return __awaiter(void 0, void 0, void 0, function () {
|
|
63
|
-
var img, file, response, error_1, errorMessage, alreadyRemoved;
|
|
66
|
+
var img, file, canUpload, response, error_1, errorMessage, alreadyRemoved;
|
|
64
67
|
return __generator(this, function (_a) {
|
|
65
68
|
switch (_a.label) {
|
|
66
69
|
case 0:
|
|
@@ -71,22 +74,35 @@ export var useImageUploads = function (props, state, dispatch) {
|
|
|
71
74
|
if (img.state !== 'uploading') {
|
|
72
75
|
dispatch({ id: id, state: 'uploading', type: 'setImageUpload' });
|
|
73
76
|
}
|
|
74
|
-
|
|
77
|
+
return [4 /*yield*/, checkUploadPermissions({
|
|
78
|
+
addNotification: addNotification,
|
|
79
|
+
file: file,
|
|
80
|
+
getAppSettings: getAppSettings,
|
|
81
|
+
t: t,
|
|
82
|
+
uploadType: 'image',
|
|
83
|
+
})];
|
|
75
84
|
case 1:
|
|
76
|
-
_a.
|
|
77
|
-
if (!
|
|
78
|
-
|
|
85
|
+
canUpload = _a.sent();
|
|
86
|
+
if (!canUpload)
|
|
87
|
+
return [2 /*return*/, removeImage(id)];
|
|
88
|
+
_a.label = 2;
|
|
79
89
|
case 2:
|
|
90
|
+
_a.trys.push([2, 7, , 8]);
|
|
91
|
+
if (!doImageUploadRequest) return [3 /*break*/, 4];
|
|
92
|
+
return [4 /*yield*/, doImageUploadRequest(file, channel)];
|
|
93
|
+
case 3:
|
|
80
94
|
response = _a.sent();
|
|
81
|
-
return [3 /*break*/,
|
|
82
|
-
case
|
|
83
|
-
case
|
|
95
|
+
return [3 /*break*/, 6];
|
|
96
|
+
case 4: return [4 /*yield*/, channel.sendImage(file)];
|
|
97
|
+
case 5:
|
|
84
98
|
response = _a.sent();
|
|
85
|
-
_a.label =
|
|
86
|
-
case
|
|
87
|
-
case
|
|
99
|
+
_a.label = 6;
|
|
100
|
+
case 6: return [3 /*break*/, 8];
|
|
101
|
+
case 7:
|
|
88
102
|
error_1 = _a.sent();
|
|
89
|
-
errorMessage = typeof error_1.message === 'string'
|
|
103
|
+
errorMessage = typeof error_1.message === 'string'
|
|
104
|
+
? error_1.message
|
|
105
|
+
: t('Error uploading image');
|
|
90
106
|
addNotification(errorMessage, 'error');
|
|
91
107
|
alreadyRemoved = false;
|
|
92
108
|
if (!imageUploads[id]) {
|
|
@@ -100,7 +116,7 @@ export var useImageUploads = function (props, state, dispatch) {
|
|
|
100
116
|
errorHandler(error_1, 'upload-image', __assign(__assign({}, file), { id: id }));
|
|
101
117
|
}
|
|
102
118
|
return [2 /*return*/];
|
|
103
|
-
case
|
|
119
|
+
case 8:
|
|
104
120
|
// If doImageUploadRequest returns any falsy value, then don't create the upload preview.
|
|
105
121
|
// This is for the case if someone wants to handle failure on app level.
|
|
106
122
|
if (!response) {
|
|
@@ -7,7 +7,9 @@ import type { CustomTrigger, DefaultAttachmentType, DefaultChannelType, DefaultM
|
|
|
7
7
|
export declare type FileUpload = {
|
|
8
8
|
file: {
|
|
9
9
|
name: string;
|
|
10
|
-
|
|
10
|
+
lastModified?: number;
|
|
11
|
+
lastModifiedDate?: Date;
|
|
12
|
+
size?: number;
|
|
11
13
|
type?: string;
|
|
12
14
|
uri?: string;
|
|
13
15
|
};
|
|
@@ -17,8 +19,12 @@ export declare type FileUpload = {
|
|
|
17
19
|
};
|
|
18
20
|
export declare type ImageUpload = {
|
|
19
21
|
file: {
|
|
22
|
+
name: string;
|
|
20
23
|
height?: number;
|
|
21
|
-
|
|
24
|
+
lastModified?: number;
|
|
25
|
+
lastModifiedDate?: Date;
|
|
26
|
+
size?: number;
|
|
27
|
+
type?: string;
|
|
22
28
|
uri?: string;
|
|
23
29
|
width?: number;
|
|
24
30
|
};
|
|
@@ -108,9 +114,14 @@ export declare type CommandsListState = {
|
|
|
108
114
|
openCommandsList: () => void;
|
|
109
115
|
showCommandsList: boolean;
|
|
110
116
|
};
|
|
117
|
+
export declare type MentionsListState = {
|
|
118
|
+
closeMentionsList: () => void;
|
|
119
|
+
openMentionsList: () => void;
|
|
120
|
+
showMentionsList: boolean;
|
|
121
|
+
};
|
|
111
122
|
/**
|
|
112
123
|
* hook for MessageInput state
|
|
113
124
|
*/
|
|
114
|
-
export declare const useMessageInputState: <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>(props: MessageInputProps<At, Ch, Co, Ev, Me, Re, Us, V>) => MessageInputState<At, Us> & MessageInputHookProps<At, Me, Us> & CommandsListState;
|
|
125
|
+
export declare const useMessageInputState: <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>(props: MessageInputProps<At, Ch, Co, Ev, Me, Re, Us, V>) => MessageInputState<At, Us> & MessageInputHookProps<At, Me, Us> & CommandsListState & MentionsListState;
|
|
115
126
|
export {};
|
|
116
127
|
//# sourceMappingURL=useMessageInputState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMessageInputState.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput/hooks/useMessageInputState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAqD,MAAM,OAAO,CAAC;AAY1E,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAErE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAGlB,kBAAkB,EAElB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,oBAAY,UAAU,GAAG;IACvB,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,
|
|
1
|
+
{"version":3,"file":"useMessageInputState.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput/hooks/useMessageInputState.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,7 +46,7 @@ var initState = function (message) {
|
|
|
46
46
|
var id = generateRandomId();
|
|
47
47
|
acc[id] = {
|
|
48
48
|
file: {
|
|
49
|
-
name: attachment.fallback,
|
|
49
|
+
name: attachment.fallback || '',
|
|
50
50
|
},
|
|
51
51
|
id: id,
|
|
52
52
|
state: 'finished',
|
|
@@ -153,12 +153,12 @@ var messageInputReducer = function (state, action) {
|
|
|
153
153
|
* hook for MessageInput state
|
|
154
154
|
*/
|
|
155
155
|
export var useMessageInputState = function (props) {
|
|
156
|
-
var _a, _b;
|
|
157
156
|
var message = props.message;
|
|
158
|
-
var
|
|
157
|
+
var _a = useChannelStateContext('useMessageInputState'), _b = _a.channelCapabilities, channelCapabilities = _b === void 0 ? {} : _b, channelConfig = _a.channelConfig;
|
|
159
158
|
var _c = useReducer(messageInputReducer, message, initState), state = _c[0], dispatch = _c[1];
|
|
160
159
|
var _d = useMessageInputText(props, state, dispatch), handleChange = _d.handleChange, insertText = _d.insertText, textareaRef = _d.textareaRef;
|
|
161
160
|
var _e = useState(false), showCommandsList = _e[0], setShowCommandsList = _e[1];
|
|
161
|
+
var _f = useState(false), showMentionsList = _f[0], setShowMentionsList = _f[1];
|
|
162
162
|
var openCommandsList = function () {
|
|
163
163
|
dispatch({
|
|
164
164
|
getNewText: function () { return '/'; },
|
|
@@ -167,11 +167,19 @@ export var useMessageInputState = function (props) {
|
|
|
167
167
|
setShowCommandsList(true);
|
|
168
168
|
};
|
|
169
169
|
var closeCommandsList = function () { return setShowCommandsList(false); };
|
|
170
|
-
var
|
|
171
|
-
|
|
170
|
+
var openMentionsList = function () {
|
|
171
|
+
dispatch({
|
|
172
|
+
getNewText: function () { return '@'; },
|
|
173
|
+
type: 'setText',
|
|
174
|
+
});
|
|
175
|
+
setShowMentionsList(true);
|
|
176
|
+
};
|
|
177
|
+
var closeMentionsList = function () { return setShowMentionsList(false); };
|
|
178
|
+
var _g = useEmojiPicker(state, dispatch, insertText), closeEmojiPicker = _g.closeEmojiPicker, emojiPickerRef = _g.emojiPickerRef, handleEmojiKeyDown = _g.handleEmojiKeyDown, onSelectEmoji = _g.onSelectEmoji, openEmojiPicker = _g.openEmojiPicker;
|
|
179
|
+
var _h = useAttachments(props, state, dispatch), maxFilesLeft = _h.maxFilesLeft, numberOfUploads = _h.numberOfUploads, removeFile = _h.removeFile, removeImage = _h.removeImage, uploadFile = _h.uploadFile, uploadImage = _h.uploadImage, uploadNewFiles = _h.uploadNewFiles;
|
|
172
180
|
var handleSubmit = useSubmitHandler(props, state, dispatch, numberOfUploads).handleSubmit;
|
|
173
181
|
var onPaste = usePasteHandler(uploadNewFiles, insertText).onPaste;
|
|
174
|
-
var isUploadEnabled = (
|
|
182
|
+
var isUploadEnabled = (channelConfig === null || channelConfig === void 0 ? void 0 : channelConfig.uploads) !== false && channelCapabilities['upload-file'] !== false;
|
|
175
183
|
var onSelectUser = useCallback(function (item) {
|
|
176
184
|
dispatch({ type: 'addMentionedUser', user: item });
|
|
177
185
|
}, []);
|
|
@@ -183,5 +191,5 @@ export var useMessageInputState = function (props) {
|
|
|
183
191
|
* TODO: fix the below at some point because this type casting is wrong
|
|
184
192
|
* and just forced to not have warnings currently with the unknown casting
|
|
185
193
|
*/
|
|
186
|
-
closeEmojiPicker: closeEmojiPicker, emojiIndex: useEmojiIndex(), emojiPickerRef: emojiPickerRef, handleChange: handleChange, handleEmojiKeyDown: handleEmojiKeyDown, handleSubmit: handleSubmit, insertText: insertText, isUploadEnabled: isUploadEnabled, maxFilesLeft: maxFilesLeft, numberOfUploads: numberOfUploads, onPaste: onPaste, onSelectEmoji: onSelectEmoji, onSelectUser: onSelectUser, openCommandsList: openCommandsList, openEmojiPicker: openEmojiPicker, removeFile: removeFile, removeImage: removeImage, setText: setText, showCommandsList: showCommandsList, textareaRef: textareaRef, uploadFile: uploadFile, uploadImage: uploadImage, uploadNewFiles: uploadNewFiles });
|
|
194
|
+
closeEmojiPicker: closeEmojiPicker, closeMentionsList: closeMentionsList, emojiIndex: useEmojiIndex(), emojiPickerRef: emojiPickerRef, handleChange: handleChange, handleEmojiKeyDown: handleEmojiKeyDown, handleSubmit: handleSubmit, insertText: insertText, isUploadEnabled: isUploadEnabled, maxFilesLeft: maxFilesLeft, numberOfUploads: numberOfUploads, onPaste: onPaste, onSelectEmoji: onSelectEmoji, onSelectUser: onSelectUser, openCommandsList: openCommandsList, openEmojiPicker: openEmojiPicker, openMentionsList: openMentionsList, removeFile: removeFile, removeImage: removeImage, setText: setText, showCommandsList: showCommandsList, showMentionsList: showMentionsList, textareaRef: textareaRef, uploadFile: uploadFile, uploadImage: uploadImage, uploadNewFiles: uploadNewFiles });
|
|
187
195
|
};
|
|
@@ -2,7 +2,7 @@ import { useCallback, useEffect, useRef } from 'react';
|
|
|
2
2
|
import { logChatPromiseExecution } from 'stream-chat';
|
|
3
3
|
import { useChannelStateContext } from '../../../context/ChannelStateContext';
|
|
4
4
|
export var useMessageInputText = function (props, state, dispatch) {
|
|
5
|
-
var channel = useChannelStateContext().channel;
|
|
5
|
+
var channel = useChannelStateContext('useMessageInputText').channel;
|
|
6
6
|
var additionalTextareaProps = props.additionalTextareaProps, focus = props.focus, parent = props.parent, _a = props.publishTypingEvent, publishTypingEvent = _a === void 0 ? true : _a;
|
|
7
7
|
var text = state.text;
|
|
8
8
|
var textareaRef = useRef();
|
|
@@ -63,9 +63,9 @@ var getAttachmentTypeFromMime = function (mime) {
|
|
|
63
63
|
export var useSubmitHandler = function (props, state, dispatch, numberOfUploads) {
|
|
64
64
|
var clearEditingState = props.clearEditingState, message = props.message, overrideSubmitHandler = props.overrideSubmitHandler, parent = props.parent, publishTypingEvent = props.publishTypingEvent;
|
|
65
65
|
var attachments = state.attachments, fileOrder = state.fileOrder, fileUploads = state.fileUploads, imageOrder = state.imageOrder, imageUploads = state.imageUploads, mentioned_users = state.mentioned_users, text = state.text;
|
|
66
|
-
var channel = useChannelStateContext().channel;
|
|
67
|
-
var _a = useChannelActionContext(), addNotification = _a.addNotification, editMessage = _a.editMessage, sendMessage = _a.sendMessage;
|
|
68
|
-
var t = useTranslationContext().t;
|
|
66
|
+
var channel = useChannelStateContext('useSubmitHandler').channel;
|
|
67
|
+
var _a = useChannelActionContext('useSubmitHandler'), addNotification = _a.addNotification, editMessage = _a.editMessage, sendMessage = _a.sendMessage;
|
|
68
|
+
var t = useTranslationContext('useSubmitHandler').t;
|
|
69
69
|
var getAttachmentsFromUploads = function () {
|
|
70
70
|
var imageAttachments = imageOrder
|
|
71
71
|
.map(function (id) { return imageUploads[id]; })
|
|
@@ -59,8 +59,8 @@ import { useChannelStateContext } from '../../../context/ChannelStateContext';
|
|
|
59
59
|
export var useUserTrigger = function (params) {
|
|
60
60
|
var disableMentions = params.disableMentions, mentionAllAppUsers = params.mentionAllAppUsers, _a = params.mentionQueryParams, mentionQueryParams = _a === void 0 ? {} : _a, onSelectUser = params.onSelectUser, useMentionsTransliteration = params.useMentionsTransliteration;
|
|
61
61
|
var _b = useState(false), searching = _b[0], setSearching = _b[1];
|
|
62
|
-
var _c = useChatContext(), client = _c.client, mutes = _c.mutes;
|
|
63
|
-
var channel = useChannelStateContext().channel;
|
|
62
|
+
var _c = useChatContext('useUserTrigger'), client = _c.client, mutes = _c.mutes;
|
|
63
|
+
var channel = useChannelStateContext('useUserTrigger').channel;
|
|
64
64
|
var members = channel.state.members;
|
|
65
65
|
var watchers = channel.state.watchers;
|
|
66
66
|
var getMembersAndWatchers = useCallback(function () {
|
|
@@ -175,6 +175,7 @@ export var useUserTrigger = function (params) {
|
|
|
175
175
|
var params_1 = {
|
|
176
176
|
ownUserId: client.userID,
|
|
177
177
|
query: query,
|
|
178
|
+
text: text,
|
|
178
179
|
useMentionsTransliteration: useMentionsTransliteration,
|
|
179
180
|
users: users,
|
|
180
181
|
};
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
import type { ImageUpload } from 'react-file-utils';
|
|
1
2
|
import type { UserResponse } from 'stream-chat';
|
|
2
|
-
import type {
|
|
3
|
+
import type { ChannelActionContextValue } from '../../../context/ChannelActionContext';
|
|
4
|
+
import type { ChatContextValue } from '../../../context/ChatContext';
|
|
5
|
+
import type { TranslationContextValue } from '../../../context/TranslationContext';
|
|
6
|
+
import type { DefaultAttachmentType, DefaultChannelType, DefaultCommandType, DefaultEventType, DefaultMessageType, DefaultReactionType, DefaultUserType } from '../../../types/types';
|
|
3
7
|
export declare const accentsMap: {
|
|
4
8
|
[key: string]: string;
|
|
5
9
|
};
|
|
@@ -8,8 +12,18 @@ export declare const calculateLevenshtein: (query: string, name: string) => numb
|
|
|
8
12
|
export declare type SearchLocalUserParams<Us extends DefaultUserType<Us> = DefaultUserType> = {
|
|
9
13
|
ownUserId: string | undefined;
|
|
10
14
|
query: string;
|
|
15
|
+
text: string;
|
|
11
16
|
users: UserResponse<Us>[];
|
|
12
17
|
useMentionsTransliteration?: boolean;
|
|
13
18
|
};
|
|
14
19
|
export declare const searchLocalUsers: <Us extends DefaultUserType<Us> = DefaultUserType<import("../../../types/types").DefaultUserTypeInternal>>(params: SearchLocalUserParams<Us>) => UserResponse<Us>[];
|
|
20
|
+
declare type CheckUploadPermissionsParams<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> = {
|
|
21
|
+
addNotification: ChannelActionContextValue<At, Ch, Co, Ev, Me, Re, Us>['addNotification'];
|
|
22
|
+
file: ImageUpload['file'];
|
|
23
|
+
getAppSettings: ChatContextValue<At, Ch, Co, Ev, Me, Re, Us>['getAppSettings'];
|
|
24
|
+
t: TranslationContextValue['t'];
|
|
25
|
+
uploadType: 'image' | 'file';
|
|
26
|
+
};
|
|
27
|
+
export declare const checkUploadPermissions: <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>>(params: CheckUploadPermissionsParams<At, Ch, Co, Ev, Me, Re, Us>) => Promise<boolean>;
|
|
28
|
+
export {};
|
|
15
29
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput/hooks/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput/hooks/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAA4C,YAAY,EAAE,MAAM,aAAa,CAAC;AAE1F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,UAAU,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAQ/C,CAAC;AAEF,eAAO,MAAM,gBAAgB,uCAM5B,CAAC;AAEF,eAAO,MAAM,oBAAoB,UAAW,MAAM,QAAQ,MAAM,WAiC/D,CAAC;AAEF,oBAAY,qBAAqB,CAAC,EAAE,SAAS,eAAe,CAAC,EAAE,CAAC,GAAG,eAAe,IAAI;IACpF,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;IAC1B,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,gBAAgB,qKAsC5B,CAAC;AAEF,aAAK,4BAA4B,CAC/B,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,eAAe,EAAE,yBAAyB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC1F,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,cAAc,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC/E,CAAC,EAAE,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAChC,UAAU,EAAE,OAAO,GAAG,MAAM,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,sBAAsB,kpBA6ElC,CAAC"}
|
|
@@ -40,7 +40,7 @@ export var accentsMap = {
|
|
|
40
40
|
e: 'é|è|ê|É|È|Ê',
|
|
41
41
|
i: 'í|ì|î|Í|Ì|Î',
|
|
42
42
|
n: 'ñ|Ñ',
|
|
43
|
-
o: '
|
|
43
|
+
o: 'ó|ò|ô|ő|õ|Ó|Ò|Ô|Õ',
|
|
44
44
|
u: 'ú|ù|û|ü|Ú|Ù|Û|Ü',
|
|
45
45
|
};
|
|
46
46
|
export var removeDiacritics = function (text) {
|
|
@@ -77,7 +77,7 @@ export var calculateLevenshtein = function (query, name) {
|
|
|
77
77
|
return matrix[name.length][query.length];
|
|
78
78
|
};
|
|
79
79
|
export var searchLocalUsers = function (params) {
|
|
80
|
-
var ownUserId = params.ownUserId, query = params.query, useMentionsTransliteration = params.useMentionsTransliteration, users = params.users;
|
|
80
|
+
var ownUserId = params.ownUserId, query = params.query, text = params.text, useMentionsTransliteration = params.useMentionsTransliteration, users = params.users;
|
|
81
81
|
var matchingUsers = users.filter(function (user) {
|
|
82
82
|
if (user.id === ownUserId)
|
|
83
83
|
return false;
|
|
@@ -102,13 +102,69 @@ export var searchLocalUsers = function (params) {
|
|
|
102
102
|
});
|
|
103
103
|
}); })();
|
|
104
104
|
}
|
|
105
|
+
var maxDistance = 3;
|
|
106
|
+
var lastDigits = text.slice(-(maxDistance + 1)).includes('@');
|
|
105
107
|
if (updatedName) {
|
|
106
108
|
var levenshtein_1 = calculateLevenshtein(updatedQuery, updatedName);
|
|
107
|
-
if (updatedName.includes(updatedQuery) || levenshtein_1 <=
|
|
109
|
+
if (updatedName.includes(updatedQuery) || (levenshtein_1 <= maxDistance && lastDigits)) {
|
|
108
110
|
return true;
|
|
111
|
+
}
|
|
109
112
|
}
|
|
110
113
|
var levenshtein = calculateLevenshtein(updatedQuery, updatedId);
|
|
111
|
-
return updatedId.includes(updatedQuery) || levenshtein <=
|
|
114
|
+
return updatedId.includes(updatedQuery) || (levenshtein <= maxDistance && lastDigits);
|
|
112
115
|
});
|
|
113
116
|
return matchingUsers;
|
|
114
117
|
};
|
|
118
|
+
export var checkUploadPermissions = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
119
|
+
var addNotification, file, getAppSettings, t, uploadType, appSettings, _a, allowed_file_extensions, allowed_mime_types, blocked_file_extensions, blocked_mime_types, sendErrorNotification, allowed, blocked, allowed, blocked;
|
|
120
|
+
var _b, _c;
|
|
121
|
+
return __generator(this, function (_d) {
|
|
122
|
+
switch (_d.label) {
|
|
123
|
+
case 0:
|
|
124
|
+
addNotification = params.addNotification, file = params.file, getAppSettings = params.getAppSettings, t = params.t, uploadType = params.uploadType;
|
|
125
|
+
appSettings = null;
|
|
126
|
+
return [4 /*yield*/, getAppSettings()];
|
|
127
|
+
case 1:
|
|
128
|
+
appSettings = _d.sent();
|
|
129
|
+
_a = (uploadType === 'image'
|
|
130
|
+
? (_b = appSettings === null || appSettings === void 0 ? void 0 : appSettings.app) === null || _b === void 0 ? void 0 : _b.image_upload_config
|
|
131
|
+
: (_c = appSettings === null || appSettings === void 0 ? void 0 : appSettings.app) === null || _c === void 0 ? void 0 : _c.file_upload_config) || {}, allowed_file_extensions = _a.allowed_file_extensions, allowed_mime_types = _a.allowed_mime_types, blocked_file_extensions = _a.blocked_file_extensions, blocked_mime_types = _a.blocked_mime_types;
|
|
132
|
+
sendErrorNotification = function () {
|
|
133
|
+
return addNotification(t("Upload type: \"{{ type }}\" is not allowed", { type: file.type || 'unknown type' }), 'error');
|
|
134
|
+
};
|
|
135
|
+
if (allowed_file_extensions === null || allowed_file_extensions === void 0 ? void 0 : allowed_file_extensions.length) {
|
|
136
|
+
allowed = allowed_file_extensions.some(function (ext) {
|
|
137
|
+
return file.name.toLowerCase().endsWith(ext.toLowerCase());
|
|
138
|
+
});
|
|
139
|
+
if (!allowed) {
|
|
140
|
+
sendErrorNotification();
|
|
141
|
+
return [2 /*return*/, false];
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
if (blocked_file_extensions === null || blocked_file_extensions === void 0 ? void 0 : blocked_file_extensions.length) {
|
|
145
|
+
blocked = blocked_file_extensions.some(function (ext) {
|
|
146
|
+
return file.name.toLowerCase().endsWith(ext.toLowerCase());
|
|
147
|
+
});
|
|
148
|
+
if (blocked) {
|
|
149
|
+
sendErrorNotification();
|
|
150
|
+
return [2 /*return*/, false];
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
if (allowed_mime_types === null || allowed_mime_types === void 0 ? void 0 : allowed_mime_types.length) {
|
|
154
|
+
allowed = allowed_mime_types.some(function (type) { var _a; return type.toLowerCase() === ((_a = file.type) === null || _a === void 0 ? void 0 : _a.toLowerCase()); });
|
|
155
|
+
if (!allowed) {
|
|
156
|
+
sendErrorNotification();
|
|
157
|
+
return [2 /*return*/, false];
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
if (blocked_mime_types === null || blocked_mime_types === void 0 ? void 0 : blocked_mime_types.length) {
|
|
161
|
+
blocked = blocked_mime_types.some(function (type) { var _a; return type.toLowerCase() === ((_a = file.type) === null || _a === void 0 ? void 0 : _a.toLowerCase()); });
|
|
162
|
+
if (blocked) {
|
|
163
|
+
sendErrorNotification();
|
|
164
|
+
return [2 /*return*/, false];
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return [2 /*return*/, true];
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
}); };
|
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { useTranslationContext } from '../../context/TranslationContext';
|
|
3
3
|
export var EmojiIconLarge = function () {
|
|
4
|
-
var t = useTranslationContext().t;
|
|
4
|
+
var t = useTranslationContext('EmojiIconLarge').t;
|
|
5
5
|
return (React.createElement("svg", { height: '28', width: '28', xmlns: 'http://www.w3.org/2000/svg' },
|
|
6
6
|
React.createElement("title", null, t('Open emoji picker')),
|
|
7
7
|
React.createElement("g", { clipRule: 'evenodd', fillRule: 'evenodd' },
|
|
8
8
|
React.createElement("path", { d: 'M14 4.4C8.6 4.4 4.4 8.6 4.4 14c0 5.4 4.2 9.6 9.6 9.6c5.4 0 9.6-4.2 9.6-9.6c0-5.4-4.2-9.6-9.6-9.6zM2 14c0-6.6 5.4-12 12-12s12 5.4 12 12s-5.4 12-12 12s-12-5.4-12-12zM12.8 11c0 1-.8 1.8-1.8 1.8s-1.8-.8-1.8-1.8s.8-1.8 1.8-1.8s1.8.8 1.8 1.8zM18.8 11c0 1-.8 1.8-1.8 1.8s-1.8-.8-1.8-1.8s.8-1.8 1.8-1.8s1.8.8 1.8 1.8zM8.6 15.4c.6-.4 1.2-.2 1.6.2c.6.8 1.6 1.8 3 2c1.2.4 2.8.2 4.8-2c.4-.4 1.2-.6 1.6 0c.4.4.6 1.2 0 1.6c-2.2 2.6-4.8 3.4-7 3c-2-.4-3.6-1.8-4.4-3c-.4-.6-.2-1.2.4-1.8z' }))));
|
|
9
9
|
};
|
|
10
10
|
export var EmojiIconSmall = function () {
|
|
11
|
-
var t = useTranslationContext().t;
|
|
11
|
+
var t = useTranslationContext('EmojiIconSmall').t;
|
|
12
12
|
return (React.createElement("svg", { height: '14', width: '14', xmlns: 'http://www.w3.org/2000/svg' },
|
|
13
13
|
React.createElement("title", null, t('Open emoji picker')),
|
|
14
14
|
React.createElement("g", { clipRule: 'evenodd', fillRule: 'evenodd' },
|
|
15
15
|
React.createElement("path", { d: 'M6.7 1.42C3.73 1.42 1.42 3.73 1.42 6.7c0 2.97 2.31 5.28 5.28 5.28c2.97 0 5.28-2.31 5.28-5.28c0-2.97-2.31-5.28-5.28-5.28zM.1 6.7c0-3.63 2.97-6.6 6.6-6.6s6.6 2.97 6.6 6.6s-2.97 6.6-6.6 6.6s-6.6-2.97-6.6-6.6zM6.04 5.05c0 .55-.44.99-.99.99s-.99-.44-.99-.99s.44-.99.99-.99s.99.44.99.99zM9.34 5.05c0 .55-.44.99-.99.99s-.99-.44-.99-.99s.44-.99.99-.99s.99.44.99.99zM3.73 7.47c.33-.22.66-.11.88.11c.33.44.88.99 1.65 1.1c.66.22 1.54.11 2.64-1.1c.22-.22.66-.33.88 0c.22.22.33.66 0 .88c-1.21 1.43-2.64 1.87-3.85 1.65c-1.1-.22-1.98-.99-2.42-1.65c-.22-.33-.11-.66.22-.99z' }))));
|
|
16
16
|
};
|
|
17
17
|
export var FileUploadIcon = function () {
|
|
18
|
-
var t = useTranslationContext().t;
|
|
18
|
+
var t = useTranslationContext('FileUploadIcon').t;
|
|
19
19
|
return (React.createElement("svg", { height: '14', width: '14', xmlns: 'http://www.w3.org/2000/svg' },
|
|
20
20
|
React.createElement("title", null, t('Attach files')),
|
|
21
21
|
React.createElement("path", { d: 'M7 .5c3.59 0 6.5 2.91 6.5 6.5s-2.91 6.5-6.5 6.5S.5 10.59.5 7 3.41.5 7 .5zm0 12c3.031 0 5.5-2.469 5.5-5.5S10.031 1.5 7 1.5A5.506 5.506 0 0 0 1.5 7c0 3.034 2.469 5.5 5.5 5.5zM7.506 3v3.494H11v1.05H7.506V11h-1.05V7.544H3v-1.05h3.456V3h1.05z', fillRule: 'nonzero' })));
|
|
22
22
|
};
|
|
23
23
|
export var FileUploadIconFlat = function () {
|
|
24
|
-
var t = useTranslationContext().t;
|
|
24
|
+
var t = useTranslationContext('FileUploadIconFlat').t;
|
|
25
25
|
return (React.createElement("svg", { height: '14', width: '14', xmlns: 'http://www.w3.org/2000/svg' },
|
|
26
26
|
React.createElement("title", null, t('Attach files')),
|
|
27
27
|
React.createElement("path", { d: 'M1.667.333h10.666c.737 0 1.334.597 1.334 1.334v10.666c0 .737-.597 1.334-1.334 1.334H1.667a1.333 1.333 0 0 1-1.334-1.334V1.667C.333.93.93.333 1.667.333zm2 1.334a1.667 1.667 0 1 0 0 3.333 1.667 1.667 0 0 0 0-3.333zm-2 9.333v1.333h10.666v-4l-2-2-4 4-2-2L1.667 11z', fillRule: 'nonzero' })));
|
|
28
28
|
};
|
|
29
29
|
export var SendButton = function (_a) {
|
|
30
30
|
var sendMessage = _a.sendMessage;
|
|
31
|
-
var t = useTranslationContext().t;
|
|
31
|
+
var t = useTranslationContext('SendButton').t;
|
|
32
32
|
return (React.createElement("button", { className: 'str-chat__send-button', onClick: sendMessage },
|
|
33
33
|
React.createElement("svg", { height: '17', viewBox: '0 0 18 17', width: '18', xmlns: 'http://www.w3.org/2000/svg' },
|
|
34
34
|
React.createElement("title", null, t('Send')),
|
|
@@ -2,8 +2,8 @@ import React, { useEffect, useState } from 'react';
|
|
|
2
2
|
import { CustomNotification } from './CustomNotification';
|
|
3
3
|
import { useChatContext, useTranslationContext } from '../../context';
|
|
4
4
|
var UnMemoizedConnectionStatus = function () {
|
|
5
|
-
var client = useChatContext().client;
|
|
6
|
-
var t = useTranslationContext().t;
|
|
5
|
+
var client = useChatContext('ConnectionStatus').client;
|
|
6
|
+
var t = useTranslationContext('ConnectionStatus').t;
|
|
7
7
|
var _a = useState(true), online = _a[0], setOnline = _a[1];
|
|
8
8
|
useEffect(function () {
|
|
9
9
|
var connectionChanged = function (_a) {
|
|
@@ -1,21 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
import { MessageNotificationProps } from './MessageNotification';
|
|
1
|
+
/// <reference types="react" />
|
|
3
2
|
import { ChannelActionContextValue } from '../../context/ChannelActionContext';
|
|
4
|
-
import { ChannelNotifications } from '../../context/ChannelStateContext';
|
|
5
3
|
import { InfiniteScrollProps } from '../InfiniteScrollPaginator';
|
|
4
|
+
import type { GroupStyle } from './utils';
|
|
6
5
|
import type { MessageProps } from '../Message/types';
|
|
7
6
|
import type { StreamMessage } from '../../context/ChannelStateContext';
|
|
8
7
|
import type { DefaultAttachmentType, DefaultChannelType, DefaultCommandType, DefaultEventType, DefaultMessageType, DefaultReactionType, DefaultUserType } from '../../types/types';
|
|
9
|
-
export declare type MessageListNotificationsProps = {
|
|
10
|
-
hasNewMessages: boolean;
|
|
11
|
-
MessageNotification: React.ComponentType<MessageNotificationProps>;
|
|
12
|
-
notifications: ChannelNotifications;
|
|
13
|
-
scrollToBottom: () => void;
|
|
14
|
-
};
|
|
15
8
|
declare type PropsDrilledToMessage = 'additionalMessageInputProps' | 'closeReactionSelectorOnClick' | 'customMessageActions' | 'disableQuotedMessages' | 'formatDate' | 'getDeleteMessageErrorNotification' | 'getFlagMessageErrorNotification' | 'getFlagMessageSuccessNotification' | 'getMuteUserErrorNotification' | 'getMuteUserSuccessNotification' | 'getPinMessageErrorNotification' | 'Message' | 'messageActions' | 'onlySenderCanEdit' | 'onMentionsClick' | 'onMentionsHover' | 'onUserClick' | 'onUserHover' | 'openThread' | 'pinPermissions' | 'renderText' | 'retrySendMessage' | 'unsafeHTML';
|
|
16
9
|
export declare type MessageListProps<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>, PropsDrilledToMessage>> & {
|
|
17
10
|
/** Disables the injection of date separator components, defaults to `false` */
|
|
18
11
|
disableDateSeparator?: boolean;
|
|
12
|
+
/** Callback function to set group styles for each message */
|
|
13
|
+
groupStyles?: (message: StreamMessage<At, Ch, Co, Ev, Me, Re, Us>, previousMessage: StreamMessage<At, Ch, Co, Ev, Me, Re, Us>, nextMessage: StreamMessage<At, Ch, Co, Ev, Me, Re, Us>, noGroupByUser: boolean) => GroupStyle;
|
|
19
14
|
/** Whether or not the list has more items to load */
|
|
20
15
|
hasMore?: boolean;
|
|
21
16
|
/** Position to render HeaderComponent */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/MessageList.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/MessageList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -26,36 +26,28 @@ import { useEnrichedMessages } from './hooks/useEnrichedMessages';
|
|
|
26
26
|
import { useMessageListElements } from './hooks/useMessageListElements';
|
|
27
27
|
import { useScrollLocationLogic } from './hooks/useScrollLocationLogic';
|
|
28
28
|
import { Center } from './Center';
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import { MessageNotification as DefaultMessageNotification, } from './MessageNotification';
|
|
29
|
+
import { MessageNotification as DefaultMessageNotification } from './MessageNotification';
|
|
30
|
+
import { MessageListNotifications as DefaultMessageListNotifications } from './MessageListNotifications';
|
|
32
31
|
import { useChannelActionContext, } from '../../context/ChannelActionContext';
|
|
33
32
|
import { useChannelStateContext, } from '../../context/ChannelStateContext';
|
|
34
33
|
import { useChatContext } from '../../context/ChatContext';
|
|
35
34
|
import { useComponentContext } from '../../context/ComponentContext';
|
|
36
|
-
import { useTranslationContext } from '../../context/TranslationContext';
|
|
37
35
|
import { EmptyStateIndicator as DefaultEmptyStateIndicator } from '../EmptyStateIndicator';
|
|
38
36
|
import { InfiniteScroll } from '../InfiniteScrollPaginator';
|
|
39
37
|
import { LoadingIndicator as DefaultLoadingIndicator } from '../Loading';
|
|
40
38
|
import { defaultPinPermissions, MESSAGE_ACTIONS } from '../Message/utils';
|
|
41
39
|
import { TypingIndicator as DefaultTypingIndicator } from '../TypingIndicator';
|
|
42
|
-
var DefaultMessageListNotifications = function (props) {
|
|
43
|
-
var hasNewMessages = props.hasNewMessages, MessageNotification = props.MessageNotification, notifications = props.notifications, scrollToBottom = props.scrollToBottom;
|
|
44
|
-
var t = useTranslationContext().t;
|
|
45
|
-
return (React.createElement("div", { className: 'str-chat__list-notifications' },
|
|
46
|
-
notifications.map(function (notification) { return (React.createElement(CustomNotification, { active: true, key: notification.id, type: notification.type }, notification.text)); }),
|
|
47
|
-
React.createElement(ConnectionStatus, null),
|
|
48
|
-
React.createElement(MessageNotification, { onClick: scrollToBottom, showNotification: hasNewMessages }, t('New Messages!'))));
|
|
49
|
-
};
|
|
50
40
|
var useInternalInfiniteScrollProps = function (props) {
|
|
51
|
-
var _a = useComponentContext().LoadingIndicator, LoadingIndicator = _a === void 0 ? DefaultLoadingIndicator : _a;
|
|
41
|
+
var _a = useComponentContext('useInternalInfiniteScrollProps').LoadingIndicator, LoadingIndicator = _a === void 0 ? DefaultLoadingIndicator : _a;
|
|
52
42
|
return __assign({ hasMore: props.hasMore, isLoading: props.loadingMore, loader: (React.createElement(Center, { key: 'loadingindicator' },
|
|
53
43
|
React.createElement(LoadingIndicator, { size: 20 }))), loadMore: useCallLoadMore(props.loadMore, props.messageLimit || 100) }, props.internalInfiniteScrollProps);
|
|
54
44
|
};
|
|
55
45
|
var MessageListWithContext = function (props) {
|
|
56
|
-
var channel = props.channel, _a = props.disableDateSeparator, disableDateSeparator = _a === void 0 ? false : _a, _b = props.hideDeletedMessages, hideDeletedMessages = _b === void 0 ? false : _b, _c = props.hideNewMessageSeparator, hideNewMessageSeparator = _c === void 0 ? false : _c, _d = props.messageActions, messageActions = _d === void 0 ? Object.keys(MESSAGE_ACTIONS) : _d, _e = props.messages, messages = _e === void 0 ? [] : _e, notifications = props.notifications, _f = props.noGroupByUser, noGroupByUser = _f === void 0 ? false : _f, _g = props.pinPermissions, pinPermissions = _g === void 0 ? defaultPinPermissions : _g,
|
|
57
|
-
|
|
58
|
-
|
|
46
|
+
var channel = props.channel, _a = props.disableDateSeparator, disableDateSeparator = _a === void 0 ? false : _a, groupStyles = props.groupStyles, _b = props.hideDeletedMessages, hideDeletedMessages = _b === void 0 ? false : _b, _c = props.hideNewMessageSeparator, hideNewMessageSeparator = _c === void 0 ? false : _c, _d = props.messageActions, messageActions = _d === void 0 ? Object.keys(MESSAGE_ACTIONS) : _d, _e = props.messages, messages = _e === void 0 ? [] : _e, notifications = props.notifications, _f = props.noGroupByUser, noGroupByUser = _f === void 0 ? false : _f, _g = props.pinPermissions, pinPermissions = _g === void 0 ? defaultPinPermissions : _g, // @deprecated in favor of `channelCapabilities` - TODO: remove in next major release
|
|
47
|
+
_h = props.returnAllReadData, // @deprecated in favor of `channelCapabilities` - TODO: remove in next major release
|
|
48
|
+
returnAllReadData = _h === void 0 ? false : _h, _j = props.threadList, threadList = _j === void 0 ? false : _j, _k = props.unsafeHTML, unsafeHTML = _k === void 0 ? false : _k, headerPosition = props.headerPosition, read = props.read;
|
|
49
|
+
var customClasses = useChatContext('MessageList').customClasses;
|
|
50
|
+
var _l = useComponentContext('MessageList'), _m = _l.EmptyStateIndicator, EmptyStateIndicator = _m === void 0 ? DefaultEmptyStateIndicator : _m, _o = _l.MessageListNotifications, MessageListNotifications = _o === void 0 ? DefaultMessageListNotifications : _o, _p = _l.MessageNotification, MessageNotification = _p === void 0 ? DefaultMessageNotification : _p, _q = _l.TypingIndicator, TypingIndicator = _q === void 0 ? DefaultTypingIndicator : _q;
|
|
59
51
|
var _r = useScrollLocationLogic({
|
|
60
52
|
messages: messages,
|
|
61
53
|
scrolledUpThreshold: props.scrolledUpThreshold,
|
|
@@ -63,6 +55,7 @@ var MessageListWithContext = function (props) {
|
|
|
63
55
|
var _s = useEnrichedMessages({
|
|
64
56
|
channel: channel,
|
|
65
57
|
disableDateSeparator: disableDateSeparator,
|
|
58
|
+
groupStyles: groupStyles,
|
|
66
59
|
headerPosition: headerPosition,
|
|
67
60
|
hideDeletedMessages: hideDeletedMessages,
|
|
68
61
|
hideNewMessageSeparator: hideNewMessageSeparator,
|
|
@@ -123,8 +116,8 @@ var MessageListWithContext = function (props) {
|
|
|
123
116
|
* - [TypingContext](https://getstream.io/chat/docs/sdk/react/contexts/typing_context/)
|
|
124
117
|
*/
|
|
125
118
|
export var MessageList = function (props) {
|
|
126
|
-
var loadMore = useChannelActionContext().loadMore;
|
|
127
|
-
var _a = useChannelStateContext(), membersPropToNotPass = _a.members, // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
119
|
+
var loadMore = useChannelActionContext('MessageList').loadMore;
|
|
120
|
+
var _a = useChannelStateContext('MessageList'), membersPropToNotPass = _a.members, // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
128
121
|
mutesPropToNotPass = _a.mutes, // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
129
122
|
watchersPropToNotPass = _a.watchers, // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
130
123
|
restChannelStateContext = __rest(_a, ["members", "mutes", "watchers"]);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { MessageNotificationProps } from './MessageNotification';
|
|
3
|
+
import type { ChannelNotifications } from '../../context/ChannelStateContext';
|
|
4
|
+
export declare type MessageListNotificationsProps = {
|
|
5
|
+
hasNewMessages: boolean;
|
|
6
|
+
MessageNotification: React.ComponentType<MessageNotificationProps>;
|
|
7
|
+
notifications: ChannelNotifications;
|
|
8
|
+
scrollToBottom: () => void;
|
|
9
|
+
};
|
|
10
|
+
export declare const MessageListNotifications: (props: MessageListNotificationsProps) => JSX.Element;
|
|
11
|
+
//# sourceMappingURL=MessageListNotifications.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageListNotifications.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/MessageListNotifications.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,oBAAY,6BAA6B,GAAG;IAC1C,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,KAAK,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;IACnE,aAAa,EAAE,oBAAoB,CAAC;IACpC,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,wBAAwB,UAAW,6BAA6B,gBAkB5E,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ConnectionStatus } from './ConnectionStatus';
|
|
3
|
+
import { CustomNotification } from './CustomNotification';
|
|
4
|
+
import { useTranslationContext } from '../../context/TranslationContext';
|
|
5
|
+
export var MessageListNotifications = function (props) {
|
|
6
|
+
var hasNewMessages = props.hasNewMessages, MessageNotification = props.MessageNotification, notifications = props.notifications, scrollToBottom = props.scrollToBottom;
|
|
7
|
+
var t = useTranslationContext('MessageListNotifications').t;
|
|
8
|
+
return (React.createElement("div", { className: 'str-chat__list-notifications' },
|
|
9
|
+
notifications.map(function (notification) { return (React.createElement(CustomNotification, { active: true, key: notification.id, type: notification.type }, notification.text)); }),
|
|
10
|
+
React.createElement(ConnectionStatus, null),
|
|
11
|
+
React.createElement(MessageNotification, { onClick: scrollToBottom, showNotification: hasNewMessages }, t('New Messages!'))));
|
|
12
|
+
};
|
|
@@ -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,EAG1B,aAAa,EACd,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"VirtualizedMessageList.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList/VirtualizedMessageList.tsx"],"names":[],"mappings":"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"}
|