@ethora/chat-component 24.11.28 → 24.11.30

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.
Files changed (36) hide show
  1. package/dist/assets/icons.d.ts +12 -1
  2. package/dist/components/MainComponents/ChatHeader.d.ts +0 -1
  3. package/dist/components/MainComponents/ChatRoom.d.ts +0 -1
  4. package/dist/components/MainComponents/EditWrapper.d.ts +12 -0
  5. package/dist/components/MainComponents/MessageList.d.ts +4 -1
  6. package/dist/components/MainComponents/ProfileImagePlaceholder.d.ts +1 -1
  7. package/dist/components/MessageBubble/Avatar.d.ts +2 -1
  8. package/dist/components/MessageBubble/BottomReplyContainer.d.ts +9 -0
  9. package/dist/components/MessageBubble/MessageInteractions.d.ts +5 -0
  10. package/dist/components/MessageBubble/MessageReply.d.ts +12 -0
  11. package/dist/components/Modals/FilePreviewModal/FilePreviewModal.d.ts +7 -0
  12. package/dist/components/Modals/ModalWrapper/ModalWrapper.d.ts +16 -0
  13. package/dist/components/Thread/ThreadHeader.d.ts +7 -0
  14. package/dist/components/Thread/ThreadRoom.d.ts +0 -0
  15. package/dist/components/Thread/ThreadWrapper.d.ts +13 -0
  16. package/dist/components/styled/SendInput.d.ts +1 -0
  17. package/dist/components/styled/StyledComponents.d.ts +6 -0
  18. package/dist/components/styled/StyledInputComponents/Composing.d.ts +1 -0
  19. package/dist/components/styled/StyledInputComponents/StyledInputComponents.d.ts +1 -0
  20. package/dist/components/styled/TreadLabel.d.ts +15 -0
  21. package/dist/helpers/constants/MESSAGE_INTERACTIONS.d.ts +9 -1
  22. package/dist/helpers/constants/MODAL_TYPES.d.ts +1 -0
  23. package/dist/helpers/createMessageFromXml.d.ts +34 -0
  24. package/dist/hooks/useMessageLoaderQueue.d.ts +2 -0
  25. package/dist/main.js +9687 -8908
  26. package/dist/main.js.map +1 -1
  27. package/dist/networking/stanzaHandlers.d.ts +3 -33
  28. package/dist/networking/xmpp/editMessage.xmpp.d.ts +3 -0
  29. package/dist/networking/xmpp/getHistory.xmpp.d.ts +1 -1
  30. package/dist/networking/xmpp/sendTextMessage.xmpp.d.ts +1 -1
  31. package/dist/networking/xmppClient.d.ts +4 -3
  32. package/dist/roomStore/chatSettingsSlice.d.ts +7 -3
  33. package/dist/roomStore/roomHeapSlice.d.ts +16 -0
  34. package/dist/roomStore/roomsSlice.d.ts +26 -3
  35. package/dist/types/types.d.ts +22 -1
  36. package/package.json +1 -1
@@ -1,38 +1,8 @@
1
1
  import { Element } from 'ltx';
2
2
 
3
- export declare const createMessage: (data: {
4
- [x: string]: any;
5
- coinsInMessage?: any;
6
- numberOfReplies?: any;
7
- isSystemMessage?: any;
8
- isMediafile?: any;
9
- locationPreview?: any;
10
- mimetype?: any;
11
- location?: any;
12
- senderWalletAddress?: any;
13
- senderFirstName?: any;
14
- senderLastName?: any;
15
- photoURL?: any;
16
- senderJID?: any;
17
- token?: any;
18
- refreshToken?: any;
19
- roomJid?: any;
20
- tokenAmount?: any;
21
- quickReplie?: any;
22
- notDisplayedValue?: any;
23
- showInChannel?: any;
24
- attachmentId?: any;
25
- createdAt?: any;
26
- expiresAt?: any;
27
- fileName?: any;
28
- originalName?: any;
29
- ownerKey?: any;
30
- receiverMessageId?: any;
31
- size?: any;
32
- updatedAt?: any;
33
- userId?: any;
34
- }, body: Element | undefined, id: string, from: any) => Promise<any>;
35
3
  declare const onRealtimeMessage: (stanza: Element) => Promise<any>;
4
+ declare const onDeleteMessage: (stanza: Element) => Promise<void>;
5
+ declare const onEditMessage: (stanza: Element) => Promise<void>;
36
6
  declare const onMessageHistory: (stanza: any) => Promise<void>;
37
7
  declare const handleComposing: (stanza: Element, currentUser: string) => Promise<void>;
38
8
  declare const onPresenceInRoom: (stanza: Element | any) => void;
