@bcc-code/vue-bcc-chat-ui 7.3.0 → 7.3.2

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 (106) hide show
  1. package/dist/index.d.ts +886 -11
  2. package/dist/style.css +1 -1
  3. package/dist/vue-bcc-chat-ui.js +4796 -4274
  4. package/dist/vue-bcc-chat-ui.js.map +1 -1
  5. package/package.json +4 -2
  6. package/dist/App.vue.d.ts +0 -4
  7. package/dist/FixtureApp.vue.d.ts +0 -4
  8. package/dist/auth.d.ts +0 -3
  9. package/dist/chat/accessToken.d.ts +0 -11
  10. package/dist/chat/avatar.d.ts +0 -3
  11. package/dist/chat/cacheScope.d.ts +0 -13
  12. package/dist/chat/client.d.ts +0 -7
  13. package/dist/chat/clipboardFiles.d.ts +0 -5
  14. package/dist/chat/conversationState.d.ts +0 -17
  15. package/dist/chat/data.d.ts +0 -18
  16. package/dist/chat/environment.d.ts +0 -8
  17. package/dist/chat/i18n/en.d.ts +0 -151
  18. package/dist/chat/i18n/nb.d.ts +0 -151
  19. package/dist/chat/i18n/types.d.ts +0 -2
  20. package/dist/chat/index.d.ts +0 -240
  21. package/dist/chat/localization.d.ts +0 -17
  22. package/dist/chat/mentions.d.ts +0 -33
  23. package/dist/chat/messageText.d.ts +0 -21
  24. package/dist/chat/mockClient.d.ts +0 -13
  25. package/dist/chat/offlineStore.d.ts +0 -55
  26. package/dist/chat/participants.d.ts +0 -8
  27. package/dist/chat/pinnedMessages.d.ts +0 -12
  28. package/dist/chat/publicChannelMessageFallback.d.ts +0 -1
  29. package/dist/chat/reactions.d.ts +0 -8
  30. package/dist/chat/richText.d.ts +0 -9
  31. package/dist/chat/runtime.d.ts +0 -3
  32. package/dist/chat/theme.d.ts +0 -19
  33. package/dist/chat/types.d.ts +0 -409
  34. package/dist/components/chat/BccChat.vue.d.ts +0 -100
  35. package/dist/components/chat/ChatStatusOverlay.vue.d.ts +0 -34
  36. package/dist/components/chat/publicContract.d.ts +0 -44
  37. package/dist/components/conversations/ConversationList.vue.d.ts +0 -18
  38. package/dist/components/conversations/UserProfileCard.vue.d.ts +0 -9
  39. package/dist/components/messages/ActionMessageRow.vue.d.ts +0 -7
  40. package/dist/components/messages/AudioStickyPlayer.vue.d.ts +0 -12
  41. package/dist/components/messages/ComposerActionsPopover.vue.d.ts +0 -15
  42. package/dist/components/messages/ComposerContextBanner.vue.d.ts +0 -15
  43. package/dist/components/messages/ComposerFormatMenu.vue.d.ts +0 -19
  44. package/dist/components/messages/ComposerLinkDialog.vue.d.ts +0 -18
  45. package/dist/components/messages/ComposerPollDialog.vue.d.ts +0 -18
  46. package/dist/components/messages/ComposerScheduleDialog.vue.d.ts +0 -22
  47. package/dist/components/messages/ComposerTriggerMenu.vue.d.ts +0 -24
  48. package/dist/components/messages/ConversationComposer.vue.d.ts +0 -30
  49. package/dist/components/messages/LinkPreviewCard.vue.d.ts +0 -8
  50. package/dist/components/messages/LinkifiedText.vue.d.ts +0 -15
  51. package/dist/components/messages/MessageAttachmentList.vue.d.ts +0 -12
  52. package/dist/components/messages/MessageComposer.vue.d.ts +0 -59
  53. package/dist/components/messages/MessageDateSeparator.vue.d.ts +0 -7
  54. package/dist/components/messages/MessageDeliveryStatus.vue.d.ts +0 -8
  55. package/dist/components/messages/MessageForwardedLabel.vue.d.ts +0 -8
  56. package/dist/components/messages/MessageItem.vue.d.ts +0 -36
  57. package/dist/components/messages/MessageItemHeader.vue.d.ts +0 -8
  58. package/dist/components/messages/MessageItemMenu.vue.d.ts +0 -36
  59. package/dist/components/messages/MessageItemMenuReactions.vue.d.ts +0 -13
  60. package/dist/components/messages/MessageItemReactions.vue.d.ts +0 -16
  61. package/dist/components/messages/MessageList.vue.d.ts +0 -42
  62. package/dist/components/messages/MessageListHeader.vue.d.ts +0 -9
  63. package/dist/components/messages/MessagePinnedLabel.vue.d.ts +0 -4
  64. package/dist/components/messages/MessagePollContent.vue.d.ts +0 -14
  65. package/dist/components/messages/MessageReactionList.vue.d.ts +0 -14
  66. package/dist/components/messages/MessageReplyQuote.vue.d.ts +0 -12
  67. package/dist/components/messages/MessageTextContent.vue.d.ts +0 -12
  68. package/dist/components/messages/PinnedMessagesBar.vue.d.ts +0 -4
  69. package/dist/components/overlays/ForwardMessageDialog.vue.d.ts +0 -16
  70. package/dist/components/overlays/FullscreenDialog.vue.d.ts +0 -34
  71. package/dist/components/overlays/MediaViewerDialog.vue.d.ts +0 -12
  72. package/dist/components/overlays/MessageInfoDialog.vue.d.ts +0 -16
  73. package/dist/components/overlays/PinnedMessagesDialog.vue.d.ts +0 -20
  74. package/dist/components/overlays/ReceiptSection.vue.d.ts +0 -13
  75. package/dist/components/overlays/ScheduledMessagesDialog.vue.d.ts +0 -37
  76. package/dist/components/shared/PersonAvatar.vue.d.ts +0 -8
  77. package/dist/composables/chat/index.d.ts +0 -13
  78. package/dist/composables/chat/useComposerContext.d.ts +0 -44
  79. package/dist/composables/chat/useConversationContext.d.ts +0 -36
  80. package/dist/composables/chat/useDialogsContext.d.ts +0 -43
  81. package/dist/composables/chat/useMessagesContext.d.ts +0 -42
  82. package/dist/composables/useAudioPlayer.d.ts +0 -18
  83. package/dist/composables/useChatActions.d.ts +0 -21
  84. package/dist/composables/useChatEventBus.d.ts +0 -108
  85. package/dist/composables/useComposerDrafts.d.ts +0 -47
  86. package/dist/composables/useComposerTriggers.d.ts +0 -63
  87. package/dist/composables/useConversationComposer.d.ts +0 -16
  88. package/dist/composables/useGroupMemberTracking.d.ts +0 -33
  89. package/dist/composables/useImageZoom.d.ts +0 -26
  90. package/dist/composables/useIsTouchUi.d.ts +0 -4
  91. package/dist/composables/useMessageActionMenu.d.ts +0 -257
  92. package/dist/composables/useMessageInfoDialog.d.ts +0 -201
  93. package/dist/composables/useMessageListScroll.d.ts +0 -15
  94. package/dist/composables/useMessageNavigation.d.ts +0 -16
  95. package/dist/composables/usePinnedMessages.d.ts +0 -190
  96. package/dist/composables/useRichTextComposer.d.ts +0 -75
  97. package/dist/demo/ApiExamplesPanel.vue.d.ts +0 -8
  98. package/dist/demo/CallDebugPanel.vue.d.ts +0 -8
  99. package/dist/demo/ChatShell.vue.d.ts +0 -12
  100. package/dist/demo/StatCard.vue.d.ts +0 -17
  101. package/dist/demo/ThemeModeToggle.vue.d.ts +0 -17
  102. package/dist/demo/useDemoThemeMode.d.ts +0 -7
  103. package/dist/main.d.ts +0 -0
  104. package/dist/sfc-styles-entry.d.ts +0 -1
  105. package/dist/shims-vue.d.ts +0 -6
  106. package/dist/vite-env.d.ts +0 -1
