@ethora/chat-component 24.11.29 → 24.12.1

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 (34) hide show
  1. package/dist/assets/icons.d.ts +12 -1
  2. package/dist/components/MainComponents/EditWrapper.d.ts +12 -0
  3. package/dist/components/MainComponents/MessageList.d.ts +4 -1
  4. package/dist/components/MainComponents/ProfileImagePlaceholder.d.ts +1 -1
  5. package/dist/components/MessageBubble/Avatar.d.ts +2 -1
  6. package/dist/components/MessageBubble/BottomReplyContainer.d.ts +9 -0
  7. package/dist/components/MessageBubble/MessageInteractions.d.ts +5 -0
  8. package/dist/components/MessageBubble/MessageReply.d.ts +12 -0
  9. package/dist/components/Modals/FilePreviewModal/FilePreviewModal.d.ts +7 -0
  10. package/dist/components/Modals/ModalWrapper/ModalWrapper.d.ts +16 -0
  11. package/dist/components/Thread/ThreadHeader.d.ts +7 -0
  12. package/dist/components/Thread/ThreadRoom.d.ts +0 -0
  13. package/dist/components/Thread/ThreadWrapper.d.ts +13 -0
  14. package/dist/components/styled/SendInput.d.ts +1 -0
  15. package/dist/components/styled/StyledComponents.d.ts +6 -0
  16. package/dist/components/styled/StyledInput.d.ts +3 -1
  17. package/dist/components/styled/StyledInputComponents/StyledInputComponents.d.ts +1 -0
  18. package/dist/components/styled/TreadLabel.d.ts +15 -0
  19. package/dist/helpers/constants/MESSAGE_INTERACTIONS.d.ts +9 -1
  20. package/dist/helpers/constants/MODAL_TYPES.d.ts +1 -0
  21. package/dist/helpers/createMessageFromXml.d.ts +34 -0
  22. package/dist/hooks/useMessageLoaderQueue.d.ts +2 -0
  23. package/dist/main.js +9831 -8895
  24. package/dist/main.js.map +1 -1
  25. package/dist/networking/stanzaHandlers.d.ts +3 -33
  26. package/dist/networking/xmpp/editMessage.xmpp.d.ts +3 -0
  27. package/dist/networking/xmpp/getHistory.xmpp.d.ts +1 -1
  28. package/dist/networking/xmpp/sendTextMessage.xmpp.d.ts +1 -1
  29. package/dist/networking/xmppClient.d.ts +4 -3
  30. package/dist/roomStore/chatSettingsSlice.d.ts +9 -3
  31. package/dist/roomStore/roomHeapSlice.d.ts +16 -0
  32. package/dist/roomStore/roomsSlice.d.ts +26 -3
  33. package/dist/types/types.d.ts +21 -1
  34. 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,14 @@
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;
11
+ client?: any;
9
12
  }
10
13
  export declare const chatSlice: import('@reduxjs/toolkit').Slice<ChatState, {
11
14
  setUser: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<User>) => void;
@@ -14,6 +17,9 @@ export declare const chatSlice: import('@reduxjs/toolkit').Slice<ChatState, {
14
17
  }>): void;
15
18
  setConfig: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<IConfig | undefined>) => void;
16
19
  setActiveModal: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<ModalType | undefined>) => void;
20
+ setActiveFile: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<any>) => void;
21
+ setDeleteModal: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<DeleteModal | undefined>) => void;
22
+ setStoreClient: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<any>) => void;
17
23
  setSelectedUser: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<IUser | undefined>) => void;
18
24
  refreshTokens: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<{
19
25
  token: string;
@@ -24,8 +30,8 @@ export declare const chatSlice: import('@reduxjs/toolkit').Slice<ChatState, {
24
30
  export declare const setUser: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<User, "chat/setUser">, setConfig: import('@reduxjs/toolkit').ActionCreatorWithNonInferrablePayload<"chat/setConfig">, refreshTokens: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
25
31
  token: string;
26
32
  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<{
33
+ }, "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
34
  updates: Partial<User>;
29
- }, "chat/updateUser">;
35
+ }, "chat/updateUser">, setActiveFile: import('@reduxjs/toolkit').ActionCreatorWithPayload<any, "chat/setActiveFile">, setStoreClient: import('@reduxjs/toolkit').ActionCreatorWithPayload<any, "chat/setStoreClient">;
30
36
  declare const _default: import('redux').Reducer<ChatState>;
31
37
  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;
@@ -172,8 +180,20 @@ export interface StorageUser {
172
180
  export interface MessageProps {
173
181
  message: IMessage;
174
182
  isUser: boolean;
183
+ isReply?: boolean;
175
184
  }
176
185
  export interface MediaMessageType {
177
186
  }
187
+ export interface DeleteModal {
188
+ isDeleteModal: boolean;
189
+ roomJid?: string;
190
+ messageId?: string;
191
+ }
192
+ export interface EditAction {
193
+ isEdit: boolean;
194
+ roomJid?: string;
195
+ messageId?: string;
196
+ text?: string;
197
+ }
178
198
  export type ModalType = (typeof MODAL_TYPES)[keyof typeof MODAL_TYPES];
179
199
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ethora/chat-component",
3
- "version": "24.11.29",
3
+ "version": "24.12.1",
4
4
  "type": "module",
5
5
  "main": "dist/main.js",
6
6
  "types": "dist/main.d.ts",