@@ -42,4 +12,4 @@ declare const onGetRoomInfo: (stanza: Element) => void;
42
12
  declare const onGetLastMessageArchive: (stanza: Element, xmpp: any) => void;
43
13
  declare const onNewRoomCreated: (stanza: Element, xmpp: any) => void;
44
14
  declare const onGetChatRooms: (stanza: Element, xmpp: any) => void;
45
- export { onRealtimeMessage, onMessageHistory, onPresenceInRoom, onGetLastMessageArchive, handleComposing, onGetChatRooms, onNewRoomCreated, onGetMembers, onGetRoomInfo, onChatInvite, };
15
+ export { onRealtimeMessage, onMessageHistory, onPresenceInRoom, onGetLastMessageArchive, handleComposing, onGetChatRooms, onNewRoomCreated, onGetMembers, onGetRoomInfo, onDeleteMessage, onEditMessage, onChatInvite, };
@@ -0,0 +1,3 @@
1
+ import { Client } from '@xmpp/client';
2
+
3
+ export declare function editMessage(client: Client, chatId: string, messageId: string, text: string): Promise<void>;
@@ -1,3 +1,3 @@
1
1
  import { Client } from '@xmpp/client';
2
2
 
3
- export declare const getHistory: (client: Client, chatJID: string, max: number, before?: number, otherId?: string) => Promise<unknown>;
3
+ export declare const getHistory: (client: Client, chatJID: string, max: number, before?: number, otherId?: string) => Promise<any>;
@@ -1,3 +1,3 @@
1
1
  import { Client } from '@xmpp/client';
2
2
 
3
- export declare const sendTextMessage: (client: Client, roomJID: string, firstName: string, lastName: string, photo: string, walletAddress: string, userMessage: string, notDisplayedValue?: string, devServer?: string) => void;
3
+ export declare const sendTextMessage: (client: Client, roomJID: string, firstName: string, lastName: string, photo: string, walletAddress: string, userMessage: string, notDisplayedValue?: string, isReply?: boolean, showInChannel?: boolean, mainMessage?: string, devServer?: string) => void;
@@ -23,20 +23,21 @@ export declare class XmppClient {
23
23
  handleStanza(stanza: any): void;
24
24
  scheduleReconnect(): void;
25
25
  reconnect(): void;
26
- close(): void;
26
+ close(): Promise<void>;
27
27
  unsubscribe(address: string): void;
28
28
  getRooms: () => Promise<unknown>;
29
29
  createRoomStanza(title: string, description: string, to?: string): Promise<string>;
30
30
  inviteRoomRequest(to: string, roomJid: string): Promise<void>;
31
31
  leaveTheRoomStanza: (roomJID: string) => void;
32
32
  presenceInRoomStanza: (roomJID: string) => void;
33
- getHistoryStanza: (chatJID: string, max: number, before?: number, id?: string) => Promise<void>;
33
+ getHistoryStanza: (chatJID: string, max: number, before?: number, id?: string) => Promise<any>;
34
34
  getLastMessageArchiveStanza(roomJID: string): void;
35
35
  setRoomImageStanza: (roomJid: string, roomThumbnail: string, type: string, roomBackground?: string) => void;
36
36
  getRoomInfoStanza: (roomJID: string) => void;
37
37
  getRoomMembersStanza: (roomJID: string) => void;
38
- sendMessage: (roomJID: string, firstName: string, lastName: string, photo: string, walletAddress: string, userMessage: string, notDisplayedValue?: string) => void;
38
+ sendMessage: (roomJID: string, firstName: string, lastName: string, photo: string, walletAddress: string, userMessage: string, notDisplayedValue?: string, isReply?: boolean, showInChannel?: boolean, mainMessage?: string) => void;
39
39
  deleteMessageStanza(room: string, msgId: string): void;
40
+ editMessageStanza(room: string, msgId: string, text: string): void;
40
41
  sendTypingRequestStanza(chatId: string, fullName: string, start: boolean): void;
41
42
  getChatsPrivateStoreRequestStanza: () => Promise<unknown>;
42
43
  setChatsPrivateStoreRequestStanza(jsonObj: string): Promise<void>;
@@ -1,11 +1,13 @@
1
1
  import { PayloadAction } from '@reduxjs/toolkit';
2
- import { IConfig, IUser, ModalType, User } from '../types/types';
2
+ import { DeleteModal, IConfig, IUser, ModalType, User } from '../types/types';
3
3
 
4
4
  interface ChatState {
5
5
  user: User;
6
6
  config?: IConfig;
7
7
  activeModal?: ModalType;
8
+ deleteModal?: DeleteModal;
8
9
  selectedUser?: IUser;
10
+ activeFile?: any;
9
11
  }
10
12
  export declare const chatSlice: import('@reduxjs/toolkit').Slice<ChatState, {
11
13
  setUser: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<User>) => void;
@@ -14,6 +16,8 @@ export declare const chatSlice: import('@reduxjs/toolkit').Slice<ChatState, {
14
16
  }>): void;