@@ -1,257 +0,0 @@
1
- import { Component, TemplateRef, ShallowRef, Ref, ComputedRef } from 'vue';
2
- import { TranslationParams } from '../chat/i18n/types';
3
- import { TranslationKey } from '../chat/localization';
4
- import { ChatMessageItem, ChatMessageReceiptItem, ChatPollData, ChatReactionDetailItem } from '../chat/types';
5
- import { ChatMessageKind, ChatDeliveryState } from '..';
6
- /** Minimal public interface of the custom MessageItemMenu component. */
7
- interface ActionMenuHandle {
8
- show: (event: Event, fallbackPosition?: {
9
- x: number;
10
- y: number;
11
- }, element?: HTMLElement) => void;
12
- hide: () => void;
13
- }
14
- export interface UseMessageActionMenuOptions {
15
- /** Returns true when message actions are enabled for this view. */
16
- canUseMessageActions: () => boolean;
17
- /** Returns true when reactions are allowed. */
18
- canReact: () => boolean;
19
- /** Returns true when replying is allowed. */
20
- canReply: () => boolean;
21
- /** Returns true when opening a thread is allowed. */
22
- canOpenThread: () => boolean;
23
- /** Returns true when pinning messages is allowed for this view. */
24
- canPin: () => boolean;
25
- /** Returns true when the supplied message is currently pinned. */
26
- isPinned: (message: ChatMessageItem) => boolean;
27
- /** Returns true when the conversation is at its server-owned pin cap. Absent means no cap is known. */
28
- pinLimitReached?: () => boolean;
29
- /** Returns true when the list is rendering a thread view (disables thread action). */
30
- isInThread: () => boolean;
31
- /** Translation helper forwarded from the parent component. */
32
- t: (key: TranslationKey, params?: TranslationParams) => string;
33
- emit: {
34
- reply: (message: ChatMessageItem) => void;
35
- edit: (message: ChatMessageItem) => void;
36
- openThread: (message: ChatMessageItem) => void;
37
- delete: (message: ChatMessageItem) => void;
38
- translate: (message: ChatMessageItem) => void;
39
- toggleReaction: (message: ChatMessageItem, emoji: string) => void;
40
- forward: (message: ChatMessageItem) => void;
41
- togglePin: (message: ChatMessageItem) => void;
42
- };
43
- /** Optional callback fired right before opening the message actions menu. */
44
- onMenuOpen?: () => void;
45
- /** Returns cached message receipts for the context-menu receipt summary. */
46
- getCachedMessageReceipts?: (message: ChatMessageItem) => ChatMessageReceiptItem[] | undefined;
47
- /** Loads message receipts for the context-menu receipt summary. */
48
- loadMessageReceipts?: (message: ChatMessageItem) => Promise<ChatMessageReceiptItem[]>;
49
- /** Returns true while receipts are being loaded for the supplied message. */
50
- isLoadingMessageReceipts?: (message: ChatMessageItem) => boolean;
51
- /** Returns cached reaction detail (who reacted with which emoji) for the supplied message. */
52
- getCachedMessageReactions?: (message: ChatMessageItem) => ChatReactionDetailItem[] | undefined;
53
- /** Loads reaction detail for the supplied message. Only called when the user opens the reactions view. */
54
- loadMessageReactions?: (message: ChatMessageItem) => Promise<ChatReactionDetailItem[]>;
55
- /** Returns true while reaction detail is being loaded for the supplied message. */
56
- isLoadingMessageReactions?: (message: ChatMessageItem) => boolean;
57
- actionMenuRef: TemplateRef<ActionMenuHandle>;
58
- }
59
- export interface MessageReceiptSummaryAction {
60
- label: string;
61
- receipts: ChatMessageReceiptItem[];
62
- loading: boolean;
63
- }
64
- export interface MessagePollVotersSummaryAction {
65
- label: string;
66
- poll: ChatPollData;
67
- }
68
- export interface MessageReactionsSummaryAction {
69
- label: string;
70
- /** Reaction detail once loaded; null while not yet requested or still loading. */
71
- details: ChatReactionDetailItem[] | null;
72
- loading: boolean;
73
- }
74
- /**
75
- * Composable that owns all state for the per-message action popover, reaction
76
- * expansion, inline reaction toggles, and message copying.
77
- */
78
- export declare function useMessageActionMenu(options: UseMessageActionMenuOptions): {
79
- actionMenuRef: Readonly< ShallowRef<ActionMenuHandle | null>>;
80
- activeActionMessage: Ref<{
81
- id: string;
82
- muid?: string | undefined;
83
- conversationId: string;
84
- senderId: string;
85
- senderName: string;
86
- text: string;
87
- kind: ChatMessageKind;
88
- sentAt: Date;
89
- category: string;
90
- type: string;
91
- senderAvatar?: string | undefined;
92
- isOwn: boolean;
93
- isDeleted: boolean;
94
- isEdited: boolean;
95
- attachments: {
96
- kind: Extract< ChatMessageKind, "image" | "video" | "audio" | "file">;
97
- name: string;
98
- url?: string | undefined;
99
- mimeType?: string | undefined;
100
- extension?: string | undefined;
101
- size?: number | undefined;
102
- width?: number | undefined;
103
- height?: number | undefined;
104
- }[];
105
- poll?: {
106
- id?: string | undefined;
107
- question: string;
108
- options: {
109
- id: string;
110
- text: string;
111
- voteCount: number;
112
- voters: {
113
- uid: string;
114
- name: string;
115
- avatar?: string | undefined;
116
- status?: string | undefined;
117
- lastSeen?: Date | undefined;
118
- }[];
119
- }[];
120
- totalVotes: number;
121
- allowsMultipleAnswers: boolean;
122
- } | undefined;
123
- scheduled?: {
124
- scheduleDate?: Date | undefined;
125
- originalChatUid?: string | undefined;
126
- muid?: string | undefined;
127
- messageId?: number | undefined;
128
- } | undefined;
129
- translatedText?: string | undefined;
130
- replyTo?: {
131
- messageId: string;
132
- senderName: string;
133
- text: string;
134
- kind: ChatMessageKind;
135
- } | undefined;
136
- forwardedFrom?: {
137
- senderName: string;
138
- } | undefined;
139
- parentMessageId?: string | undefined;
140
- replyCount: number;
141
- reactions: {
142
- emoji: string;
143
- count: number;
144
- reactedByMe: boolean;
145
- }[];
146
- receipts: {
147
- deliveredAt?: Date | undefined;
148
- deliveredToMeAt?: Date | undefined;
149
- readAt?: Date | undefined;
150
- readByMeAt?: Date | undefined;
151
- };
152
- pinnedAt?: Date | undefined;
153
- pinnedBy?: string | undefined;
154
- deliveryState: ChatDeliveryState;
155
- metadata?: Record<string, unknown> | undefined;
156
- source: any;
157
- } | null, ChatMessageItem | {
158
- id: string;
159
- muid?: string | undefined;
160
- conversationId: string;
161
- senderId: string;
162
- senderName: string;
163
- text: string;
164
- kind: ChatMessageKind;
165
- sentAt: Date;
166
- category: string;
167
- type: string;
168
- senderAvatar?: string | undefined;
169
- isOwn: boolean;
170
- isDeleted: boolean;
171
- isEdited: boolean;
172
- attachments: {
173
- kind: Extract< ChatMessageKind, "image" | "video" | "audio" | "file">;
174
- name: string;
175
- url?: string | undefined;
176
- mimeType?: string | undefined;
177
- extension?: string | undefined;
178
- size?: number | undefined;
179
- width?: number | undefined;
180
- height?: number | undefined;
181
- }[];
182
- poll?: {
183
- id?: string | undefined;
184
- question: string;
185
- options: {
186
- id: string;
187
- text: string;
188
- voteCount: number;
189
- voters: {
190
- uid: string;
191
- name: string;
192
- avatar?: string | undefined;
193
- status?: string | undefined;
194
- lastSeen?: Date | undefined;
195
- }[];
196
- }[];
197
- totalVotes: number;
198
- allowsMultipleAnswers: boolean;
199
- } | undefined;
200
- scheduled?: {
201
- scheduleDate?: Date | undefined;
202
- originalChatUid?: string | undefined;
203
- muid?: string | undefined;
204
- messageId?: number | undefined;
205
- } | undefined;
206
- translatedText?: string | undefined;
207
- replyTo?: {
208
- messageId: string;
209
- senderName: string;
210
- text: string;
211
- kind: ChatMessageKind;
212
- } | undefined;
213
- forwardedFrom?: {
214
- senderName: string;
215
- } | undefined;
216
- parentMessageId?: string | undefined;
217
- replyCount: number;
218
- reactions: {
219
- emoji: string;
220
- count: number;
221
- reactedByMe: boolean;
222
- }[];
223
- receipts: {
224
- deliveredAt?: Date | undefined;
225
- deliveredToMeAt?: Date | undefined;
226
- readAt?: Date | undefined;
227
- readByMeAt?: Date | undefined;
228
- };
229
- pinnedAt?: Date | undefined;
230
- pinnedBy?: string | undefined;
231
- deliveryState: ChatDeliveryState;
232
- metadata?: Record<string, unknown> | undefined;
233
- source: any;
234
- } | null>;
235
- copiedMessageId: Ref<string | null, string | null>;
236
- isTouchUI: ComputedRef<boolean>;
237
- handleMessageContextMenu: (message: ChatMessageItem, event: MouseEvent) => void;
238
- handleMessageTap: (message: ChatMessageItem, event: MouseEvent) => void;
239
- closeActionMenu: () => void;
240
- resetActionMenuState: () => void;
241
- reactToMessage: (message: ChatMessageItem, emoji: string) => void;
242
- toggleInlineReaction: (message: ChatMessageItem, emoji: string) => void;
243
- loadReceiptPreview: (message: ChatMessageItem) => Promise<void>;
244
- getReceiptSummaryAction: (message: ChatMessageItem) => MessageReceiptSummaryAction | null;
245
- getPollVotersSummaryAction: (message: ChatMessageItem) => MessagePollVotersSummaryAction | null;
246
- loadReactionDetails: (message: ChatMessageItem) => Promise<void>;
247
- getReactionsSummaryAction: (message: ChatMessageItem) => MessageReactionsSummaryAction | null;
248
- getActionItems: (message: ChatMessageItem) => {
249
- key: string;
250
- label: string;
251
- icon: Component;
252
- visible: boolean;
253
- command: () => void;
254
- }[];
255
- togglePinnedMessage: (message: ChatMessageItem) => void;
256
- };
257
- export {};
@@ -1,201 +0,0 @@
1
- import { ChatClient, ChatMessageItem, ChatMessageReceiptItem, ChatReactionDetailItem } from '../chat/types';
2
- import { Ref } from 'vue';
3
- import { ChatMessageKind, ChatDeliveryState, ChatMessageReceiptKind } from '..';
4
- export interface UseMessageInfoDialogOptions {
5
- /** Returns the active chat client, or null when none is available. */
6
- getClient: () => ChatClient | null;
7
- /** Fallback error string shown when the receipt fetch fails without a message. */
8
- fetchErrorFallback: string;
9
- }
10
- /**
11
- * Composable that owns the reactive state required to display the per-message
12
- * info overlay and handles the asynchronous receipt-loading lifecycle.
13
- */
14
- export declare function useMessageInfoDialog(options: UseMessageInfoDialogOptions): {
15
- infoMessage: Ref<{
16
- id: string;
17
- muid?: string | undefined;
18
- conversationId: string;
19
- senderId: string;
20
- senderName: string;
21
- text: string;
22
- kind: ChatMessageKind;
23
- sentAt: Date;
24
- category: string;
25
- type: string;
26
- senderAvatar?: string | undefined;
27
- isOwn: boolean;
28
- isDeleted: boolean;
29
- isEdited: boolean;
30
- attachments: {
31
- kind: Extract< ChatMessageKind, "image" | "video" | "audio" | "file">;
32
- name: string;
33
- url?: string | undefined;
34
- mimeType?: string | undefined;
35
- extension?: string | undefined;
36
- size?: number | undefined;
37
- width?: number | undefined;
38
- height?: number | undefined;
39
- }[];
40
- poll?: {
41
- id?: string | undefined;
42
- question: string;
43
- options: {
44
- id: string;
45
- text: string;
46
- voteCount: number;
47
- voters: {
48
- uid: string;
49
- name: string;
50
- avatar?: string | undefined;
51
- status?: string | undefined;
52
- lastSeen?: Date | undefined;
53
- }[];
54
- }[];
55
- totalVotes: number;
56
- allowsMultipleAnswers: boolean;
57
- } | undefined;
58
- scheduled?: {
59
- scheduleDate?: Date | undefined;
60
- originalChatUid?: string | undefined;
61
- muid?: string | undefined;
62
- messageId?: number | undefined;
63
- } | undefined;
64
- translatedText?: string | undefined;
65
- replyTo?: {
66
- messageId: string;
67
- senderName: string;
68
- text: string;
69
- kind: ChatMessageKind;
70
- } | undefined;
71
- forwardedFrom?: {
72
- senderName: string;
73
- } | undefined;
74
- parentMessageId?: string | undefined;
75
- replyCount: number;
76
- reactions: {
77
- emoji: string;
78
- count: number;
79
- reactedByMe: boolean;
80
- }[];
81
- receipts: {
82
- deliveredAt?: Date | undefined;
83
- deliveredToMeAt?: Date | undefined;
84
- readAt?: Date | undefined;
85
- readByMeAt?: Date | undefined;
86
- };
87
- pinnedAt?: Date | undefined;
88
- pinnedBy?: string | undefined;
89
- deliveryState: ChatDeliveryState;
90
- metadata?: Record<string, unknown> | undefined;
91
- source: any;
92
- } | null, ChatMessageItem | {
93
- id: string;
94
- muid?: string | undefined;
95
- conversationId: string;
96
- senderId: string;
97
- senderName: string;
98
- text: string;
99
- kind: ChatMessageKind;
100
- sentAt: Date;
101
- category: string;
102
- type: string;
103
- senderAvatar?: string | undefined;
104
- isOwn: boolean;
105
- isDeleted: boolean;
106
- isEdited: boolean;
107
- attachments: {
108
- kind: Extract< ChatMessageKind, "image" | "video" | "audio" | "file">;
109
- name: string;
110
- url?: string | undefined;
111
- mimeType?: string | undefined;
112
- extension?: string | undefined;
113
- size?: number | undefined;
114
- width?: number | undefined;
115
- height?: number | undefined;
116
- }[];
117
- poll?: {
118
- id?: string | undefined;
119
- question: string;
120
- options: {
121
- id: string;
122
- text: string;
123
- voteCount: number;
124
- voters: {
125
- uid: string;
126
- name: string;
127
- avatar?: string | undefined;
128
- status?: string | undefined;
129
- lastSeen?: Date | undefined;
130
- }[];
131
- }[];
132
- totalVotes: number;
133
- allowsMultipleAnswers: boolean;
134
- } | undefined;
135
- scheduled?: {
136
- scheduleDate?: Date | undefined;
137
- originalChatUid?: string | undefined;
138
- muid?: string | undefined;
139
- messageId?: number | undefined;
140
- } | undefined;
141
- translatedText?: string | undefined;
142
- replyTo?: {
143
- messageId: string;
144
- senderName: string;
145
- text: string;
146
- kind: ChatMessageKind;
147
- } | undefined;
148
- forwardedFrom?: {
149
- senderName: string;
150
- } | undefined;
151
- parentMessageId?: string | undefined;
152
- replyCount: number;
153
- reactions: {
154
- emoji: string;
155
- count: number;
156
- reactedByMe: boolean;
157
- }[];
158
- receipts: {
159
- deliveredAt?: Date | undefined;
160
- deliveredToMeAt?: Date | undefined;
161
- readAt?: Date | undefined;
162
- readByMeAt?: Date | undefined;
163
- };
164
- pinnedAt?: Date | undefined;
165
- pinnedBy?: string | undefined;
166
- deliveryState: ChatDeliveryState;
167
- metadata?: Record<string, unknown> | undefined;
168
- source: any;
169
- } | null>;
170
- infoMessageReceipts: Ref<{
171
- kind: ChatMessageReceiptKind;
172
- user: {
173
- uid: string;
174
- name: string;
175
- avatar?: string | undefined;
176
- status?: string | undefined;
177
- lastSeen?: Date | undefined;
178
- };
179
- timestamp?: Date | undefined;
180
- }[], ChatMessageReceiptItem[] | {
181
- kind: ChatMessageReceiptKind;
182
- user: {
183
- uid: string;
184
- name: string;
185
- avatar?: string | undefined;
186
- status?: string | undefined;
187
- lastSeen?: Date | undefined;
188
- };
189
- timestamp?: Date | undefined;
190
- }[]>;
191
- loadingMessageReceipts: Ref<boolean, boolean>;
192
- messageReceiptsError: Ref<string | null, string | null>;
193
- messageReceiptsByMessageId: Ref<Record<string, ChatMessageReceiptItem[]>, Record<string, ChatMessageReceiptItem[]>>;
194
- loadingMessageReceiptIds: Ref<Record<string, boolean>, Record<string, boolean>>;
195
- getMessageReceipts: (message: ChatMessageItem) => Promise<ChatMessageReceiptItem[]>;
196
- messageReactionsByMessageId: Ref<Record<string, ChatReactionDetailItem[]>, Record<string, ChatReactionDetailItem[]>>;
197
- loadingMessageReactionIds: Ref<Record<string, boolean>, Record<string, boolean>>;
198
- getMessageReactions: (message: ChatMessageItem) => Promise<ChatReactionDetailItem[]>;
199
- openMessageInfo: (message: ChatMessageItem) => Promise<void>;
200
- closeMessageInfo: () => void;
201
- };
@@ -1,15 +0,0 @@
1
- import { TemplateRef } from 'vue';
2
- import { ChatConversationItem, ChatMessageItem } from '../chat/types';
3
- export interface UseMessageListScrollOptions {
4
- getConversation: () => ChatConversationItem | null | undefined;
5
- getParentMessage: () => ChatMessageItem | null | undefined;
6
- getMessages: () => ChatMessageItem[];
7
- isLoading: () => boolean;
8
- isLoadingOlder: () => boolean;
9
- canLoadOlder: () => boolean;
10
- onLoadOlder: () => void;
11
- threadRef: TemplateRef<HTMLElement | null>;
12
- }
13
- export declare function useMessageListScroll(options: UseMessageListScrollOptions): {
14
- handleThreadScroll: () => void;
15
- };
@@ -1,16 +0,0 @@
1
- import { Ref } from 'vue';
2
- import { ChatClient } from '../chat/types';
3
- export interface UseMessageNavigationOptions {
4
- /** Ref to the root chat wrapper element used as the querySelector scope. */
5
- chatRootRef: Ref<HTMLElement | null>;
6
- /** Returns the currently resolved chat client, or null. */
7
- getClient: () => ChatClient | null;
8
- }
9
- /**
10
- * Composable that scrolls the chat root to a requested message ID coming from
11
- * either the `loadMessageId` prop or the global `chat` navigation refs.
12
- */
13
- export declare function useMessageNavigation(options: UseMessageNavigationOptions): {
14
- scrollToRequestedMessage: (messageId?: string) => Promise<void>;
15
- handleOpenReferencedMessage: (messageId: string) => void;
16
- };
@@ -1,190 +0,0 @@
1
- import { BaseMessage } from '@cometchat/chat-sdk-javascript';
2
- import { Ref } from 'vue';
3
- import { ChatOfflineStore } from '../chat/offlineStore';
4
- import { ChatConversationItem, ChatMessageItem, ChatUserProfile } from '../chat/types';
5
- import { ChatMessageKind, ChatDeliveryState } from '..';
6
- interface UsePinnedMessagesOptions {
7
- activeConversation: Readonly<Ref<ChatConversationItem | null>>;
8
- activeConversationId: Readonly<Ref<string | null>>;
9
- conversations: Readonly<Ref<ChatConversationItem[]>>;
10
- currentUser: Readonly<Ref<ChatUserProfile | null>>;
11
- offlineMode: Readonly<Ref<boolean>>;
12
- error: Ref<string | null>;
13
- getOfflineStore: () => ChatOfflineStore | null;
14
- normalizeAndTrackMessage: (message: BaseMessage, currentUserUid?: string) => ChatMessageItem;
15
- findMessageInState: (id: string, parentMessageId?: string) => ChatMessageItem | null | undefined;
16
- replaceMessageInState: (message: ChatMessageItem) => void;
17
- persistCurrentCollections: () => void;
18
- getErrorMessage: (error: unknown, fallbackMessage: string) => string;
19
- }
20
- export declare function usePinnedMessages({ activeConversation, activeConversationId, conversations, currentUser, offlineMode, error, getOfflineStore, normalizeAndTrackMessage, findMessageInState, replaceMessageInState, persistCurrentCollections, getErrorMessage, }: UsePinnedMessagesOptions): {
21
- pinnedMessages: Ref<{
22
- id: string;
23
- muid?: string | undefined;
24
- conversationId: string;
25
- senderId: string;
26
- senderName: string;
27
- text: string;
28
- kind: ChatMessageKind;
29
- sentAt: Date;
30
- category: string;
31
- type: string;
32
- senderAvatar?: string | undefined;
33
- isOwn: boolean;
34
- isDeleted: boolean;
35
- isEdited: boolean;
36
- attachments: {
37
- kind: Extract< ChatMessageKind, "image" | "video" | "audio" | "file">;
38
- name: string;
39
- url?: string | undefined;
40
- mimeType?: string | undefined;
41
- extension?: string | undefined;
42
- size?: number | undefined;
43
- width?: number | undefined;
44
- height?: number | undefined;
45
- }[];
46
- poll?: {
47
- id?: string | undefined;
48
- question: string;
49
- options: {
50
- id: string;
51
- text: string;
52
- voteCount: number;
53
- voters: {
54
- uid: string;
55
- name: string;
56
- avatar?: string | undefined;
57
- status?: string | undefined;
58
- lastSeen?: Date | undefined;
59
- }[];
60
- }[];
61
- totalVotes: number;
62
- allowsMultipleAnswers: boolean;
63
- } | undefined;
64
- scheduled?: {
65
- scheduleDate?: Date | undefined;
66
- originalChatUid?: string | undefined;
67
- muid?: string | undefined;
68
- messageId?: number | undefined;
69
- } | undefined;
70
- translatedText?: string | undefined;
71
- replyTo?: {
72
- messageId: string;
73
- senderName: string;
74
- text: string;
75
- kind: ChatMessageKind;
76
- } | undefined;
77
- forwardedFrom?: {
78
- senderName: string;
79
- } | undefined;
80
- parentMessageId?: string | undefined;
81
- replyCount: number;
82
- reactions: {
83
- emoji: string;
84
- count: number;
85
- reactedByMe: boolean;
86
- }[];
87
- receipts: {
88
- deliveredAt?: Date | undefined;
89
- deliveredToMeAt?: Date | undefined;
90
- readAt?: Date | undefined;
91
- readByMeAt?: Date | undefined;
92
- };
93
- pinnedAt?: Date | undefined;
94
- pinnedBy?: string | undefined;
95
- deliveryState: ChatDeliveryState;
96
- metadata?: Record<string, unknown> | undefined;
97
- source: any;
98
- }[], ChatMessageItem[] | {
99
- id: string;
100
- muid?: string | undefined;
101
- conversationId: string;
102
- senderId: string;
103
- senderName: string;
104
- text: string;
105
- kind: ChatMessageKind;
106
- sentAt: Date;
107
- category: string;
108
- type: string;
109
- senderAvatar?: string | undefined;
110
- isOwn: boolean;
111
- isDeleted: boolean;
112
- isEdited: boolean;
113
- attachments: {
114
- kind: Extract< ChatMessageKind, "image" | "video" | "audio" | "file">;
115
- name: string;
116
- url?: string | undefined;
117
- mimeType?: string | undefined;
118
- extension?: string | undefined;
119
- size?: number | undefined;
120
- width?: number | undefined;
121
- height?: number | undefined;
122
- }[];
123
- poll?: {
124
- id?: string | undefined;
125
- question: string;
126
- options: {
127
- id: string;
128
- text: string;
129
- voteCount: number;
130
- voters: {
131
- uid: string;
132
- name: string;
133
- avatar?: string | undefined;
134
- status?: string | undefined;
135
- lastSeen?: Date | undefined;
136
- }[];
137
- }[];
138
- totalVotes: number;
139
- allowsMultipleAnswers: boolean;
140
- } | undefined;
141
- scheduled?: {
142
- scheduleDate?: Date | undefined;
143
- originalChatUid?: string | undefined;
144
- muid?: string | undefined;
145
- messageId?: number | undefined;
146
- } | undefined;
147
- translatedText?: string | undefined;
148
- replyTo?: {
149
- messageId: string;
150
- senderName: string;
151
- text: string;
152
- kind: ChatMessageKind;
153
- } | undefined;
154
- forwardedFrom?: {
155
- senderName: string;
156
- } | undefined;
157
- parentMessageId?: string | undefined;
158
- replyCount: number;
159
- reactions: {
160
- emoji: string;
161
- count: number;
162
- reactedByMe: boolean;
163
- }[];
164
- receipts: {
165
- deliveredAt?: Date | undefined;
166
- deliveredToMeAt?: Date | undefined;
167
- readAt?: Date | undefined;
168
- readByMeAt?: Date | undefined;
169
- };
170
- pinnedAt?: Date | undefined;
171
- pinnedBy?: string | undefined;
172
- deliveryState: ChatDeliveryState;
173
- metadata?: Record<string, unknown> | undefined;
174
- source: any;
175
- }[]>;
176
- loadingPinnedMessages: Ref<boolean, boolean>;
177
- pinningEnabled: Ref<boolean, boolean>;
178
- pinnedMessagesLimit: Ref<number | null, number | null>;
179
- restorePinnedMessages: (conversationId: string | null) => void;
180
- refreshPinningCapabilities: () => Promise<void>;
181
- fetchPinnedMessages: (conversationId?: string) => Promise<void>;
182
- pinMessage: (message: ChatMessageItem) => Promise<void>;
183
- unpinMessage: (messageId: string) => Promise<void>;
184
- togglePinnedMessage: (message: ChatMessageItem) => Promise<void>;
185
- isMessagePinned: (messageId: string) => boolean;
186
- applyPinnedMessage: (message: ChatMessageItem) => void;
187
- removeLocalPinnedMessage: (message: ChatMessageItem) => void;
188
- resetPinnedMessages: () => void;
189
- };
190
- export {};