@ethora/chat-component 26.7.4 → 26.7.6
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/README.md +72 -16
- package/dist/ChatProfileModal-hxsWI8cx.js +2139 -0
- package/dist/FilePreviewModal-CwWnHsB1.js +736 -0
- package/dist/ManageDataModal-CDPXcC93.js +159 -0
- package/dist/MarkdownBody-DBJGraWM.js +16874 -0
- package/dist/SideDrawer-Dr_lkaOW.js +226 -0
- package/dist/UserProfileModal-Q_jhXpsX.js +568 -0
- package/dist/UserSettingsModal-OcAJao-d.js +50 -0
- package/dist/{VideoCallOverlay-BUfKp87t.js → VideoCallOverlay-CC4sShdK.js} +9 -10
- package/dist/VisibilityModal-DkMhx_2k.js +132 -0
- package/dist/assets/icons.d.ts +30 -0
- package/dist/components/ContextMenu/ContextMenuComponents.d.ts +1 -3
- package/dist/components/EmojiPicker/LazyEmojiPicker.d.ts +3 -0
- package/dist/components/ExampleComponents/CustomMessage.d.ts +3 -3
- package/dist/components/Files/FilesList.d.ts +12 -0
- package/dist/components/Files/FilesPanel.d.ts +3 -0
- package/dist/components/Files/fileCategory.d.ts +13 -0
- package/dist/components/InputComponents/AttachmentPreview.d.ts +17 -0
- package/dist/components/InputComponents/MentionDropdown.d.ts +13 -0
- package/dist/components/InputComponents/MentionPickerModal.d.ts +19 -0
- package/dist/components/MainComponents/AttachmentList.d.ts +7 -0
- package/dist/components/MainComponents/ChatErrorBoundary.d.ts +53 -0
- package/dist/components/MainComponents/ChatErrorScreen.d.ts +24 -0
- package/dist/components/MainComponents/HeaderLogo.d.ts +18 -0
- package/dist/components/MainComponents/MediaMessage.d.ts +5 -0
- package/dist/components/MainComponents/MessageContainer.d.ts +2 -2
- package/dist/components/MainComponents/ReduxWrapper.d.ts +1 -2
- package/dist/components/MainComponents/SystemMessage.d.ts +1 -2
- package/dist/components/MenuRoom/MenuRoom.d.ts +1 -0
- package/dist/components/MessageBubble/CustomDivider.d.ts +3 -3
- package/dist/components/MessageBubble/Message.d.ts +2 -2
- package/dist/components/MessageBubble/MessageTranslate.d.ts +28 -10
- package/dist/components/MessageBubble/QuickReplies.d.ts +19 -0
- package/dist/components/Modals/ChatProfileModal/ChatProfileMemberRow.d.ts +18 -0
- package/dist/components/Modals/FilePreviewModal/FilePreviewModal.d.ts +17 -0
- package/dist/components/Modals/FilePreviewModal/ImageLightbox.d.ts +35 -0
- package/dist/components/Modals/FilePreviewModal/PdfView.d.ts +14 -3
- package/dist/components/Modals/NewChatModal/styledNewChatComponents.d.ts +12 -0
- package/dist/components/Modals/SettingsModals/Visibility/StyledComponents.d.ts +1 -1
- package/dist/components/Modals/SideDrawer/DrawerProfileParts.d.ts +13 -0
- package/dist/components/Modals/SideDrawer/SideDrawer.d.ts +44 -0
- package/dist/components/Modals/modalComponents.d.ts +6 -0
- package/dist/components/Modals/styledModalComponents.d.ts +14 -3
- package/dist/components/RoomComponents/ChatRoomItem.d.ts +0 -1
- package/dist/components/RoomComponents/OnlineUsersPopover.d.ts +0 -1
- package/dist/components/UsersList/StyledComponents.d.ts +5 -1
- package/dist/components/UsersList/UsersList.d.ts +23 -0
- package/dist/components/styled/Button.d.ts +11 -1
- package/dist/components/styled/ChatWrapperBox.d.ts +3 -1
- package/dist/components/styled/PdfMessage.d.ts +13 -0
- package/dist/components/styled/RoomListComponents/index.d.ts +22 -1
- package/dist/components/styled/SendInput.d.ts +19 -5
- package/dist/components/styled/StyledComponents.d.ts +1 -1
- package/dist/components/styled/StyledInputComponents/MediaComponents.d.ts +18 -0
- package/dist/components/styled/StyledInputComponents/StyledInputComponents.d.ts +21 -0
- package/dist/components/styled/TreadLabel.d.ts +2 -2
- package/dist/components/styled/UnsupportedType.d.ts +1 -1
- package/dist/examples/quiz/QuizDemo.d.ts +3 -0
- package/dist/examples/quiz/quizScript.d.ts +38 -0
- package/dist/examples/quiz/useDemoSession.d.ts +42 -0
- package/dist/examples/quiz/useQuizFlow.d.ts +47 -0
- package/dist/firebase-config.d.ts +2 -4
- package/dist/handleCopyClick-CpmPa6VI.js +32 -0
- package/dist/helpers/MarkdownBody.d.ts +7 -0
- package/dist/helpers/attachments.d.ts +33 -0
- package/dist/helpers/botMarkup.d.ts +30 -0
- package/dist/helpers/constants/MODAL_TYPES.d.ts +11 -7
- package/dist/helpers/ethoraLogger.d.ts +8 -0
- package/dist/helpers/fileKind.d.ts +17 -0
- package/dist/helpers/hiddenRooms.d.ts +1 -1
- package/dist/helpers/historyPreloadScheduler.d.ts +1 -0
- package/dist/helpers/lazyEmoji.d.ts +3 -0
- package/dist/helpers/localStorageUser.d.ts +1 -1
- package/dist/helpers/markdownSanitizeSchema.d.ts +3 -0
- package/dist/helpers/mentions.d.ts +63 -0
- package/dist/helpers/parseMessageBody.d.ts +12 -2
- package/dist/helpers/pdf/loadPdfjs.d.ts +64 -0
- package/dist/helpers/quickReplies.d.ts +31 -0
- package/dist/helpers/remarkLineBreaks.d.ts +42 -0
- package/dist/helpers/resolveMessageTranslation.d.ts +34 -0
- package/dist/helpers/roomImageGallery.d.ts +53 -0
- package/dist/helpers/secureFileUrl.d.ts +8 -0
- package/dist/helpers/sendFailureWatchdog.d.ts +62 -0
- package/dist/helpers/transformTranslatations.d.ts +1 -2
- package/dist/hooks/pushSubscriptionSweep.d.ts +41 -0
- package/dist/hooks/useChatWrapperInit.d.ts +1 -0
- package/dist/hooks/useFilesEndpointSupport.d.ts +9 -0
- package/dist/hooks/useInView.d.ts +17 -0
- package/dist/hooks/useMentionComposer.d.ts +45 -0
- package/dist/hooks/useMessageHeapState.d.ts +1 -1
- package/dist/hooks/useMessageTranslation.d.ts +4 -3
- package/dist/hooks/useModalDismiss.d.ts +27 -0
- package/dist/hooks/useMyFiles.d.ts +16 -0
- package/dist/hooks/usePdfThumbnail.d.ts +22 -0
- package/dist/hooks/useRoomMute.d.ts +19 -0
- package/dist/hooks/useRoomState.d.ts +1 -1
- package/dist/hooks/useSendMessage.d.ts +4 -3
- package/dist/hooks/useTypography.d.ts +1 -1
- package/dist/hooks/useUnreadMessagesCounter.d.ts +11 -2
- package/dist/index.esm-B-3fyDHY.js +28 -0
- package/dist/index.esm-CRM4VCRa.js +943 -0
- package/dist/index.esm-msbp26WN.js +3352 -0
- package/dist/index.esm2017-CL0mvq6y.js +1578 -0
- package/dist/main-B-8IhwaP.js +31837 -0
- package/dist/main.css +1 -1
- package/dist/main.d.ts +16 -0
- package/dist/main.js +19 -18
- package/dist/module-DGXkb0R_.js +2960 -0
- package/dist/native-CDi4YD_s.js +13 -0
- package/dist/networking/api-requests/files.api.d.ts +19 -0
- package/dist/networking/api-requests/rooms.api.d.ts +10 -2
- package/dist/networking/api-requests/translate.api.d.ts +15 -0
- package/dist/networking/api-requests/user.api.d.ts +2 -0
- package/dist/networking/sharedRequest.d.ts +4 -0
- package/dist/networking/xmpp/allRoomPresences.xmpp.d.ts +3 -1
- package/dist/networking/xmpp/createTimeoutPromise.xmpp.d.ts +14 -0
- package/dist/networking/xmpp/sendTextMessage.xmpp.d.ts +2 -1
- package/dist/networking/xmpp/sendTextMessageWithTranslateTag.xmpp.d.ts +2 -1
- package/dist/networking/xmppClient.d.ts +12 -3
- package/dist/pdf-B5b7qHu6.js +17130 -0
- package/dist/pdf.worker.min-COYn-gId.js +24385 -0
- package/dist/roomStore/index.d.ts +20 -0
- package/dist/roomStore/persistEncryption.d.ts +51 -0
- package/dist/roomStore/roomsSlice.d.ts +49 -6
- package/dist/styles/classNames.d.ts +35 -0
- package/dist/styles/motion.d.ts +44 -0
- package/dist/styles/tokens.d.ts +27 -0
- package/dist/testIds.d.ts +1 -1
- package/dist/types/models/attachment.model.d.ts +33 -0
- package/dist/types/models/config.model.d.ts +179 -19
- package/dist/types/models/file.model.d.ts +20 -0
- package/dist/types/models/message.model.d.ts +16 -6
- package/dist/types/models/room.model.d.ts +12 -2
- package/dist/types/types.d.ts +3 -1
- package/dist/utils/resendMessage.d.ts +22 -1
- package/dist/utils/translateModePolicy.d.ts +1 -0
- package/dist/wavesurfer.esm-D_a19qBW.js +952 -0
- package/package.json +22 -2
- package/dist/VideoCallOverlay-BUfKp87t.js.map +0 -1
- package/dist/components/MainComponents/VirtualList.d.ts +0 -10
- package/dist/components/Modals/SettingsModals/BlockedUsers/BlockedUsersModal.d.ts +0 -6
- package/dist/components/Modals/SettingsModals/DocumentShares/DocumentSharesModal.d.ts +0 -6
- package/dist/components/Modals/SettingsModals/ManageDataModal/StyledComponents.d.ts +0 -0
- package/dist/components/Modals/SettingsModals/ProfileShares/ProfileShares.d.ts +0 -6
- package/dist/components/Modals/SettingsModals/Referrals/Referrals.d.ts +0 -6
- package/dist/hooks/useMessageQueue.d.ts +0 -4
- package/dist/main-DFqqDiy-.js +0 -55707
- package/dist/main-DFqqDiy-.js.map +0 -1
- package/dist/main.js.map +0 -1
- package/dist/networking/xmpp/getHistory.xmpp.d.ts +0 -3
- package/dist/networking/xmpp/listenerManager.d.ts +0 -17
- package/dist/utils/xmppMemoryMonitor.d.ts +0 -16
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IUser } from './user.model';
|
|
2
2
|
import { TranslationObject } from '../types';
|
|
3
3
|
import { Iso639_1Codes } from './language.model';
|
|
4
|
+
import { IAttachment } from './attachment.model';
|
|
4
5
|
export interface IMessage {
|
|
5
6
|
id: string;
|
|
6
7
|
user: IUser;
|
|
@@ -17,6 +18,7 @@ export interface IMessage {
|
|
|
17
18
|
mimetype?: string;
|
|
18
19
|
location?: string;
|
|
19
20
|
pending?: boolean;
|
|
21
|
+
failed?: boolean;
|
|
20
22
|
timestamp?: number;
|
|
21
23
|
showInChannel?: string;
|
|
22
24
|
activeMessage?: boolean;
|
|
@@ -31,8 +33,17 @@ export interface IMessage {
|
|
|
31
33
|
langSource?: Iso639_1Codes;
|
|
32
34
|
originalName?: string;
|
|
33
35
|
size?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Every file carried by this message, oldest wire format included:
|
|
38
|
+
* `attachments[0]` mirrors the flat `location`/`mimetype`/`originalName`
|
|
39
|
+
* fields above. Undefined on messages that predate multi-attach, so read
|
|
40
|
+
* it through `getMessageAttachments()` rather than directly.
|
|
41
|
+
*/
|
|
42
|
+
attachments?: IAttachment[];
|
|
34
43
|
xmppId?: string;
|
|
35
44
|
xmppFrom?: string;
|
|
45
|
+
quickReplies?: unknown;
|
|
46
|
+
mentions?: IMentionSpan[];
|
|
36
47
|
callLog?: {
|
|
37
48
|
callId: string;
|
|
38
49
|
direction: 'outgoing' | 'incoming';
|
|
@@ -47,12 +58,11 @@ export interface ReactionMessage {
|
|
|
47
58
|
}
|
|
48
59
|
export interface IReply extends IMessage {
|
|
49
60
|
}
|
|
50
|
-
export interface
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
borderRadius?: number;
|
|
61
|
+
export interface IMentionSpan {
|
|
62
|
+
jid: string;
|
|
63
|
+
name: string;
|
|
64
|
+
offset: number;
|
|
65
|
+
length: number;
|
|
56
66
|
}
|
|
57
67
|
export interface MessageProps {
|
|
58
68
|
message: IMessage;
|
|
@@ -54,8 +54,17 @@ export interface IRoom {
|
|
|
54
54
|
firstMessageTimestamp?: number;
|
|
55
55
|
};
|
|
56
56
|
historyComplete?: boolean;
|
|
57
|
-
historyPreloadState?: 'idle' | 'loading' | 'done' | 'error';
|
|
57
|
+
historyPreloadState?: 'idle' | 'loading' | 'partial' | 'done' | 'error';
|
|
58
58
|
unreadCapped?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* The caller's own mute preference for this room, as reported by the
|
|
61
|
+
* backend (`GET /v1/chats/my` / `/v1/chats/my/{chatName}`). Only a real
|
|
62
|
+
* backend that supports mute ever sends this field - prod doesn't yet, so
|
|
63
|
+
* this stays `undefined` (not `false`) there. Treat `undefined` as "not
|
|
64
|
+
* muted" for behaviour, but as "unsupported" for whether to show a mute
|
|
65
|
+
* toggle at all (see useRoomMute's `isSupported`).
|
|
66
|
+
*/
|
|
67
|
+
muted?: boolean;
|
|
59
68
|
}
|
|
60
69
|
export interface ApiRoom {
|
|
61
70
|
name: string;
|
|
@@ -71,6 +80,8 @@ export interface ApiRoom {
|
|
|
71
80
|
createdAt?: string;
|
|
72
81
|
updatedAt?: string;
|
|
73
82
|
__v?: string;
|
|
83
|
+
/** See IRoom.muted - only present when the backend supports per-chat mute. */
|
|
84
|
+
muted?: boolean;
|
|
74
85
|
}
|
|
75
86
|
export interface PostRoom {
|
|
76
87
|
title: string;
|
|
@@ -95,7 +106,6 @@ export interface DeleteRoomMember {
|
|
|
95
106
|
}
|
|
96
107
|
export interface IRoomCompressed extends Pick<IRoom, 'jid'> {
|
|
97
108
|
}
|
|
98
|
-
export type PartialRoomWithMandatoryKeys = Partial<IRoom> & Pick<IRoom, 'jid' | 'title'>;
|
|
99
109
|
export interface ConfigRoom {
|
|
100
110
|
jid: string;
|
|
101
111
|
pinned: boolean;
|
package/dist/types/types.d.ts
CHANGED
|
@@ -7,5 +7,7 @@ export * from './models/action.model';
|
|
|
7
7
|
export * from './models/modal.model';
|
|
8
8
|
export * from './models/language.model';
|
|
9
9
|
export * from './models/media.model';
|
|
10
|
+
export * from './models/attachment.model';
|
|
11
|
+
export * from './models/file.model';
|
|
10
12
|
export { MODAL_TYPES } from '../helpers/constants/MODAL_TYPES';
|
|
11
|
-
export type { TranslationObject } from '../helpers/transformTranslatations';
|
|
13
|
+
export type { TranslationObject, Translation, } from '../helpers/transformTranslatations';
|
|
@@ -1,8 +1,29 @@
|
|
|
1
1
|
import { IMessage } from '../types/types';
|
|
2
2
|
type ResendOptions = {
|
|
3
3
|
respectTranslateConfig?: boolean;
|
|
4
|
+
/**
|
|
5
|
+
* Re-send under the ORIGINAL message id instead of minting a new one.
|
|
6
|
+
*
|
|
7
|
+
* This is what the "not delivered - retry" control in the message bubble
|
|
8
|
+
* uses, and it is the only duplicate-safe way to retry:
|
|
9
|
+
*
|
|
10
|
+
* - the id is the client id carried on the stanza, so if the first
|
|
11
|
+
* attempt WAS accepted after all, its late echo reconciles onto the
|
|
12
|
+
* same message entry instead of appearing as a second bubble;
|
|
13
|
+
* - the original message is left in place (no local delete, and no
|
|
14
|
+
* `deleteMessageStanza` broadcast to the room), so a recipient who
|
|
15
|
+
* already received the first attempt does not see it retracted and
|
|
16
|
+
* then re-sent;
|
|
17
|
+
* - xmppClient's send queue de-duplicates by id, so a retry issued while
|
|
18
|
+
* the first attempt is still queued (the offline case) is absorbed
|
|
19
|
+
* rather than putting a second copy on the wire.
|
|
20
|
+
*
|
|
21
|
+
* Default `false` keeps the pre-existing "resend as a brand new message"
|
|
22
|
+
* behaviour for hosts already calling this utility directly.
|
|
23
|
+
*/
|
|
24
|
+
preserveMessageId?: boolean;
|
|
4
25
|
};
|
|
5
|
-
export declare function resendMessage(message: Pick<IMessage, 'body' | 'roomJid'> & {
|
|
26
|
+
export declare function resendMessage(message: Pick<IMessage, 'body' | 'roomJid' | 'mentions'> & {
|
|
6
27
|
originalMessageId: string;
|
|
7
28
|
isReply?: boolean;
|
|
8
29
|
showInChannel?: string;
|
|
@@ -17,3 +17,4 @@ export declare const canReaderChooseTranslateMode: (translates?: IConfig["transl
|
|
|
17
17
|
* fallback for a reader who never has.
|
|
18
18
|
*/
|
|
19
19
|
export declare const resolveTranslateMode: (translates?: IConfig["translates"], readerMode?: TranslateMode) => TranslateMode;
|
|
20
|
+
export declare const shouldTagOutgoingTranslateSource: (translatesEnabled: boolean | undefined, translateSendEnabled: boolean | undefined) => boolean;
|