15
17
  setConfig: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<IConfig | undefined>) => void;
16
18
  setActiveModal: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<ModalType | undefined>) => void;
19
+ setActiveFile: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<any>) => void;
20
+ setDeleteModal: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<DeleteModal | undefined>) => void;
17
21
  setSelectedUser: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<IUser | undefined>) => void;
18
22
  refreshTokens: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<{
19
23
  token: string;
@@ -24,8 +28,8 @@ export declare const chatSlice: import('@reduxjs/toolkit').Slice<ChatState, {
24
28
  export declare const setUser: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<User, "chat/setUser">, setConfig: import('@reduxjs/toolkit').ActionCreatorWithNonInferrablePayload<"chat/setConfig">, refreshTokens: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
25
29
  token: string;
26
30
  refreshToken: string;
27
- }, "chat/refreshTokens">, logout: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"chat/logout">, setActiveModal: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<string, "chat/setActiveModal">, setSelectedUser: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<IUser, "chat/setSelectedUser">, updateUser: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
31
+ }, "chat/refreshTokens">, logout: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"chat/logout">, setActiveModal: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<string, "chat/setActiveModal">, setDeleteModal: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<DeleteModal, "chat/setDeleteModal">, setSelectedUser: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<IUser, "chat/setSelectedUser">, updateUser: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
28
32
  updates: Partial<User>;
29
- }, "chat/updateUser">;
33
+ }, "chat/updateUser">, setActiveFile: import('@reduxjs/toolkit').ActionCreatorWithPayload<any, "chat/setActiveFile">;
30
34
  declare const _default: import('redux').Reducer<ChatState>;
31
35
  export default _default;
@@ -0,0 +1,16 @@
1
+ import { IMessage } from '../types/types';
2
+
3
+ interface roomHeapSliceState {
4
+ messageHeap: IMessage[];
5
+ }
6
+ export declare const roomHeapSlice: import('@reduxjs/toolkit').Slice<roomHeapSliceState, {
7
+ addMessageToHeap: (state: import('immer').WritableDraft<roomHeapSliceState>, action: {
8
+ payload: any;
9
+ type: string;
10
+ }) => void;
11
+ popMessageFromHeap: (state: import('immer').WritableDraft<roomHeapSliceState>) => void;
12
+ clearHeap: (state: import('immer').WritableDraft<roomHeapSliceState>) => void;
13
+ }, "roomHeapSlice", "roomHeapSlice", import('@reduxjs/toolkit').SliceSelectors<roomHeapSliceState>>;
14
+ export declare const addMessageToHeap: import('@reduxjs/toolkit').ActionCreatorWithPayload<any, "roomHeapSlice/addMessageToHeap">, popMessageFromHeap: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"roomHeapSlice/popMessageFromHeap">, clearHeap: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"roomHeapSlice/clearHeap">;
15
+ declare const _default: import('redux').Reducer<roomHeapSliceState>;
16
+ export default _default;
@@ -1,11 +1,12 @@
1
1
  import { PayloadAction } from '@reduxjs/toolkit';
2
- import { IMessage, IRoom } from '../types/types';
2
+ import { EditAction, IMessage, IRoom } from '../types/types';
3
3
 
4
4
  interface RoomMessagesState {
5
5
  rooms: {
6
6
  [jid: string]: IRoom;
7
7
  };
8
8
  activeRoomJID: string;
9
+ editAction?: EditAction;
9
10
  isLoading: boolean;
10
11
  }
11
12
  export declare const roomsStore: import('@reduxjs/toolkit').Slice<RoomMessagesState, {
@@ -27,6 +28,12 @@ export declare const roomsStore: import('@reduxjs/toolkit').Slice<RoomMessagesSt
27
28
  roomJID: string;
28
29
  messageId: string;
29
30
  }>): void;
31
+ setEditAction: (state: import('immer').WritableDraft<RoomMessagesState>, action: PayloadAction<EditAction | undefined>) => void;
32
+ editRoomMessage(state: import('immer').WritableDraft<RoomMessagesState>, action: PayloadAction<{
33
+ roomJID: string;
34
+ messageId: string;
35
+ text: string;
36
+ }>): void;
30
37
  addRoomMessage(state: import('immer').WritableDraft<RoomMessagesState>, action: PayloadAction<{
31
38
  roomJID: string;
32
39
  message: IMessage;
@@ -58,6 +65,13 @@ export declare const roomsStore: import('@reduxjs/toolkit').Slice<RoomMessagesSt
58
65
  roomJID: string;
59
66
  }>) => void;
60
67
  setLogoutState: (state: import('immer').WritableDraft<RoomMessagesState>) => void;
68
+ setActiveMessage: (state: import('immer').WritableDraft<RoomMessagesState>, action: PayloadAction<{
69
+ id: string;
70
+ chatJID: string;
71
+ }>) => void;
72
+ setCloseActiveMessage: (state: import('immer').WritableDraft<RoomMessagesState>, action: PayloadAction<{
73
+ chatJID: string;
74
+ }>) => void;
61
75
  }, "roomMessages", "roomMessages", import('@reduxjs/toolkit').SliceSelectors<RoomMessagesState>>;
62
76
  export declare const addRoom: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
63
77
  roomData: IRoom;
@@ -71,7 +85,11 @@ export declare const addRoom: import('@reduxjs/toolkit').ActionCreatorWithOption
71
85
  }, "roomMessages/addRoomMessage">, deleteRoomMessage: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
72
86
  roomJID: string;
73
87
  messageId: string;
74
- }, "roomMessages/deleteRoomMessage">, setComposing: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
88
+ }, "roomMessages/deleteRoomMessage">, setEditAction: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<EditAction, "roomMessages/setEditAction">, editRoomMessage: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
89
+ roomJID: string;
90
+ messageId: string;
91
+ text: string;
92
+ }, "roomMessages/editRoomMessage">, setComposing: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
75
93
  chatJID: string;
76
94
  composing: boolean;
77
95
  composingList?: string[];
@@ -89,7 +107,12 @@ export declare const addRoom: import('@reduxjs/toolkit').ActionCreatorWithOption
89
107
  }, "roomMessages/setCurrentRoom">, setRoomRole: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
90
108
  chatJID: string;
91
109
  role: string;
92
- }, "roomMessages/setRoomRole">, setLogoutState: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"roomMessages/setLogoutState">, deleteRoom: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
110
+ }, "roomMessages/setRoomRole">, setLogoutState: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"roomMessages/setLogoutState">, setActiveMessage: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
111
+ id: string;
112
+ chatJID: string;
113
+ }, "roomMessages/setActiveMessage">, setCloseActiveMessage: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
114
+ chatJID: string;
115
+ }, "roomMessages/setCloseActiveMessage">, deleteRoom: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
93
116
  jid: string;
94
117
  }, "roomMessages/deleteRoom">, updateRoom: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
95
118
  jid: string;
@@ -12,7 +12,7 @@ export interface IMessage {
12
12
  user: IUser;
13
13
  date: Date | string;
14
14
  body: string;
15
- roomJID: string;
15
+ roomJid: string;
16
16
  key?: string;
17
17
  coinsInMessage?: string | number;
18
18
  numberOfReplies?: number[] | number;
@@ -23,6 +23,14 @@ export interface IMessage {
23
23
  location?: string;
24
24
  pending?: boolean;
25
25
  timestamp?: number;
26
+ showInChannel?: string;
27
+ activeMessage?: boolean;
28
+ isReply?: boolean | string;
29
+ isDeleted?: boolean;
30
+ mainMessage?: string;
31
+ reply?: IReply[];
32
+ }
33
+ export interface IReply extends IMessage {
26
34
  }
27
35
  export interface IRoom {
28
36
  id: string;
@@ -146,6 +154,7 @@ export interface IConfig {
146
154
  disableRoomMenu?: boolean;
147
155
  defaultRooms?: string[] | ConfigRoom[];
148
156
  disableRefresh?: boolean;
157
+ betaChatsLoading?: true;
149
158
  }
150
159
  interface ConfigRoom {
151
160
  jid: string;
@@ -172,8 +181,20 @@ export interface StorageUser {
172
181
  export interface MessageProps {
173
182
  message: IMessage;
174
183
  isUser: boolean;
184
+ isReply?: boolean;
175
185
  }
176
186
  export interface MediaMessageType {
177
187
  }
188
+ export interface DeleteModal {
189
+ isDeleteModal: boolean;
190
+ roomJid?: string;
191
+ messageId?: string;
192
+ }
193
+ export interface EditAction {
194
+ isEdit: boolean;
195
+ roomJid?: string;
196
+ messageId?: string;
197
+ text?: string;
198
+ }
178
199
  export type ModalType = (typeof MODAL_TYPES)[keyof typeof MODAL_TYPES];
179
200
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ethora/chat-component",
3
- "version": "24.11.28",
3
+ "version": "24.11.30",
4
4
  "type": "module",
5
5
  "main": "dist/main.js",
6
6
  "types": "dist/main.d.ts",